# Changelog All notable changes to the Storyteller RPG project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- ## [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_response` and `new_message`) - **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_connections` error in contextual response endpoint - Now properly uses `manager.send_to_client()` with correct key format ### 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](./docs/README.md) for documentation guidelines. Report bugs or suggest features via GitHub issues. --- *Format inspired by [Keep a Changelog](https://keepachangelog.com/)*