Coder Coder Versions Save

Provision remote development environments via Terraform

v2.11.0

1 week ago

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, f96ce80ab) (@f0ssel)
  • Remove health link from deployment sidebar (#12914, 08451ce80) (@mtojek)
  • Add s suffix to use HTTPS for ports (#12862, 1d4bf30c0) (@f0ssel)
  • Link with protocol on shared ports (#12908, acaa25409) (@f0ssel)
  • Add agent acks to in-memory coordinator (#12786, e801e878b) (@coadler)
  • Add listening ports protocol selector (#12915, 3ab5a51ec) (@f0ssel)
  • Add warning about use of old/removed/invalid experiments (#12962, b85d5d849) (@dannykopping)
  • Show version on login page (#13033, 215dd7b15) (@aslilac)
  • Specify a custom "terms of service" link (#13068, 74f27719b) (@aslilac)

    New login page preview with placeholder version Terms of service on the login

  • Add switch http(s) button to error page (#12942, 8ba05a905) (@f0ssel)
  • Sign windows binaries (#13086, 8269124ab) (@sreya)
  • Influence parameter defaults through cli flag/env (#13039, 0e3dc2a80) (@aaronlehmann)
  • Add deployment_id to the ui and licenses (#13096, 1bda8a085) (@kylecarbs)
  • Try IPv6 when dialing IPv4 in workspaces (#13116, f2dd0a8e5) (@deansheather)
  • Move shared ports out of experiment and into GA (#13120, c550d0641) (@f0ssel)

    Sharable ports is now general access with some new polish Annotated Shared Ports UI

  • CLI - Support bundle: dump healthcheck summary (#12963, 407e61ecd) (@johnstcn)
  • CLI - Support bundle: show links to docs/admin/healthcheck (#12974, 8e1e0f04a) (@johnstcn)

    Read more about this in our guide on creating a support bundle.

  • CLI: Add --env flag for coder ssh (#12991, 8a1216254) (@aaronlehmann)
  • Database: Keep only 1 day of workspace_agent_stats after rollup (#12674, e17e8aa3c) (@mafredri)
  • Server: Improve detection of STUN issues (#12951, 9a4703a31) (@johnstcn)
  • Enterprise: Add ready for handshake support to pgcoord (#12935, 777dfbe96) (@coadler)
  • Scripts: add script to check schema between migrations (#13037, e57ca3cda) (@johnstcn)

Bug fixes

  • Fix race in assertWorkspaceLastUsedAtUpdated (#12899, 3b7380fa0) (@spikecurtis)
  • Update typo in audit log field (#12907, d82f2fd41) (@coryb)
  • Stop logging session shutdown as warning (#12922, 546901101) (@spikecurtis)
  • Ignore gomock temporary files (#12924, b6359b0a8) (@mtojek)
  • Show template autostop setting when it overrides the workspace setting (#12910, 2ad7fcc0b) (@aslilac)
  • Use provided username when fetching workspaces (#12955, d3790bb5b) (@kylecarbs)
  • Disable azureidentity test on darwin (#12979, 942e90270) (@coadler)
  • Add grace period before showing replicas license error (#12989, 227e63205) (@kylecarbs)
  • Update API code to use Axios instances (#13029, 3f21cb8a2) (@Parkreiner)
  • Start packet capture immediately on speedtest (#13128, 3de737fdc) (@spikecurtis)
  • Remove mention of protocol lag (#13133, 699e187d5) (@f0ssel)
  • Ensure signing out cannot cause any runtime render errors (#13137, 7873c961e) (@Parkreiner)
  • Add more tests for metadata hook functionality (#13145, 34a3bdc4e) (@Parkreiner)
  • Agent: Keep track of lastReportIndex between invocations of reportLifecycle(#13075, 99dda4a43) (@johnstcn)
  • CLI: Allow generating partial support bundles with no workspace or agent (#12933, fad97a14f) (@johnstcn)
  • CLI: Scaletest: ignore errors syncing output (#13076, 365231b1e) (@johnstcn)
  • Server: Properly calculate query latency for tailnet queries (#12944, 231fc26c9) (@coadler)
  • Database: Reduce db load via dbpurge advisory locking (#13021, 3adcccb61) (@mafredri)
  • Server: Avoid logging error for no rows (#12988, 92190443f) (@mafredri)
  • Enterprise: Mark nodes from unhealthy coordinators as lost (#13123, ebacced23) (@coadler)
  • Examples: Copy /etc/skel on init in docker template (#12913, 0178bfe13) (@mafredri)
  • Installer: Use --version when provided (#12873, 61e5721ca) (@michaelbrewer)
  • Installer: Change post-install advisory when installing specific version (#12878, c243210ae) (@mafredri)
  • Installer: Remove extracted files after installation (#12879, b06452ee8) (@mafredri)
  • Dashboard: Fix template schedule options (#13084, 053c56cc1) (@BrunoQuaresma)
  • Dashboard: Fix template schedule update overriding other settings (#13114, 71a03a8b1) (@BrunoQuaresma)
  • Support: Correctly rename existing agent connection info, add real netcheck (#12946, b163bc7f0) (@johnstcn)

Documentation

  • Describe multi-cloud architecture (#12857, 90efa1b84) (@mtojek)
  • Describe devcontainers as deployment model (#12877, 7c0fac990) (@mtojek)
  • Describe air-gapped architecture (#12897, 28754a79e) (@mtojek)
  • Explain that mainline stays around for one month now (#12993, f5a32b3f2) (@bpmct)
  • Add island integration guide (#13113, 565b45deb) (@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, ee7dda811) (@mtojek)
  • Dashboard: Reorganize template schedule settings form (#13031, 2f7f9d022) (@BrunoQuaresma)

Tests

  • Verify that enterprise tests are being run (#12871, c4b26f335) (@aslilac)
  • Verify actually uploaded license with assert (#12934, 8da8b89af) (@Emyrk)
  • Fix url checks in e2e tests (#12881, c5367c201) (@aslilac)
  • Add an e2e audit logs test (#12868, 00fcf3699) (@aslilac)
  • Dashboard: Fix flaky outdated agent test (#12927, e266ecf91) (@mtojek)
  • Dashboard: Add e2e tests for experiments (#12940, dcf1d3a9a) (@mtojek)
  • Dashboard: Add e2e tests for appearance (#12950, cf2d2a98b) (@mtojek)
  • Dashboard: Add e2e tests for security (#12961, 49689162b) (@mtojek)
  • Dashboard: Add e2e tests for user auth (#12971, b598aef54) (@mtojek)
  • Dashboard: Add e2e tests for network (#12987, cb8c576c9) (@mtojek)
  • Dashboard: Add e2e tests for observability (75223dfd8) (@mtojek)
  • Dashboard: Add e2e tests for workspace proxies (#13009, 3d7740bd3) (@mtojek)

Continuous integration

  • Disable enterprise e2e tests temporarily (#12874, bc9ea61eb) (@aslilac)
  • Execute enterprise and non-enterprise e2e tests concurrently (#12872, 9cf235811) (@aslilac)
  • Release: test migrations before building (#13051, a04c76ce4) (@johnstcn)

Chores

  • Deprecate agent report-stats endpoint (#12880, 189b8626d) (@Emyrk)
  • Remove InsertWorkspaceAgentStat query (#12869, 0a8c8ce5c) (@Emyrk)
  • Add date information to windows startup logs (#12905, 4dc293d93) (@Emyrk)
  • Merge apikey/token session config values (#12817, 838e8df5b) (@Emyrk)
  • Disable pgcoord (HA) when --in-memory (#12919, a607d5610) (@Emyrk)
  • Add unit test for pass through external auth query params (#12928, 566f8f231) (@Emyrk)
  • Nix shell to support playwright e2e tests (#12917, 7fd9a75ad) (@Emyrk)
  • Deconflict e2e enterprise and AGPL artifacts in ci (#12941, b9936a467) (@Emyrk)
  • Add -agpl to agpl e2e artifacts (#12943, 22785a307) (@Emyrk)
  • Skip global.setup if first user already exists (#12930, 93b46fe1f) (@Emyrk)
  • Update generated array type definitions in TypeScript to be readonly (#12947, d9da054c9) (@Emyrk)
  • Fix broken links in the jfrog guide (#12835, c13909a1a) (@stirby)
  • Add created_at to workspace resource telemetry (#12969, 41ca6e4f7) (@kylecarbs)
  • Apply shellcheck recommendation which was causing "make lint" to fail locally (#12972, 06e042acf) (@dannykopping)
  • Fix linting issue (#12945, ba52a4fbe) (@coadler)
  • Add license review to CI (#12981, 80f597812) (@sreya)
  • Give additional time in tests for tailnetAPIConnector graceful disconnect (#12980, 6b4eb0319) (@coadler)
  • Add e2e test against an external auth provider during workspace creation (#12985, 319fd5bf1) (@dannykopping)
  • Fix down migration 196 (#13006, 3aa0d7381) (@coadler)
  • Fix 404 for managed terraform variables (#13018, 4a6693a17) (@michaelbrewer)
  • Fix link to install (#13019, d2acb6776) (@michaelbrewer)
  • Fix broken mainline link (#13015, 7bd1b3bdb) (@michaelbrewer)
  • Reduce dashboard requests from seeded data (#13034, d3f3ace22) (@kylecarbs)
  • Change site_configs.value to text (#13036, fab5591cf) (@aslilac)
  • Deprecate gauge metrics with _total suffix (#12976, 4682355ee) (@snark87)
  • Correct name for github enterprise example (#13083, 848ea7e9f) (@michaelbrewer)
  • Add network integration test suite scaffolding (#13072, 15157c1c4) (@coadler)
  • Lower azure expires soon (#13097, 1b3185c04) (@kylecarbs)
  • Centralize build info for site (#13104, fbb98b950) (@kylecarbs)
  • Fix dependency review action (#13105, 4e5960660) (@kylecarbs)
  • Remove GITHUB_TOKEN from dogfood env vars (#13106, d30257009) (@kylecarbs)
  • Update tailscale to fix leaking dns lookup (#13109, 47993e3fc) (@kylecarbs)
  • Dynamically determine gitlab external auth defaults (#13102, 53f7e9e0a) (@Emyrk)
  • Cover deadline crossing autostart border on start (#13115, 845407fe7) (@Emyrk)
  • Remove codecov (#13124, 93d881228) (@kylecarbs)
  • TestIDP to be usable as primary auth (#13132, c2cb0e9fe) (@Emyrk)
  • Enable playwright test extension in vscode (#13135, 7779c0a1d) (@Emyrk)
  • Do network integration tests in isolated net ns (#13117, ed0ca76b0) (@deansheather)
  • Allow terraform & echo built-in provisioners (#13121, 94a3e3a56) (@Emyrk)
  • Shutdown provisioner should stop waiting on client (#13118, 09f00c08d) (@Emyrk)
  • Add docs for sharing ports (#13136, a3c23ed31) (@f0ssel)
  • Server: Provisionerdserver: downgrade heartbeat failure log to Warn instead of Error (#13061, a518047f1) (@johnstcn)
  • Database: Reduce dbpurge load with smaller batches of agent stats (#13049, a69fc657f) (@mafredri)
  • Documentation: Add support bundle guide (#12931, b71af3211) (@johnstcn)
  • Documentation: Make external auth docs easier to follow (#12970, b40f54f60) (@doodzik)
  • Documentation: Fix broken links (#13056, 578005049) (@doodzik)
  • Documentation: add k8s terraform link to k8s installation docs (#13040, 8b6227d03) (@doodzik)
  • Documentation: Remove max_ttl docs (#13077, 341114a02) (@stirby)
  • Documentation: Add note regarding vcredist for embedded postgres (#13020, f1ef9fd67) (@johnstcn)
  • Documentation: Add note regarding Apr 26 scaletest (#13085, 73ba36c9d) (@johnstcn)
  • Documentation - README: add contributing section to readme (#13059, a6af7a5e3) (@doodzik)
  • Scripts: implement mainline and stable release channels (#13048, b82a78261) (@mafredri)
  • Scripts: add script to promote mainline to stable (#13054, c933c75aa) (@mafredri)
  • Scripts: add release autoversion to bump releases in docs (#13063, 46dced9cf) (@mafredri)
  • Scripts: fix release tagging sanity checks (#13073, c24b56219) (@mafredri)
  • Scripts: auto create autoversion PR from release script (#13074, d50a31ef6) (@mafredri)
  • Scripts: auto authenticate gh CLI in scripts on dogfood (#13107, 3ff9cef49) (@matifali)
  • Dashboard: Add e2e to test add and remove user (#12851, 41b8ff3e8) (@BrunoQuaresma)
  • Dashboard: Add e2e tests for groups (#12866, 3fbcdb0dd) (@BrunoQuaresma)

Other changes

  • added releases.md to manifest, fixes broken link (#12936, ab116af54) (@stirby)
  • e2e tests for deployment/licenses (#12926, 2f2a395ba) (@mtojek)
  • Skip dependency license review on main (#12982, 0c993566d) (@sreya)
  • label some template settings as enterprise (#12952, 7cf8577f1) (@aslilac)
  • updated helm install flags to match patches (#13064, dd27a8a63) (@stirby)

Compare: v2.10.2...v2.11.0

Container image

  • docker pull ghcr.io/coder/coder:v2.11.0

Install/upgrade

Refer to our docs to install or upgrade Coder, or use a release asset below.

v2.10.2

3 weeks ago

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

3 weeks ago

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

4 weeks ago

Changelog

Features

  • Added src_id and dst_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

4 weeks ago

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

1 month ago

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

1 month ago

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 to workspace_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. Coder Support Bundle

  • 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 in GetTemplateInsights query (#12666) (@mafredri)
  • Use template_usage_stats in GetTemplateInsightsByInterval query (#12667) (@mafredri)
  • Use template_usage_stats in GetTemplateAppInsights query (#12669) (@mafredri)
  • Use template_usage_stats in GetUserLatencyInsights query (#12671) (@mafredri)
  • Use template_usage_stats in GetUserActivityInsights 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

  • Optimize GetWorkspaceAgentAndLatestBuildByAuthToken query (#12809) (@mafredri)

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.

v2.9.1

1 month ago

Changelog

Features

  • Add separate signals for shutdown handling on Coder server and provisionerd. (#12358) (@kylecarbs)

    SIGTERM will stop accepting new provisioner jobs and wait running jobs to finish before shutting down.

    SIGINT (existing behavior) will cancel in-flight jobs then shut down.

Bug fixes

  • Fixed an issue where single-replica workspace proxy deployments may enter an unhealthy state due to replica management errors. (#12641) (@deansheather)

  • Fixed an issue preventing upgrade to v2.9.0 due to a migration that hard a hardcoded schema name. (#12620) (@95gabor)

Compare: v2.9.0...v2.9.1

Container image

  • docker pull ghcr.io/coder/coder:v2.9.1

Install/upgrade

Refer to our docs to install or upgrade Coder, or use a release asset below.

v2.9.0

2 months ago

Changelog

BREAKING CHANGES

  • Remove prometheus-http port declaration from coderd service spec (#12214) (@johnstcn)
  • Provisioners: only allow untagged provisioners to pick up untagged jobs (#12269) (@johnstcn)

Features

Templates

  • coder_script can to add binaries and files to PATH with a bin directory (#12205) (@mafredri)
  • Add support for marking external auth providers as optional (#12021) (#12251) (@aslilac)

    This is done via a Terraform property in the template.

  • Support custom order of agent metadata (#12066) (@mtojek)
  • Support order property of coder_app resource (#12077) (@mtojek)
  • Support order property of coder_agent (#12121) (@mtojek)
  • Support custom validation errors for number-typed parameters (#12224) (@mtojek)

CLI

  • Support --header and --header-command in config-ssh (#10413) (@JoshVee)
  • Make URL optional for coder login (#10925) (#12466) (@elasticspoon)

Dashboard

  • Add activity status and autostop reason to workspace overview (#11987) (@aslilac) Autostop Cause Display
  • Support any file extension in the template editor (#12000) (@BrunoQuaresma)
  • Support creating templates from scratch (#12082) (@BrunoQuaresma)
  • Show previous agent scripts logs (#12233) (@BrunoQuaresma)
  • Show build logs on template creation (#12271) (@BrunoQuaresma)
  • Support zip archives for template files (#12323) (@BrunoQuaresma)
  • Show client errors in DERP Region health page (#12318) (@BrunoQuaresma)
  • Display error messages on ws and access url health pages (#12430) (@BrunoQuaresma)
  • Warn users if they leave the template editor without publishing (#12406) (@BrunoQuaresma)
  • Add Confluence, NET, and MS Teams icons as static files (#12500) (#12512) (#12513) (@michaelbrewer)
  • Render markdown in template update messages (#12273) (@aslilac)

Backend

  • Expose DERP server debug metrics (#12135) (@spikecurtis)
  • Add logSender for sending logs on agent v2 API (#12046) (@spikecurtis)
  • Clean up organization handling (#12142) (#12143) (#12146) (@Emyrk)
  • Change agent to use v2 API for reporting stats (#12024) (@spikecurtis)
  • Send log limit exceeded in response, not error (#12078) (@spikecurtis)
  • Add template activity_bump property (#11734) (@deansheather) Activity Bump
  • Add WaitUntilEmpty to LogSender (#12159) (@spikecurtis)
  • Disable directory listings for static files (#12229) (@Emyrk)
  • Switch agent to use v2 API for sending logs (#12068) (@spikecurtis)
  • Use v2 API for agent lifecycle updates (#12278) (@spikecurtis)
  • Use v2 API for agent metadata updates (#12281) (@spikecurtis)
  • Show tailnet peer diagnostics after coder ping (#12314) (@spikecurtis)
  • Add derp mesh health checking in workspace proxies (#12222) (@deansheather)
  • Make agent stats' cardinality configurable (#12468) (@dannykopping)
  • Server: Set sane default for gitea external auth (#12306) (@Emyrk)
  • Server: Enable Prometheus endpoint for external provisioner (#12320) (@mtojek)
  • Implement provisioner auth middleware and proper org params (#12330) (@Emyrk)

Experimental features

The following features are hidden or disabled by default as we don't guarantee stability. Learn more about experiments in our documentation.

  • The coder support command generates a ZIP with deployment information, agent logs, and server config values for troubleshooting purposes. We will publish documentation on how it works (and un-hide the feature) in a future release (#12328) (@johnstcn)
  • Port sharing: Allow users to share ports running in their workspace with other Coder users (#11939) (#12119) (#12383) (@deansheather) (@f0ssel) Port Sharing

Bug fixes

  • SSH: Allow scp to exit with zero status (#12028) (@mafredri)
  • Web Terminal: Fix screen startup speed by disabling messages (#12190) (@mafredri)
  • CLI: Avoid panic when external auth name isn't provided (#12177) (@coadler)
  • CLI: Do not screenshot with coder scaletest if verbose=false (#12317) (@johnstcn)
  • CLI: Generate correctly named file in DumpHandler (#12409) (@mafredri)
  • CLI: Don't error on required flags with --help (#12181) (@coadler)
  • Server: Do not redirect /healthz (#12080) (@johnstcn)
  • SSH: Prevent reads/writes to stdin/stdout in stdio mode (#12045) (@mafredri)
  • Server: Mark provisioner daemon psk as secret (#12322) (@johnstcn)
  • Server: Use database.IsQueryCanceledError instead of xerrors.Is(err, context.Canceled) (#12325) (@johnstcn)
  • Server: Pass block endpoints into servertailnet (#12149) (@coadler)
  • Server: Prevent nil err deref (#12475) (@johnstcn)
  • Server: Correctly handle tar dir entries with missing path separator (#12479) (@johnstcn)
  • codersdk: Correctly log coordination error (#12176) (@coadler)
  • Server: Add ability to synchronize with startup script via done file (#12058) (@mafredri)
  • Server: Check provisionerd API version on connection (#12191) (@johnstcn)
  • Dashboard: Print API backend calls for e2e tests (#12051) (@mtojek)
  • Dashboard: Enable submit when auto start and stop are both disabled (#12055) (@BrunoQuaresma)
  • Dashboard: Fix infinite loading when template has no previous version (#12059) (@BrunoQuaresma)
  • Dashboard: Ignore fileInfo if file is missing (#12154) (@mtojek)
  • Dashboard: Match activity bump text with template settings (#12170) (@BrunoQuaresma)
  • Dashboard: Fix language detection for Dockerfile (#12188) (@BrunoQuaresma)
  • Dashboard: Fix parameters field size (#12231) (@BrunoQuaresma)
  • Dashboard: Fix bottom overflow on web terminal (#12228) (@BrunoQuaresma)
  • Dashboard: Fix error when typing long number on ttl (#12249) (@BrunoQuaresma)
  • Dashboard: Fix form layout for tablet viewports (#12369) (@BrunoQuaresma)
  • Dashboard: Retry and debug passing build parameters options (#12384) (@BrunoQuaresma)
  • Dashboard: Fix terminal size when displaying alerts (#12444) (@BrunoQuaresma)
  • Dashboard: TemplateVersionEditor: allow triggering builds on non-dirtied template version (#12547) (@johnstcn)
  • Dashboard: Warn when user leaves template editor with un-built changes (#12548) (@johnstcn)
  • Tailnet: Enforce valid agent and client addresses (#12197) (@coadler)
  • Server: Copy app ID in healthcheck (#12087) (@deansheather)
  • Dashboard: Allow access to unhealthy/initializing apps (#12086) (@deansheather)
  • Server: Do not query user_link for deleted accounts (#12112) (@Emyrk)
  • Tailnet: Set node callback each time we reinit the coordinator in servertailnet (#12140) (@spikecurtis)
  • Tailnet: Change servertailnet to register the DERP dialer before setting DERP map (#12137) (@spikecurtis)
  • Server: Fix pgcoord to delete coordinator row last (#12155) (@spikecurtis)
  • Dashboard: Improve clipboard support on HTTP connections and older browsers (#12178) (@Parkreiner)
  • Server: Add postgres triggers to remove deleted users from user_links (#12117) (@Emyrk)
  • Dashboard: Add tests and improve accessibility for useClickable (#12218) (@Parkreiner)
  • Server: Ignore surronding whitespace for cli config (#12250) (@Emyrk)
  • Tailnet: Stop waiting for Agent in a goroutine in ssh test (#12268) (@spikecurtis)
  • d4d8424ce fix: fix GetOrganizationsByUserID error when multiple organizations exist (#12257) (@Emyrk)
  • Server: Refresh entitlements after creating first user (#12285) (@mtojek)
  • Server: Use default org over index [0] for new scim (#12284) (@Emyrk)
  • Server: Avoid race between replicas on start (#12344) (@deansheather)
  • Server: Use flag to enable Prometheus (#12345) (@mtojek)
  • Dashboard: Increase license key rows (#12352) (@kylecarbs)
  • Server: External auth device flow, check both queries for errors (#12367) (@Emyrk)
  • Dashboard: Add service banner to workspace page (#12381) (@michaelbrewer)
  • SDK: Always return count of workspaces (#12407) (@mtojek)
  • SDK: Improve pagination parser (#12422) (@mtojek)
  • SDK: Use timestamptz instead of timestamp (#12425) (@mtojek)
  • Dashboard: Ensure auto-workspace creation waits until all parameters are ready (#12419) (@Parkreiner)
  • CLI: Ensure ssh cleanup happens on cmd error (@spikecurtis)
  • Dashboard: Display tooltip when selection is disabled (#12439) (@f0ssel)
  • Server: Add --block-direct-connections to wsproxies (#12182) (@coadler)
  • Examples: Fix directory for devcontainer-docker template (#12453) (@alv67)
  • Dashboard: Make public menu item selectable (#12484) (@f0ssel)
  • Server: Stop holding Pubsub mutex while calling pq.Listener (#12518) (@spikecurtis)

Documentation

  • Fix /audit & /insights params (#12043) (@ericpaulsen)
  • Fix jetbrains reconnect faq (#12073) (@ericpaulsen)
  • Update modules documentation (#11911) (@matifali)
  • Add kubevirt coder template in list of community templates (#12113) (@sulo1337)
  • Describe resource ordering in UI (#12185) (@mtojek)
  • Simplify docker installation docs (#12187) (@matifali)
  • Fix header font (#12193) (@mtojek)
  • Document Terraform variables (#12270) (@mtojek)
  • Add steps for postgres server verification (#12072) (@ericpaulsen)
  • Add gitlab self-managed example (#12295) (@michaelbrewer)
  • Add k8s security reference (#12334) (@ericpaulsen)
  • Simplify install docs (#11946) (@bpmct)

Compare: v2.8.5...v2.9.0

Container image

  • docker pull ghcr.io/coder/coder:v2.9.0

Install/upgrade

Refer to our docs to install or upgrade Coder, or use a release asset below.

v2.8.5

2 months ago

Changelog

  • Fixed an issue where some template updates caused workspaces to stop after 2 hours, even while in use (#12446)
  • Add DERP mesh health checking to workspace proxies (#12220) (#12222)
  • Improve clipboard support on HTTP connections and older browsers (#12178)

Compare: v2.8.4...v2.8.5

Container image

  • docker pull ghcr.io/coder/coder:v2.8.5

Install/upgrade

Refer to our docs to install or upgrade Coder, or use a release asset below.