v0.121.0
Agenta-AI/agentav0.121.0Sep 24, 2026by mmabrouk
Upgrading?
AI Summary
A major feature release introducing channel integrations for Slack and Telegram, along with significant backend refactoring to support ordered config edits, runner improvements, and API stability.
Key Highlights
- New Channel integrations: Slack and Telegram support (hosted and custom)
- Change-set engine for ordered config edits
- Runner improvements including warm environment changes and approval binding
- Removal of feature flags for durability, ordered operations, and sessions queue
- Agent configuration editing benchmarking and design workspace
Breaking Changes
- Agent behavior changes: handler-mode ops removed, one error envelope enforced, and specific routes deleted
- Agent commits now refused if instructions lack 'agents_md'
- Feature flags for ordered operations, sessions queue, and durability have been removed
New Features
- Connect Slack and Telegram from the agent page
- Change-set engine for ordered config edits
- Change a warm environment instead of rebuilding it
- Bind an approval to the exact call that may execute
- Read workspace files into a commit
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
openclaw/openclaw★ 392,690
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,064
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 357,509
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,654
The open source coding agent.
n8n-io/n8n★ 208,248
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.