## Changelog ### BREAKING CHANGES - Switched to a darker, more neutral color scheme ![Dark](https://user-images.githubusercontent.com/22407953/283922030-f697fcbe-3113-4352-9aa7-f1124c76efc6.png) > Light mode is coming soon! - Workspace activity is only bumped by 1 hour if the user is still active after the default autostop duration (#10704) (@Emyrk) ![Autostop screenshot](https://user-images.githubusercontent.com/22407953/283919406-4c00600e-3b68-40ff-8377-34f5c00805c8.png) > If the user is still using their workspace after 5 hours, the workspace will stay alive for an additional hour. If the user is still using their workspace after 6 hours, the workspace will stay alive for an additional hour, and so on. The previous behavior bumped the schedule by 5 hours every time. ### Features - Add API versions to workspace agents to avoid incompatible changes (#10419) (@spikecurtis) - Add observability configuration values to deployment page (#10471) (@Emyrk) - Add `log-dir` flag to vscodessh for debuggability (#10514) (@kylecarbs) - Allow users to duplicate workspaces by parameters (#10362) (@Parkreiner) (#10604) (@mtojek) - Expose prometheus port in helm chart (#10448) (@pjmckee) - Add list of user's groups to Accounts page (#10522) (@Parkreiner) - Add configurable cipher suites for tls listening (#10505) (@Emyrk) - Expose app insights as Prometheus metrics (#10346) (@mtojek) - Parse resource metadata values as markdown (#10521) (@aslilac) - Implement bitbucket-server external auth defaults (#10520) (@Emyrk) - Expose parameter insights as Prometheus metrics (#10574) (@mtojek) - Add docs for Bitbucket Server external auth config (#10617) (@ericpaulsen) - Add `orphan` option to workspace delete in UI (#10654) (@Kira-Pilot) - Allow autostop to be specified in minutes and seconds (#10707) (@Kira-Pilot) - Prompt for misspelled parameter names (#10350) (@johnstcn) - Add template filter support to exp scaletest cleanup and traffic (#10558) (@mafredri) - Create workspace using parameters from existing workspace - Allow showing schedules for multiple workspaces (#10596) (@johnstcn) - Add parameter to force healthcheck in `/api/v2//debug/health` (#10677) (@johnstcn) - Allow configuring database health check threshold (#10623) (@johnstcn) - Add stop and start batch actions (#10565) (@BrunoQuaresma) - Add annotation to display values of type serpent.Duration correctly (#10667) (@johnstcn) - Add refresh button on health page (#10719) (@johnstcn) ### Bug fixes - fix: update tailscale to fixed STUN probe version (#10439) (@spikecurtis) - fix: disable t.Parallel on TestPortForward (#10449) (@spikecurtis) - fix: schedule autobuild directly on TestExecutorAutostopTemplateDisabled (#10453) (@spikecurtis) - fix: add support for custom auth header with client secret (#10513) (@kylecarbs) - fix: allow users to use quiet hours endpoint (#10547) (@deansheather) - fix: use `DefaultTransport` in `exchangeWithClientSecret` if nil (#10551) (@kylecarbs) - fix: upgrade tailscale to fix STUN probes on dual stack (#10535) (@spikecurtis) - fix: stop SSHKeysPage from flaking (#10553) (@Parkreiner) - fix: disable pagination nav buttons correctly (#10561) (@Parkreiner) - fix: hide promote/archive buttons for template versions from users without permission (#10555) (@aslilac) - fix: display all metadata items alongside daily_cost (#10554) (@Kira-Pilot) - fix: remove stray 0 when no data is in users table (#10584) (@Parkreiner) - fix: case insensitive magic label (#10592) (@Emyrk) - fix: improve language of latest build error (#10593) (@kylecarbs) - fix: disable autostart for flakey test (#10598) (@sreya) - fix: remove accidental scrollbar from deployment banner (#10616) (@Parkreiner) - fix: handle SIGHUP from OpenSSH (#10638) (@spikecurtis) - fix: add missing focus state styling to buttons and checkboxes (#10614) (@Parkreiner) - fix: update HealthcheckDatabaseReport mocks (#10655) (@Kira-Pilot) - fix: prevent db deadlock when workspaces go dormant (#10618) (@sreya) - fix: lock log sink against concurrent write and close (#10668) (@spikecurtis) - fix: disable flaky test TestSSH/RemoteForward_Unix_Signal (#10711) (@spikecurtis) - fix: disable autoupdate workspace setting when template setting enabled (#10662) (@sreya) - fix: show all experiments in deployments list if opted into (#10722) (@Kira-Pilot) - fix: close ssh sessions gracefully (#10732) (@spikecurtis) - fix: accept legacy redirect HTTP environment variables (#10748) (@spikecurtis) - fix(coderd): fix memory leak in `watchWorkspaceAgentMetadata` (#10685) (@mafredri) - fix(coderd/rbac): allow user admin all perms on ResourceUserData (#10556) (@johnstcn) - fix(scripts): forward all necessary ports for remote playwright (#10606) (@mafredri) - fix(site): fix favicon theme (#10497) (@BrunoQuaresma) - fix(site): fix health tooltip on deployment bar (#10502) (@BrunoQuaresma) - fix(site): fix dialog loading buttons displaying text over the spinner (#10501) (@BrunoQuaresma) - fix(site): fix user dropdown width (#10523) (@BrunoQuaresma) - fix(site): fix agent log error (#10557) (@BrunoQuaresma) - fix(site): fix bottom bar height (#10579) (@BrunoQuaresma) - fix(site): fix daylight savings date range issue (#10595) (@BrunoQuaresma) - fix(site): fix group name validation (#10739) (@BrunoQuaresma) - fix(site): fix scroll when having many build options (#10744) (@BrunoQuaresma) - fix(site): prevent overwriting of newest workspace data during optimistic updates (#10751) (@BrunoQuaresma) - fix(site/src/api): getDeploymentDAUs: truncate tz_offset to whole number (#10563) (@johnstcn) ### Code refactoring - refactor: revamp pagination UI view logic (#10567) (@Parkreiner) - refactor(cli): extract workspace list parameters (#10605) (@johnstcn) - refactor(site): minor improvements on users page popovers (#10492) (@BrunoQuaresma) - refactor(site): remove version and last built from workspace header (#10495) (@BrunoQuaresma) - refactor(site): simplify proxy menu (#10496) (@BrunoQuaresma) - refactor(site): make minor design tweaks and fix issues on more options menus (#10493) (@BrunoQuaresma) - refactor(site): improve first workspace creation time (#10510) (@BrunoQuaresma) - refactor(site): add minor design improvements on the setup page (#10511) (@BrunoQuaresma) - refactor(site): handle edge cases for non-admin users with no workspaces and templates (#10517) (@BrunoQuaresma) - refactor(site): improve templates empty state (#10518) (@BrunoQuaresma) - refactor(site): add version back to workspace header (#10552) (@BrunoQuaresma) - refactor(site): use generated Healthcheck API entities (#10650) (@mtojek) - refactor(site): adjust a few colors (#10750) (@BrunoQuaresma) - refactor(site): add minor tweaks to the workspace delete dialog (#10758) (@BrunoQuaresma) - refactor(site): replace secondary by primary color (#10757) (@BrunoQuaresma) - refactor(site): add minor improvements to the schedule controls (#10756) (@BrunoQuaresma) ### Tests - e36503afd test(codersdk/agentsdk): fix context cancel flush test (#10560) (@mafredri) ### Continuous integration - e976f5041 ci: bump the github-actions group with 2 updates (#10537) (@app/dependabot) - 4f3925d0b ci: close likely-no issues automatically (#10569) (@ammario) - 076db3148 ci: use actions/setup-go builtin cache (#10608) (@matifali) - 715bbd3ed ci: bump go to version 1.20.11 (#10631) (@matifali) - be0436afb ci: bump terraform version to 1.5.7 to match embedded terraform version (#10630) (@matifali) - 3f4791c9d ci: bump the github-actions group with 4 updates (#10649) (@app/dependabot) - c14c1cce1 ci: bump the github-actions group with 1 update (#10694) (@app/dependabot) ### Other changes - 5f0417d14 Fix nix-shell on macos (#10591) (@anunayasri) - 3200b85d8 Revert "chore: bump go.uber.org/goleak from 1.2.1 to 1.3.0 (#10398)" (#10444) (@spikecurtis) - 8ddc8b344 site: new dark theme (#10331) (@aslilac) - fc249fab1 skip TestCollectInsights (#10749) (@mtojek) Compare: [`v2.3.3...v2.4.0`](https://github.com/coder/coder/compare/v2.3.3...v2.4.0) ## Container image - `docker pull ghcr.io/coder/coder:v2.4.0` ## Install/upgrade Refer to our docs to [install](https://coder.com/docs/install) or [upgrade](https://coder.com/docs/admin/upgrade) Coder, or use a release asset below.