Changelog
v1.2.4 (2026-03-26)
Fixes
- Suppress TTS echo from triggering false VAD interrupts during speaking state using real-time mic RMS analysis
- Handle unavailable mic RMS (suspended AudioContext) gracefully during echo suppression
- Skip redundant TTS cleanup on normal playback completion — only run during actual user interruptions
v1.2.3 (2026-03-16)
CI
- Upgrade GitHub Actions to Node.js 24-compatible versions (checkout v6, setup-node v6, upload/download-artifact v7/v8, upload-pages-artifact v4)
- Update CI node-version from 20 to 22 (LTS)
Chores
- Remove tracked .vscode files from repository (already gitignored)
v1.2.2 (2026-03-15)
Docs
- Update README badge to show Release workflow status
- Add MIT license (LICENSE file, README, package.json)
Chores
- Update biome.json schema version to match installed version (2.4.7)
- Add .vscode, *.tsbuildinfo, and .pnpm-store to .gitignore
- Enable Renovate dependency dashboard
v1.2.1 (2026-03-15)
Security
- Fix vulnerable transitive dependencies (undici, yauzl) via pnpm overrides
Chores
- Update production dependencies (react 19.2.4, elevenlabs-js 2.39.0, xstate/react 6.1.0, lucide-react 0.577.0, onnxruntime-web 1.24.3)
- Update dev dependencies (electron 41.0.2, jsdom 29.0.0, vitest 4.1.0, biome 2.4.7, electron-builder 26.8.1)
v1.2.0 (2026-03-15)
Features
- Adopt React Compiler (
babel-plugin-react-compiler) for automatic memoization - Add HiDPI (devicePixelRatio) support to Waveform canvas
- Add CLAUDE.md with project guidelines and React Compiler rules
Fixes
- Fix VAD not re-creating MicVAD when thresholds change
- Fix stale cleanup→startVAD chain leaving mic active after disable/unmount
- Fix gateway auto-reconnect after intentional disconnect (disposed flag)
- Fix unhandled promise rejections in audio hook effect cleanups
- Fix partial initialization leak in speaker monitor on capture failure
- Fix settings loading blocking UI on single IPC failure (Promise.allSettled)
- Fix temp directory cleanup masking successful TTS/STT results
- Always reconnect gateway on SESSION_START (URL/token may have changed)
Refactors
- Remove manual
useCallback/useMemo/ref-for-latest-value patterns (React Compiler) - Unify VoiceEvent type in voice-machine.ts (single source of truth)
- Derive ACCEPTED_EVENTS from XState machine config automatically
- Cache ElevenLabsClient in SttEngine constructor
- Reduce TtsSettings prop drilling via Pick-based settings object
- Convert sync I/O to async in PiperTts and SttEngine
- Consolidate hardcoded color values into CSS custom properties
- Type STATUS_LABELS and STATE_DOT_COLORS with VoiceState for exhaustiveness
- Hoist VALID_KEY_SOURCES to module-level typed constant
- Delete unused tts-engine.ts re-export file
Docs
- Unify documentation site structure
- Add changelog page to VitePress documentation
- Add install page with OS-specific instructions
- Symlink contributing.md to root CONTRIBUTING.md
CI
- Simplify backport workflow to direct main-to-develop merge
v1.1.0 (2026-03-14)
Features
- Show app version and update notification in voice view
- Check for updates via GitHub Releases API with caching (1h success / 5min failure TTL)
Fixes
- Support multi-model LLM response formats (nested content arrays, typed containers)
- Fix TTS interrupt — replace stopped boolean with generation counter pattern
- Strip
<thinking>tags alongside<think>from LLM responses - Recover from empty LLM final messages instead of getting stuck in thinking state
- Safe JSON.stringify for unserializable final messages
Refactors
- Remove
isStoppedfrom TTS provider interface — generation counter is sufficient - Hoist
SKIP_CONTENT_TYPESto module-level constant in openclaw-client
v1.0.5 (2026-03-12)
Security
- Add explicit permissions to all workflow jobs
- Add SECURITY.md security policy
v1.0.4 (2026-03-12)
Security
- Fix vulnerable transitive dependencies (minimatch, tar, esbuild) via pnpm overrides
v1.0.3 (2026-03-12)
Fixes
- Scope CI badge to main branch
v1.0.2 (2026-03-11)
Chores
- Add Renovate configuration with automerge on CI success
v1.0.1 (2026-03-10)
Chores
- Add backport workflow to sync main changes to develop
v1.0.0
- Initial release
- Voice-driven AI chat with real-time TTS playback
- VAD (Voice Activity Detection) with auto noise calibration
- Gateway WebSocket integration (OpenClaw protocol)
- Multi-platform support: macOS (arm64/x64), Windows (x64), Linux (AppImage/deb)
- Encrypted key storage with AES-256-CBC
- ElevenLabs and VOICEVOX TTS providers