Files
eve-alpha/docs/releases/CHANGELOG.md
Aodhan Collins 8d6a681baa Phase 2 complete.
2025-10-06 21:08:25 +01:00

11 KiB

Changelog

All notable changes to EVE - Personal Desktop Assistant will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased] - v0.2.0 (Phase 2 - Complete)

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
  • System Integration

    • System tray icon with show/hide/quit menu
    • Global keyboard shortcut (Ctrl+Shift+E / Cmd+Shift+E) to show/hide EVE
    • Desktop notifications for assistant responses
    • Minimize to tray option (close button hides instead of quitting)
    • Left-click tray icon to toggle window visibility
    • Settings UI for notification and minimize-to-tray preferences
    • Quick access from anywhere via global hotkey
  • 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
    • WindowControls - Window minimize to tray handler
  • 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
    • systemIntegration.ts - Desktop notification utilities
  • 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), theme selection, and system integration settings
  • Improved ChatInterface with save/load conversation buttons, voice input, file attachments, and notification support
  • Extended settingsStore with voice settings (voiceEnabled, ttsVoice, sttLanguage, sttMode), theme preference, and system integration settings (notificationsEnabled, minimizeToTray)
  • 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
  • Updated Tauri configuration to enable system tray, global shortcuts, and notifications
  • Updated Rust backend with system tray menu, global shortcut registration, and notification command

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 for planned features and improvements.