## Changelog

### Important changes

- Removed `coder reset-password` from slim binary (#9520) (@mafredri)
- VS Code Insiders is no longer a default
  [display app](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#nested-schema-for-display_apps).
  Keep reading for more details.

### Features

- You can install Coder with
  [Homebrew](https://formulae.brew.sh/formula/coder#default) (#9414) (@aslilac).
  Our [install script](https://coder.com/docs/v2/latest/install#install-coder) will
  also use Homebrew, if present on your machine.
- You can show/hide specific
  [display apps](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#nested-schema-for-display_apps)
  in your template, such as VS Code (Insiders), web terminal, SSH, etc. (#9100)
  (@sreya) To add VS Code insiders into your template, you can set:
  ```hcl
  display_apps {
    vscode_insiders = true
  }
  ```
  ![Add insiders](https://user-images.githubusercontent.com/4856196/263852602-94a5cb56-b7c3-48cb-928a-3b5e0f4e964b.png)
- Create a workspace from any template version (#9471) (@aslilac)
- Add DataDog Go tracer (#9411) (@ammario)
- Add user object to slog exporter (#9456) (@coadler)
- Make workspace batch deletion GA (#9313) (@BrunoQuaresma)

### Bug fixes

- Expired OIDC tokens will now redirect to login page (#9442) (@Emyrk)
- Avoid redirect loop on workspace proxies (#9389) (@deansheather)
- Stop dropping error log on context canceled after heartbeat (#9427)
  (@spikecurtis)
- Fix null pointer on external provisioner daemons with daily_cost (#9401)
  (@spikecurtis)
- Hide OIDC and Github auth settings when they are disabled (#9447) (@aslilac)
- Generate username with uuid to prevent collision (#9496) (@kylecarbs)
- Make 'NoRefresh' honor unlimited tokens in gitauth (#9472) (@Emyrk)
- Dotfiles: add an exception for `.gitconfig` (#9515) (@matifali)
- Close batcher to force flush before asserting agent stats (#9465) (@johnstcn)
- Ensure audit log json fields are formatted correctly (#9397) (@coadler)
- Correctly set default tags for PSK auth (#9436) (@johnstcn)
- Remove reference to non-existent local variable (#9448) (@denbeigh2000)
- Remove checkbox from ws table loader (#9441) (@BrunoQuaresma)
- Fix workspace parameters update when having immutable parameters (#9500)
  (@BrunoQuaresma)
- Re-add keepalives to tailnet (#9410) (@coadler)

### Documentation

- Add
  [JetBrains Gateway Offline Mode](https://coder.com/docs/v2/latest/ides/gateway#jetbrains-gateway-in-an-offline-environment)
  config steps (#9388) (@ericpaulsen)
- Describe
  [dynamic options and locals for parameters](https://github.com/coder/coder/tree/main/examples/parameters-dynamic-options)
  (#9429) (@mtojek)
- Add macOS installation page (#9443) (@aslilac)
- Explain why coder port-forward is more performant than dashboard and sshd
  (#9494) (@sharkymark)
- Add `CODER_TLS_ADDRESS` to documentation for TLS setup (#9503) (@RaineAllDay)

## Container image

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

## Install/upgrade

Refer to our docs to [install](https://coder.com/docs/v2/latest/install) or
[upgrade](https://coder.com/docs/v2/latest/admin/upgrade) Coder, or use a
release asset below.
