Changelog
Note
This is a release candidate (RC) for testing purposes. It is not recommended for production use. Please report any issues you encounter. Learn more about our Release Schedule.
BREAKING CHANGES
- chore!: remove
api.tsunnecessary calls (#22168, 4caa528) (@jakehwll) - Dashboard: Require confirmation before executing terminal command from URL (#24650, 66abd8a) (@Shelnutt2)
Features
- Sort AI sessions by last prompt time (#24440, c23abc6) (@jeremyruppel)
- Add chatd tool call error metrics and logging (#24559, 72e3ae9) (@johnstcn)
- Add dependabot security backport labels (#24484, 06d7fc5) (@CommanderK5)
- Add lima incus example (#24640, f5ccf68) (@johnstcn)
- Dashboard: Allow disengaging plan mode from Planning badge (#24651, 50dbb3d) (@david-fraley)
- Migrate agents-access to org-scoped system role for proper chat RBAC (#24438, b5a6255) (@johnstcn)
- Snapshot explore subagent tool entitlements (#24638, dbcc654) (@ibetitsmike)
- Add general subagent model override (#24610, 3d90546) (@ibetitsmike)
- Add collapsible thinking blocks with configurable display mode (#24635, 3a9a60d) (@DanielleMaywood)
- Dashboard: Add Charm Crush client icon to AI Bridge UI (#24662, 346b462) (@dannykopping)
- Auto-archive inactive chats with audit trail (#24642, a876287) (@johnstcn)
- Add alert with link to template agent skill on page after template creation (#24588, c488658) (@DevelopmentCats)
- Dashboard: Opt AI Gateway pages into React Compiler (#24713, 780aa6c) (@jeremyruppel)
- Add admin UI control for chat auto-archive days (#24704, 2f26903) (@johnstcn)
- Plumb user secrets through provisioner chain to terraform (#24542, 79735f2) (@zedkipp)
- Dashboard: Add duplicate model action (#24728, ebed01a) (@ibetitsmike)
- Chat auto-archive owner digest notifications (#24643, 70d6efa) (@johnstcn)
- Add after_id pagination for chat messages (#24531, 5222db8) (@david-fraley)
- Reload MCP config on change via lazy stat-on-request (#24700, 881df9a) (@mafredri)
- Add
--skip-setupflag to develop script (#24794, dcb3216) (@aslilac) - Add hostAliases support to Coder helm chart (#24729, 76242f8) (@rowansmithau)
- Add link to skills on create-a-template page (#24710, 88c469c) (@DevelopmentCats)
- Add role selector in the create user form (#24711, 0754016) (@jeremyruppel)
Bug fixes
- Grant AsAIBridged ResourceSystem.ActionCreate for UpsertAISeatState (#24603, ec91ac5) (@mtojek)
- Fall back to local git watcher for chat diff drawer (#24512, 7904bed) (@ibetitsmike)
- fix(aibridge): track Charm Crush client and session ID (#24630, 8aa3294) (@dannykopping)
- Dashboard: Make workspace notification pills keyboard accessible (#24536, 075face) (@code-qtzl)
- Dashboard: Fix workspace unhealthy dialog stories (#24637, 514b499) (@jeremyruppel)
- Server: Remove cache-miss check blocking agent recovery (#24634, 1ace519) (@mafredri)
- Server: Fix TestListChats/PinnedOnFirstPage race timeout (#24641, be1256c) (@johnstcn)
- Scale Testing: Make measureDeletion more reliable/less brittle (#23614, b714fe8) (@cstyan)
- Scale Testing: Fix Runner.Cleanup() to delete workspaces (#23627, 7d044fa) (@cstyan)
- Dashboard: Remove agent settings insights menu link (#24644, 7385722) (@ibetitsmike)
- Server: Deflake relay drain test for multiple timers (#24609, d9e3e20) (@johnstcn)
- CLI: Fix flaky TestExpAgentsE2E/ExistingChatHistory (#24661, be011b2) (@johnstcn)
- Dashboard: Prevent sticky message cycling when submitting edited message (#24292, 6edb49d) (@DanielleMaywood)
- Server: Fix flaky TestSpawnComputerUseAgentInheritsContext (#24666, 2e5c7d9) (@johnstcn)
- Dashboard: Improve agents page mobile view (#24508, 95386f5) (@tracyjohnsonux)
- Agent: Flaky TestPortableDesktop_StopRecording_WithThumbnail (#24671, 397c9fb) (@hugodutka)
- Stabilize git tab during edit_files (#24648, ca14aa3) (@johnstcn)
- Dashboard: Fix action bar hidden after null-returning assistant messages (#24566, e17da2f) (@jaaydenh)
- Promote MCP server display name to a required form field (#24652, f96f7b9) (@david-fraley)
- Dashboard: Use highlight-orange for warning badge text and border (#24674, e56b409) (@tracyjohnsonux)
- Dashboard: Remove last-checked label from git diff panel (#24675, a13f7f1) (@johnstcn)
- Server: Reject API operations on archived chats (#24633, f8fe5d6) (@mafredri)
- Dashboard: Focus agents terminal on tab switch (#24677, c56061a) (@hugodutka)
- Dashboard: Fix OpensAdminSubPanelOnMobile story on mobile viewport (#24678, 7efccfa) (@johnstcn)
- Server: Reject pinning child chats in patchChat handler (#24669, c602a31) (@johnstcn)
- Server: Prevent invalid tool results from poisoning chat history (#24663, a02339c) (@johnstcn)
- fix(Makefile): run storybook tests after Go tests in pre-push (#24703, ce12583) (@mafredri)
- Persist per-turn model on chats and queued messages (#24688, c7cac9d) (@ibetitsmike)
- Database: Rename duplicate migration 477 (#24707, 0ccfd57) (@johnstcn)
- Fixes aibridge integration tests failing on windows (#24665, b8906c8) (@pawbana)
- Dashboard: Add copy buttons to raw attempts (#24705, 88b62a3) (@ThomasK33)
- Do not clobber dynamic parameters (#24645, d958d89) (@code-asher)
- Reduce re-registration interval to 5s to prevent replica staleness flapping (#24597, 6ac25c9) (@sreya)
- Honor parameter defaults in --use-parameter-defaults and SSH auto-start (#24591, 02b1235) (@jeremyruppel)
- Server: Sanitize Anthropic provider tool history (#24706, 0211448) (@ibetitsmike)
- Resolve
outsideBoxstyle for tabs (#24561, 056203f) (@jakehwll) - Dashboard: Persist chat draft attachments (#24709, aee8504) (@ibetitsmike)
- Server: Wake after auto-promoting queued message (#24714, ed33e28) (@ibetitsmike)
- Prevent malformed OpenAI Responses continuations (#24725, 62e9752) (@ibetitsmike)
- Clean Bedrock headers (#24718, 99a83a2) (@ibetitsmike)
- Recover web push subscriptions after PWA reinstall (#24720, 069223a) (@kylecarbs)
- Restore osv scanner workflow (#24702, 2446be4) (@CommanderK5)
- Remember last active sidebar tab per agent session (#24631, 23b30b7) (@jaaydenh)
- Fall back to name lookup for UUID-shaped workspace names (#24340, d5a5be1) (@johnstcn)
- Dashboard: Use theme-aware color for agent row tab bottom border (#24737, 33ffedf) (@jeremyruppel)
- Dashboard: Align thinking disclosure (#24743, ad30951) (@kylecarbs)
- Redirect OAuth2 authorization page to dashboard (#24499, a8e7f32) (@fioan89)
- Dashboard: Close terminal window on command confirmation cancel (#24765, 06ebde3) (@jdomeracki-coder)
- Dashboard: Support archived URL query (#24742, 68c8499) (@johnstcn)
- Server: Repair Anthropic provider tool history (#24744, 99eb46d) (@ibetitsmike)
- Set Bedrock streaming accept headers (#24776, dec3e98) (@ibetitsmike)
- Match Bedrock streaming accept headers (#24781, 8fe11e9) (@ibetitsmike)
- Server: Block chain mode when provider missing tool results (#24782, 1666bff) (@johnstcn)
- Pass agent context config explicitly instead of reading env (#24759, 3c45089) (@mafredri)
- Server: Detect rate-limit 403/429 and narrow isFailedRefresh (#24334, 1926b7e) (@mafredri)
- Allow coderd to start with an empty DERP map when built-in DERP is disabled (#24544, 3f0e015) (@geokat)
- Server: Restore request body after capture (#24784, 1d8e298) (@ibetitsmike)
- Server: Avoid data races in DERP report (#24795, 9538390) (@geokat)
- Export chatd.Start to separate server lifecycle (#24761, dd49a81) (@mafredri)
- Preserve stream state on interrupt, fix auto-promote error handling (#24314, 782b716) (@mafredri)
- Dashboard: Preserve ?archived in sibling navigation (#24777, 1856864) (@johnstcn)
- Record debug runs for proposed chat titles (#24820, ab75e46) (@ThomasK33)
- Networking: Preserve DNS hosts across control plane reconnections (#24253, 54d650e) (@f0ssel)
- CLI: Extend
exp scaletest cleanupto properly clean up prebuilds (#23628, 950660e) (@cstyan) - Dashboard: Fix download log size display (#24758, 25ae415) (@geokat)
Documentation
- Update MCP Server description for clarity (#24655, ff1308c) (@matifali)
- Documentation: Add Governance Layer section to architecture page (#24587, fb26b39) (@jcjiang)
- Add v2.32 to release calendar (#24589, 135ab29) (@dannykopping)
- Documentation: Clarify MCP tools injection deprecation timeline (#24750, adea1fa) (@jcjiang)
- Add deprecation warning for login-type none (#24594, 4820f13) (@zenithwolf1000)
- Clarify PR body wrapping (#24764, bf66f63) (@ibetitsmike)
- Document terminal command confirmation dialog (#24771, 1c70c96) (@jdomeracki-coder)
- Add early access user secrets guide (#24735, 55ed6cf) (@matifali)
- Server: Improve edit_files tool description (#24627, 5ceca94) (@mafredri)
Code refactoring
- Dashboard: Split Agent Settings Behavior into focused destinations (#24574, 60186b2) (@ibetitsmike)
- Dashboard: Replace custom scroll implementation with react-infinite-scroll-component (#24687, 4505278) (@DanielleMaywood)
- Dashboard: Drop redundant window. prefix on browser globals (#24500, d78a78f) (@aslilac)
- Dashboard: Align tool-call and message styling (#24790, 4a91656) (@kylecarbs)
- Dashboard: Remove
Stackcomponent (#24503, 5afb297) (@aslilac)
Performance improvements
Continuous integration
- ci(.github/workflows/contrib): skip community label for dependabot (#24660, 9f02fec) (@jdomeracki-coder)
- Add permissions section to backport.yaml (#24654, 1e21b28) (@matifali)
- Use env var instead of passing winget token inline (#24387, f9068c2) (@mdanish-kh)
Chores
- Move aibridge library code into coder repo (#24190, e00e857) (@pawbana)
- Examples: Update incus template (#24616, 68508e1) (@johnstcn)
- chore(dogfood): add CODER_AGENT_EXP_MCP_CONFIG_FILES env var (#24664, 7e29a67) (@mafredri)
- De-css
<UserSettingsPage />children (#24647, 537e35d) (@jakehwll) - Deprecate /api/v2/aibridge/interceptions endpoint (#24670, a8613b2) (@dannykopping)
- Bump coder/fantasy to include gpt-5.5 Responses API support (#24712, a497d93) (@app/blinkagent)
- Uprev coder/terraform-provider-coder to v2.16.0 (#24719, ef6e452) (@zedkipp)
- Upgrade to pnpm 10.33 (#24746, 12e9f5b) (@aslilac)
- Update aibridge/AGENTS.md to reflect it is now part of coder/coder repo (#24822, 5907730) (@pawbana)
- Update AI Gateway docs (#24805, 6ea9c61) (@pawbana)
- Clean up env var usage in aibridge (#24783, a24dc19) (@pawbana)
Compare: v2.33.0-rc.3...v2.34.0-rc.0
Container image
docker pull ghcr.io/coder/coder:2.34.0-rc.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.