Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix display issues with Testing releases on What's New and Releases index #19016

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions src/current/_includes/releases/whats-new-intro.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{% assign DEBUG = false %}
{% assign branched = false %}
{% assign released = false %}
{% assign old = false %}
{% assign no_highlights = false %}
{% assign skippable = false %}
Expand Down Expand Up @@ -33,6 +34,7 @@
page.major_version == 'v22.1' or
page.major_version == 'v22.2' %}
{% assign branched = true %}
{% assign released = true %}
{% assign no_highlights = true %}
{% assign will_never_have_lts = true %}
{% endif %}
Expand All @@ -58,6 +60,7 @@
{% comment %}Is it skippable or LTS?{% endcomment %}

{% if include.major_version.release_date != "N/A" %}
{% assign released = true %}
Comment on lines 62 to +63
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This date is pulled from versions.csv right? Wouldn't this require us to ensure we leave the release date as "N/A" there until the GA PR, i.e. not include the future planned GA date when we create the row or on alpha.1? (That could be our policy, but it's hard to enforce/test.)

Should we instead determine whether a major version is GA-released based on a test of whether releases.yaml has a release_name value of <major_version>.0?

Your code works as written with the above caveat, so I'm happy to have you merge and I can raise an issue for possible iteration, if you don't fully support making that change now (due to complexity / lack of urgency / etc).

{% if include.major_version.asst_supp_exp_date == "N/A" %}
{% assign skippable = true %}
{% elsif include.major_version.initial_lts_patch != "N/A" %}
Expand All @@ -69,25 +72,31 @@
include.major_version: {{ include.major_version }}<br />
page.major_version: {{ page.major_version }}<br />
branched: {{ branched }}<br />
released: {{ released }}<br />
will_never_have_lts: {{ will_never_have_lts }}<br />
lts: {{ lts }}<br />
skippable: {{ skippable }}<br />
no_highlights: {{ no_highlights }}<br />
<br />
{% endif %}

{% if skippable == true %}
CockroachDB {{ page.major_version }} is an [Innovation Release]({% link releases/release-support-policy.md %}#support-types), which is optional for CockroachDB {{ site.data.products.dedicated }} and CockroachDB {{ site.data.products.core }} clusters but is required for CockroachDB {{ site.data.products.serverless }}.
{% else %}
{% if released == false %}
CockroachDB {{ page.major_version }} is in active development, and the following [testing releases]({% link releases/index.md %}#release-types) are intended for testing and experimentation only, and are not qualified for production environments or eligible for support or uptime SLA commitments. When CockroachDB {{ page.major_version }} is Generally Available (GA), production releases will also be announced on this page.
{% else %}{% comment %}Begin GA-only content{% endcomment %}
{% if skippable == true %}
CockroachDB {{ page.major_version }} is an [Innovation Release]({% link releases/release-support-policy.md %}#support-types), which is optional for CockroachDB {{ site.data.products.advanced }}, CockroachDB {{ site.data.products.standard }}, and CockroachDB {{ site.data.products.core }} clusters but is required for CockroachDB {{ site.data.products.basic }}.
{% else %}
CockroachDB {{ page.major_version }}{% if lts == true %} [(LTS)]({% link releases/release-support-policy.md %}#support-phases){% endif %} is a required [Regular Release]({% link releases/release-support-policy.md %}#support-types).
{% endif %}
{% endif %}

Refer to [Major release types]({% link releases/release-support-policy.md %}#support-types) before installing or upgrading for release timing and support details.{% if no_highlights == false %} To learn what’s new in this release, refer to its [Feature Highlights](#feature-highlights).{% endif %}

On this page, you can read about changes and find downloads for all production and testing releases of CockroachDB {{ page.major_version }}{% if lts == true %}&nbsp;[(LTS)]({% link releases/release-support-policy.md %}#support-phases){% endif %}


{% comment %}v1.0 has no #v1-0-0 anchor, and before GA other releases also do not.{% endcomment %}
- For key feature enhancements in {{ page.major_version }} and other upgrade considerations, refer to the notes for {% if include.major_version.release_date != 'N/A' and page.major_version != 'v1.0' %}[{{ page.major_version }}.0](#{{ page.major_version | replace: '.', '-' }}-0){% else %}{{ page.major_version }} on this page{% endif %}.
{% endif %}{% comment %}End GA-only content{% endcomment %}
- For details about release types, naming, and licensing, refer to the [Releases]({% link releases/index.md %}) page.
- Be sure to also review the [Release Support Policy]({% link releases/release-support-policy.md %}).
- {{ install_sentence | strip_newlines }}
Expand Down
51 changes: 28 additions & 23 deletions src/current/releases/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ indented in relation to the other Liquid. Please try to keep the indentation con

This page explains the types and naming of CockroachDB releases and provides access to the release notes and downloads for all CockroachDB [releases](#downloads).

A new major version of CockroachDB is released quarterly. After a series of testing releases, each major version receives an initial production release, follwed by a series of patch releases.
A new major version of CockroachDB is released quarterly. After a series of testing releases, each major version receives an initial production release, followed by a series of patch releases.

Releases are named in the format `vYY.R.PP`, where `YY` indicates the year, `R` indicates the major release starting with `1` each year, and `PP` indicates the patch number, starting with `0`.

Expand All @@ -47,21 +47,21 @@ Be sure to review Cockroach Labs' [Release Support Policy]({% link releases/rele

#### Major releases

As of 2024, every second major version is an **Innovation release**. For CockroachDB {{ site.data.products.core }} and CockroachDB {{ site.data.products.dedicated }}, these releases offer shorter support windows and can be skipped.
As of 2024, every second major version is an **Innovation release**. For CockroachDB {{ site.data.products.core }}, CockroachDB {{ site.data.products.standard }}, and CockroachDB {{ site.data.products.advanced }}, these releases offer shorter support windows and can be skipped. Innovation releases are required for CockroachDB {{ site.data.products.basic }}.

All other major versions are **Regular releases**, which are required upgrades. These versions offer longer support periods, which, for self-hosted clusters, are further extended when a patch version is announced that begins their **LTS** (Long-Term Support) release series.
All other major versions are **Regular releases**, which are required upgrades. These versions offer longer support periods, which, for CockroachDB {{ site.data.products.core }} clusters, are further extended when a patch version is announced that begins their **LTS** (Long-Term Support) release series.

For details on how this impacts support in CockroachDB {{ site.data.products.core }}, refer to [Release Support Policy]({% link releases/release-support-policy.md %}). For details on support per release type in CockroachDB Cloud, refer to [CockroachDB Cloud Support and Upgrade Policy]({% link cockroachcloud/upgrade-policy.md %}).
For details on how LTS impacts support in CockroachDB {{ site.data.products.core }}, refer to [Release Support Policy]({% link releases/release-support-policy.md %}). For details on support per release type in CockroachDB Cloud, refer to [CockroachDB Cloud Support and Upgrade Policy]({% link cockroachcloud/upgrade-policy.md %}).

| Major Release Type | Frequency | Required upgrade | LTS releases and extended support |
| :---: | :---: | :---: | :---: |
| Regular (e.g. v24.1) | 2x/year | on Dedicated, Serverless, Self-Hosted | Yes |
| Innovation (e.g. v24.2) | 2x/year | on Serverless only | No<sup style="font-size: 0.9em; vertical-align: -0.3em;">*</sup> |
<small>* Column does not apply to CockroachDB Serverless, where clusters are automatically upgraded when a new major version or a patch release is available, ensuring continuous support.</small>
| Regular (e.g. v24.1) | 2x/year | Yes | Yes |
| Innovation (e.g. v24.2) | 2x/year | on Basic only | No<sup style="font-size: 0.9em; vertical-align: -0.3em;">*</sup> |
<small>* Column does not apply to CockroachDB Basic, where clusters are automatically upgraded when a new major version or a patch release is available, ensuring continuous support.</small>

For a given CockroachDB {{ site.data.products.core }} or Dedicated cluster, customers may choose to exclusively install or upgrade to Regular Releases to benefit from longer testing and support lifecycles, or to also include Innovation Releases, and benefit from earlier access to new features. This choice does not apply to CockroachDB Serverless, where every major release is an automatic upgrade.
For a given CockroachDB {{ site.data.products.core }}, CockroachDB {{ site.data.products.standard }}, or CockroachDB {{ site.data.products.advanced }} cluster, customers may choose to exclusively install or upgrade to Regular Releases to benefit from longer testing and support lifecycles, or to also include Innovation Releases, and benefit from earlier access to new features. This choice does not apply to CockroachDB {{ site.data.products.basic }}, where every major release is an automatic upgrade.

CockroachDB v24.2 is an Innovation release and v24.3 is planned as a Regular release. Starting with v25.1, four major releases are expected per year, where every first and third release of the year is expected to be an Innovation release. For more details, refer to [Upcoming releases](#upcoming-releases).
CockroachDB v24.2 is an Innovation release and v24.3 is a Regular release. Starting with v25.1, four major releases are expected per year, where every first and third release of the year is expected to be an Innovation release. For more details, refer to [Upcoming releases](#upcoming-releases).

#### Patch releases

Expand Down Expand Up @@ -155,29 +155,29 @@ The following releases and their descriptions represent proposed plans that are
Determine if the major version is LTS and the patch component of the initial LTS patch,
or the major version is a skippable innovation release
{% endcomment %}
{% assign released = false %}
{% assign has_lts_releases = false %}
{% assign lts_link_linux = '' %}
{% assign lts_patch = nil %}
{% assign in_lts = false %}
{% assign comparison = nil %}
{% assign skippable = false %}
{% if v.initial_lts_patch != "N/A" %}
{% assign has_lts_releases = true %}
{% assign lts_link = '&nbsp;(<a href="release-support-policy.html">LTS</a>)&nbsp;' %}
{% capture lts_patch_string %}{{ v.initial_lts_patch | split: '.' | shift | shift }}{% endcapture %}
{% assign lts_patch = lts_patch_string | times: 1 %}{% comment %}Cast string to integer {% endcomment %}
{% elsif v.release_date != "N/A" and v.maint_supp_exp_date != "N/A" and v.asst_supp_exp_date == "N/A" %}
{% assign skippable = true %}
{% if v.release_date != "N/A" and v.maint_supp_exp_date != "N/A" %}
Copy link
Contributor

@mikeCRL mikeCRL Oct 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this might have the same issue/question with checking release_date for "N/A" that I mentioned in my other comment, but I'm not sure why maint_supp_exp_date is included here. (Isn't it redundant; we expect that for any GA release, we'd have both?) (Moot point if we were to switch the logic to look at releases.yaml, of course, but I am assume we won't do that right now.)

{% assign released = true %}
{% if v.asst_supp_exp_date == "N/A" %}
{% assign skippable = true %}
{% elsif v.initial_lts_patch != "N/A" %}
{% assign has_lts_releases = true %}
{% assign lts_link = '&nbsp;(<a href="release-support-policy.html">LTS</a>)&nbsp;' %}
{% capture lts_patch_string %}{{ v.initial_lts_patch | split: '.' | shift | shift }}{% endcapture %}
{% assign lts_patch = lts_patch_string | times: 1 %}{% comment %}Cast string to integer {% endcomment %}
{% endif %}
{% endif %}

### {{ v.major_version }}

{% assign skippable = false %}
{% 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 %}
{% endif %}

{% if DEBUG == true %}
released: {{ released }}<br />
has_lts_releases: {{ has_lts_releases }}<br />
lts_patch_string: {{ lts_patch_string }}<br />
lts_patch: {{ lts_patch }}<br />
Expand All @@ -189,7 +189,11 @@ The following releases and their descriptions represent proposed plans that are
skippable: {{ skippable }}<br /><br />
{% endif %}

CockroachDB {{ v.major_version }} is {% if skippable == true %}an [Innovation release]({% link releases/release-support-policy.md %}#innovation-releases) that is optional for CockroachDB {{ site.data.products.dedicated }} and CockroachDB {{ site.data.products.core }} but required for CockroachDB {{ site.data.products.serverless }}.{% else %}a required [Regular release]({% link releases/release-support-policy.md %}#regular-releases).{% endif %}{% if released == false %} It is still in development and not yet supported.{% endif %}{% unless latest_full_production_version.release_name != v.major_version %} CockroachDB {{ latest_full_production_version.release_name }} is the latest supported version.{% endunless %} To learn more, refer to [CockroachDB {{ latest.major_version }} Release Notes]({% link releases/{{ v.major_version }}.md %}).
{% if released == false %}
CockroachDB {{ page.major_version }} is in active development and is not yet supported. The following [testing releases]({% link releases/index.md %}#release-types) are intended for testing and experimentation only, and are not qualified for production environments or eligible for support or uptime SLA commitments. When CockroachDB {{ page.major_version }} is Generally Available (GA), production releases will also be announced on this page.
Copy link
Contributor

@mikeCRL mikeCRL Oct 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
CockroachDB {{ page.major_version }} is in active development and is not yet supported. The following [testing releases]({% link releases/index.md %}#release-types) are intended for testing and experimentation only, and are not qualified for production environments or eligible for support or uptime SLA commitments. When CockroachDB {{ page.major_version }} is Generally Available (GA), production releases will also be announced on this page.
CockroachDB {{ page.major_version }} is in active development and is not yet supported. The following [testing releases]({% link releases/index.md %}#patch-releases) are intended for testing and experimentation only, and are not qualified for production environments or eligible for support or uptime SLA commitments. When CockroachDB {{ page.major_version }} is Generally Available (GA), production releases will also be announced on this page.

There's a lot for the reader to get through in the subheading Release types > Major releases which is not really relevant, so I figure it's better to link directly to Release types > Patch releases, which has the definitions of Production and Testing releases.

{% else %}
CockroachDB {{ v.major_version }} is {% if skippable == true %}an [Innovation release]({% link releases/release-support-policy.md %}#innovation-releases) that is optional for CockroachDB {{ site.data.products.advanced }}, CockroachDB {{ site.data.products.standard }}, and CockroachDB {{ site.data.products.core }} but required for CockroachDB {{ site.data.products.basic }}.{% else %}a required [Regular release]({% link releases/release-support-policy.md %}#regular-releases).{% endif %}{% if released == false %} It is still in development and not yet supported.{% endif %}{% unless latest_full_production_version.release_name != v.major_version %} CockroachDB {{ latest_full_production_version.release_name }} is the latest supported version.{% endunless %} To learn more, refer to [CockroachDB {{ latest.major_version }} Release Notes]({% link releases/{{ v.major_version }}.md %}).
{% endif %}

Refer to [Major release types](#major-releases) before installing or upgrading for release support details.
{% comment %}Some old pages don't have feature highlights and won't get LTS{% endcomment %}
Expand All @@ -204,7 +208,8 @@ Refer to [Major release types](#major-releases) before installing or upgrading f
v.major_version == 'v21.1' or
v.major_version == 'v21.2' or
v.major_version == 'v22.1' or
v.major_version == 'v22.2' %}
v.major_version == 'v22.2' or
released == false %}
To learn what’s new in this release, refer to [Feature Highlights]({% link releases/{{ v.major_version }}.md %}#feature-highlights).
{% endunless %}

Expand Down
8 changes: 0 additions & 8 deletions src/current/releases/v24.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,3 @@ docs_area: releases
{% else %}
No releases are available for this version. See the [Releases]({% link releases/index.md %}) page for all available releases.
{% endif %}

{% comment %}TODO: Remove these on GA{% endcomment %}

<a id="v24-3-0-backward-incompatible-changes"></a>
<a id="v24-3-0-deprecations"></a>
<a id="v24-3-0-cluster-settings"></a>
<a id="feature-highlights"></a>
<a id="v24-3-0"></a>
Loading