v0.121.0
parruda/swarmv0.121.0Sep 24, 2026by mmabrouk
Upgrading?
AI Summary
A major version release featuring an ordered configuration editing engine, new Slack and Telegram channel integrations, and significant refactoring of the runner and session lifecycle.
Key Highlights
- Ordered configuration editing engine for agent config.
- New Slack and Telegram channel integrations.
- Refactoring of runner lifecycle and sandbox separation.
Breaking Changes
- API: handler-mode ops removed, one error envelope introduced, and specific routes deleted.
New Features
- Change-set engine for ordered config edits.
- Workspace file reading into commits.
- Live approval cards showing frozen content and diffs.
- Agent-config editing benchmark.
Full Release Notes
## What's Changed * fix(runner): platform-op direct-call errors keep their structured detail by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5763 * fix(runner): Pi's validation error names the misplaced property by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5779 * fix(sdk): runner errors keep their instructions (sanitizer cap to 2000) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5780 * fix(api): stop echoing submitted secrets in vault validation errors by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5795 * test(qa): permanent release-gate cells for agent config editing by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5765 * feat(benchmarks): the agent-config-editing one-shot benchmark and its first measurement night by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5801 * docs: agent-config-editing design workspace (stack bottom) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5733 * test(frontend): config panel preserves skill entries it does not author by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5782 * chore(hosting): dev runner auto-reloads on save (tsx watch + polling) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5784 * fix(runner): let an environment own the configuration it installed by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5746 * feat(sdk): let a builder tool call carry the agent's own note by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5747 * feat(api): add the change-set engine for ordered config edits by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5748 * refactor(runner): move session decisions out of server.ts by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5749 * fix(api): serialize concurrent commits on one variant with a row lock by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5750 * feat(api): wire ordered operations into the workflow commit endpoint by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5751 * refactor(runner): extract the sandbox and workspace lifecycle units by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5752 * feat(api): add read_config and harden the commit endpoint by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5753 * refactor(runner): finish the lifecycle split with a typed context by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5754 * feat(runner): read workspace files into a commit, under one root by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5755 * feat(runner): change a warm environment instead of rebuilding it by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5756 * feat(runner): bind an approval to the exact call that may execute by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5757 * feat(runner): reopen a harness session without losing the sandbox by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5758 * feat(runner): rotate a credential without deleting the sandbox by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5759 * feat(runner): show the real change on the card, commit those bytes by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5760 * feat(sdk): deliver the approval manifest to the live approval card by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5761 * feat(frontend): show the frozen content and diff on commit approvals by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5762 * fix(runner): steered sessions keep their workspace mount (pre-existing) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5764 * feat(api): agent behavior leaves the public API: handler-mode ops, one error envelope, routes deleted by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5797 * chore(clients): regenerate both API clients from the branch spec by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5785 * fix(ci): clear the CodeQL highs (test and benchmark code only) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/5802 * [feat] Connect Slack and Telegram from the agent page by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6737 * feat(channels): hosted (Agenta-owned) Telegram bot by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6724 * feat(channels): Telegram channel (custom bot) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6679 * fix(channels): render the approval card on a park, answer by the real interaction id by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6653 * docs(channels): takeover decision record, live QA, and finding resolutions by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6652 * feat(channels): put the feature behind a flag (env var + UI switch) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6651 * fix(channels): an approval answer resumes the parked turn, and reaches the agent that asked by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6650 * fix(channels): an edit names what changes, and a failed post is written down by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6649 * fix(channels): decide what opens a turn, and make a DM one conversation by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6647 * fix(channels): unblock the first live deploy (slug, handshake, reference key, space kind, listing) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6646 * [docs] Update API reference docs by @github-actions[bot] in https://github.com/Agenta-AI/agenta/pull/7051 * chore(sessions): hardcode the durability switches and remove their flags by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7097 * chore(api): hardcode ordered operations for agent config commits and remove the flag by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7093 * chore(frontend): hardcode the production mobile gate values and remove the env vars by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7091 * fix(frontend): wait for the agent to be ready before the first queued send by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7098 * chore(sessions): hardcode last-message-only and history reconstruction, remove both flags by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7092 * chore(frontend): hardcode five always-on agent UI flags and remove them by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7094 * chore(api): hardcode the sessions queue and steer, remove the direct send path by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7095 * fix(runner): fail an ACP request when its connection closes instead of hanging by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7099 * [feat] Channels: Slack, bridge, and Agenta channel (takeover of #6051) by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/6644 * fix(api): refuse agent commits whose instructions lack agents_md by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7103 * fix(clients): regenerate the Python and TS clients for the channels grant types by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7107 * fix(frontend): trim publish snippet trailing slashes without a regex by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7104 * fix(agents): hide the mock test harness from harness lists by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7108 * [fix] Make Claude answer a steered message that replaces an unanswered one by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7111 * docs: v0.121.0 upgrade notes, removed flags, and API changes by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7106 * test(api): skip the live channel check where the local sandbox is off by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7112 * fix(channels): claim an outbox reply atomically so two workers never post it twice by @mmabrouk in https://github.com/Agenta-AI/agenta/pull/7105 * [release] v0.121.0 by @github-actions[bot] in https://github.com/Agenta-AI/agenta/pull/7087 **Full Changelog**: https://github.com/Agenta-AI/agenta/compare/v0.120.0...v0.121.0
Related Repositories
maybe-finance/maybe★ 54,215
The personal finance app for everyone
huginn/huginn★ 50,087
Create agents that monitor and act on your behalf. Your agents are standing by!
discourse/discourse★ 48,002
A platform for community discussion. Free, open, simple.
chatwoot/chatwoot★ 38,072
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬