Skip to content

Tags: tyxben/roboot

Tags

v0.4.0

Toggle v0.4.0's commit message
v0.4.0 — Telegram voice, LAN auth, self-upgrade, memory

First release since the repo went public, and the first with a
verifiable signature. Verify with:
    git verify-tag v0.4.0

Highlights:
- Telegram voice I/O (mlx-whisper STT + parallel Edge TTS → OGG/Opus)
- Pluggable STT backends (mlx_whisper / google / none)
- Per-user Telegram voice preferences (/voice, switch_tts_voice tool)
- One-command installer (scripts/setup.sh, prefers uv)
- LAN API bearer-token auth (/api/* + /ws)
- In-process self-upgrade loop (opt-in; supports signed-tag gate)
- Conversation memory: resume_session_id replay + soul.md distillation
- Self-review distillation every 20 turns
- Proactive session-waiting notifier (type:"notify" frames, rendered on
  web console + mobile pair-page)
- GitHub Actions CI + user-facing docs pass

Full notes: CHANGELOG.md

v0.3.0

Toggle v0.3.0's commit message
v0.3.0 — authenticated relay handshake

Closes the v0.2.0 SECURITY.md gaps around anonymous ECDH MITM and
self-declared client_id.

- Long-term ed25519 identity per daemon (.identity/daemon.ed25519.key)
- Fingerprint in pairing URL fragment (#fp=...) — never sent to relay
- Handshake reply signed by daemon identity; browser verifies both
  fingerprint match and signature before deriving a session key
- client_id = SHA256(client_ephemeral_pub)[:16].hex — bound to pubkey
- 41 pytest tests (9 new)

Wire-protocol breaking: daemon + Cloudflare Worker redeploy together.
Requires browser WebCrypto Ed25519 (Chrome 113+, Safari 17+, Firefox 129+).

v0.2.0

Toggle v0.2.0's commit message
v0.2.0 — open-source release

Highlights since v0.1.0:
- Unified chat handler (server.py + relay_client.py share one streaming loop)
- SQLite chat history persistence (.chat_history.db, 30-day retention)
- Soul writes auto-snapshot to .soul/history/ with date-stamped appends
- Relay token auto-rotation bug fix (no longer invalidates pair URL on reconnect)
- Remote chat send button no longer stuck disabled after tab switches
- Durable Objects pinned to APAC for lower latency
- 32 pytest smoke tests (chat_store + chat_handler + relay crypto)
- LICENSE (MIT), README rewrite, SECURITY.md threat model, config.example.yaml
- docs/TESTING.md manual checklist for releases

Known limitations: relay handshake is anonymous ECDH (MITM possible if
CF compromised); local LAN TLS is trust-on-first-use. See SECURITY.md.

v0.1.0

Toggle v0.1.0's commit message
v0.1.0 — first tagged baseline

Highlights:
- Relay architecture (Cloudflare Worker DO) with E2EE (ECDH P-256 + AES-GCM)
- Token rotation + revoke-all + WebSocket heartbeat
- iTerm2 bridge via Python API, incremental terminal-history fetch
- Lazy-load session list + Claude Code confirm bar on remote pair page
- Face recognition, Edge TTS (spoken vs displayed split), soul.md identity
- Telegram bot adapter

Next: unified chat handler (merge server.py ws + relay_client.py _on_chat),
chat history persistence (SQLite), soul.md restructure.