Releases: coder/coder
v2.23.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
- Fix workspace apps response (#17700, 9fe5b71) (@BrunoQuaresma)
Adds
omitempty
to multiple fields in a codersdk response type. API consumers that expect those fields to be always present may need to be updated. - Omit
name
,avatar_url
andlast_seen_at
from responses when empty (#18005, 94c129c) (@BrunoQuaresma) - Update WorkspaceOwnerName to use user.name instead of user.username to reduce UI confusion (#18025, d63417b) (@BrunoQuaresma)
Features
- Collect database metrics for exhaustion insights (#17635, c278662) (@dannykopping)
- Support GFM alerts for in-product markdown (#17662, 3be6487) (@BrunoQuaresma)
- Improve coder connect tunnel handling on reconnect (#17598, 5f516ed) (@ibetitsmike)
- Add inline actions into workspaces table (#17636, d9b00e4) (@BrunoQuaresma)
- Display builtin apps on workspaces table (#17695, 6ac1bd8) (@BrunoQuaresma)
- Display user apps in the workspaces table (#17744, 1adad41) (@BrunoQuaresma)
- Implement expiration policy logic for prebuilds (#17996, 6f6e73a) (@ssncferreira)
- Add hidden
CODER_AGENT_IS_SUB_AGENT
flag tocoder agent
(#17783, 7f056da) (@DanielleMaywood) - Load terraform modules when using dynamic parameters (#17714, 60762d4) (@aslilac)
- Setup url autofill for dynamic parameters (#17739, d6cb9b4) (@jaaydenh)
- Add experimental workspace parameters page for dynamic parameters (#17841, cb7ce18) (@jaaydenh)
- Make dynamic parameters respect owner in form (#18013, b4531c4) (@Emyrk)
- Add extra workspace actions in the workspaces table (#17775, 67e4024) (@BrunoQuaresma)
- Hide hidden and non-healthy apps in the workspaces table (#17830, 9093dbc) (@brettkolodny)
- Add API key scope to restrict access to user data (#17692, 1bacd82) (@ThomasK33)
- Add elixir icon (#17848, bb6b96f) (@TomBeckett)
- Add copy button for workspace name in breadcrumb (#17822, 2c49fd9) (@matifali)
- Add one shot commands to the coder ssh command (#17779, 2cd3f99) (@brettkolodny)
- Show devcontainer dirty status and allow recreate (#17880, 98e2ec4) (@mafredri)
- Add provisioner daemon name to provisioner jobs responses (#17877, f044cc3) (@ssncferreira)
- Add Organization Provisioner Keys view (#17889, ac7961a) (@johnstcn)
Adds a new view in the organization settings to manage provisioner keys.
- Cancel stuck pending jobs (#17803, 769c9ee) (@ibetitsmike)
- Display required badge instead of diagnostic text when extra code = required (#18006, 516fb44) (@jaaydenh)
- Add hard-limited presets metric (#18008, 2a15aa8) (@evgeniy-scherbina)
- Support ConvertUserLoginType for another user in codersdk(#17784, 71a647b) (@betterlmy)
- Persist app groups in the database (#17977, 9fc3329) (@aslilac)
- Agent: Send devcontainer CLI logs during recreate (#17845, 3de0003) (@mafredri)
- Agent: Add
ParentId
to agent manifest (#17888, 61f22a5) (@DanielleMaywood) - Agent: Update containers periodically (#17972, d6c14f3) (@mafredri)
- Agent: Recreate devcontainers concurrently (#18042, 0731304) (@mafredri)
- CLI: Use coder connect in
coder ssh --stdio
, if available (#17572, 53ba361) (@ethanndickson) - CLI: Make MCP server work without user authentication (#17688, 29bce8d) (@ThomasK33)
- Dashboard: Allow recreating devcontainers and showing dirty status (#18049, a18eb9d) (@mafredri)
Bug fixes
- Update devcontainer data every 10s (#17619, ff54ae3) (@BrunoQuaresma)
- Display validation error for workspace name (#17564, d104cd6) (@jaaydenh)
- Create directory before writing coder desktop connect network info file (#17628, c7fc7b9) (@ethanndickson)
- Fix for claiming and deleting prebuilt workspaces with immutable parameters (#17624, 98e5611) (@evgeniy-scherbina)
- Filter out deleted users when attempting to delete an organization (#17621, b7e08ba) (@brettkolodny)
- Fix deletion of prebuilt workspaces on outdated template versions (#17652, ef11d4f) (@evgeniy-scherbina)
- Improve WebSocket error handling in CreateWorkspacePageExperimental (#17647, e718c3a) (@jaaydenh)
- Update licensing info URL on sign up page (#17657, 64b9bc1) (@matifali)
- Move pubsub publishing out of database transactions to avoid conn exhaustion (#17648, a646478) (@dannykopping)
- Update default value handling for dynamic defaults (#17609, ec003b7) (@jaaydenh)
- Fill session token when app is external (#17708, a02ba66) (@BrunoQuaresma)
- Do not share token with http app urls (#17720, 857587b) (@BrunoQuaresma)
- Create ssh directory if it doesn't already exist when running
coder config-ssh
(#17711, c5c3a54) (@brettkolodny) - Enrich the
notLoggedInMessage
error message with the full path to the coder (#17715, 578b9ff) (@cstyan) - Reduce size of terraform modules archive (#17749, d0ab91c) (@aslilac)
- Don't open a window for external apps (#17813, c718392) (@BrunoQuaresma)
- Add missing clause for tracking replacements (#17849, f2edcf3) (@dannykopping)
- Exclude deleted templates from metrics collection (#17839, 2aa8cbe) (@evgeniy-scherbina)
- Avoid pulling containers when it is not enabled (#17855, ee2aeb4) (@BrunoQuaresma)
- Show no provisioners warning (#17835, ba6690f) (@BrunoQuaresma)
- Fix duplicated agent logs (#17806, 952c254) (@BrunoQuaresma)
- Add null check (#17896, ac8591e) (@jaaydenh)
- Stop extending API key access if OIDC refresh is available (#17878, 1a41608) (@spikecurtis)
- Disable submit button on diagnostics error (#17900, 766277c) (@jaaydenh)
- Sync websocket params with form params (#17895, 4412f19) (@jaaydenh)
- Show provisioner name instead of key name in expanded ProvisionerKeyRow (#17921, 433f0be) (@johnstcn)
- Fix devcontainer port button (#17924, cc53c4d) (@BrunoQuaresma)
- Get presets working correctly with dynamic params (#17923, dc21016) (@jaaydenh)
- Ensure reason present for workspace autoupdated notification (#17935, 1267c9c) (@DanielleMaywood)
- Remove unnecessary user lookup in agent API calls (#17934, 93f17bc) (@ThomasK33)
- Show diagnostics if there are no parameters (#17967, 36d938f) (@jaaydenh)
- Update textarea to fit content height and set a max height (#17946, 3a6d5f5) (@jaaydenh)
- Reduce cost of prebuild failure (#17697, 53e8e9c) (@evgeniy-scherbina)
- Prevent layout shift when Select component dropdown appears (#17990, ce4c8c7) (@jaaydenh)
- Fix metric for hard-limited presets (#18045, e8c75eb) (@evgeniy-scherbina)
- Handle invalid provisioning timings in ui (#18058, ce134bc) (@johnstcn)
- Agent: Fix unexpanded devcontainer paths for agentcontainers (#17736, 7af188b) (@mafredri)
- Agent: Always use
/bin/sh
for devcontainer autostart (#17847, 522c178) (@mafredri) - Server: List templates returns non-deprecated templates by default (#17747, 599bb35) (@ssncferreira)
- Dashboard: Center
/cli-auth
on firefox (#17929, e5758a1) (@ethanndickson)
Documentation
- Add early access devcontainers documentation (#17613, a226a75) (@mafredri)
- Clarify parameter autofill documentation (#17728, 5c53277) (@EdwardAngert)
- Add section on how to retrieve user list (#17798, f9817af) (@EdwardAngert)
- Add file sync to coder desktop docs (#17463, 74934e1) (@EdwardAngert)
Coder desktop now supports local RDP clients in Beta. Available today for Mac and Windows.
- Add provisioner job state transition diagram (#17882, 0cac6a8) (@ssncferreira)
- Add new dynamic parameters information to parameters doc (#17653, 1314dbd) (@EdwardAngert)
- Add jetbrains toolbox steps for new integration (#17661, eb8013a) (@EdwardAngert)
- Fix
token create
command (#17984, 4cb35c4) (@matifali) - Add Bottlerocket section to rootless Podman docs (#17987, c777740) (@krispage)
Compare: v2.22.1...v2.23.0
Container image
docker pull ghcr.io/coder/coder:v2.23.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.22.1
Stable (since June 3, 2025)
Changelog
Bug fixes
- Correct environment variable name for MCP app status slug (#17948, 8708d81) (@ThomasK33)
- Remove unnecessary user lookup in AI agent API calls (#17934, 8708d81) (@ThomasK33)
Compare: v2.22.0...v2.22.1
Container image
docker pull ghcr.io/coder/coder:v2.22.1
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.22.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
- Remove JFrog integration (#17353, c06ef7c) (@sreya)
Removes displaying XRay scan results in the dashboard. If this change unexpectedly affects your workflow, please open an issue on GitHub.
- Use names not IDs for agent SSH key seed (#17258, f6bf6c6) (@spikecurtis)
Changes the SSH host key seeding to use the owner username, workspace name, and agent name.
Early access users of Coder Desktop will see their SSH clients complain about host keys changing the first time each workspace is rebuilt with this code.
Features
- Set icons for each type of notification (#17115, 489641d) (@BrunoQuaresma)
- Add app status tracking to the backend (#17163, 8ea956f) (@kylecarbs)
- Add frontend for app statuses (#17178, 583a0c6) (@kylecarbs)
- Add the ability to hide preset parameters (#17168, 00e1ea4) (@SasSwart)
- Add migrations and queries to support prebuilds (#16891, 99c6f23) (@SasSwart)
- Add prebuilds configuration & bootstrapping (#17527, 08ad910) (@dannykopping)
- Add prebuilds metrics collector (#17547, e0483e3) (@dannykopping)
- Mark prebuilds as such and set their preset ids (#16965, a986059) (@SasSwart)
Workspace pre-builds are now available in beta for Premium users. Admins can pre-warm workspaces to reduce startup times. Read the prebult workspaces documentation to get started.
- Create experimental CreateWorkspacePage and dynamic-parameters experiment (#17240, 54ff17b) (@jaaydenh)
- Add shadcn checkbox component (#17248, 8a24372) (@jaaydenh)
- Add shadcn radio-group component (#17264, 53af7e1) (@jaaydenh)
- Add dynamic parameters websocket endpoint (#17165, 859dd2f) (@aslilac)
- Create dynamic parameter component (#17351, 1db70be) (@jaaydenh)
- Setup connection to dynamic parameters websocket (#17393, 3d787da) (@jaaydenh)
- Implement UI for top level dynamic parameters diagnostics (#17394, a8c2586) (@jaaydenh)
- Add slider to dynamic parameters (#17453, 8723fe9) (@jaaydenh)
Dynamic Parameters is now available in early access. Use them to create intereactive workspace creation forms. Read the documentation to get started.
- Split cli roles edit command into create and update commands (#17121, ae7afd1) (@brettkolodny)
- Add job status filter (#17202, 3bfafe3) (@BrunoQuaresma)
- Add
CODER_WORKSPACE_HOSTNAME_SUFFIX
(#17268, 87d9ff0) (@spikecurtis) - Add host suffix to
/api/v2/deployment/ssh
(#17269, 2424873) (@spikecurtis) - Add hostname-suffix option to config-ssh (#17270, 59c5bc9) (@spikecurtis)
- Persist prebuild definitions on template import (#16951, 0b2b643) (@SasSwart)
- Support multiple terminal fonts (#17257, 743d308) (@mtojek)
- Add SBOM generation and attestation to GitHub workflow (#17277, f48a24c) (@ThomasK33)
- Support --hostname-suffix flag on
coder ssh
(#17279, d312e82) (@spikecurtis) - Modify config-ssh to set the host suffix (#17280, 9eeb506) (@spikecurtis)
- Install more terminal fonts (#17289, 88b7c9e) (@mtojek)
- Support filtering users table by login type (#17238, 0e65821) (@utsavll0)
- Return hostname suffix on AgentConnectionInfo (#17334, 12dc086) (@spikecurtis)
- Vpn uses WorkspaceHostnameSuffix for DNS names (#17335, 2c573dc) (@spikecurtis)
- Add configurable DNS match domain for tailnet connections (#17336, 9e2af3e) (@spikecurtis)
- Add support for icons and warning variant in Badge component (#17350, 6a6e1ec) (@jaaydenh)
- Add IsCoderConnectRunning to workspacesdk (#17361, e5ce382) (@spikecurtis)
- Extend request logs with auth & DB info (#17304, 06d3915) (@ibetitsmike)
- Add edit-role within user command (#17341, 70b113d) (@brettkolodny)
- Add coder connect exists hidden subcommand (#17418, 3b54254) (@spikecurtis)
- Modify config-ssh to check for Coder Connect (#17419, b0854aa) (@spikecurtis)
- Add slider component (#17431, 67a9127) (@jaaydenh)
- Implement reconciliation loop (#17261, 27bc60d) (@evgeniy-scherbina)
- Add textarea component (#17465, 41b2165) (@jaaydenh)
- Modify coordinators to send errors and peers to log them (#17467, 345435a) (@spikecurtis)
- Add opt-out option to new parameters form (#17456, f6364a2) (@aslilac)
- Enable masking password inputs instead of blocking echo (#17469, 9922240) (@ibetitsmike)
- Implement claiming of prebuilt workspaces (#17458, 118f12a) (@evgeniy-scherbina)
- Add link to provisioner jobs and daemons (#17509, 3ab3ef8) (@BrunoQuaresma)
- Add API key scope to restrict access to user data (#17692, 1bacd8) (@ThomasK33)
- Agent: Add devcontainer autostart support (#17076, 7d4b3c8) (@mafredri)
- Agent: Implement recreate for devcontainers (#17308, 25fb34c) (@mafredri)
- Agent: Add devcontainers list endpoint (#17389, 00b5f56) (@mafredri)
Early Access: Devcontainer integration for workspaces – Coder now automatically detects, starts, and connects to devcontainers defined in your project’s devcontainer.json, enabling seamless IDE access to both the parent workspace and its devcontainers. Learn more. General Availability planned later this year.
- Agent: Add file watcher and dirty status (#17573, 268a50c) (@mafredri)
- CLI: Push dynamically generated templates with version name (#17114, 0eec78d) (@michaelvp411)
- CLI: Add
coder exp mcp
command (#17066, 057cbd4) (@johnstcn) - CLI: Implement
exp mcp configure claude-code
command (#17195, 88bae05) (@johnstcn) - CLI: Support opening devcontainers in vscode (#17189, aa3d71d) (@DanielleMaywood)
- CLI: make MCP server work without user authentication (#17688, 29bce8d) (@ThomasK33)
- SDK: Add toolsdk and replace existing mcp server tool impl (#17343, 1235550) (@johnstcn)
- SDK: Add template_version_id to coder_create_workspace_build (#17364, 272edba) (@johnstcn)
- Provisioner: Propagate trace info (#17166, 12e5718) (@coryb)
- Dashboard: Open dev container in vscode (#17182, ab8c437) (@DanielleMaywood)
Bug fixes
- Prevent password reset notifications ending up in coder inbox (#17109, c8f3b35)
- Correct spurious edits made during the lint fixing slog (#17113, 2dc99c8) (@sreya)
- Conceal sensitive domain information in auth error messages (#17132, 5bd2a3f) (@ericpaulsen)
- Prevent invalid render output for build logs (#17233, c938bfe) (@Parkreiner)
- Fix permissions for workspace creation (#17241, ccfe1bd) (@jaaydenh)
- Set permissions for experimental Createworkspace page (#17254, ae67e33) (@jaaydenh)
- Handle vscodessh style workspace names in coder ssh (#17154, fc471eb) (@f0ssel)
- Configure start workspace action after version upgrade (#17398, 2f99d70) (@hugodutka)
- Correct user roles being passed into terraform context (#17460, ea65ddc) (@Emyrk)
- Update url for parameters websocket endpoint (#17462, 5f0ce7f) (@aslilac)
- Fix empty workspaces result (#17484, 6c1f0d4) (@BrunoQuaresma)
- Update dynamic parameter styles (#17489, 56ee5d8) (@jaaydenh)
- Update tailscale to improve block endpoints functionality (#17496, d566008) (@deansheather)
- Fix build timeline scale for longer builds (#17514, 88589ef) (@BrunoQuaresma)
- Fix workspace creation on template page (#17518, 3b4343d) (@aslilac)
- Fix broken img layout (#17525, 3306f0f) (@jaaydenh)
- Add websocket close handling (#17548, ef6e6e4) (@jaaydenh)
- Handle null value for experiments (#17584, 5ca90ae) (@BrunoQuaresma)
- Fix script timings spam in the workspace UI (#17590, df47c30) (@BrunoQuaresma)
- Handle missed actions in workspace timings (#17593, 1da27a1) (@BrunoQuaresma)
- Fix size for non-squared app icons (#17669, 816a4ed) (@BrunoQuaresma)
- Agent: Return listed drives on failure on windows (#17505, b15d060) (@deansheather)
- CLI: Modify
exp mcp configure
to also read claude API key from CLAUDE_API_KEY env (#17229, 4aa45a5) (@johnstcn) - CLI: Correct logic around CODER_MCP_APP_STATUS_SLUG (#17391, 2d2c9bd) (@johnstcn)
- CLI: Fix prompt issue in mcp configure claude-code (#17599, 22b932a) (@johnstcn)
- CLI: Switch to alternate maven repo for postgres binaries (#17451, 444bd6a) (@johnstcn)
- MCP: report task status correctly (#17187, 1e11e82) (@johnstcn)
- Dashboard: Standardize headers for Admin Settings page (#16911, fcac4ab) (@Parkreiner)
- Update Terraform to 1.11.4 (#17323, 8faaa14) (@sreya)
Documentation
- Add troubleshooting section to Coder Desktop docs (#17098, 6bb4bdb) (@EdwardAngert)
- Update workspace lifecycle description (#17146, c679991) (@EdwardAngert)
- Add new cursor and windsurf docs (#17092, 037dbc8) (@EdwardAngert)
- Update SMTP configuration in notifications docs (#17161, 900e125) (@EdwardAngert)
- Clarify that CODER_EXTERNAL_AUTH_0_ID is used in callback URLs (#16879, fd24116) (@bpmct)
- Clarify details around Coder with MCP (#17220, 13997ca) (@bpmct)
- Add a section about latency and how it's measured (#16734, 43d5...
v2.21.3
Stable (since May 6, 2025)
Changelog
Note
The next release (v2.22.0) has been postponed. The next mainline version will be available on May 15.
Bug fixes
- Remove site wide perms from creating a workspace (#17296, 3fa1030) (@Emyrk)
- Add path & method labels to prometheus metrics for current requests (#17362, 1d2af9c) (@ibetitsmike)
- Log long-lived connections acceptance (#17219, 991d38c) (@ibetitsmike)
- Extend request logs with auth & DB info (#17497, f8d3fbf) (@ibetitsmike)
- Reduce excessive logging when database is unreachable (#17363, 9ea3910) (@dannykopping)
- Log correct error on drpc connection close error (#17265, b1ccf48) (@aaronlehmann)
- Don't attempt to insert empty terraform plans into the database (cherry-pick #17426) (#17486, 9b3c7d7) (@aslilac)
- Don't show promote button for members (#17511, 1e8ac6c) (@BrunoQuaresma)
- Prevent null loading sync settings (#17430, b760f1d) (@Emyrk)
Fixes an issue causing front end to not load under certain condition.
Compare: v2.21.0...v2.21.3
Container image
docker pull ghcr.io/coder/coder:v2.21.3
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.20.3
Stable (since April 29, 2025)
Changelog
Bug fixes
- Add path & method labels to prometheus metrics for current requests (#17493, 550b81f) (@ibetitsmike)
- Extend request logs with auth & DB info (#17498, fc8454b) (@ibetitsmike)
- Reduce excessive logging when database is unreachable (#17363, 7d0e909) (@dannykopping)
- Prevent null loading sync settings (#17430, b56ffe0) (@Emyrk)
Fixes an issue causing front end to not load.
Chores
Compare: v2.20.2...v2.20.3
Container image
docker pull ghcr.io/coder/coder:v2.20.3
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.19.3
Stable (since April 29, 2025)
Changelog
- Extend request logs with auth & DB info and log long lived connections early (#17422, 0f27da0) (@ibetitsmike)
- Add path & method labels to prometheus metrics (#17416, bda202f) (@ibetitsmike)
Compare: v2.19.1...v2.19.3
Container image
docker pull ghcr.io/coder/coder:v2.19.3
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.21.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.
Use AI coding agents in Coder
With Coder, you can self-host AI coding agents in isolated development environments. To learn more, read our documentation on running AI agents in Coder.
Features
- Support user session tracking in the audit log (#16703, f1b357d) (@BrunoQuaresma)
- Add support for workspace app audit (#16801, de41bd6) (@mafredri)
User sessions are now recorded in the audit log.
- Implement
WorkspaceCreationBan
org role (#16686, cccdf1e) (@Emyrk)Adds a native role that prevents users from creating workspaces in an organization.
- Add notifications inbox database (#16599, c074f77) (@defelmnq)
- Add notifications widget in the navbar (#16983, ab8ba96) (@BrunoQuaresma)
- Server: Add new dispatch logic for coder inbox (#16764, 522181f) (@defelmnq)
New notifications inbox shows alerts in the dashboard. Can be used in isolation or with SMTP/Webhook notifications.
- Add devcontainer in the UI (#16800, 861c4b1) (@BrunoQuaresma)
- Check for .ps1 dotfiles scripts on windows (#16785, edf2889) (@aslilac)
Allows
coder dotfiles
to use the correct binary on Windows machines. - Allow selecting the initial organization for new users (#16829, 32c36d5) (@aslilac)
- Add provisioner jobs into the UI (#16867, 564b387) (@BrunoQuaresma)
- Display error if a workspace app is not installed (#16980, 13d0dac) (@mtojek)
- Filter users by github user id in the users list CLI command (#17029, a71aa20) (@hugodutka)
- Agent: Set additional login vars, LOGNAME and SHELL (#16874, 3005cb4) (@mafredri)
- CLI: Preserve table column order (#16843, 4b1da9b) (@mtojek)
- CLI: Add
coder open app <workspace> <app-slug>
command (#17032, 0474888) (@johnstcn) - CLI: Start workspace in no-wait mode (#17087, 56082f3) (@mtojek)
Allows workspace builds to be run without awaiting user input via the CLI. Helps with executing bulk operations.
Bug fixes
- Return provisioners in desc order and add limit to CLI (#16720, 7cd6e9c) (@mafredri)
- Add org role read permissions to site wide template admins and auditors (#16733, bf5b002) (@jaaydenh)
- Handle undefined job while updating build progress to fix "Cannot read properties of undefined" dashboard error (#16732, 0ea0601) (@mtojek)
- Allow orgs with default github provider (#16755, 95347b2) (@hugodutka)
- Display all available settings in deployment page (#16798, 975ea23) (@mtojek)
- Hide "last seen" from users page when user is suspended (#16813, 77479cd) (@mtojek)
- Select default org in template form if only one exists (#16639, 191b0ef) (@Kira-Pilot)
- Apply autofocus to workspace button search (#16905, 30179ae) (@mtojek)
- Prevent audit log search from breaking with invalid query (#16944, f01ee96) (@aslilac)
- Add notifications back to desktop (#17021, bf59c7c) (@BrunoQuaresma)
- Display force-tty flag (#17067, 081679f) (@mtojek)
- Implement device auth rate limit handling (#17079, d5557fc) (@hugodutka)
- Improve error message when deleting organization with resources (#17049, cf10d98) (@brettkolodny)
- Agent: Ensure RSA key generation always produces valid keys (#16694, 38c0e8a) (@ThomasK33)
- CLI: Replace $SESSION_TOKEN placeholder for external apps (#17048, 674f60f) (@johnstcn)
- Database: Consider tag sets when calculating queue position (#16685, b85ba58) (@evgeniy-scherbina)
- Dashboard: Gracefully handle reselection of the same preset (#17014, 38b21ab) (@SasSwart)
Documentation
- Document new feature stages (#16719, 81ef9e9) (@EdwardAngert)
- Add Coder Desktop early preview documentation (#16544, 73057eb) (@EdwardAngert)
- Add OOM/OOD to notifications (#16582, 9251e0d) (@EdwardAngert)
- Document workspace presets (#16612, 0913594) (@EdwardAngert)
- Convert alerts to use GitHub Flavored Markdown (GFM) (#16850, 101b62d) (@EdwardAngert)
- Add cgroup memory troubleshooting to installation docs (#16920, a2131a7) (@EdwardAngert)
- Document steps for adding cert to JetBrains plugin settings (#16882, 8ca52a8) (@EdwardAngert)
- Add AWS AMI upgrade instructions (#16973, bd243c1) (@EdwardAngert)
- Add new doc on how to deploy Coder on Rancher (#16534, c88d86b) (@EdwardAngert)
- Document definition of workspace activity (#16941, bbe7dac) (@EdwardAngert)
Chores
- Add an unassign action for roles (#16728, 91a4a98) (@aslilac)
- Update Terraform to v1.11.2 (#17081, 8da568b) (@sreya)
- Update go to 1.24.1 (#17194, 338439c) (@sreya)
Compare: v2.20.2...v2.21.0
Container image
docker pull ghcr.io/coder/coder:v2.21.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.20.2
Stable (since April 1, 2025)
Changelog
Bug fixes
- Hide deleted users from org members query (#16830, 3569e56) (@aslilac)
- Fix deployment settings navigation issues (#16780, 8a3ebac) (@aslilac)
Compare: v2.20.1...v2.20.2
Container image
docker pull ghcr.io/coder/coder:v2.20.2
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.20.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
- Remove provisioners from deployment sidebar (#16927, bdd7794)
- Prevent audit log search from crashing with regular use (#16944, dba881f)
Compare: v2.20.0...v2.20.1
Container image
docker pull ghcr.io/coder/coder:v2.20.1
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.19.1
Stable (since March 06, 2025)
Changelog
Bug fixes
- Fix broken troubleshooting link on
coder ping
output (#16472, fb71cb5) (@mtojek) - Handle undefined job while updating build progress (#16741, 552c4cd) (@mtojek)
Fixes a known dashboard error which appears after stopping a workspace.
- Upgrade terraform to 1.10.5 (#16519) (#16806, d31c994)
Contains fix for CVE-2025-0377.
Compare: v2.19.0...v2.19.1
Container image
docker pull ghcr.io/coder/coder:v2.19.1
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.