Documentation Structure: - Created docs/features/ for all feature documentation - Moved CONTEXTUAL_RESPONSE_FEATURE.md, DEMO_SESSION.md, FIXES_SUMMARY.md, PROMPT_IMPROVEMENTS.md to docs/features/ - Moved TESTING_GUIDE.md and TEST_RESULTS.md to docs/development/ - Created comprehensive docs/features/README.md with feature catalog Cleanup: - Removed outdated CURRENT_STATUS.md and SESSION_SUMMARY.md - Removed duplicate files in docs/development/ - Consolidated scattered documentation Main README Updates: - Reorganized key features into categories (Core, AI, Technical) - Added Demo Session section with quick-access info - Updated Quick Start section with bash start.sh instructions - Added direct links to feature documentation Documentation Hub Updates: - Updated docs/README.md with new structure - Added features section at top - Added current status (v0.2.0) - Added documentation map visualization - Better quick links for different user types New Files: - CHANGELOG.md - Version history following Keep a Changelog format - docs/features/README.md - Complete feature catalog and index Result: Clean, organized documentation structure with clear navigation
5.2 KiB
Changelog
All notable changes to the Storyteller RPG project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.2.0] - 2025-10-12
Added
-
Context-Aware Response Generator 🧠
- Select multiple characters to include in AI-generated responses
- Two modes: Scene descriptions (broadcast) or Individual responses (private)
- Smart context building with character profiles, personalities, and conversation history
- Automatic parsing and distribution of individual responses
- Improved prompts with explicit
[CharacterName]format for reliable parsing
-
Demo Session 🎮
- Pre-configured "The Cursed Tavern" adventure
- Two characters: Bargin Ironforge (Dwarf Warrior) & Willow Moonwhisper (Elf Ranger)
- Auto-created on server startup
- Quick-access buttons on home page for instant testing
- Eliminates need to recreate test data during development
-
Session ID Copy Button 📋
- One-click clipboard copy in storyteller dashboard
- Improved UX for session sharing
-
Comprehensive Documentation 📚
- Feature guides for all major features
- Prompt engineering documentation
- Demo session usage guide
- Bug fixes summary
Fixed
-
Character Chat History - Characters can now see full conversation with storyteller (not just most recent message)
- Fixed WebSocket message type handling (
storyteller_responseandnew_message)
- Fixed WebSocket message type handling (
-
Pydantic Deprecation Warnings - Replaced all
.dict()calls with.model_dump()(9 instances)- Code is now Pydantic V2 compliant
- No more deprecation warnings in console
-
WebSocket Manager Reference - Fixed
character_connectionserror in contextual response endpoint- Now properly uses
manager.send_to_client()with correct key format
- Now properly uses
Changed
- Improved LLM prompts for individual responses with explicit format instructions
- Simplified response parsing from 4 regex patterns to single reliable pattern
- Enhanced system prompts for better LLM compliance
- Reorganized documentation structure with dedicated features folder
[0.1.0] - 2025-10-11
Added
-
Core Session Management
- Create and join game sessions
- Session ID-based access control
- In-memory session storage
-
Character System
- Character creation with name, description, and personality
- Character profiles visible to storyteller
- Per-character conversation history
-
Flexible Messaging System 📨
- Private Messages - Character ↔ Storyteller only
- Public Messages - Visible to all players
- Mixed Messages - Public action + private thoughts
- Real-time message delivery via WebSockets
-
Scene Narration 📜
- Storyteller can broadcast scene descriptions
- Scenes visible to all connected characters
- Scene history tracking
-
AI-Assisted Responses ✨
- "AI Suggest" button for storytellers
- Generate response suggestions using character's LLM
- Editable before sending
-
Multi-LLM Support 🤖
- Support for 100+ models via OpenRouter and OpenAI
- Per-character model selection
- Models: GPT-4o, GPT-4, GPT-3.5, Claude, Llama, Gemini, Mistral, etc.
- Each character can use a different model
-
Real-time Communication ⚡
- WebSocket endpoints for characters and storyteller
- Instant message delivery
- Connection status indicators
- Pending response tracking
-
Modern UI 🎨
- Clean, intuitive interface
- Gradient-themed design
- Responsive layout
- Character-specific color schemes
- Loading states and animations
Technical
- FastAPI backend with WebSocket support
- React frontend with modern hooks
- ConnectionManager for WebSocket state
- Pydantic models for data validation
- CORS configuration for local development
- Environment-based API key management
[Unreleased]
Planned Features
- Database persistence (PostgreSQL/MongoDB)
- User authentication system
- Character sheets with stats
- Dice rolling mechanics
- Combat system
- Image generation for scenes/characters
- Voice message support
- Session export functionality
- Mobile app versions
Version History
- 0.2.0 (2025-10-12) - Context-Aware AI, Demo Session, Bug Fixes
- 0.1.0 (2025-10-11) - Initial MVP Release
Migration Notes
0.1.0 → 0.2.0
No breaking changes. All existing functionality preserved.
New Features Available:
- Click "▶ Show Generator" in storyteller dashboard for context-aware responses
- Demo session auto-created on startup (session ID:
demo-session-001) - Copy button next to session ID for easy sharing
Bug Fixes Applied Automatically:
- Full conversation history now visible
- No more Pydantic warnings
- WebSocket messages work correctly
No Action Required:
- In-memory sessions continue to work as before
- No database migrations needed
- Frontend automatically detects new features
Contributing
See docs/README.md for documentation guidelines.
Report bugs or suggest features via GitHub issues.
Format inspired by Keep a Changelog