What's Changed
- feat(mcp): add retry/backoff and CRUD API by @l33t0 in #109
- feat(ux): add drag-and-drop sorting for agents in sidebar by @MakerDZ in #113
- fix(channel): roll back history on PromptCancelled to prevent poisoned turns by @Marenz in #114
- Fix CI failures: rustfmt, clippy, and flaky test by @Marenz in #116
- fix(channel): prevent bot spamming from retrigger cascades by @PyRo1121 in #115
- feat(security): add auth middleware, SSRF protection, shell hardening, and encrypted secrets by @PyRo1121 in #117
- remove obsolete plan document from #58 by @hotzen in #142
- fix(build): restore compile after security middleware + URL validation changes by @bilawalriaz in #125
- fix(telegram): render markdown as Telegram HTML with safe, telegram-only fallbacks by @bilawalriaz in #126
- Fix Fireworks by @Nebhay in #91
- fix: harden 13 security vulnerabilities (phase 2) by @PyRo1121 in #119
- fix: replace .expect()/.unwrap() with proper error propagation in production code by @PyRo1121 in #122
- feat(twitch): Add Twitch token refresh by @Nebhay in #144
- feat: add minimax-cn provider for CN users by @shuuul in #140
- feat(telemetry): complete metrics instrumentation with cost tracking and per-agent context by @l33t0 in #102
- feat: support ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN and SPACEBOT_MODEL env vars by @adryserage in #135
- Fix cron timezone resolution and delete drift by @jamiepine in #149
- feat: update Gemini model support with latest Google models by @adryserage in #134
- feat(web): add favicon files and update HTML to include them by @the-snesler in #154
- fix: add API body size limits and memory content validation by @PyRo1121 in #123
New Contributors
- @PyRo1121 made their first contribution in #115
- @hotzen made their first contribution in #142
- @bilawalriaz made their first contribution in #125
- @shuuul made their first contribution in #140
- @adryserage made their first contribution in #135
- @the-snesler made their first contribution in #154
Full Changelog: v0.1.13...v0.1.14