Repository navigation
v2.6.0
·
163 commits
to main
since this release
Summary
- Microsoft Teams — Connect agents to Teams through your own bot or the deployment's Teams app. Agents can read channel history, answer approvals and questions with cards, and send editor approvals to the editor's own Teams chat. Session access can follow Teams permissions, and Microsoft sign-in is available.
- DingTalk — Connect agents to DingTalk, including international-edition apps. DingTalk supports streaming replies, attachments, tap-to-answer questions, group mentions, and direct messages.
- Share Any File — Agents can share any workspace file into a conversation, such as reports, spreadsheets, and archives, not only images.
- Computer Use (Preview) — Agents can see and control a desktop through new computer tools, with approvals, an audit trail, and a live viewer in the console. Computers can be self-hosted desktops or Linux machines from the Kubernetes pool. The console shows them only where the
computer-useflag is on, which is off by default. - Console Updates — Billing usage now groups charges by agent and model, with a per-day breakdown.
This release also adds early support for the Agent Host Protocol (AHP), which stays off unless an operator enables it.
Behavior change: Gemini CLI is retired as a runtime; agents that used gemini need to switch to Antigravity (antigravity-acp) and sign in there. New agents, and agents switched to another runtime, start in that runtime's auto mode, and the built-in agent on pool-backed installs now runs on Claude Code. An agent now replies with the "not enabled here" notice to every message that addresses it in a conversation where it is off, except conversations held By decision.
Features
- ahp: adapt standard actions to the shared chat application (#3170) (97e7e7f)
- ahp: add isolated dispatch and observation adapters (#3172) (0f7ac54)
- ahp: bind authorized connections to the shared agent host (#3171) (ddf5588)
- ahp: bound negotiated Apps presentation and RPC state (#3160) (13f78b4)
- ahp: own shared agent state and bounded checkpoint recovery (#3162) (3caf8cc)
- ahp: preserve existing sessions with current per-session authority (#3140) (202fb51)
- ahp: project shared chat events into standard SDK state (#3161) (ead8f74)
- ahp: serve standard host commands and bounded reconnect recovery (#3155) (ab0ff1d)
- ahp: validate supported actions and embedded inputs (#3153) (1204867)
- ahp: wire fenced session registry RPCs (#3137) (5357a7f)
- answer every addressed message in an Off conversation (#3369) (968b015), closes #2979
- cli: add the agentconnect desktop subcommand (#3207) (28a2e4f), closes #3185 #3182
- Computer channel and desktop daemon CP client (computer use M1) (#3210) (6e95725), closes #3187 #3182
- Computer control lease service (computer use M1) (#3212) (cbdff7f), closes #3188 #3182
- Computer data plane through the relay (computer use M1) (#3213) (202598d), closes #3189 #3182
- Computer screenshot storage (computer use M1) (#3216) (e8abd95), closes #3192 #3182
- Computer use approvals and audit reporting (computer use M1) (#3215) (5cfe467), closes #3191 #3182
- computer_* tools for agents (computer use M1) (#3214) (14b334a), closes #3190 #3182
- computer: agent access to a Computer as one relation (computer use M2) (#3251) (8ede0ec), closes #3241 #3182
- computer: Cloudflare Realtime TURN for the Computer viewer (#3341) (36c69f8)
- computer: console for managed computer pools and allocation modes (computer use M2) (#3256) (816ef48), closes #3232 #3182
- computer: first-come-first-served wait queue for shared Computers (#3244) (623a2e2), closes #3231 #3182 #3231
- computer: give computers daemon-style visibility and set agent access from the agent (#3352) (c8f63e3)
- computer: hold the macOS grants in a signed Node runtime app (#3361) (8715b67), closes #3182
- computer: managed computer quotas, metering and egress (computer use M2) (#3260) (7d28be1), closes #3230 #3182
- computer: relay STUN for peer-to-peer viewer media (computer use M2) (#3257) (c0a9dbd), closes #3235 #3182
- computer: TURN on the relay as the viewer media fallback (computer use M2) (#3258) (c2c940a), closes #3236 #3182
- console Computers page, console Stop and agent computer setting (computer use M1) (#3217) (dcb23fa), closes #3193 #3182
- control-plane: add the DingTalk platform provider (#3248) (1aa130a)
- control-plane: add the Microsoft Teams platform provider (#3276) (c94d0d0), closes #3208
- control-plane: authorize scoped AHP clients behind rollout gates (#3136) (7a6fd38)
- control-plane: Computer resource, registration tokens and computer API keys (#3209) (04b12b6), closes #3186 #3182
- control-plane: expose the current authorized AHP session catalog (#3156) (3b32b89)
- control-plane: reserve durable AHP session identities (#3135) (15cdfe6)
- control-plane: select Webchat protocol at attachment bootstrap (#3141) (7deed9e)
- daemon,control-plane,web: connect DingTalk international apps (#3307) (c60f9ad)
- daemon,relay: Microsoft Teams approval and question cards (#3280) (688ded7), closes #3208
- daemon,web: acknowledge DingTalk turns with a reaction instead of a progress card (#3268) (15f6d71)
- daemon,web: answer DingTalk questions with a tap (#3297) (082644a)
- daemon: add bounded AHP action journal with durable sequence ranges (#3149) (ccf5cae)
- daemon: add the DingTalk Stream connection and reply-chain sessions (#3249) (c34efde)
- daemon: add the Microsoft Teams connection, reply-chain sessions and turn output (#3277) (15ac700), closes #3208
- daemon: bind AHP carriers to relay transport generations (#3151) (4a4f5f2)
- daemon: DingTalk attachments and quote-answered question cards (#3254) (88e5bd5)
- daemon: persist fenced AHP checkpoints and turn pages (#3158) (e1b97b9)
- daemon: post no DingTalk or QQ card outcome when a chat reply answered it (#3284) (3e8f5d5)
- daemon: read bounded AHP history from shared sessions (#3159) (25e9069)
- daemon: rewrite the editor path's notice to how its request settled (#3367) (b9482ca)
- daemon: set the AHP serving mode from --ahp-mode and daemonPool.ahpMode (#3285) (f53c91d)
- daemon: share scoped approvals and inputs with AHP observers (#3157) (4fb9b1f)
- daemon: shareFile shares any workspace file, not only images (#3275) (dfee750)
- daemon: stream DingTalk turn progress through an AI card (#3253) (cd071ff)
- daemon: tell DingTalk users to reply rather than quote and mention (#3270) (22eec5c)
- daemon: wire the switchable AHP service into existing runtime ownership (#3173) (f82f451)
- default new and switched agents to the runtime's auto mode (#3226) (7ddee6e)
- desktop: merge the desktop daemon prototype as packages/desktop (#3204) (dc40dd9), closes #3183 #3182
- desktop: productize and publish the desktop container image (#3228) (789f542), closes #3195 #3182 #3197
- desktop: X11 tray, stop hotkey and keyboard activity (computer use M1) (#3227) (6b7a582), closes #3196 #3182
- dingtalk: let an agent direct-message a member (#3351) (b7b65f9)
- dingtalk: mark a group external when an outsider speaks there (#3350) (8a828a1)
- dingtalk: mention people in a group (#3354) (c9d5aba)
- dingtalk: name an integration after its organization (#3323) (b487c9e)
- dingtalk: name the bot after its robot (#3339) (03655bf)
- embedded Computer viewer in the console (computer use M1) (#3218) (509b688), closes #3194 #3182
- Linux managed computers in the Kubernetes pool (computer use M2) (#3240) (279ffaf), closes #3199 #3182
- msteams: answer a tenant no organization connected, and connect it from the card (#3373) (f1e0cc9)
- msteams: connect a tenant to the deployment's Teams app (#3314) (a6f20be), closes #3208
- msteams: judge a Teams place's audience as Slack's is judged (#3336) (4e7fee2), closes #3208
- msteams: read a team's visibility and a shared channel's members (#3337) (70ed0b9), closes #3208
- msteams: read channel and thread history through Graph (#3328) (ad3a40c), closes #3208
- msteams: request channel and meeting RSC grants in the app package (#3313) (c1fa71d), closes #3208
- msteams: send an editor's card beside a card only editors may answer (#3366) (7c03d83), closes #3208
- msteams: send an external place's approval to the asker's own chat (#3357) (aff2f3c)
- msteams: send MCP tool approvals to the asker's and editor's own Teams chats (#3368) (eb64a92), closes #3208
- msteams: send the editor's approval card to their own Teams chat (#3360) (f3313a3), closes #3208
- msteams: update the Teams app when the agent or its permissions change (#3348) (ad3cf51)
- msteams: welcome an install and answer help (#3370) (5c0f77d)
- protocol,message: declare the DingTalk platform and normalize its robot messages (#3247) (f273b86)
- protocol,message: declare the Microsoft Teams platform and normalize its activities (#3273) (991aaf8), closes #3208
- protocol: add isolated AHP carrier and registry contracts (#3131) (441ce79)
- protocol: fragment CP frames past the 256 KiB frame cap (#3301) (d5b93e5)
- publish the computer daemon to npm and manage it with agentconnect computer (#3243) (e251b34), closes #3239 #3182
- relay: add the Microsoft Teams ingress module (#3274) (5f2ca10), closes #3208
- relay: expose authenticated bounded AHP WebSocket ingress (#3147) (0c966fe)
- self-hosted desktop containers with a compose example and viewer TURN (computer use M2) (#3238) (6a2e9c6), closes #3198 #3182
- session-access: sync Microsoft Teams permissions (#3311) (f8c36d3), closes #3208
- setup: make the Microsoft sign-in app the Teams app too (#3320) (0a7e846), closes #3208
- setup: Microsoft sign-in as a login application (#3295) (7ab21f3), closes #3208
- web,control-plane,daemon: pick the DingTalk edition on its tile (#3317) (3f803a7)
- web: add a self-hosted computer with one command minted on open (#3375) (5efad3b), closes #3182
- web: add an isolated AHP playground store (#3167) (09e358d)
- web: add official AHP client attachment and snapshot recovery (#3150) (b1e17e9)
- web: add the DingTalk console module (#3250) (d740c72)
- web: add the Microsoft Teams console module (#3278) (86f0772), closes #3208
- web: coordinate AHP conversations through the official SDK (#3165) (34ec0a9)
- web: drop the Computer Limits card from Infra (#3329) (d9674a2), closes #3193
- web: fold billing usage by agent and model with a per-day breakdown (#3176) (59b0bbf)
- web: list Computers as a section of the Infra page (#3286) (6013be2), closes daemons#computers #3193
- web: list Microsoft sign-in third, after Google and Slack (#3306) (a6308e2), closes #3208
- web: offer the deployment Teams app without a feature flag (#3319) (d085b46), closes #3208
- web: order chat platforms Slack, Teams, Google Chat, Discord, Telegram, Lark, DingTalk (#3316) (7c3c6c8)
- web: pin attachment protocol in signed browser bootstrap (#3163) (da89511), closes #3156
- web: plainer copy for session access and visibility settings (#3179) (1ed2d01)
- web: put Computers behind a console flag (#3324) (0a29e68)
- web: render standard AHP state and bounded attachment drafts (#3164) (5b47fc5)
- web: select AHP explicitly and expose the public client quickstart (#3168) (6d54a11)
- web: show extra sign-in providers as a full-width icon row (#3178) (a2a5103)
- web: show managed computers as one pool entry on Infra (#3335) (44ed9b1), closes #3193
- web: tighten the sign-in card layout (#3177) (bfa0dc1)
- web: walk through the Teams Developer Portal on hover (#3312) (1332039), closes #3208
Bug Fixes
- ahp: enforce signed browser transport selection (#3145) (b7e09c7)
- ahp: isolate client history pages and preserve bounded live state (#3169) (ab82ae3)
- ahp: preserve session owners and retired URI reservations (#3148) (9323aef)
- build: include pnpm patches in release images (#3211) (434b2a8)
- chart: route /ahp/agents on the relay host to the relay pool (#3287) (916e460)
- chart: route the relay's Computer data plane per pod (#3282) (b0d7ad6)
- ci: raise heap limit for static checks (#3223) (2efdc62)
- ci: repair VM staging and context test failures (#3315) (65717c2)
- computer: list a managed computer not started yet as on demand (#3376) (f535d19)
- control-plane: install on a pool agent no lease holds right now (#3379) (66366a4)
- control-plane: keep a reused bot's external places Off for the next agent (#3378) (6d1ae32), closes #2980
- control-plane: keep DingTalk and Teams connectors out of the catalog (#3308) (0a6d979)
- control-plane: name a claimed Google Chat Workspace by its domain (#3322) (9c57b90)
- control-plane: show a linked Microsoft account's email (#3330) (f8ad0fc)
- daemon: back off retention on a session it keeps (#3294) (8493a6b), closes #3281
- daemon: drop Python bytecode caches from installed skill bundles (#3237) (920fd3b)
- daemon: name an MCP App's approval by the app, not the bridge (#3383) (7ee11c9), closes #3289
- daemon: name an MCP approval's server and tool on every card (#3377) (ad5e59e)
- daemon: name the call on approval cards when the request carries only its id (#3290) (58f4833), closes #3289
- daemon: post the gated notice on DingTalk, QQ and Linear (#3364) (25e32d8)
- daemon: reply to a source another member runs over the relay (#3234) (3ffc15a)
- desktop: download ffmpeg on first start and spend a new registration token (#3229) (da94eac), closes #3197 #3182
- dingtalk: log why an organization name read fails (#3325) (a3bbe73)
- docker: build runtime sandbox images on Node 24.22.1 (#3266) (9fff20c)
- docker: pin every release image's Node to 24.22.1 and let Dependabot track it (#3265) (e639faf)
- feishu: allow bot installation without regional sign-in (#3219) (4623c33), closes #3206
- msteams: fill a history page past dropped system events (#3331) (212651c), closes #3208
- msteams: give a Teams session's tools its connection (#3326) (ce9a23d), closes #3208
- msteams: list a conversation's members from the Bot Connector (#3327) (331cc8f), closes #3208
- msteams: list each shared-channel member once (#3355) (7079760)
- msteams: name channels and connected organizations in the Console (#3321) (f9a43df), closes #3208
- msteams: name no app in the welcome, and mention a nameless installer (#3374) (0ef5299)
- msteams: name the senders a history read returns (#3333) (563540b), closes #3208
- msteams: post the gate notice in a Teams place that starts Off (#3353) (89d5cb7)
- msteams: show a Teams bot's tenant and keep builtin secrets off its row (#3358) (99ecd88)
- relay,control-plane: give the relay the Teams bot's mention identity (#3283) (019274f), closes #3208
- relay: leave a Request review Check on other bots' PRs (#3309) (e74cc9e)
- relay: log every silent drop of a GitHub thread event (#3225) (8e836b1), closes #3224
- release: strip and pin the computer manifest in one pnpm exec (#3371) (a2f0656), closes #3361
- runtime: pin Codex ACP 2.2.2-agentconnect.2 for multi-file denies (#3293) (8df610b), closes #3259
- slack: answer an installation that cannot answer yet with its setup link (#3372) (5e53cbb)
- slack: preserve native markdown tables (#3267) (ded31e7), closes #3116 #2810
- web: clear agent picker search after selection (#3300) (e2196ee)
- web: keep integration tabs scrollable on desktop (#3334) (faa4733)
- web: line up the platform tile icons and neutralize the DingTalk edition (#3318) (5875546)
- web: localize the platform and room in the invite hint (#3310) (355b8ad)
- web: refresh the sign-in page copy (#3166) (933617c)
Internal
- computer: install the desktop daemon only from npm (#3271) (3ea80cb), closes #3243 #3239 #3182
- computer: rename the desktop package and its artifacts to computer (#3338) (c2e8fc0)
- daemon: expose bounded masked chat observations (#3152) (869a996)
- daemon: extract shared human chat admission (#3130) (c675ff6)
- daemon: move reply-to-session lookup behind a platform module member (#3246) (6e95679)
- daemon: preserve durable continuation admission barriers (#3146) (c7a8db5)
- daemon: separate shared execution output from Webchat transport (#3132) (1ceb997)
- daemon: share chat attachment validation and upload authorization (#3134) (660c29a)
- daemon: share continuation admission and platform mirroring (#3133) (9364043)
- deps-dev: bump happy-dom from 20.14.5 to 21.0.3 (#3304) (9f7ad3d)
- deps: bump chokidar from 5.0.0 to 6.0.0 (#3349) (67a81cc)
- deps: bump rust in /docker (#3269) (2fdec5e)
- deps: bump the npm-minor-and-patch group with 56 updates (#3303) (484e38b)
- deps: consolidate compatible dependency updates (#3346) (dbd910e), closes #3340 #3342 #3343 #3344 #3345
- deps: upgrade microsandbox to 0.7.10 (#3356) (ce2b0e1)
- drop the assistant mode expand-step tolerances (#3143) (68826bd), closes #2810
- runtime: bump Muse ACP to 0.15.0 (#3220) (b393735)
- runtime: pin agent-browser 0.39.2 (#3298) (e4e3828)
- runtime: pin Claude ACP 0.95.0 (#3332) (21eff47)
- runtime: refresh Claude ACP to 0.94.0 (#3180) (1219647)
- runtime: retire Gemini CLI and upgrade Antigravity ACP (#3347) (75e4e95)
- web: isolate the legacy playground service and UI contract (#3144) (31e2df7)
Full Changelog: v2.5.0...v2.6.0