[ { "version": "0.8.0", "date": "2026-01-17", "changes": [ "New: Comprehensive emotion keyword mapping with 280+ Chinese and English keywords", "New: 35 emotion categories mapped to robot expressions", "New: Auto-trigger expressions from conversation text patterns" ] }, { "version": "0.7.3", "date": "2026-01-12", "changes": [ "Fix: Revert to reference project pattern - use refractory period instead of state flags", "Fix: Remove broken _in_pipeline and _tts_playing state management", "Fix: Restore correct RUN_END event handling from linux-voice-assistant" ] }, { "version": "0.7.2", "date": "2026-01-12", "changes": [ "Fix: Remove premature _tts_played reset in RUN_END event", "Fix: Ensure _in_pipeline stays True until TTS playback completes" ] }, { "version": "0.7.1", "date": "2026-01-12", "changes": [ "Fix: Prevent wake word detection during TTS playback", "Fix: Add _tts_playing flag to track TTS audio state precisely" ] }, { "version": "0.7.0", "date": "2026-01-12", "changes": [ "New: Gesture detection using HaGRID ONNX models (18 gesture classes)", "New: gesture_detected and gesture_confidence entities in Home Assistant", "Fix: Gesture state now properly pushed to Home Assistant in real-time", "Optimize: Aggressive power saving - 0.5fps idle mode after 30s without face", "Optimize: Gesture detection only runs when face detected (saves CPU)" ] }, { "version": "0.6.1", "date": "2026-01-12", "changes": [ "Fix: Prioritize MicroWakeWord over OpenWakeWord for same-name wake words", "Fix: OpenWakeWord wake words now visible in Home Assistant selection", "Fix: Stop word detection now works correctly", "Fix: STT/LLM response time improved with fixed audio chunk size" ] }, { "version": "0.6.0", "date": "2026-01-11", "changes": [ "New: Real-time audio-driven speech animation (SwayRollRT algorithm)", "New: JSON-driven animation system - all animations configurable", "Refactor: Remove hardcoded actions, use animation offsets only", "Fix: TTS audio analysis now works with local playback" ] }, { "version": "0.5.16", "date": "2026-01-11", "changes": [ "Remove: Tap-to-wake feature (too many false triggers)", "New: Continuous Conversation switch in Home Assistant", "Refactor: Simplified satellite.py and voice_assistant.py" ] }, { "version": "0.5.15", "date": "2026-01-11", "changes": [ "New: Audio settings persistence (AGC, Noise Suppression, Tap Sensitivity)", "Refactor: Move Sendspin mDNS discovery to zeroconf.py", "Fix: Tap detection not re-enabled during emotion playback in conversation" ] }, { "version": "0.5.14", "date": "2026-01-11", "changes": [ "Fix: Skip ALL wake word processing when pipeline is active", "Fix: Eliminate race condition in pipeline state during continuous conversation", "Improve: Control loop increased to 100Hz (daemon updated)" ] }, { "version": "0.5.13", "date": "2026-01-10", "changes": [ "New: JSON-driven animation system for conversation states", "New: AnimationPlayer class inspired by SimpleDances project", "Refactor: Replace SpeechSwayGenerator and BreathingAnimation with unified animation system" ] }, { "version": "0.5.12", "date": "2026-01-10", "changes": [ "Remove: Deleted broken hey_reachy wake word model", "Revert: Default wake word back to \"Okay Nabu\"" ] }, { "version": "0.5.11", "date": "2026-01-10", "changes": [ "Fix: Reset feature extractors when switching wake words", "Fix: Add refractory period after wake word switch" ] }, { "version": "0.5.10", "date": "2026-01-10", "changes": [ "Fix: Wake word models now have 'id' attribute set correctly", "Fix: Wake word switching from Home Assistant now works" ] }, { "version": "0.5.9", "date": "2026-01-10", "changes": [ "New: Default wake word changed to hey_reachy", "Fix: Wake word switching bug" ] }, { "version": "0.5.8", "date": "2026-01-09", "changes": [ "Fix: Tap detection waits for emotion playback to complete", "Fix: Poll daemon API for move completion" ] }, { "version": "0.5.7", "date": "2026-01-09", "changes": [ "New: DOA turn-to-sound at wakeup", "Fix: Show raw DOA angle in Home Assistant (0-180)", "Fix: Invert DOA yaw direction" ] }, { "version": "0.5.6", "date": "2026-01-08", "changes": [ "Fix: Better pipeline state tracking to prevent duplicate audio" ] }, { "version": "0.5.5", "date": "2026-01-08", "changes": [ "Fix: Prevent concurrent pipelines", "New: Add prompt sound for continuous conversation" ] }, { "version": "0.5.4", "date": "2026-01-08", "changes": [ "Fix: Wait for RUN_END before starting new conversation" ] }, { "version": "0.5.3", "date": "2026-01-08", "changes": [ "Fix: Improve continuous conversation with conversation_id tracking" ] }, { "version": "0.5.2", "date": "2026-01-08", "changes": [ "Fix: Enable HA control of robot pose", "Fix: Continuous conversation improvements" ] }, { "version": "0.5.1", "date": "2026-01-08", "changes": [ "Fix: Sendspin connects to music_player instead of tts_player", "Fix: Persist tap_sensitivity settings", "Fix: Pause Sendspin during voice assistant wakeup", "Fix: Sendspin prioritize 16kHz sample rate" ] }, { "version": "0.5.0", "date": "2026-01-07", "changes": [ "New: Face tracking with adaptive frequency", "New: Sendspin multi-room audio integration", "Optimize: Shutdown mechanism improvements" ] }, { "version": "0.4.0", "date": "2026-01-07", "changes": [ "Fix: Daemon stability fixes", "New: Face tracking enabled by default", "Optimize: Microphone settings for better sensitivity" ] }, { "version": "0.3.0", "date": "2026-01-06", "changes": [ "New: Tap sensitivity slider entity", "Fix: Music Assistant compatibility", "Optimize: Face tracking and tap detection" ] }, { "version": "0.2.21", "date": "2026-01-06", "changes": [ "Fix: Daemon crash - reduce control loop to 2Hz", "Fix: Pause control loop during audio playback" ] }, { "version": "0.2.20", "date": "2026-01-06", "changes": [ "Revert: Audio/satellite/voice_assistant to v0.2.9 working state" ] }, { "version": "0.2.19", "date": "2026-01-06", "changes": [ "Fix: Force localhost connection mode to prevent WebRTC errors" ] }, { "version": "0.2.18", "date": "2026-01-06", "changes": [ "Fix: Audio playback - restore wakeup sound", "Fix: Use push_audio_sample for TTS" ] }, { "version": "0.2.17", "date": "2026-01-06", "changes": [ "Remove: head_joints/passive_joints entities", "Move: error_message to diagnostic category" ] }, { "version": "0.2.16", "date": "2026-01-06", "changes": [ "Fix: TTS playback - pause recording during playback" ] }, { "version": "0.2.15", "date": "2026-01-06", "changes": [ "Fix: Use play_sound() instead of push_audio_sample() for TTS" ] }, { "version": "0.2.14", "date": "2026-01-06", "changes": [ "Fix: Pause audio recording during TTS playback" ] }, { "version": "0.2.13", "date": "2026-01-06", "changes": [ "Fix: Don't manually start/stop media - let SDK/daemon manage it" ] }, { "version": "0.2.12", "date": "2026-01-05", "changes": [ "Fix: Disable breathing animation to prevent serial port overflow" ] }, { "version": "0.2.11", "date": "2026-01-05", "changes": [ "Fix: Disable wakeup sound to prevent daemon crash", "Add: Debug logging for troubleshooting" ] }, { "version": "0.2.10", "date": "2026-01-05", "changes": [ "Add: Debug logging for motion init", "Fix: Audio fallback samplerate" ] }, { "version": "0.2.9", "date": "2026-01-05", "changes": [ "Remove: DOA/speech detection - replaced by face tracking" ] }, { "version": "0.2.8", "date": "2026-01-05", "changes": [ "New: Replace DOA with YOLO face tracking" ] }, { "version": "0.2.7", "date": "2026-01-05", "changes": [ "Fix: Add DOA caching to prevent ReSpeaker query overload" ] }, { "version": "0.2.6", "date": "2026-01-05", "changes": [ "New: Thread-safe ReSpeaker USB access to prevent daemon deadlock" ] }, { "version": "0.2.4", "date": "2026-01-05", "changes": [ "Fix: Microphone volume control via daemon HTTP API" ] }, { "version": "0.2.3", "date": "2026-01-05", "changes": [ "Fix: Daemon crash caused by conflicting pose commands", "Disable: Pose setter methods in ReachyController" ] }, { "version": "0.2.2", "date": "2026-01-05", "changes": [ "Fix: Second conversation motion failure", "Reduce: Control loop from 20Hz to 10Hz", "Improve: Connection recovery (faster reconnect)" ] }, { "version": "0.2.1", "date": "2026-01-05", "changes": [ "Fix: Daemon crash issue", "Optimize: Code structure" ] }, { "version": "0.2.0", "date": "2026-01-05", "changes": [ "New: Automatic facial expressions during conversation", "New: Emotion playback integration", "Refactor: Integrate emotion playback into MovementManager" ] }, { "version": "0.1.5", "date": "2026-01-04", "changes": [ "Optimize: Code splitting and organization", "Fix: Program crash issues" ] }, { "version": "0.1.0", "date": "2026-01-01", "changes": [ "Initial release", "ESPHome protocol server implementation", "mDNS auto-discovery for Home Assistant", "Local wake word detection (microWakeWord)", "Voice assistant pipeline integration", "Basic motion feedback (nod, shake)" ] } ]