Releases: coder/coder
Release list
v2.34.10
Changelog
Bug fixes
- Dashboard: Dispose Monaco diff models on unmount (#28503, c539ca5)
- Dashboard: Allow Antigravity IDE token substitution (#28784, b649e7d) (@35C4n0r)
- Normalize path before rate-limit bucket keying (#27273, ac2323f)
- Prevent coderd crashes from unsupported Tailnet RPCs (#28429, a6bab62) (@geokat)
Compare: v2.34.9...v2.34.10
Container image
docker pull ghcr.io/coder/coder:2.34.10
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.37.0
Changelog
Note
This is a mainline Coder release. We advise enterprise customers without a staging environment to install our latest stable release while we refine this version. Learn more about our Release Schedule.
BREAKING CHANGES
-
Coder Agents chats API promoted from
/api/experimentalto/api/v2(#28496)The Coder Agents chats API is moving from
/api/experimentalto/api/v2. The experimental routes remain available for a one-month migration period. Integrations using endpoints promoted to/api/v2must migrate before the compatibility routes are removed in v2.38.Migration: Update any integration that calls the experimental chats API to the
/api/v2equivalents before v2.38, when the compatibility routes are removed. -
Default-organization chat-model routes removed (#28632)
The obsolete default-organization chat-model routes
/api/experimental/chats/modelsand/api/experimental/chats/model-configsare removed immediately in v2.37.Migration: Use
/api/v2/organizations/{organization}/chats/modelsinstead. -
OAuth authorization rejects unsupported or over-broad scopes (#28178)
OAuth authorization requests now reject unsupported or over-broad scopes with
invalid_scope. Integrations sending values such asopenid,profile, oremailmay fail.Migration: Review your OAuth integrations and remove unsupported or over-broad scope values so requests are not rejected with
invalid_scope. -
Dynamic client registration disabled by default (#27316)
POST /oauth2/registeris now controlled by the persistent deployment settingoauth2_dcr_enabled, which defaults to disabled. When disabled, Coder omitsregistration_endpointfrom discovery metadata and returns an RFC 7591-style403for new dynamic client registrations; existing registered clients continue to work.Migration: If your deployment relies on Dynamic Client Registration, explicitly enable it after upgrading through
PUT /api/v2/oauth2-provider/settings. Existing registered clients are unaffected; only new registrations are gated. -
Agent external auth now resolves by template, not deployment config order (#27854)
For hostname-only external auth requests at runtime, such as Git operations through
GIT_ASKPASS, Coder now resolves the provider from the workspace template's declaredcoder_external_authentries instead of whichever deployment-configured provider matched last in config order. This is breaking for deployments that relied on provider ordering or stale template declarations, because ambiguous declared matches and declared-but-unconfigured providers now return HTTP 404 instead of silently substituting a different provider's token.Migration: Update templates so they declare the intended external-auth provider ID for each host and ensure provider regexes do not overlap. If a template references a provider that was renamed or removed from deployment config, restore that provider or update the template declaration.
-
login_type=nonedeprecated; existing accounts converted to password login (#26851)Legacy
login_type=noneusers are deprecated in favor of service accounts.POST /usersandcoder users createnow rejectlogin_type=noneand the deprecated--disable-loginpath unless a service account is explicitly requested, and migration000554_legacy_none_login_to_passwordconverts existing non-system, non-service-accountlogin_type=noneusers tologin_type=passwordwhile preserving email addresses and existing API tokens.Migration: Existing affected users are converted automatically on upgrade. Update any automation that creates
login_type=noneusers to create service accounts instead, and set a password only if a converted account needs interactive login. -
Coder Tasks disabled and deprecated (#28008)
Coder Tasks is disabled and deprecated. If
--hide-ai-tasksremains in the Coder server command-line arguments, orclient.hideAITasksremains in YAML configuration files, the Coder server will fail to start with an unknown-option error.Migration: Before upgrading, remove
--hide-ai-tasksfrom the Coder server command-line arguments and removeclient.hideAITasksfrom YAML configuration files. -
Coder Agents model configurations and overrides are organization-scoped (#27955, #27959, #28440, #28442, #28704)
Coder Agents model configurations and overrides are now organization-scoped. Existing model configurations are assigned to the default organization and are not copied to other organizations. Existing deployment-level and personal model overrides are not migrated. API integrations must use the organization-scoped model endpoints; the separate model-availability endpoint has been removed and its availability data is now included in the models response.
Migration: Configure a usable default model for each organization that uses Coder Agents, and reselect any deployment-level and personal model overrides. Update API integrations to use the organization-scoped model endpoints and read availability data from the models response.
-
MCP server configuration is organization-scoped (#27942)
MCP server configuration is now organization-scoped. Existing configurations retain their credentials and move to the default organization; other organizations must configure their own MCP servers.
Migration: Configure MCP servers for each organization that needs them, and migrate API consumers from the deployment-scoped experimental routes to the organization-scoped routes.
-
Native chat spend limits removed in favor of AI Gateway budgets (#27329)
Native chat spend limits are removed in favor of AI Gateway budgets. Limits are not migrated, and deployments without AI Gateway entitlement lose chat-spend enforcement.
Migration: Move chat-spend enforcement to AI Gateway budgets. Deployments without AI Gateway entitlement will no longer enforce chat spend.
SECURITY
- Invalidate provisioner daemon sessions on key deletion (#26532, 866e676) (@jscottmiller)
Features
Coder Agents
Coder Agents is now generally available: production-ready, commercially supported self-hosted infrastructure for AI coding workflows, from interactive development to headless background work. This release introduces deeper organization-level administration, agent time licensing and usage controls, a stable Chats API, and substantial improvements to chat performance, reliability, and usability.
Chat lifecycle hooks
New backend dispatch, chatd wiring, and dashboard surfacing for chat lifecycle hooks, including suffix messages, idle-failure and content-update support, change visibility, and an insecure-HTTP escape hatch for hook URLs.
- Lifecycle hook dispatch backend and chatd wiring (#27401, #27429)
- Suffix messages, idle failure, and content-update support (#27428)
- Surface hook outcomes in the chats UI and show what a hook changed (#27430, #27655)
--chat-hook-allow-insecureto allow plain HTTP hook URLs (#27896)
MCP: migration to the official Go SDK
Migrated every MCP surface (coderd server, exp mcp stdio server, external client, workspace agent client, and the aibridge injected-MCP proxy) to the official MCP Go SDK. (#28056, #28057, #28058, #28059, #28060)
MCP server configs, tools, and sharing
- Org-scoped MCP server configs with group/user ACLs, an org picker on settings pages, and audit logging (#27943, #27944, #28150)
- Allow sharing MCP servers with users and groups (#28593)
- Add Coder Agents chat tools to the MCP toolsdk; defer tool schemas behind a
find_toolssearch (#28025, #28225) - Extend agent chat MCP tools for remote UAT evidence loops (#28233)
- Remove task management MCP tools (#28354)
Subagents & providers
- Surface subagents in the chat sidebar and render
list_subagent_modelstool results (#28234, #28116) - Limit concurrent chat agents with pooled admission (#27902)
- Per-model OpenAI Responses API toggle (#27683)
- Apply reasoning effort and surface thinking blocks for Google chat models (#28273)
Chat search
Full-text chat search wired into the search box, with cache invalidation and chats-by-workspace cache reconciliation. (#27973, #27892, #27901)
agent-browser
Built-in Browser tab for agent-browser, plus the dogfood live-preview app. (#27910, #27838)
Agents workspace UI
- Consolidate the git panel tab strip into a view-switcher dropdown; move the PR icon to the diff line, center the unread dot, and persist the kebab (#27012, #28326)
- Redesign the advisor tool row; add a provider icon to the chat model selector (#28069, #28330)
- Label
process_outputrows with the process command; migrate agent chat scrolling; dim unselected sidebar chat titles (#28300, #28130, #28382) - Add download and export for personal skills (#28032)
Per-template Coder Agents access control
Per-template access control with dashboard controls and a --agents-allowed CLI flag. (#27285, #27514, #27517)
Auditing
AI Governance
Cost Control & budgets
Cost tracking now flows through AI Gateway rather than native chat tracking, with a group AI spend endpoint, estimated-spend labeling, and admin budget notifications.
- Back the per-chat cost endpoint with AI Gateway data; remove native chat cost tracking (#27328, #27330)
- Group AI spend endpoint; label AI spend as estimated (#27568, #27584)
- CTAs on AI budget admin notifications (#28138)
- Announce the cost controls move to AI Governance (#27543)
AI model price book
v2.36.4
Stable (since September 1, 2026)
Changelog
Note
This is a mainline Coder release. We advise enterprise customers without a staging environment to install our latest stable release while we refine this version. Learn more about our Release Schedule.
Bug fixes
- Prevent markdown injection in notifications (#28340, 7bb00a1)
- Server: HTML-escape the email template values (#28397, 36654e6)
- Server: Reject agent requests from suspended owners (#28513, c257214)
- Enable Copilot HTTP transport fallback (#28494, 3076b0c) (@ssncferreira)
- Add cache write accounting to OpenAI interceptors (#28716, ca8ef6c)
Chores
Compare: v2.36.3...v2.36.4
Container image
docker pull ghcr.io/coder/coder:2.36.4
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.35.7
Changelog
Bug fixes
- Prevent markdown injection in notifications (#28340, 90970fd)
- Server: HTML-escape the email template values (#28397, fcacdea)
- Server: Reject agent requests from suspended owners (#28513, 5a07bdf)
- Enable Copilot HTTP transport fallback (#28494, d8e69d3) (@ssncferreira)
Chores
Compare: v2.35.6...v2.35.7
Container image
docker pull ghcr.io/coder/coder:2.35.7
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.34.9
Changelog
Bug fixes
- Documentation: Fix Helm TLS/ingress value keys in admin/setup (backport to release/2.34) (#28169, 5d9e1ad)
- Documentation: Fix P2/P3 typos and syntax errors from drift sweep (backport to release/2.34) (#28170, f518fb2)
- Documentation: Correct nginx X-Forwarded-Proto and certbot instructions flavor (backport to release/2.34) (#28171, 2c9745a)
- Documentation: Remove invalid
--yesflag fromcoder template version promote(backport to release/2.34) (#28172, 54c8074) - Documentation: Correct broken CLI commands and flags from drift sweep (backport to release/2.34) (#28173, f930866)
- Documentation: Fix prometheus metric name and slack webhook backtick (backport to release/2.34) (#28174, 23ed566)
- Prevent markdown injection in notifications (#28340, 5f4cc5e) (@BobbyHo)
- Server: HTML-escape the email template values (#28397, e70e9b1) (@BobbyHo)
- Server: Reject agent requests from suspended owners (#28513, 33694a9) (@hwang251)
- Enable Copilot HTTP transport fallback (#28494, ff4ac10) (@ssncferreira)
Continuous integration
Chores
Compare: v2.34.8...v2.34.9
Container image
docker pull ghcr.io/coder/coder:2.34.9
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.36.3
Changelog
Note
This is a mainline Coder release. We advise enterprise customers without a staging environment to install our latest stable release while we refine this version. Learn more about our Release Schedule.
Continuous integration
Bug fixes
- Add flag to disable workspace agent context sync (#28522, f1f331b) (@sreya)
- Dashboard: Render change-version picker in place so it clears the dialog (#28490, 281d487)
Compare: v2.36.1...v2.36.3
Container image
docker pull ghcr.io/coder/coder:2.36.3
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.35.6
Changelog
Continuous integration
Bug fixes
Chores
Compare: v2.35.4...v2.35.6
Container image
docker pull ghcr.io/coder/coder:2.35.6
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.36.1
Changelog
Note
This is a mainline Coder release. We advise enterprise customers without a staging environment to install our latest stable release while we refine this version. Learn more about our Release Schedule.
Bug fixes
- Price AI usage by configured provider type (#27836, 2934aa0)
- Only write AI model prices that changed (#27923, d295caf)
- Label unpriced token usage metric by provider name and type (#28210, 83f6423) (@ssncferreira)
- Dashboard: Include owner context in Agents org picker permission check (#28076, 10e6321) (@ibetitsmike)
- Server: Send assigned chat model IDs verbatim (#28144, 7fe2ec4) (@ibetitsmike)
- Dashboard: Prefer permitted organization for chat creation (#28078, 9548f23) (@ibetitsmike)
Documentation
- Documentation: Backport release calendar to release/2.36 (#28011, a7f2917)
- Fix P2/P3 typos and syntax errors from drift sweep (#28101, eca838d) (@nickvigilante)
- Correct broken CLI commands and flags from drift sweep (#28098, 81f0dce) (@nickvigilante)
- Fix prometheus metric name and slack webhook backtick (#28085, 2d47088) (@nickvigilante)
- Remove invalid
--yesflag fromcoder template version promote(#28084, 73d95e9) (@nickvigilante)
Chores
Compare: v2.36.0...v2.36.1
Container image
docker pull ghcr.io/coder/coder:2.36.1
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.35.4
Stable (since August 10, 2026)
Changelog
Security patches
- Server: Reject workspace proxy hostname prefixes (#27544, d547bea24a) (@geokat) (GHSA-h58h-qvv5-xvwg)
Bug fixes
- Remove 403 from key failover and cooldown on 401 (#27419, c9388a1) (@ssncferreira)
- Dashboard: Backport admin settings dropdown visibility fix to release/2.35 (#27850, fe656fc)
- Update google.golang.org/grpc to v1.82.1 (#27925, fd5efa5)
- Update github.com/DataDog/dd-trace-go/v2 to v2.8.1 (#27938, 81add7e)
Compare: v2.35.3...v2.35.4
Container image
docker pull ghcr.io/coder/coder:2.35.4
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.34.8
Changelog
BREAKING CHANGES
- fix!: require org membership for user ACLs (#26852, 85bcd5d3a3) (GHSA-7v78-w67v-pm2g)
Security patches
- Server: Reject workspace proxy hostname prefixes (#27544, d547bea24a) (@geokat) (GHSA-h58h-qvv5-xvwg)
- Redact env var values in agent debug manifest endpoint (#26904, c15ae01435) (GHSA-73wg-wxvv-9r4j)
- Prevent open redirect in proxy authentication flow (#26647, 5c059ba989) (GHSA-98qx-9p2x-c4wh)
- Only return group member count for workspace ACL (#26206, d70055a0fa) (GHSA-cvrm-2xxr-hpcv)
- Server: Scope provisioner module file downloads to the daemon's org (#26635, d6ea2bd16e) (GHSA-hrhj-hpwc-9hmc)
Bug fixes
- Server: Show correct deletion time in dormancy notification (backport #26488) (#27895, b080be4461)
- Dashboard: Backport admin settings dropdown visibility fix to release/2.34 (#27851, 350070e97d)
- Update google.golang.org/grpc to v1.82.1 (#27928, 877fbeb17f)
- Update github.com/DataDog/dd-trace-go/v2 to v2.8.1 (#27940, 7bd778d881)
Compare: v2.34.7...v2.34.8
Container image
docker pull ghcr.io/coder/coder:2.34.8
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
