Skip to content

v2.3.0 - Real-World Context, Cross-Platform & Stability

Choose a tag to compare

@pjdoland pjdoland released this 25 Mar 18:43
· 69 commits to main since this release

New Features

  • Real-world context for conversations: LLM now receives current date/time and weather (via wttr.in) so personalities can naturally answer questions like "What time is it?" — configure with ZIPCODE in .env
  • Headless output device: New headless device type for computer-only playback without hardware
  • GPT-5 model compatibility: Automatic parameter adaptation for GPT-5 models (token limits, temperature constraints)
  • Multi-stage silence detection: 4-stage audio validation pipeline prevents Whisper hallucinations and unnecessary API calls
  • Cross-platform support: Linux/Jetson compatibility for audio, GPU detection, and setup
  • Fred (Mister Rogers) personality: New personality added

Bug Fixes

  • Fix race condition in audio recorder when stop_recording called from callback thread
  • Fix race condition in audio recorder continuous mode
  • Fix RVC crash when vc_single returns tuple with None audio
  • Fix RVC audio playing too fast by propagating actual sample rate
  • Fix echo suppression getting stuck when skipping LISTENING state

Improvements

  • Codebase cleanup: Fixed bugs, deduplicated code (Squawkers as HeadlessDevice subclass, AudioPlayer helper extraction), removed dead code (unused mock classes, commented-out blocks)
  • Efficiency: Cached pyphen dictionary in PPMGenerator, capped state machine transition history
  • RVC reliability: Device validation, fail-fast on permanent errors, Jetson-specific installation support
  • Updated wake word models for fred, johnny, kitt, leopold, mr_lincoln, teddy_ruxpin
  • Added CLAUDE.md for Claude Code guidance