Skip to content

Taurus 0.4.0 — Voice, Markdown preview & security hardening

Choose a tag to compare

@astetic-dev astetic-dev released this 04 Jul 08:00
28a8c69

What's new in 0.4.0

The voice release — and the release where Taurus grew up on security. A full code review of the codebase produced sixteen tracked issues (#68#83); everything actionable landed here.

🎙 Voice: your agents talk, you talk back

  • Text-to-speech — Taurus can announce "<session> is ready" the moment an agent in a background tab finishes, using Windows-native voices (WinRT natural voices incl. e.g. Dutch Frank, with classic SAPI as backup). Right-click a tab to have the selected terminal text read aloud. Voice and speaking rate are configurable; everything runs offline. (#65)
  • Speech-to-text — hold F9 (or click the mic above the DROPZONE) and dictate straight into the active terminal. Recognition runs fully local via a sherpa-onnx sidecar with NVIDIA's Parakeet v3 model (EN + European languages, incl. Dutch): a one-click download in Settings → Voice, no cloud, no account. Live mic level on the record button; optional auto-send with Enter. (#66)
  • Model downloads are now SHA-256-verified before extraction — the engine is an executable, so archives must match a pinned checksum. (#69)

📝 Markdown preview

  • .md files render inline in the preview pane — escape-first, so raw HTML inside a Markdown file can never execute — with a raw/rendered toggle. Click any .md/.html path an agent prints to open it. (#61)

🧭 UX

  • Settings reorganized into tabs (General / Theme / HTML preview / Terminal / Voice) with an explanation panel that follows your mouse — every setting now tells you what it does. (#58)
  • Compact sidebar cards — the drive tag (C:)/(X:) sits after the agent name, so more agents fit on screen.
  • The default UI language now follows your OS locale (Dutch system → Dutch UI, everything else → English); a saved choice always wins. (#46)

🚀 Launching

  • npm-installed Claude Code now works out of the box. If PATH only has the claude.cmd shim (no claude.exe), Taurus launches it via cmd.exe /c automatically — native installs keep winning when both exist. (#40)
  • The per-project command override understands double quotes, so programs under C:\Program Files\... launch too. (#76)

🔒 Security hardening

  • A strict Content-Security-Policy now guards the main window: remote scripts, object embedding and form posts are blocked, while the sandboxed HTML preview keeps working. Verified end-to-end with WebView2 remote-debugging probes. (#68)
  • Dropper refuses to move/copy a folder into itself (previously: runaway recursion until the disk filled up). (#70)
  • Branding theme values are sanitized consistently (no ; injection). (#78)

🛠 Robustness & performance

  • No more orphaned processes. Every agent runs inside a Windows Job Object with kill-on-close: closing a tab, restarting, quitting — or even Taurus crashing — now cleans up the entire process tree, including MCP servers the agent spawned. (#77)
  • A restart can no longer be falsely marked "session ended" by a late exit event from the killed process (generation counter on all pty events). (#71)
  • Terminal output travels as base64 instead of JSON byte arrays — roughly 3–4× smaller IPC payloads on the hottest path in the app. (#73)
  • The 2 MB preview cap is enforced before reading the file, not after shipping it over IPC. (#72)
  • A corrupt projects.json/sessions.json is backed up to a timestamped .invalid-* file instead of being silently replaced by an empty list on the next save. (#74)
  • Microphone failures surface immediately when you start dictating (#75); F9 is only claimed system-wide when STT is actually installed (#79); temp WAV files get unique names and are cleaned up (#80).
  • First unit tests landed for the pure Rust helpers — 11 tests covering base64, command parsing, session-path encoding, flag mapping, checksum verification and more. (#82)

📥 Download (Windows x64)

  • Installer: Taurus_0.4.0_x64-setup.exe
  • MSI: Taurus_0.4.0_x64_en-US.msi
  • Portable (no install): Taurus_0.4.0_x64_portable.exe

White-label note: rebrand Taurus without touching code — drop a branding.json (name, logo, colours, skin, font) next to the exe or in %APPDATA%\Taurus\. See the README.