# Releases

Coder releases are cut directly from main in our
[GitHub](https://github.com/coder/coder) on the first Tuesday of each month.

We recommend enterprise customers test the compatibility of new releases with
their infrastructure on a staging environment before upgrading a production
deployment.

## Release channels

We support four primary release channels, as well as ad-hoc release candidates:

- **Mainline:** The bleeding edge version of Coder
- **Stable:** N-1 of the mainline release
- **Security Support:** N-2 of the mainline release
- **Extended Support Release:** Biannually released version of Coder
- **Release Candidates:** Ad-hoc builds to validate in-development features

We field our mainline releases publicly for one month before promoting them to stable. The security support version, so n-2 from mainline, receives patches
only for security issues or CVEs.

### Mainline releases

- Intended for customers with a staging environment
- Gives earliest access to new features
- May include minor bugs
- All bugfixes and security patches are supported

### Stable releases

- Safest upgrade/installation path
- May not include the latest features
- All bugfixes and security patches are supported

### Security Support

- In-product security vulnerabilities and CVEs are supported

For more information on feature rollout, see our
[feature stages documentation](https://coder.com/docs/install/releases/feature-stages.md).

### Extended Support Release

- Designed for organizations that prioritize long-term stability
- Receives only critical bugfixes and security patches
- Ideal for regulated environments or large deployments with strict upgrade cycles

ESR releases will be updated with critical bugfixes and security patches that are available to paying customers. This extended support model provides predictable, long-term maintenance for organizations that require enhanced stability. Because ESR forgoes new features in favor of maintenance and stability, it is best suited for teams with strict upgrade constraints. The latest ESR version is [Coder 2.29](https://github.com/coder/coder/releases/tag/v2.29.0).

For more information, see the [Coder ESR announcement](https://coder.com/blog/esr) or our [ESR Upgrade Guide](https://coder.com/docs/install/releases/esr-2.24-2.29-upgrade.md).

### Release Candidates

- Ad-hoc builds that Coder releases to validate in-development features with select customers
- Not guaranteed to be stable or free of bugs
- Features introduced in an RC are not guaranteed to be included in a mainline or stable release
- Not intended for production use

Release candidates give Coder a way to push out builds for customers and other users to try out new, under-development functionality without cutting a new minor version. Unlike mainline and stable releases, RCs do not follow a fixed schedule and carry no guarantees around stability or long-term support. They exist purely as a feedback mechanism: Coder can ship targeted builds, gather real-world input, and iterate before committing changes to the standard release channels.

## Installing stable

When installing Coder, we generally advise specifying the desired version from
our GitHub [releases page](https://github.com/coder/coder/releases).

You can also use our `install.sh` script with the `stable` flag to install the
latest stable release:

```shell
curl -fsSL https://coder.com/install.sh | sh -s -- --stable
```

Best practices for installing Coder can be found on our [install](https://coder.com/docs/install.md)
pages.

## Release schedule
<!-- Autogenerated release calendar from scripts/update-release-calendar.sh -->
<!-- RELEASE_CALENDAR_START -->
| Release name                                   | Release Date      | Status                   | Latest Release                                                   |
|------------------------------------------------|-------------------|--------------------------|------------------------------------------------------------------|
| [2.24](https://coder.com/changelog/coder-2-24) | July 01, 2025     | Extended Support Release | [v2.24.4](https://github.com/coder/coder/releases/tag/v2.24.4)   |
| [2.28](https://coder.com/changelog/coder-2-28) | November 04, 2025 | Not Supported            | [v2.28.11](https://github.com/coder/coder/releases/tag/v2.28.11) |
| [2.29](https://coder.com/changelog/coder-2-29) | December 02, 2025 | Extended Support Release | [v2.29.12](https://github.com/coder/coder/releases/tag/v2.29.12) |
| [2.30](https://coder.com/changelog/coder-2-30) | February 03, 2026 | Not Supported            | [v2.30.7](https://github.com/coder/coder/releases/tag/v2.30.7)   |
| [2.31](https://coder.com/changelog/coder-2-31) | February 23, 2026 | Security Support         | [v2.31.11](https://github.com/coder/coder/releases/tag/v2.31.11) |
| [2.32](https://coder.com/changelog/coder-2-32) | April 14, 2026    | Stable                   | [v2.32.1](https://github.com/coder/coder/releases/tag/v2.32.1)   |
| [2.33](https://coder.com/changelog/coder-2-33) | May 05, 2026      | Mainline                 | [v2.33.2](https://github.com/coder/coder/releases/tag/v2.33.2)   |
| 2.34                                           |                   | Not Released             | N/A                                                              |
<!-- RELEASE_CALENDAR_END -->

> [!TIP]
> We publish a
> [`preview`](https://github.com/coder/coder/pkgs/container/coder-preview) image
> `ghcr.io/coder/coder-preview` on each commit to the `main` branch. This can be
> used to test under-development features and bug fixes that have not yet been
> released to [`mainline`](#mainline-releases) or [`stable`](#stable-releases).
>
> The `preview` image is not intended for production use.

### January Releases

Releases on the first Tuesday of January **are not guaranteed to occur** because most of our team is out for the December holiday period. That being said, an ad-hoc release might still occur. We advise not relying on a January release, or reaching out to Coder directly to determine if one will be occurring closer to the release date.
