Initial commit
This commit is contained in:
267
docs/releases/CHANGELOG.md
Normal file
267
docs/releases/CHANGELOG.md
Normal file
@@ -0,0 +1,267 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to EVE - Personal Desktop Assistant will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [Unreleased] - v0.2.0 (Phase 2 - In Progress)
|
||||
|
||||
### Added
|
||||
|
||||
- **Conversation Management System**
|
||||
- Save conversations with automatic title generation
|
||||
- Load previous conversations from history
|
||||
- Export conversations in multiple formats (Markdown, JSON, TXT)
|
||||
- Search and filter saved conversations
|
||||
- Rename conversations with inline editing
|
||||
- Tag conversations for organization
|
||||
- Conversation metadata (creation date, last updated, message count, model used)
|
||||
- Dedicated conversation browser UI with search functionality
|
||||
|
||||
- **Advanced Message Formatting**
|
||||
- Full Markdown rendering with GitHub Flavored Markdown (GFM) support
|
||||
- Syntax highlighting for code blocks (15+ languages)
|
||||
- Copy-to-clipboard functionality for code blocks
|
||||
- LaTeX/Math equation rendering with KaTeX
|
||||
- Mermaid diagram support for flowcharts and diagrams
|
||||
- Styled tables, blockquotes, and lists
|
||||
- Properly formatted headings and emphasis
|
||||
- External links open in new tabs
|
||||
- Responsive code blocks with line numbers
|
||||
|
||||
- **Text-to-Speech Integration**
|
||||
- ElevenLabs API integration for premium natural voices
|
||||
- Automatic fetching of all available ElevenLabs voices from API
|
||||
- Voice details display (name, accent, age, gender from labels)
|
||||
- Browser Web Speech API as free fallback
|
||||
- Per-message TTS controls (play/pause/stop)
|
||||
- Voice selection in settings with grouped categories
|
||||
- Automatic provider detection from voice selection
|
||||
- Automatic fallback when ElevenLabs unavailable
|
||||
- Audio playback queue management
|
||||
- Enable/disable TTS globally in settings
|
||||
- Visual playback indicators
|
||||
- Loading state for voice fetching
|
||||
- **Speed control** (0.25x - 4.0x) for all voices
|
||||
- **Stability control** (0-100%) for ElevenLabs voices
|
||||
- **Clarity/Similarity Boost control** (0-100%) for ElevenLabs voices
|
||||
- **Model selection** - Uses ElevenLabs Turbo v2.5 by default (configurable)
|
||||
- Real-time slider controls with live preview
|
||||
- Smart UI that disables ElevenLabs-only controls for browser voices
|
||||
- **🎧 Audio Conversation Mode**
|
||||
- Auto-play assistant responses in audio format
|
||||
- Text hidden by default (toggle to show/hide)
|
||||
- Quick mode toggle button above chat input
|
||||
- Settings panel toggle option
|
||||
- Visual indicators (pulsing icons, purple badges)
|
||||
- Animated audio playback feedback
|
||||
- Persists across sessions
|
||||
- Seamless listening experience like Alexa/Siri
|
||||
|
||||
- **Speech-to-Text Integration**
|
||||
- Web Speech API integration for voice input
|
||||
- Push-to-talk and continuous listening modes
|
||||
- Live transcript display during recording
|
||||
- Multi-language support (25+ languages)
|
||||
- Visual feedback with animated microphone indicator
|
||||
- Error handling and user-friendly messages
|
||||
- Configurable language and mode in settings
|
||||
- Seamless integration with chat input
|
||||
|
||||
- **File Attachment Support**
|
||||
- Drag & drop file upload
|
||||
- Support for images (JPEG, PNG, GIF, WebP, SVG)
|
||||
- Support for text files, code files, and PDFs
|
||||
- Image preview thumbnails
|
||||
- Text file content preview
|
||||
- File size validation (10MB limit)
|
||||
- File type validation
|
||||
- Multiple file attachments per message
|
||||
- Compact file preview in chat input
|
||||
- File context automatically included in AI conversation
|
||||
- Remove attachments before sending
|
||||
|
||||
- **Dark Theme System**
|
||||
- Comprehensive dark mode support across all UI elements
|
||||
- Three theme options: Light, Dark, System
|
||||
- Automatic system theme detection
|
||||
- Persistent theme preference
|
||||
- Smooth theme transitions
|
||||
- Beautiful theme selector in settings
|
||||
- App defaults to dark theme
|
||||
- All components support both light and dark modes
|
||||
|
||||
### Technical Improvements
|
||||
|
||||
- **New Dependencies**
|
||||
- `react-markdown` - Markdown rendering
|
||||
- `react-syntax-highlighter` - Code syntax highlighting
|
||||
- `rehype-katex` - LaTeX math rendering
|
||||
- `remark-math` - Math notation support
|
||||
- `remark-gfm` - GitHub Flavored Markdown
|
||||
- `mermaid` - Diagram rendering
|
||||
- `katex` - Math typesetting
|
||||
- `@elevenlabs/elevenlabs-js` - Text-to-speech API
|
||||
|
||||
- **New Components**
|
||||
- `ConversationList` - Browse and manage saved conversations
|
||||
- `MessageContent` - Advanced markdown renderer
|
||||
- `CodeBlock` - Syntax-highlighted code display
|
||||
- `MermaidDiagram` - Mermaid diagram renderer
|
||||
- `TTSControls` - Text-to-speech playback controls
|
||||
- `VoiceInput` - Speech-to-text microphone control
|
||||
- `FileUpload` - Drag & drop file upload component
|
||||
- `FilePreview` - File attachment preview component
|
||||
|
||||
- **New Libraries**
|
||||
- `elevenlabs.ts` - ElevenLabs API client
|
||||
- `tts.ts` - TTS abstraction layer with provider fallback
|
||||
- `stt.ts` - STT manager for Web Speech API
|
||||
- `fileProcessor.ts` - File processing and validation utilities
|
||||
- `theme.ts` - Theme management system with persistence
|
||||
|
||||
- **New Hooks**
|
||||
- `useVoiceRecording` - React hook for voice input
|
||||
|
||||
- **New Stores**
|
||||
- `conversationStore` - Conversation management with persistence
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated `ChatMessage` component to use advanced formatting and TTS controls for assistant messages
|
||||
- Enhanced `SettingsPanel` with comprehensive voice configuration (TTS + STT) and theme selection
|
||||
- Improved `ChatInterface` with save/load conversation buttons, voice input, and file attachments
|
||||
- Extended `settingsStore` with voice settings (voiceEnabled, ttsVoice, sttLanguage, sttMode) and theme preference
|
||||
- Extended `chatStore` to support file attachments on messages
|
||||
- Updated input placeholder to indicate voice and file attachment capabilities
|
||||
- Enhanced send button logic to support text, voice, and file-only messages
|
||||
- All UI components now fully support dark mode
|
||||
- App now initializes with dark theme by default
|
||||
|
||||
### Fixed
|
||||
|
||||
- **TTS voice selection** - Selected voices now properly used instead of system default
|
||||
- **Async voice loading** - Browser voices now load correctly before selection
|
||||
- **Voice prefix handling** - `browser:` and `elevenlabs:` prefixes stripped correctly
|
||||
- **Default voice handling** - "default" no longer passed as literal string to TTS API
|
||||
|
||||
---
|
||||
|
||||
## [0.1.0] - 2025-10-05
|
||||
|
||||
### Initial Release - Core Functionality
|
||||
|
||||
#### Added
|
||||
|
||||
- **Desktop Application Framework**
|
||||
- Tauri-based desktop application for Linux, macOS, and Windows
|
||||
- React + TypeScript frontend with modern UI
|
||||
- Vite for fast development and building
|
||||
- TailwindCSS for styling with dark mode support
|
||||
|
||||
- **AI Chat Interface**
|
||||
- Clean, modern chat interface with message history
|
||||
- Real-time streaming responses from AI models
|
||||
- Message timestamps and role indicators
|
||||
- Conversation management with clear history option
|
||||
|
||||
- **OpenRouter Integration**
|
||||
- Unified access to multiple AI models through OpenRouter API
|
||||
- Support for latest models (2025):
|
||||
- OpenAI: GPT-4o, GPT-4o Mini, GPT-4 Turbo, GPT-3.5 Turbo
|
||||
- Anthropic: Claude 3.5 Sonnet, Claude 3 Opus/Sonnet/Haiku
|
||||
- Google: Gemini Pro 1.5, Gemini Flash 1.5
|
||||
- Meta: Llama 3.1 (405B, 70B, 8B)
|
||||
- Mistral: Mistral Large, Mixtral 8x22B
|
||||
- DeepSeek: DeepSeek Chat
|
||||
- Easy model switching via dropdown selector
|
||||
- Model-specific parameter configuration
|
||||
|
||||
- **Character/Personality System**
|
||||
- Modular system prompts for different AI personalities
|
||||
- 6 pre-built character presets:
|
||||
- **EVE Assistant** - Professional personal assistant (default)
|
||||
- **EVE Creative** - Brainstorming and creative partner
|
||||
- **EVE Technical** - Coding and technical expert
|
||||
- **EVE Researcher** - Research and analysis specialist
|
||||
- **EVE Tutor** - Patient learning coach
|
||||
- **EVE Casual** - Friendly conversational partner
|
||||
- Custom character option for user-defined personalities
|
||||
- Character selector in header for quick switching
|
||||
- First-person conversational style across all characters
|
||||
|
||||
- **Local-First Configuration**
|
||||
- Automatic API key loading from `.env` file
|
||||
- Secure backend command for environment variable access
|
||||
- No manual configuration needed for local development
|
||||
- Smart settings UI that hides fields when keys are loaded from environment
|
||||
|
||||
- **Settings Panel**
|
||||
- API key management (OpenRouter, ElevenLabs)
|
||||
- Character/personality customization
|
||||
- Model parameter controls:
|
||||
- Temperature (0.0 - 2.0)
|
||||
- Max tokens (100 - 4096)
|
||||
- Persistent settings storage using Zustand
|
||||
|
||||
- **State Management**
|
||||
- Zustand for global state management
|
||||
- Persistent storage for user preferences
|
||||
- Separate stores for chat and settings
|
||||
- Type-safe state updates
|
||||
|
||||
#### Fixed
|
||||
|
||||
- **Linux Graphics Compatibility**
|
||||
- Disabled hardware acceleration to fix blank window issue on Linux
|
||||
- Resolved GBM buffer creation errors
|
||||
- Added `WEBKIT_DISABLE_COMPOSITING_MODE=1` environment variable
|
||||
|
||||
- **API Key Loading**
|
||||
- Fixed working directory issue for `.env` file detection
|
||||
- Backend now correctly navigates to project root to find `.env`
|
||||
- Supports both development and production environments
|
||||
|
||||
- **Content Security Policy**
|
||||
- Added development CSP to allow localhost Vite server
|
||||
- Resolved blank window issues in Tauri WebView
|
||||
|
||||
- **Build System**
|
||||
- Created placeholder icons for development
|
||||
- Added missing Rust dependencies (`dotenvy`)
|
||||
- Installed `cross-env` for cross-platform environment variables
|
||||
- Fixed all Rust compiler warnings
|
||||
|
||||
#### Technical Details
|
||||
|
||||
- **Frontend Stack**
|
||||
- React 18.2
|
||||
- TypeScript 5.3
|
||||
- Vite 5.1
|
||||
- TailwindCSS 3.4
|
||||
- Zustand 4.5
|
||||
- Lucide React (icons)
|
||||
|
||||
- **Backend Stack**
|
||||
- Tauri 1.5
|
||||
- Rust (latest stable)
|
||||
- dotenvy 0.15 (environment variable management)
|
||||
- serde (serialization)
|
||||
|
||||
- **Development Tools**
|
||||
- ESLint for code quality
|
||||
- Prettier for code formatting
|
||||
- TypeScript for type safety
|
||||
- Hot module replacement for fast development
|
||||
|
||||
### Known Issues
|
||||
|
||||
- DevTools can be accessed via F12 but don't auto-open
|
||||
- Some markdown formatting warnings in documentation (cosmetic only)
|
||||
- WebKit deprecation warnings (harmless, no impact on functionality)
|
||||
|
||||
---
|
||||
|
||||
## Upcoming in v0.2.0
|
||||
|
||||
See [ROADMAP.md](ROADMAP.md) for planned features and improvements.
|
||||
Reference in New Issue
Block a user