v0.13
What's Changed
- fix: per-action write state so one write failure doesn't block the rest by @mattmezza in #20
- Thinking-level support across all inference kinds (LLM tab) by @mattmezza in #21
- feat(voice): clean non-pronounceable chars from TTS replies by @mattmezza in #22
- fix(jobs): block create only on live duplicate id (#11) by @mattmezza in #24
- feat: deepseek-v4-flash default + terminal REPL by @mattmezza in #23
- feat(agent): batch write-action approvals into one prompt (#12) by @mattmezza in #25
- feat: persona profiles β swappable agent identities (#13) by @mattmezza in #27
- feat: vision fallback β caption images via a secondary model on non-vision models by @mattmezza in #26
- feat: optional headless browser automation (#16) by @mattmezza in #28
- Secrets vault: encrypted two-vault backend with per-persona access (#19) by @mattmezza in #31
- Per-chat persona binding + isolated contexts (channel-agnostic) (#14) by @mattmezza in #32
- Show CoT thinking trace in admin UI log tab (#33) by @mattmezza in #38
- feat(secrets): migrate static credentials onto the infra vault + collapse redundant UI (#35) by @mattmezza in #40
- feat(artifacts): agent-crafted web pages served at /artifacts/ by @mattmezza in #37
- feat: bot-per-persona β each persona as its own Telegram bot (#29) by @mattmezza in #39
- feat(memory): two-tier scoped memory β shared pool + per-persona private (#42) by @mattmezza in #45
- fix(agent): inject memory + reflections per-turn, not in frozen snapshot (#41) by @mattmezza in #43
- feat(memory): recall_memory tool β deliberate full-store semantic lookup (#47) by @mattmezza in #49
- fix(agent): inject skills index per-turn, not in the frozen snapshot (#46) by @mattmezza in #48
- feat: subagents β on-demand + scheduled spawning with lifecycle management (#15) by @mattmezza in #44
- feat(skills): serve the index on-demand via search_skills/list_skills (#50) by @mattmezza in #52
- Fix Telegram formatting: avoid tables, use code blocks for commands by @mattmezza in #54
- feat: reply-decision gate to stop infinite loops in group chats (#36) by @mattmezza in #53
- fix(telegram): typing/thinking indicator on Telegram Web (K) (#57) by @mattmezza in #58
- feat(vault): enable secret removal from vaults (#56) by @mattmezza in #60
- feat: image generation tool (OpenRouter, fal.ai, OpenAI) with admin UI + wizard (#55) by @mattmezza in #61
- feat(telegram): group multi-agent rooms β turn-taking + loop guard + speaker tags (#30) by @mattmezza in #59
- Auto-dismiss permission approval messages after user interaction by @mattmezza in #63
- feat(voice): advertise voice reply as a base capability by @mattmezza in #66
- Scoped /yolo mode + close the permission-generalisation bypass by @mattmezza in #67
Full Changelog: v0.12...v0.13