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
- Support empty or default fields when updating templates (#19256, aab2ccd) (@rafrdz)
Breaking change to the Coder Go SDK. Field types in
codersdk.UpdateTemplateMeta
forIcon
,Description
, andDisplayName
changed fromstring
to*string
. Consumers must pass pointers and handlenil
checks. Code that assigns/reads plain strings will no longer compile without updates. - fix(coderd/prometheusmetrics)!: filter deleted wsbuilds to reduce db load (#19197, 1b66495) (@mafredri)
Breaking change to
coderd_api_workspace_latest_build
Prometheus metric. Thecoderd_api_workspace_latest_build
Prometheus metric no longer includes builds belonging to deleted workspaces, as such, this metric will show fewer statuses.
Features
- Validate presets on template import to prevent publishing an unusable template (#18844, f256a23) (@SasSwart)
- Allow bypassing current CORS magic based on template config (#18706, ffbfaf2) (@cstyan)
- Add MCP tools for ChatGPT. ChatGPT can now create Coder workspaces. (#19102, 79cd80e) (@hugodutka)
- Add prebuild timing metrics to Prometheus (#19503, 0ab345c) (@ssncferreira)
- Add
author
filter command to template filtering (#19202, 5b80c47) (@Emyrk) - Implement rich multi-selector for multi-select in the CLI (#19201, a7fac30) (@mtojek)
- Add Sourcegraph Amp logo sourced from presskit (#19421, 7bcbb83) (@DevelopmentCats)
- Claim prebuilds based on workspace parameters instead of preset ID to improve prebuilds usability (#19279, f9a6adc) (@SasSwart)
- Coder Tasks UI improvements:
- Show workspace build and startup script logs during tasks creation (#19413, 8aafbcb) (@BrunoQuaresma)
- Filter tasks that are waiting for user input (#19377, d77c3d0) (@BrunoQuaresma)
- Display the number of idle tasks in the navbar (#19471, cde5b62) (@BrunoQuaresma)
- Show workspace build and startup script logs during tasks creation (#19413, 8aafbcb) (@BrunoQuaresma)
- Show workspace health error alert above agents in workspace page for better visibility (#19400, 9a872f9) (@aqandrew)
- CLI: Add filtering options to
provisioners list
CLI command (#19378, ad5e678) (@rafrdz) - CLI: Prevent coder schedule command on prebuilt workspaces (#19259, 92d505c) (@ssncferreira)
- CLI: Add
coder exp tasks list
command (#19496, 836324e) (@mafredri) - CLI: Add
exp task create
command (#19492, 63c1325) (@DanielleMaywood) - CLI: Implement
exp task status
command (#19533, 5baaf27) (@johnstcn) - External workspaces is now in Early Access. Read more in our external workspaces documentation.
- CLI: Add enterprise
external-workspaces
CLI command (#19287, 7b1dcd9) (@kacpersaw) - Server: Add
has_external_agent
flag to template_versions and workspace_builds (#19285, 5e4aa79) (@kacpersaw) - Server: Add support for external agents to API's and provisioner (#19286, 9edceef) (@kacpersaw)
- Dashboard: Add support for external agents in the UI and extend CodeExample (#19288, 7f72067) (@kacpersaw)
- CLI: Add enterprise
- Server: Generate task names based on their prompt (#19335, 6553771) (@DanielleMaywood)
- Server: Add tasks
/list
and/get
endpoints (#19468, 427b23f) (@mafredri) - Add workspace-sharing experiment (#19106, ed62ddc) (@aslilac)
We're testing out shared workspaces in an early and unstable experiment. If you are interested or have feedback please join the discussion in our Github.
Bug fixes
- Use system context for querying workspaces when deleting users to prevent deletion of users with workspaces(#19211, 99d75cc) (@ethanndickson)
- Upgrade Go to 1.24.6 to fix race in lib/pq queries (#19214, 91780db) (@spikecurtis)
- Prevent horizontal form section info from overlapping form fields (#19189, b8851f0) (@aqandrew)
- Upload the slim binaries from the build directory to the GCS bucket (#19281, 5d42b18) (@jdomeracki-coder)
- Generalize password invalid message (#19307, b8c9192) (@aqandrew)
- Prevent activity bump for prebuilt workspaces (#19263, 560cf84) (@ssncferreira)
- Set prebuilds lifecycle parameters on creation and claim (#19252, 8567ecb) (@ssncferreira)
- Disallow lifecycle endpoints for prebuilt workspaces (#19264, 734299d) (@ssncferreira)
The two PRs above ensure a user's scheduling settings are correctly applied when claiming a prebuilt workspace.
- Correct scrolling overflow behavior for workspace history (#19340, 5b5fbbe) (@brettkolodny)
- Ensure deployment banner is always on the bottom (#19361, 362c78a) (@brettkolodny)
- Don't create autostart workspace builds with no available provisioners (#19067, 6c902a7) (@cstyan)
- Exclude prebuilt workspaces from template-level lifecycle updates (#19265, d79a779) (@ssncferreira)
- Fix jetbrains toolbox connection tracking (#19348, dd867bd) (@f0ssel)
- Support oidc group allowlist in oss (#19430, 5b1e809) (@rafrdz)
- Redirect users to
/login
if their oauth token is invalid (#19429, ee789da) (@brettkolodny) - Add database constraint to enforce minimum username length (#19453, bcdade7) (@cstyan)
- Support 'me' as the username for template author (#19204, 3024bde) (@Emyrk)
- Fix workspaces pagination (#19448, 54440af) (@BrunoQuaresma)
Users were previously unable to page through workspaces if they owned many (hundreds). This has been resolved.
- CLI: Display workspace created at time instead of current time (#19553, c19f430) (@DanielleMaywood)
- CLI: Attach org option to
task create
(#19554, 8083d9d) (@johnstcn) - Enterprise: Update external agent instructions in CLI (#19411, c429020) (@kacpersaw)
- Dashboard: Remove redundant alt text to prevent duplicated accessible names (#19087, 44d9356) (@ssncferreira)
- Dashboard: Ensure notification settings page follows RBAC correctly (#19097, a185d3a) (@DanielleMaywood)
- Dashboard: Display tasks link when no templates contain an AI task (#19184, cc609cb) (@DanielleMaywood)
- Dashboard: Hide "Show parent apps" when no running or starting devcontainers (#19200, 1c70d32) (@DanielleMaywood)
- Dashboard: Fix render crash when no embedded apps are defined for task (#19215, ffbd583) (@DanielleMaywood)
- Dashboard: Add preset combobox to dynamic parameters page (#19100, 96e32d6) (@ssncferreira)
- Provisioner: Workaround lack of
coder_ai_task
resource on stop transition (#19560, bd139f3) (@johnstcn) - Server: Filter out non-task workspaces in
api.tasksList
(#19559, dbc6c98) (@johnstcn)
Documentation
- Add
code-server
vs VSCode Web comparison table (#19104, 428ec35) (@EdwardAngert) - Document how to start a remote MCP Coder server (#19150, a02d1c1) (@hugodutka)
- Add OAuth2 provider experimental feature documentation (#19165, 247efc0) (@ThomasK33)
- Update status of Coder Desktop + corporate VPN issue (#19350, 1ffc5a0) (@ethanndickson)
- Add generative AI contribution guidelines (#19427, a19dfa9) (@Emyrk)
- Add dev containers and scheduling to prebuilt workspaces known issues (#18816, 49f32d1) (@EdwardAngert)
- Add Google OIDC provider-specific guide (#19309, ea7025b) (@DevelopmentCats)
Performance improvements
- Don't call
GetUserByID
unnecessarily for Agents metrics loops (#19395, 014a2d5) (@cstyan) - Speed up
GetTailnetTunnelPeerBindings
query (#19444, 229d051) (@spikecurtis)
Chores
- Update to node 20.19.4 (#19188, 5c88d93) (@aslilac)
- Update coder/preview to v1.0.4 (#19205, a2e8aa9) (@Emyrk)
- Upgrade to pnpm 10 (#19327, 2180d17) (@aslilac)
- Update terraform to 1.13.0 (#19509, 9b7d41d) (@app/blink-so)
- Helm: Make coder pprof endpoint available externally (#19185, 4ba9382) (@Emyrk)
Compare: v2.25.1...v2.26.0
Container image
docker pull ghcr.io/coder/coder:v2.26.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.