coder/docs/changelogs/v2.9.0.md

9.6 KiB

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 surrounding 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.