Releases: coder/coder
v2.11.2
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
- Properly detect agent resouces in terraform (#13343, 9c5fc3b)
- Prevent stdlib logging from messing up
coder ssh
(#13161, d53c94b)
Compare: v2.11.1...v2.11.2
Container image
docker pull ghcr.io/coder/coder:v2.11.2
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.10.3
Changelog
Chores
- 84ec2dc chore: update git to
v2.43.4
Compare: v2.10.2...v2.10.3
Container image
docker pull ghcr.io/coder/coder:v2.10.3
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.11.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.
Security
- Update Git to 2.43.4 (#13299, 80538c0) (@coadler)
- Update Terraform to v2.7.5 (#13299, 80538c0) (@coadler)
Compare: v2.11.0...v2.11.1
Container image
docker pull ghcr.io/coder/coder:v2.11.1
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.11.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.
Features
- Add owner groups to workspace data (#12841, f96ce80) (@f0ssel)
- Remove health link from deployment sidebar (#12914, 08451ce) (@mtojek)
- Add
s
suffix to use HTTPS for ports (#12862, 1d4bf30) (@f0ssel) - Link with protocol on shared ports (#12908, acaa254) (@f0ssel)
- Add agent acks to in-memory coordinator (#12786, e801e87) (@coadler)
- Add listening ports protocol selector (#12915, 3ab5a51) (@f0ssel)
- Add warning about use of old/removed/invalid experiments (#12962, b85d5d8) (@dannykopping)
- Show version on login page (#13033, 215dd7b) (@aslilac)
- Specify a custom "terms of service" link (#13068, 74f2771) (@aslilac)
- Add switch http(s) button to error page (#12942, 8ba05a9) (@f0ssel)
- Sign windows binaries (#13086, 8269124) (@sreya)
- Influence parameter defaults through cli flag/env (#13039, 0e3dc2a) (@aaronlehmann)
- Add
deployment_id
to the ui and licenses (#13096, 1bda8a0) (@kylecarbs) - Try IPv6 when dialing IPv4 in workspaces (#13116, f2dd0a8) (@deansheather)
- Move shared ports out of experiment and into GA (#13120, c550d06) (@f0ssel)
- CLI - Support bundle: dump healthcheck summary (#12963, 407e61e) (@johnstcn)
- CLI - Support bundle: show links to docs/admin/healthcheck (#12974, 8e1e0f0) (@johnstcn)
Read more about this in our guide on creating a support bundle.
- CLI: Add
--env
flag forcoder ssh
(#12991, 8a12162) (@aaronlehmann) - Database: Keep only 1 day of
workspace_agent_stats
after rollup (#12674, e17e8aa) (@mafredri) - Server: Improve detection of STUN issues (#12951, 9a4703a) (@johnstcn)
- Enterprise: Add ready for handshake support to pgcoord (#12935, 777dfbe) (@coadler)
- Scripts: add script to check schema between migrations (#13037, e57ca3c) (@johnstcn)
Bug fixes
- Fix race in assertWorkspaceLastUsedAtUpdated (#12899, 3b7380f) (@spikecurtis)
- Update typo in audit log field (#12907, d82f2fd) (@coryb)
- Stop logging session shutdown as warning (#12922, 5469011) (@spikecurtis)
- Ignore gomock temporary files (#12924, b6359b0) (@mtojek)
- Show template autostop setting when it overrides the workspace setting (#12910, 2ad7fcc) (@aslilac)
- Use provided username when fetching workspaces (#12955, d3790bb) (@kylecarbs)
- Disable azureidentity test on darwin (#12979, 942e902) (@coadler)
- Add grace period before showing replicas license error (#12989, 227e632) (@kylecarbs)
- Update API code to use Axios instances (#13029, 3f21cb8) (@Parkreiner)
- Start packet capture immediately on speedtest (#13128, 3de737f) (@spikecurtis)
- Remove mention of protocol lag (#13133, 699e187) (@f0ssel)
- Ensure signing out cannot cause any runtime render errors (#13137, 7873c96) (@Parkreiner)
- Add more tests for metadata hook functionality (#13145, 34a3bdc) (@Parkreiner)
- Agent: Keep track of lastReportIndex between invocations of reportLifecycle(#13075, 99dda4a) (@johnstcn)
- CLI: Allow generating partial support bundles with no workspace or agent (#12933, fad97a1) (@johnstcn)
- CLI: Scaletest: ignore errors syncing output (#13076, 365231b) (@johnstcn)
- Server: Properly calculate query latency for tailnet queries (#12944, 231fc26) (@coadler)
- Database: Reduce db load via dbpurge advisory locking (#13021, 3adcccb) (@mafredri)
- Server: Avoid logging error for no rows (#12988, 9219044) (@mafredri)
- Enterprise: Mark nodes from unhealthy coordinators as lost (#13123, ebacced) (@coadler)
- Examples: Copy /etc/skel on init in docker template (#12913, 0178bfe) (@mafredri)
- Installer: Use
--version
when provided (#12873, 61e5721) (@michaelbrewer) - Installer: Change post-install advisory when installing specific version (#12878, c243210) (@mafredri)
- Installer: Remove extracted files after installation (#12879, b06452e) (@mafredri)
- Dashboard: Fix template schedule options (#13084, 053c56c) (@BrunoQuaresma)
- Dashboard: Fix template schedule update overriding other settings (#13114, 71a03a8) (@BrunoQuaresma)
- Support: Correctly rename existing agent connection info, add real netcheck (#12946, b163bc7) (@johnstcn)
Documentation
- Describe multi-cloud architecture (#12857, 90efa1b) (@mtojek)
- Describe devcontainers as deployment model (#12877, 7c0fac9) (@mtojek)
- Describe air-gapped architecture (#12897, 28754a7) (@mtojek)
- Explain that mainline stays around for one month now (#12993, f5a32b3) (@bpmct)
- Add island integration guide (#13113, 565b45d) (@ericpaulsen)
Read the guide on our integration with the island.io secure enterprise browser.
Code refactoring
- Dashboard: Verify deployment config flags in e2e tests (#12986, ee7dda8) (@mtojek)
- Dashboard: Reorganize template schedule settings form (#13031, 2f7f9d0) (@BrunoQuaresma)
Tests
- Verify that enterprise tests are being run (#12871, c4b26f3) (@aslilac)
- Verify actually uploaded license with assert (#12934, 8da8b89) (@Emyrk)
- Fix url checks in e2e tests (#12881, c5367c2) (@aslilac)
- Add an e2e audit logs test (#12868, 00fcf36) (@aslilac)
- Dashboard: Fix flaky outdated agent test (#12927, e266ecf) (@mtojek)
- Dashboard: Add e2e tests for experiments (#12940, dcf1d3a) (@mtojek)
- Dashboard: Add e2e tests for appearance (#12950, cf2d2a9) (@mtojek)
- Dashboard: Add e2e tests for security (#12961, 4968916) (@mtojek)
- Dashboard: Add e2e tests for user auth (#12971, b598aef) (@mtojek)
- Dashboard: Add e2e tests for network (#12987, cb8c576) (@mtojek)
- Dashboard: Add e2e tests for observability (75223df) (@mtojek)
- Dashboard: Add e2e tests for workspace proxies (#13009, 3d7740b) (@mtojek)
Continuous integration
- Disable enterprise e2e tests temporarily (#12874, bc9ea61) (@aslilac)
- Execute enterprise and non-enterprise e2e tests concurrently (#12872, 9cf2358) (@aslilac)
- Release: test migrations before building (#13051, a04c76c) (@johnstcn)
Chores
- Deprecate agent report-stats endpoint (#12880, 189b862) (@Emyrk)
- Remove InsertWorkspaceAgentStat query (#12869, 0a8c8ce) (@Emyrk)
- Add date information to windows startup logs (#12905, 4dc293d) (@Emyrk)
- Merge apikey/token session config values (#12817, 838e8df) (@Emyrk)
- Disable pgcoord (HA) when --in-memory (#12919, a607d56) (@Emyrk)
- Add unit test for pass through external auth query params (#12928, 566f8f2) (@Emyrk)
- Nix shell to support playwright e2e tests (#12917, 7fd9a75) (@Emyrk)
- Deconflict e2e enterprise and AGPL artifacts in ci (#12941, b9936a4) (@Emyrk)
- Add -agpl to agpl e2e artifacts (#12943, 22785a3) (@Emyrk)
- Skip global.setup if first user already exists (#12930, 93b46fe) (@Emyrk)
- Update generated array type definitions in TypeScript to be readonly (#12947, d9da054) (@Emyrk)
- Fix broken links in the jfrog guide (#12835, c13909a) (@stirby)
- Add
created_at
to workspace resource telemetry (#12969, 41ca6e4) (@kylecarbs) - Apply shellcheck recommendation which was causing "make lint" to fail locally (#12972, 06e042a) (@dannykopping)
- Fix linting issue (#12945, ba52a4f) (@coadler)
- Add license review to CI (#12981, 80f5978) (@sreya)
- Give additional time in tests for
tailnetAPIConnector
graceful disconnect (#12980, 6b4eb03) (@coadler) - Add e2e test against an external auth provider during workspace creation (#12985, 319fd5b) (@dannykopping)
- Fix down migration 196 (#13006, 3aa0d73) (@coadler)
- Fix 404 for managed terraform variables (#13018, 4a6693a) (@michaelbrewer)
- Fix link to install (#13019, d2acb67) (@michaelbrewer)
- Fix broken mainline link (#13015, 7bd1b3b) (@michaelbrewer)
- Reduce dashboard requests from seeded data (#13034, d3f3ace) (@kylecarbs)
- Change
site_configs.value
totext
(#13036, fab5591) (@aslilac) - Deprecate gauge metrics with _total suffix (#12976, 4682355) (@snark87)
- Correct name for github enterprise example (#13083, 848ea7e) (@michaelbrewer)
- Add network integration test suite scaffolding (#13072, 15157c1) (@coadler)
- Lower azure expires soon (#13097, 1b3185c) (@kylecarbs)
- Centralize build info for site (#13104, fbb98b9) (@kylecarbs)
- Fix dependency review action (#13105, 4e59606) (@kylecarbs)
- Remove
GITHUB_TOKEN
from dogfood env vars (#13106, d302570) (@kylecarbs) - Update tailscale to fix leaking dns lookup (#13109, 47993e3) (@kylecarbs)
- Dynamically determine gitlab external auth defaults (#13102, 53f7e9e) (@Emyrk)
- Cover deadline crossing autostart border on start (#13115, 845407f) (@Emyrk)
- Remove codecov (#13124, 93d8812) (@kylecarbs)
- TestIDP to be usable as primary auth (#13132, c2cb0e9) (@Emyrk)
- Enable playwright test extension in vscode (#13135, 7779c0a) (@Emyrk)
- Do network integration tests in isolated net ns (#13117, ed0ca76) (@deansheather)
- Allow terraform & echo built-in provisioners (#13121, 94a3e3a) (...
v2.10.2
Stable (since May 07, 2024)
Changelog
Chores
- Add support for additional Azure Instance Identity RSA Certificates (#13028) (@kylecarbs)
Compare: v2.10.1...v2.10.2
Container image
docker pull ghcr.io/coder/coder:v2.10.2
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.9.4
Changelog
Chores
- Add support for additional Azure Instance Identity RSA Certificates (#13028) (@kylecarbs)
Compare: v2.9.3...v2.9.4
Container image
docker pull ghcr.io/coder/coder:v2.9.4
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.10.1
Changelog
Features
- Added
src_id
anddst_id
indexes to tailnet_tunnels to mitigate the risk of DB overloading (#12911)
Bug fixes
- Fixed an issue where multiple unhealthy PGCoordinators would cause outages (#12925)
- Fixed the terminal in
ssh
command on Windows, allowing keyboard navigation (#12990) - Fixed an issue where
code-server
would not connect, responding with 502 (#12875)
Compare: v2.10.0...v2.10.1
Container image
docker pull ghcr.io/coder/coder:v2.10.1
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.9.3
Changelog
Bug fixes
-
Fix: make terminal raw in
ssh
command on Windows
(#12990) (@deansheather) -
Fix: stop sending DeleteTailnetPeer when coordinator is unhealthy, causing outages
(#12923) (@spikecurtis)
Compare: v2.9.2...v2.9.3
Container image
docker pull ghcr.io/coder/coder:v2.9.3
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.9.2
Changelog
Bug fixes
-
Fix issue causing Coder's external auth to open duplicate windows (#12729) (@aslilac)
-
Fix: remove unnecessary href from external auth flow (#12586) (@emryk)
Compare: v2.9.1...v2.9.2
Container image
docker pull ghcr.io/coder/coder:v2.9.2
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.
v2.10.0
Changelog
BREAKING CHANGES
- Removed
max_ttl
from templates (#12644) (@Emyrk)Maximum Workspace Lifetime, or
MAX_TTL
, has been removed from the product in favor of Autostop Requirement. Max Lifetime was designed to automate workspace shutdowns to enable security policy enforcement, enforce routine updates, and reduce idle resource costs.If you use Maximum Lifetime in your templates, workspaces will no longer stop at the end of this timer. Instead, we advise migrating to Autostop Requirement.
Autostop Requirement shares the benefits of
MAX_TTL
, but also respects user-configured quiet hours to avoid forcing shutdowns while developers are connected.We only completely deprecate features after a 2-month heads up in the UI.
Features
- Make agent stats' cardinality configurable (#12535) (@dannykopping)
- Upgrade tailscale fork to set TCP options for performance (#12574) (@spikecurtis)
- Add AWS IAM RDS Database auth driver (#12566) (@f0ssel)
- Support Windows containers in bootstrap script (#12662) (@kylecarbs)
- Add
workspace_id
toworkspace_build
audit logs (#12718) (@sreya) - Make OAuth2 provider not enterprise-only (#12732) (@code-asher)
- Allow number options with monotonic validation (#12726) (@dannykopping)
- Expose workspace statuses (with details) as a prometheus metric (#12762) (@dannykopping)
- Agent: Support adjusting child process OOM scores (#12655) (@sreya)
This opt-in configuration protects the Agent process from crashing via OOM. To prevent the agent from being killed in most scenarios, set
CODER_PROC_PRIO_MGMT=1
on your container. - Expose HTTP debug server over tailnet API (#12582) (@johnstcn)
- Show queue position during workspace builds (#12606) (@dannykopping)
- Unhide support bundle command (#12745) (@johnstcn)
The Coder support bundle grabs a variety of deployment health information to improve and expedite the debugging experience.
- Add golden tests for errors (#11588) (#12698) (@elasticspoon)
- Enforce confirmation before creating bundle (#12684) (@johnstcn)
- Add enabled experiments to telemetry (#12656) (@dannykopping)
- Export metric indicating each experiment's status (#12657) (@dannykopping)
- Add sftp to insights apps (#12675) (@mafredri)
- Add
template_usage_stats
table and rollup query (#12664) (@mafredri) - Add
dbrollup
service to rollup insights (#12665) (@mafredri) - Use
template_usage_stats
inGetTemplateInsights
query (#12666) (@mafredri) - Use
template_usage_stats
inGetTemplateInsightsByInterval
query (#12667) (@mafredri) - Use
template_usage_stats
inGetTemplateAppInsights
query (#12669) (@mafredri) - Use
template_usage_stats
inGetUserLatencyInsights
query (#12671) (@mafredri) - Use
template_usage_stats
inGetUserActivityInsights
query (#12672) (@mafredri) - Use
template_usage_stats
in*ByTemplate
insights queries (#12668) (@mafredri) - Add debug handlers for logs, manifest, and token to agent (#12593) (@johnstcn)
- Add linting to all examples (#12595) (@mafredri)
- Add C++ icon (#12572) (@michaelbrewer)
- Add support for
--mainline
(default) and--stable
(#12858) (@mafredri) - Make listening ports scrollable (#12660) (@BrunoQuaresma)
- Fetch agent network info over tailnet (#12577) (@johnstcn)
- Add client magicsock and agent prometheus metrics to support bundle (#12604) (@johnstcn)
Bug fixes
- Server: Fix data race in TestLabelsAggregation tests (#12578) (@dannykopping)
- Dashboard: Hide actions and notifications from deleted workspaces (#12563) (@aslilac)
- VSCode: Importing api into vscode-coder (#12570) (@code-asher)
- CLI: Clean template destination path for
pull
(#12559) (@dannykopping) - Agent: Ensure agent token is from latest build in middleware (#12443) (@f0ssel)
- CLI: Handle CLI default organization when none exists in <v2.9.0 coderd (#12594) (@Emyrk)
- Server: Separate signals for passive, active, and forced shutdown (#12358) (@kylecarbs)
- Docs: Correct typo error about minTerraformVersion (#12621) (@garylavayou)
- Docs: Correct troubleshooting links (#12608) (@dannykopping)
- Server: Prevent single replica proxies from staying unhealthy (#12641) (@deansheather)
- Database: Implicit schema in dump (#12646) (@mtojek)
- Server: Disable workspace auto-create if external auth requirements aren't met (#12538) (@aslilac)
- Server: Allow proxy version mismatch (with warning) (#12433) (@deansheather)
- Server: Disable relay if built-in DERP is disabled (#12654) (@coadler)
- Dashboard: Create workspace with optional auth providers (#12729) (@aslilac)
- Always use bash when executing web terminal tests (#12755) (@aslilac)
- Server: Nil ptr dereference when removing a license (#12785) (@coadler)
- Use latest coder/tailscale (@spikecurtis)
- Agent: remove unused token debug handler (#12602) (@johnstcn)
- CLI: Show error/hide help for unsupported subcommands (#10760) (#12624) (@elasticspoon)
- CLI: Port-forward: update workspace last_used_at (#12659) (@johnstcn)
- CLI: Fix newline escape sequence in support blurb (#12749) (@johnstcn)
- Server: Skip logging error for cancelled query in agent report stats (#12730) (@mafredri)
- Server: Add timeout to websocket waitgroup on shutdown (#12754) (@coadler)
- Server: Use insights for DAUs, simplify metricscache (#12775) (@mafredri)
- API: always write agent stats when provided (#12699) (@mafredri)
- Database: Improve data exclusion in
UpsertTemplateUsageStats
(#12764) (@mafredri) - Database: Improve query performance of
GetTemplateAppInsights
(#12767) (@mafredri) - Database: Improve performance of
GetTemplateInsightsByInterval
(#12773) (@mafredri) - Database: Add FK index for
workspace_agent_scripts
(#12791) (@mafredri) - API: Abort in-progress writes/reads when closing websocket (#12650) (@ammario)
- Update base image in lima/coder.yaml example, remove usage of deprecated LIMA_CIDATA (#12613) (@johnstcn)
- Removed hardcoded public (#12620) (@95gabor)
- API: change test to use bash script instead of binary echo (#12759) (@spikecurtis)
- Dashboard: Display not found page when pagination page is invalid (#12611) (@BrunoQuaresma)
- Dashboard: Fix and improve pending state on template editor UI (#12766) (@BrunoQuaresma)
- Also sanitize agent environment (#12615) (@johnstcn)
- Sanitize manifest for tests (#12711) (@johnstcn)
Documentation
- Add updated architecture diagrams (#12584) (@ericpaulsen)
- Describe reference architectures (#12609) (@mtojek)
- Use scale testing utility (#12643) (@mtojek)
- Describe Coder's operational readiness (#12723) (@mtojek)
- Add guide for JFrog Xray integration (#12629) (@matifali)
- Document how to run workspace-proxy as a system service (#12810) (@michaelbrewer)
- Describe mutually exclusive create workspace template fields (#12834) (@Emyrk)
- Describe single region and multi-region deployments (#12779) (@mtojek)
- Fix coder-logstream-kube typo in deployment-logs.md (#12845) (@toshikish)
- Remove phone number, we do not offer phone support yet (#12658) (@bpmct)
Performance improvements
Tests
- Apptest was accidently choosing ports in use (#12580) (@Emyrk)
- Ensure
RequireActiveVersion
is actually set when testing with AGPL store (#12843) (@aslilac) - Add an E2E test for removing a group (#12844) (@aslilac)
- Enable
dbrollup
service for insights tests (#12673) (@mafredri) - Fix TODO for increased accuracy in insights test (#12727) (@mafredri)
- Fix template name too long in TestPatchTemplateMeta (#12781) (@mafredri)
Compare: v2.9.0...v2.10.0
Container image
docker pull ghcr.io/coder/coder:v2.10.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.