## Changelog

### Important changes

- Coder now only displays license warnings to privileged users (#10096) (@sreya)

### Features

- Add "Create Workspace" button to the workspaces page (#10011) (@Parkreiner)
  <img src="https://user-images.githubusercontent.com/22407953/274334225-427095e4-d047-4cd6-80e7-744fa05ac3bf.png" alt="create workspace" width="600" />
- Add support for [database encryption for user tokens](https://coder.com/docs/admin/encryption#database-encryption).
  > This is an [Enterprise feature](https://coder.com/docs/enterprise).
- Show descriptions for parameter options (#10068) (@aslilac)
  <img src="https://user-images.githubusercontent.com/418348/272730560-6a9a9c45-5493-4344-94b8-2892d3e9347f.png" width="500" alt="parameter descriptions" />
- Allow reading the agent token from a file (#10080) (@kylecarbs)
- Adjust favicon based on system color-scheme (#10087) (@kylecarbs)
- Add API support for workspace automatic updates (#10099) (@spikecurtis)
- Show user limit on active users chart (#10101) (@mtojek)
- Add logging for forwarded TCP connections (@spikecurtis)
- Add /icons page to browse static icons for templates, `coder_apps`, and parameters (#10093) (@aslilac)
  <img src="https://user-images.githubusercontent.com/22407953/274330463-cf91021b-7dcf-490d-959c-d79e31b4b4d2.png" width="600" alt="icons page" />
  > Navigate to `https://coder.your-company.com/icons` to view this page.
- You can select icons from the emoji picker in template settings (#10119) (@aslilac)
  <img src="https://user-images.githubusercontent.com/22407953/274330990-8d577ba3-2745-4ff4-8b40-99167d02091d.png" width="600" alt="icon picker" />
- Add shebang support to scripts (#10134) (@kylecarbs)
- Improve logging for reconnectingPTY (web terminal) connections (@spikecurtis)
- Improve logging for speedtest connections (@spikecurtis)
- Add `request_id` to HTTP trace spans (#10145) (@coadler)
- Add `external-auth` cli (#10052) (@kylecarbs)
- Add warning message when trying to delete active template (#10142) (@Parkreiner)
- Add `--version` flag to `coder templates pull`, default to active version (#10153) (@coadler)
- Support configurable web terminal rendering (#10095) (@sreya)
- Allow prefixes at the beginning of subdomain app hostnames (#10150) (@deansheather)
- Failed template versions can be archived to hide them from the UI (#10179) (@Emyrk)
  <img src="https://user-images.githubusercontent.com/22407953/274340359-847949b9-6e25-44ef-a9c3-935e40890c65.png" alt="archive version" />
- Add --parameter flag to `exp scaletest` command (#10132) (@johnstcn)
- Add `coder users delete` command (#10115) (@coadler)
- Create a "Load More" button for previous builds (#10076) (@BrunoQuaresma)
- Parameters can now be disabled via "Open in Coder" buttons (#10114) (@Kira-Pilot)

### Bug fixes

- Allow auditors to query deployment stats and insights (#10058) (@kylecarbs)
- Update the validation url for GitHub enterprise (#10061) (@kylecarbs)
- Allow all environment variables to fallback prefix to `HOMEBREW_` (#10050) (@kylecarbs)
- Change alpha badge color to violet (#10029) (@sreya)
- Add `--version` flag to the root to support migrating customers (#10063) (@kylecarbs)
- Only allow promoting successful template versions (#9998) (@aslilac)
- Fix failed workspaces continuously auto-deleting (#10069) (@sreya)
- Add build status favicons based on system theme (#10089) (@kylecarbs)
- Use proper state in system theme (#10090) (@kylecarbs)
- Apply the same border for button groups (#10092) (@kylecarbs)
- Use proper react hook for favicon theme (#10094) (@kylecarbs)
- Invert the favicon on dark mode (#10097) (@kylecarbs)
- Update ErrorDialog logic and tests (#10111) (@Parkreiner)
- Check for nil pointer in AwaitWorkspaceAgents (@spikecurtis)
- Properly trim spaces so multi-line shebang executes (#10146) (@kylecarbs)
- Apply default `ExtraTokenKeys` to oauth (#10155) (@kylecarbs)
- Use query to get external-auth by id (#10156) (@kylecarbs)
- Correct escaping in test regex (#10138) (@spikecurtis)
- Use CRC32 to shorten app subdomain (@mtojek)
- Use is-dormant instead of dormant_at (#10191) (@sreya)
- Append external auth env vars (#10201) (@kylecarbs)
- Ignore spurious node updates while waiting for errors (#10175) (@spikecurtis)
- Stop leaking User into API handlers unless authorized (@spikecurtis)
- Fix log spam related to skipping custom nice scores (#10206) (@sreya)
- Remove Parallel() call after timeout context (#10203) (@spikecurtis)
- Prevent sqlDB leaks in ConnectToPostgres (#10072) (@mafredri)
- Properly check for missing organization membership (@coadler)
- Impvove ctx cancel in agent logs flush, fix test (#10214) (@mafredri)
- Properly detect legacy agents (#10083) (@coadler)
- 5d5a7da67 fix(scaletest): output error and trace instead of {} for json output (#10075) (@mafredri)
- ed8092c83 fix(scaletest/createworkspaces): address race condition between agent closer and cleanup (#10210) (@johnstcn)
- b3471bd23 fix(scaletest/dashboard): increase viewport size and handle deadlines (#10197) (@johnstcn)
- e829cbf2d fix(scaletest/dashboard): fix early exit due to validate (#10212) (@johnstcn)
- Disable auto fields when they are disabled in the template settings (#10022) (@BrunoQuaresma)
- Fix chart label depending on interval (#10059) (@BrunoQuaresma)
- Fix users page for template admins (#10060) (@BrunoQuaresma)
- Change `utils/delay` import path (#10065) (@coadler)
- Fix logo width on sign in (#10091) (@BrunoQuaresma)
- Fix week range for insights (#10173) (@BrunoQuaresma)

### Documentation

- Update offline Terraform provider config (#10062) (@ericpaulsen)

---

Compare: [`v2.2.1...v2.3.0`](https://github.com/coder/coder/compare/v2.2.1...v2.3.0)

## Container image

- `docker pull ghcr.io/coder/coder:v2.2.2`

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