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.
Features
- Integrate new
agentexec
pkg (#15609, 1f238fe) (@sreya) - Implement CRUD UI for IDP organization sync settings (#15503, 6c9ccca) (@jaaydenh)
Allows organization IDP sync to be managed through the dashboard UI.
- Enable editing of IDP sync configuration for groups and roles in the UI (#16098, f518669) (@jaaydenh)
Allows organization IDP sync to be managed through the dashboard UI.
- Make username in Initialize.ps1 dynamic (#15751, 9fe71d9) (@angrycub)
Enables users to rename their machine and default user name without having to edit this element as well.
- Add workspace build timing metrics (#15771, c528791) (@kevinh-canva)
- Add new scaletest infrastructure (#15573, 08f0eaa) (@f0ssel)
- Add workspace-proxy-url flag to scaletest workspace-traffic (#15920, 50333d3) (@f0ssel)
- Add scaletest load generation infrastructure (#15816, 0008c13) (@f0ssel)
- Add postgres exporter for multi-region scaletest (#16244, d571996) (@f0ssel)
- Start remote writing prometheus data in multi-region scaletest (#16235, 7b46433) (@f0ssel)
We're working on a new internal multi-region scaletesting system. The five PRs above are changes to our internal tooling to simulate this multi-region instance. More documentation on our findings coming soon.
- Show warning dialog if user switches off assign default org (#15848, 6116776) (@jaaydenh)
- Add support for specifying LoadBalancer class name (#15838, d504e0e) (@jamezrin)
- Support created_at filter for the GET
/users
endpoint (#15633, e191d96) (@joobisb) - Split management settings sidebar into deployment/organization sidebars (#15388, 8e61e4a) (@jaaydenh)
- Add breadcrumbs to admin settings pages (#15865, cdc1978) (@jaaydenh)
- Allow entering non-default values in multi-select in parameter CLI (#15935, 638247c) (@joobisb)
- Notify on workspace creation (#15934, f0e81ab) (@DanielleMaywood)
- Notify on workspace update (#15979, f3fe3bc) (@DanielleMaywood)
See how to use this alert with PlatformX by DX for developer experience metrics in our documentation.
- Add redesigned organization settings sidebar (#15932, 8a0094c) (@jaaydenh)
- Allow notification templates to be disabled by default (#16093, 009069c) (@DanielleMaywood)
- Allow removing deadline for running workspace (#16085, 7c595e2) (@DanielleMaywood)
- Allow users to extend their running workspace's deadline (#15895, 91875c2) (@DanielleMaywood)
Allows users to prolong their workspace TTL without a restart.
- Add --network-info-dir and --network-info-interval flags to coder ssh (#16078, 838ee3b) (@aaronlehmann)
- Add --ssh-host-prefix flag for "coder ssh" (#16088, 1aa9e32) (@aaronlehmann)
- Use wildcard Host entry in config-ssh (#16096, 8f02e63) (@aaronlehmann)
- Bundle a local version of install.sh (#16064, a450121) (@aslilac)
This allows users to:
- Install a CLI that is known to have the same version as the server binary
- Install the CLI in air-gapped deployments while still getting to run a simple install script
- Add a page to showcase the local installation script (#16122, cd62e39) (@aslilac)
Install the server binary version of our CLI through your coder dashboard.
- Add
open_in
option to coder_app (#15743, 08463c2) (@defelmnq) - Open app in tab or slim-window (#16152, eda8190) (@BrunoQuaresma)
Introduces new options for the default behavior of opening coder_apps.
- Add endpoint for partial updates to org sync mapping (#16316, 2371153) (@aslilac)
- Add endpoint for partial updates to org sync field and assign_default (#16337, b256b20) (@aslilac)
- Add additional patch routes for group and role idp sync (#16351, 0e2ae10) (@aslilac)
Allows partial IDP sync mapping updates to be applied via the API.
- CLI: Add provisioner list and provisioner jobs list (#16030, c0db364) (@mafredri)
See
coder provisioner jobs list
to view queued and running provisioner jobs. - CLI: Add provisioner job cancel command (#16252, 75c899f) (@mafredri)
- Server: Add matched provisioner daemons information to more places (#15688, 2b57dcc) (@johnstcn)
- Server: Add endpoint to list provisioner daemons (#16028, 071bb26) (@mafredri)
- Server: Add endpoint to list provisioner jobs (#16029, 3864c7e) (@mafredri)
- Database: Track user status changes over time (#16019, 4543b21) (@SasSwart)
- Database: Order user engagement statistics by date (#16142, ab88090) (@SasSwart)
- Examples: Promote module usage in example templates (#15544, 68dc820) (@phorcys420)
- Helm: Add support for nodePort specification in LoadBalancer services helm chart (#16032, d8fbbcb) (@MRColorR)
- Provisioner: Add support for built-in Terraform functions (#16183, 4ba0b39) (@johnstcn)
Users can now leverage built-in terraform functions for determining workspace tags.
- Dashboard: Warn on provisioner health during builds (#15589, 56c792a) (@SasSwart)
- Dashboard: Show license utilization in general settings (#15683, 7e1ac2e) (@SasSwart)
- Improve metrics and UI for user engagement on the platform (#16134, 3217cb8) (@BrunoQuaresma)
Now separates user activity from license utilization in the deployment settings. Each metric now shows an independent graph.
- Dashboard: Add a provisioner warning to workspace builds (#15686, b39becb) (@SasSwart)
- Dashboard: Add numbers to SSHButton content for clarity (#15661, 737205e) (@benwinding)
- Dashboard: Improve announcement banner color picker (#16158, cbe3004) (@aslilac)
- Dashboard: Make announcement editor multiline (#16157, 60c4d87) (@aslilac)
New announcement banner editor has more colors to choose from, a color slider, and multi-line text entry.
Bug fixes
- Add additional context to agent exec errors (#15676, 24d44b4) (@sreya)
- Use url-parse for url construction (#15670, ffb0ebb) (@sreya)
- Make GetWorkspacesEligibleForTransition return even less false positives and reduce control plane load (#15594, e21a301) (@DanielleMaywood)
- Fix goroutine leak in log streaming over websocket (#15709, 148a5a3) (@spikecurtis)
- Display build timings when all timings are loaded (#15728, ebfc133) (@BrunoQuaresma)
- Persist the devtunnel file in a docker volume (#15731, 75f4176) (@hugodutka)
- Unify
coder create
andcoder delete
help message (#15752, b5b0a0e) (@phorcys420) - Fix oom_score adjustments failing if caps set (#15758, f8d938d) (@sreya)
- Filter agent-exec env vars (#15764, 354d0fc) (@sreya)
- Update workspace TTL on template TTL change (#15761, 40624bf) (@DanielleMaywood)
- Remove backtick from valid password characters (#15756, bae12e1) (@angrycub)
- Fix broken 'Learn more' link in Listening Ports popup (#15777, d3a5639) (@aaronlehmann)
- Docs reference in create headless user flow (#15826, 104898a) (@ericpaulsen)
- Use random names for TestUpdateUserProfile (#15868, 409e2c7) (@ethanndickson)
- Encode
.dockerconfigjson
value for kubernetes-devcontainer example template (#15819, 2eee201) (@duchuyvp) - Add missing idp-org-sync sidebar item (#15933, 1ead56f) (@jaaydenh)
- Remove update to workspace TTL on template TTL change for AGPL (#15943, 137dc6e) (@DanielleMaywood)
- Adjust template row alignment when missing description (#16056, fc7a7df) (@BrunoQuaresma)
- Ensure active Deployment Page nav links are highlighted (#16092, 8b9763d) (@Parkreiner)
- Send workspace create/update notifications to template admins only (#16071, 3e3de05) (@DanielleMaywood)
- Correctly display loading spinner (#16167, 0697308) (@jaaydenh)
- Add groups to deployment settings (#16185, fbc2a73) (@jaaydenh)
- Return only the first workspace agent script timing per script (#16203, 5762d8a) (@DanielleMaywood)
- Display error when a build fails on template editor (#16210, ca32f3e) (@BrunoQuaresma)
- Fetch custom roles from workspace agent context (#16237, 5841c0a) (@Emyrk)
- CLI: Handle version mismatch re MatchedProvisioners response (#15682, 3014713) (@johnstcn)
- CLI: Remove loading indicator when pinging with verbose logs (#16305, bb69054) (@ethanndickson)
- CLI: Handle ptr to custom type (#16200, 2913fe8) (@mafredri)
- CLI: Retry on autostart conflict (#16058, ba6e84d) (@mafredri)
- Server: Change the order of precedence between coder_workspace_tags and request tags (#16119, 12991ff) (@johnstcn)
- Database: Exclude canceled jobs in queue position (#15835, 36c2cf8) (@johnstcn)
- Database: Aggregate user engagement statistics by interval (#16150, 50bf5ca) (@SasSwart)
- Server: Correctly evaluate dynamic workspace tag values (#15897, dcf5153) (@johnstcn)
- Enterprise: Add missing defer close of closer funcs (#15986, f517e5f) (@mafredri)
- Examples: Add keep_locally to docker_image resources (#16012, 9c62547) (@johnstcn)
- Examples: Add
hashicorp/cloudinit
provider (#15794, bc4f9a4) (@phorcys420) - Examples: Persist
/home/coder
instead of/home/${local.user}
(#16189, 738a7f6) (@phorcys420) - Provisioner: Evaluate coder_parameter defaults with variables (#15800, 7dc3ad9) (@johnstcn)
- Provisioner: Skip evaluation of unrelated parameters (#16023, 1ab10cf) (@johnstcn)
- Provisioner: Allow empty values in coder_workspace_tag defaults (#16303, 76adde9) (@johnstcn)
- Dashboard: Avoid constructing invalid apps url (#15711, abb3df7) (@ethanndickson)
- Dashboard: Remove a misplaced warning banner in the frontend (#15837, 0e98c0e) (@SasSwart)
- Dashboard: Only show provisioner warnings for pending workspaces (#15858, b5ba3e3) (@SasSwart)
- Dashboard: Do not error on closed build logs stream (#16067, 20c36a6) (@mtojek)
- Dashboard: Validate group name before submitting to the backend (#16115, 8a8e7b1) (@ThomasK33)
Documentation
- Improve dev containers documentation for user start-up (#15458, b06d833) (@EdwardAngert)
- Add CLI steps for org sync (#15673, 5e71992) (@EdwardAngert)
- Add Istio integration tutorial (#15733, 2ec2e8a) (@ericpaulsen)
- Add new best practices for managing organizations documentation (#15732, 29c9bbf) (@EdwardAngert)
- Add new security best practices (#15805, 74f07ec) (@EdwardAngert)
- Move premium and enterprise badges from heading to info in admonition (#15774, 21cc6f7) (@EdwardAngert)
- Add context for wireguard in places referencing tailscale (#15901, bcb15aa) (@EdwardAngert)
We do not use Tailscale (product) but instead import Tailscale OSS libraries which has some nice ways of handling Wireguard. We also use Tailscale's logo in our architecture, but calling it only Tailscale could mislead users.
- Add note about TLD and wildcard access (#16008, 18600d3) (@spikecurtis)
- Document issue with direnv and nix-shell on macOS in contributing guide (#15990) (#16015, 761a196) (@EdwardAngert)
- Update external auth to better explain process (#16027, ee1829b) (@EdwardAngert)
- Include PhpStorm and RustRover in list of JetBrains IDEs supported via Gateway (#16060, 5895c37) (@matifali)
- Add new scaling doc to best practices section (#15904, 02d0650) (@EdwardAngert)
- Document local install.sh script to download the CLI from your deployment (#16125, 250f3c7) (@aslilac)
- Update AWS marketplace listing URL (#16245, 6c1fd28) (@matifali)
- Add Zed editor doc to workspace access documentation (#16242, a21306e) (@EdwardAngert)
Chores
- Implement CoderVPN client & tunnel (#15612, ba48069) (@ethanndickson)
Components of
codervpn
, coming later this year. - Unify example template naming (#15757, 069655a) (@phorcys420)
- Replace unmaintained ping library (#15808, 49c453b) (@ethanndickson)
- Implement SCIM PUT endpoint, protect against missing active (#15829, d31c2f1) (@Emyrk)
- Add
CONTRIBUTING.md
(#15981, 5294f7a) (@phorcys420) - Audit log entries for all idp sync changes (#15919, 73ec6b2) (@Emyrk)
Compare: v2.18.5...v2.19.0
Container image
docker pull ghcr.io/coder/coder:v2.19.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.