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
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
cipher by default (#13837, af00177) (@coadler)This cipher is included by default in Go as a fallback, but is marked as an insecure cipher. This removes the 3des cipher by default.
Features
- Add ConnectRPC variants for older Agent API versions (#13778, f6639b7) (@spikecurtis)
- Autostop workspaces owned by suspended users (#13790, 7c41f95) (@mtojek)
- Added
whomai
to coder CLI (#13814, b07e306) (@BRAVO68WEB) - Add meticulous recorder (#13886, 8d4bccc) (@sreya)
- Add SMTP auth & TLS support (#13902, 943ea7c) (@dannykopping)
- Implement disabling oidc issuer checks (#13991, 4f01372) (@Emyrk)
- CLI: Show information about --wait=no for ssh (#13847, ac6db5e) (@mafredri)
- SDK: Export template variable parser (#13984, 7028ff7) (@ethanndickson)
- SDK: Export LogDest interface (#13792, c2d44d1) (@johnstcn)
- Dashboard: Support match option for auto create workspace flow (#13836, 6bf7e5a) (@BrunoQuaresma)
- Dashboard: Display tooltip in bars for app usage chart (#13854, 879c61c) (@BrunoQuaresma)
- Dashboard: Add jetbrains fleet icon (#14021, ce6ee9c) (@michaelbrewer)
Bug fixes
- Add policy.go as dependency of Makefile rbac target (#13757, 98c09bf) (@dannykopping)
- Let workspace pages download partial logs for unhealthy workspaces (#13761, 940afa1) (@Parkreiner)
- Dbpurge: disable parallel tests (#13848, 5489803) (@mtojek)
- Remove deprecated
templates plan
docs (#13824, 266913a) (@ericpaulsen) - Exit reset password request before passwords are compared (#13856, d50ffa7) (@coadler)
- Missing nolint comment (#13862, 70046ea) (@mtojek)
- Change audit descriptions to indicate unsuccessful attempts (#13897, 1f24ace) (@spikecurtis)
- Stop blocking fake Agent API channel writes after context expires (#13908, 70c5c47) (@spikecurtis)
- Fix heartbeat select to prevent leak (#13909, f21f2dc) (@spikecurtis)
- Hardcode default organization id in
DashboardProvider
(#13940, 4dcbd71) (@aslilac) - TestPendingUpdatesMetric flake (#13944, c88e416) (@dannykopping)
- Avoid vscodessh exit when server restarts (#13970, 38c7dcd) (@deansheather)
- Address TestPendingUpdatesMetric flake (695afb8) (@dannykopping)
- Use correct group url in multi-org experiment (#13986, a61c09e) (@Emyrk)
- Use static port number for prometheus test (#14000, b3a3671) (@mtojek)
- Notifications: use username in workspace URLs (#14011, d488853) (@mtojek)
- Resolve text overflow issues for workspace empty state (#14015, 9f3c1c7) (@Parkreiner)
- Handle legacy licenses missing feature_set field (#14025, 96011e1) (@Emyrk)
- Fix dormancy notifications (#14029, 58b810f) (@BrunoQuaresma)
- Duplicate tags map in mutation to resolve race (#14047, 893169c) (@kylecarbs)
- Don't highlight inactive org in management settings sidebar (#14059, 56dfc64) (@aslilac)
- Run update-flake with PAT to allow workflow runs (#14067, 5d42f4a) (@kylecarbs)
- Block creating oidc users when oidc has not been configured (#14064, 956d0cb) (@ethanndickson)
- Check for io.EOF error in derpmap to resolve flake (#14125, e2cec45) (@kylecarbs)
- Don't require
organization_id
in body when updating a custom role (#14102, 166467c) (@aslilac) - CLI: Do not overwrite repeated SSH options in config-ssh (#13819, 978364b) (@mafredri)
- CLI: Prevent asynchronous print of version mismatch in config-ssh (#13845, 54055dc) (@mafredri)
- CLI: Follow logs only when agent is starting (#13864, c8484b4) (@mafredri)
- Server: Set
ReadyAt
for start timeout (#13846, 35a808f) (@mafredri) - Provisioner: Handle multiple agents, apps, scripts and envs (#13741, 07d4171) (@mtojek)
- Dashboard: Enable dormant workspace to be deleted (#13850, 01b30ea) (@BrunoQuaresma)
- Dashboard: Select default organization on /organizations page (#13992, 0d45343) (@aslilac)
Changes to hidden experiments
These changes are hidden behind an unsafe experiment and will be made available in a future release. Follow progress in our issue tracker on Organizations + Custom Roles and Notifications.
- Unify organization and deployment management settings (#13602, d977654) (@aslilac)
- Implement thin vertical slice of system-generated notifications (#13537, bdd2caf) (@dannykopping)
- Add killswitch for notifications (#13794, bf392ff) (@mtojek)
- Implement observability of notifications subsystem (#13799, b2dab33) (@dannykopping)
- Notify owner about failed autobuild (#13891, a5e4bf3) (@mtojek)
- Add members settings page for organizations (#13817, a3f40d5) (@aslilac)
- Notify on successful autoupdate (#13903, fbd1d7f) (@mtojek)
- Add provisioner key cli commands (#13875, f975701) (@f0ssel)
- Implement multi-org template gallery (#13784, 554c4ab) (@jaaydenh)
- Create and modify organization groups (#13887, 0a71c34) (@aslilac)
- Add organization details to audit log response (#13961, a8e6e89) (@code-asher)
- Get org scoped provisioners (#13953, 0a07c7e) (@f0ssel)
- Update licensing to support multiple tiers (#13907, 15fda23) (@Emyrk)
- Add organizations filter to audit table (#13978, e8b3db8) (@code-asher)
- Accept provisioner keys for provisioner auth (#13972, ca83017) (@f0ssel)
- Add tags to provisioner keys api (#13989, 6161d17) (@f0ssel)
- Add --key flag to provisionerd start (#14002, 2279441) (@f0ssel)
- Manage groups from deployment settings for single-org deployments (#14016, d68340b) (@aslilac)
- Notify when a user account is deleted (#14113, 6428a76) (@mtojek)
- CLI: Pause notifications (#13873, bee913a) (@mtojek)
- Server: Notify when workspace is marked as dormant (#13868, 0d9615b) (@BrunoQuaresma)
- Dashboard: Edit organization member roles (#13977, 38b5738) (@aslilac)
- Dashboard: Allow selecting an organization when creating a template (#14061, 7125b37) (@aslilac)
- Route groups by name instead of id (#13692, f26f123) (@jaaydenh)
- Webhook endpoint YAML attribute (#13983, b817c86) (@dannykopping)
- Wrong notification group (#14112, 4242fd9) (@mtojek)
- Dashboard: Embed users page in management settings (#14006, 615bb94) (@aslilac)
- Notify about created user account (#14010, cf1fcab) (@mtojek)
Documentation
- Move architecture to top level (#13722, d8d86b1) (@ericpaulsen)
- Update workspace filtering docs (#13725, 9b1d8f7) (@jaaydenh)
- Clarify envbox version pinning (#13773, 80a2a5d) (@ericpaulsen)
- Remove mention of built-in remote desktop on the roadmap (#13459, 464e797) (@sreya)
- Fix VSCode web module reference (#13785, 2a297b0) (@ericpaulsen)
- Replace
coder_git_auth
withcoder_external_auth
(#13936, 88d2dbd) (@matifali) - Update Caddy config example & guide (#13964, 40b70db) (@nanospearing)
- Add preview image to release schedule (#13948, 652827f) (@matifali)
- Add proxmox coder template in list of community templates (#14022, 5b35f65) (@raulsh)
Chores
- Update emoji-mart data (#13746, 4a0fd74) (@aslilac)
Resolves an issue causing emojis to use the wrong code.
- Upgrade Go to 1.22.5 (#13820, f9ca9c7) (@coadler)
- Add additional network telemetry stats & events (#13800, e8db21c) (@ethanndickson)
- Upgrade terraform to 1.9.2 (#13895, 7a34a70) (@coadler)
- Documentation: Add missing author to support bundle guide (#13918, 3c2c5ab) (@stirby)
- chore(scripts): add script to update list of experiments after release (#13872, fd10ea1) (@mafredri)
- Dashboard: Remove proxy menu warnings about using fragment as child (#14121, 500a789) (@BrunoQuaresma)
- Bump github.com/docker/docker (#14185, a0411a3) (@coadler)
Resolves a critical CVE which does not affect Coder.
Other changes
Compare: v2.13.3...v2.14.0
Container image
docker pull ghcr.io/coder/coder:v2.14.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.