---
title: Release Support Policy
summary: Learn about Cockroach Labs' policy for supporting major releases of CockroachDB.
toc: true
toc_not_nested: true
docs_area: releases
---
{% assign DEBUG = false %}
{% assign today = "today" | date: "%Y-%m-%d" %} {% comment %} Fetch today's date. {% endcomment %}
{% assign versions = site.data.versions | where_exp: "versions", "versions.release_date <= today" | sort: "release_date" | reverse %} {% comment %} Get all versions (e.g., v21.2) sorted in reverse chronological order. {% endcomment %}
This page explains Cockroach Labs' policy for supporting [production releases]({% link releases/index.md %}) of CockroachDB {{ site.data.products.core }}. For clusters deployed in {{ site.data.products.cloud }}, refer to the [CockroachDB {{ site.data.products.cloud }} Support and Upgrade Policy]({% link cockroachcloud/upgrade-policy.md %}).
There are two major release types: [Regular and Innovation releases]({% link releases/index.md %}#release-schedule). Each offers a unique set of Support Types, which define the durations for each [support phase](#support-phases).
## Support phases
- **Maintenance Support**: Begins for a CockroachDB major version upon its [GA release]({% link releases/index.md %}#patch-releases). During this phase:
- Cockroach Labs will produce regular patch releases that include critical security fixes and resolutions to problems identified by users.
- Cockroach Labs may backport non-breaking enhancements produced for newer major versions.
- Cockroach Labs may direct customers to workarounds or other fixes applicable to a reported case.
- Cockroach Labs may recommend that customers [upgrade](https://www.cockroachlabs.com/docs/stable/upgrade-cockroach-version) to a later version of the product to resolve or further troubleshoot an issue.
- **Assistance Support**: Immediately follows the Maintenance Support phase for Regular releases. Innovation releases do not have an Assistance Support phase. During this phase:
- Feature enhancements will no longer be made available to the major release.
- Cockroach Labs will continue to add critical security fixes to the major release in the form of patch releases.
- Patch releases for the purpose of resolving bugs or other errors may no longer be made to the major release.
- Cockroach Labs may direct customers to workarounds or other fixes applicable to the reported case.
- Cockroach Labs may direct customers to [upgrade](https://www.cockroachlabs.com/docs/stable/upgrade-cockroach-version) to a later version of CockroachDB to resolve or further troubleshoot an issue.
- **Unsupported**: The day that a major version’s final support period ends is its unsupported date. After a version reaches end of life, Cockroach Labs provides no further support for the release.
- A Regular release reaches unsupported at the Assistance Support phase's end date.
- An Innovation release reaches unsupported at the Maintenance Support phase's end date.
## Support types
### Regular releases
Initially, a Regular release series has GA Support. After the series demonstrates a continuously high level of stability and performance, new patch releases are designated as LTS releases, which have an extended support window for each [support phase](#support-phases): Maintenance Support, Assistance Support, and Unsupported versions.
- **GA Support**: The default support type for production releases, starting with the initial production release of a major version, followed by each subsequent patch release before LTS releases begin for that major version.
- **Maintenance support ends**:
- **365 days** **after** the day of the **first production release** of the major version (i.e. the ‘GA release,’ ending in .0).
- **Assistance support ends**:
- **180 days after** the **Maintenance Support end date** of the release.
- Major versions prior to v23.1 will not have LTS releases.
- **LTS (Long-Term Support)**: Conferred to an initial LTS maintenance release of a given major version and its subsequent maintenance releases. LTS provides extended support windows while also indicating our highest level of expected release stability and performance.
- **Maintenance support ends**:
- **365 days** **after** the day of the **first LTS release** of the major version.
- **Assistance support ends**:
- **365 days after** the **Maintenance Support end date** of the release.
### Innovation releases
Innovation releases do not have LTS releases.
- **Innovation Support**:
- **Maintenance Support ends:**
- **180 days after** the day of the **first production release** of the major version.
Innovation releases are not eligible for Assistance Support, and reach EOL at the end of Maintenance Support.
## Supported versions
| Major Version |
Patch Versions |
Support Type |
Initial Release |
Maintenance Support ends |
Assistance Support ends |
{% for v in versions %}
{% assign r_latest = site.data.releases | where_exp: "r_latest", "r_latest.major_version == v.major_version" | where_exp: "r_latest", "r_latest.withdrawn != true" | sort: "release_date" | last | map: "version" %} {% comment %} Calculate the latest non-withdrawn release for a version v. {% endcomment %}
{% comment %}Convert version (string) to numeric{% endcomment %}
{% assign major_version_numeric = v.major_version | remove_first: "v" | times:1 %}
{% comment %}Initialize local variables {% endcomment %}
{% assign r_eol = false %}
{% assign r_has_lts = false %}
{% assign r_lts_eol = false %}
{% assign will_never_have_lts = false %}
{% assign skippable = false %}
{% comment %}v23.1 and future will have LTS {% endcomment %}
{% if major_version_numeric < 23.1 %}
{% assign will_never_have_lts = true %}
{% endif %}
{% comment %}Releases with a release date and no assistance date are skippable{% endcomment %}
{% if v.release_date != "N/A" and v.maint_supp_exp_date != "N/A" and v.asst_supp_exp_date == "N/A" %}
{% assign skippable = true %}
{% assign will_never_have_lts = true %}
{% endif %}
{% comment %}Evaluate whether the version is EOL for GA or LTS or both{% endcomment %}
{% if v.asst_supp_exp_date != "N/A" and v.asst_supp_exp_date < today and skippable == false %}
{% comment %}GA releases in this version are EOL{% endcomment %}
{% assign r_eol = true %}
{% if v.lts_asst_supp_exp_date != "N/A" %}
{% comment %}This major version has LTS releases{% endcomment %}
{% assign r_has_lts = true %}
{% if v.lts_asst_supp_exp_date < today %}
{% comment %}LTS releases exist for this major version and are EOL{% endcomment %}
{% assign r_lts_eol = true %}
{% endif %}
{% endif %}
{% elsif v.asst_supp_exp_date == "N/A" and v.maint_supp_exp_date != "N/A" and v.maint_supp_exp_date < today and skippable == true %}
{% comment %}GA releases in this version are EOL{% endcomment %}
{% assign r_eol = true %}
{% endif %}
{% comment %}Evaluate whether skippable versions are EOL{% endcomment %}
{% if v.asst_supp_exp_date == "N/A" and v.maint_supp_exp_date < today and skippable == true %}
{% comment %}GA releases in this version are EOL{% endcomment %}
{% assign r_eol = true %}
{% endif %}
{% if DEBUG %}
v.major_version: {{ v.major_version }}
major_version_numeric: {{ major_version_numeric }}
skippable: {{ skippable }}
r_eol: {{ r_eol }}
r_lts_eol: {{ r_lts_eol }}
{% endif %}
{% if r_lts_eol != true %}
{% comment %}Only show non-EOL releases {% endcomment %}
{% if v.initial_lts_patch != "N/A" %}{% comment %} For LTS releases print an LTS row first{% endcomment %}
| {{ v.major_version }} |
{% if v.initial_lts_patch != "N/A" %}{{ v.initial_lts_patch }}+{% endif %} |
LTS |
{{ v.initial_lts_release_date }} |
{% if v.lts_maint_supp_exp_date != "N/A" %}{{ v.lts_maint_supp_exp_date }}{% endif %} |
{{ v.lts_asst_supp_exp_date }} |
{% endif %}
{% comment %}
For regular releases not yet in LTS, add a link to the first footnote
For currently supported skippable releases, add a link to the second footnote
{% endcomment %}
{% if r_eol != true %}
| {{ v.major_version }}{% if will_never_have_lts == false and v.initial_lts_patch == "N/A" %} *{% elsif skippable == true %} **{% endif %} |
{% if v.last_ga_patch != "N/A" %}{{ v.major_version }}.0 - {{ v.last_ga_patch }}{% else %}{{ v.major_version }}.0+{% endif %} |
{% if skippable == true %}Innovation{% else %}GA{% endif %} |
{{ v.release_date }} |
{% if v.maint_supp_exp_date != "N/A" %}{{ v.maint_supp_exp_date }}{% endif %} |
{{ v.asst_supp_exp_date }} |
{% endif %}
{% endif %}
{% endfor %} {% comment %} Display each non-EOL version, its release date, its maintenance support expiration date, and its assistance support expiration date, and its LTS maintenance and assistance support dates. Also include links to the latest hotfix version. {% endcomment %}
* : This major version will receive LTS patch releases, which will be listed on an additional row, upon their availability.
** : This major version is an optional innovation release and will not receive receive LTS patch releases. Innovation releases are EOL when Maintenance Support ends.
## Unsupported versions
The following versions of CockroachDB are no longer supported.
{{ site.data.alerts.callout_info }}
Once a major version is older than four years from its GA release date, the links to its binaries and corresponding Docker images will be unpublished.
{{ site.data.alerts.end }}
| Major Version |
Patch Versions |
Support Type |
Initial Release |
Maintenance Support ended |
Assistance Support ended |
{% for v in versions %}
{% assign r_latest = site.data.releases | where_exp: "r_latest", "r_latest.major_version == v.major_version" | where_exp: "r_latest", "r_latest.withdrawn != true" | sort: "release_date" | last | map: "version" %} {% comment %} Calculate the latest non-withdrawn release for a version v. {% endcomment %}
{% comment %}Convert version (string) to numeric{% endcomment %}
{% assign major_version_numeric = v.major_version | remove_first: "v" | times:1 %}
{% comment %}Initialize local variables {% endcomment %}
{% assign r_eol = false %}
{% assign r_has_lts = false %}
{% assign r_lts_eol = false %}
{% assign will_never_have_lts = false %}
{% assign skippable = false %}
{% comment %}v23.1 and future will have LTS {% endcomment %}
{% if major_version_numeric < 23.1 %}
{% assign will_never_have_lts = true %}
{% endif %}
{% comment %}Releases with a release date and no assistance date are skippable{% endcomment %}
{% if v.asst_supp_exp_date == "N/A" %}
{% assign skippable = true %}
{% assign will_never_have_lts = true %}
{% endif %}
{% comment %}Evaluate whether the version is EOL for GA or LTS or both{% endcomment %}
{% if v.asst_supp_exp_date != "N/A" and v.asst_supp_exp_date < today and skippable == false %}
{% comment %}GA releases in this version are EOL{% endcomment %}
{% assign r_eol = true %}
{% if v.lts_asst_supp_exp_date != "N/A" %}
{% comment %}This major version has LTS releases{% endcomment %}
{% assign r_has_lts = true %}
{% if v.lts_asst_supp_exp_date < today %}
{% comment %}LTS releases exist for this major version and are EOL{% endcomment %}
{% assign r_lts_eol = true %}
{% endif %}
{% endif %}
{% endif %}
{% comment %}Evaluate whether skippable versions are EOL{% endcomment %}
{% if v.asst_supp_exp_date == "N/A" and v.maint_supp_exp_date < today and skippable == true %}
{% comment %}GA releases in this version are EOL{% endcomment %}
{% assign r_eol = true %}
{% endif %}
{% if DEBUG %}
v.major_version: {{ v.major_version }}
major_version_numeric: {{ major_version_numeric }}
skippable: {{ skippable }}
r_eol: {{ r_eol }}
r_lts_eol: {{ r_lts_eol }}
{% endif %}
{% if r_eol == true %}
{% if r_lts_eol == true %}
{% comment %} For LTS releases print an LTS row first{% endcomment %}
| {{ v.major_version }} |
{{ v.initial_lts_patch }}+ |
LTS |
{{ v.initial_lts_release_date }} |
{% if v.lts_maint_supp_exp_date != "N/A" %}{{ v.lts_maint_supp_exp_date }}{% endif %} |
{{ v.lts_asst_supp_exp_date }} |
{% endif %}
{% comment %} Always print a GA row{% endcomment %}
| {{ v.major_version }}{% if skippable == true %} *{% endif %} |
{% if v.last_ga_patch != "N/A" %}{{ v.major_version }}.0 - {{ v.last_ga_patch }}{% else %}{{ v.major_version }}.0+{% endif %} |
{% if skippable == true %}Innovation{% else %}GA{% endif %} |
{{ v.release_date }} |
{% if v.maint_supp_exp_date != "N/A" %}{{ v.maint_supp_exp_date }}{% endif %} |
{{ v.asst_supp_exp_date }} |
{% endif %}
{% endfor %} {% comment %} Display each EOL version, its release date, its maintenance support expiration date, and its assistance support expiration date, and its LTS maintenance and assistance support dates. Also include links to the latest hotfix version. {% endcomment %}
* : This EOL major version is an optional innovation release. Innovation releases do not receive LTS releases and are EOL when Maintenance Support ends.