From cdbdc5994355ee1b4dab86d2b3251a998760d6ca Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Wed, 12 Nov 2025 15:14:44 -0700 Subject: [PATCH 1/6] wip document customer-facing required releases behavior --- docs/vendor/releases-about.mdx | 25 ++++++++++++++---- docs/vendor/releases-creating-releases.mdx | 23 +++++++++++++--- .../enterprise-portal-required-releases.png | Bin 0 -> 10228 bytes 3 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 static/images/enterprise-portal-required-releases.png diff --git a/docs/vendor/releases-about.mdx b/docs/vendor/releases-about.mdx index 0ad757dcd7..2ad6872a43 100644 --- a/docs/vendor/releases-about.mdx +++ b/docs/vendor/releases-about.mdx @@ -1,6 +1,5 @@ import ChangeChannel from "../partials/customers/_change-channel.mdx" import RequiredReleasesLimitations from "../partials/releases/_required-releases-limitations.mdx" -import RequiredReleasesDescription from "../partials/releases/_required-releases-description.mdx" import VersionLabelReqsHelm from "../partials/releases/_version-label-reqs-helm.mdx" # About Channels and Releases @@ -120,13 +119,29 @@ As shown in the screenshot above, the release has the following properties: -* **Requirements**: Select **Prevent this release from being skipped during upgrades** to mark the release as required. +* **Requirements**: Enable **Prevent this release from being skipped during upgrades** to mark the release as required. For more information, [Required Releases](#required-releases). - +* **Release notes (supports markdown)**: Detailed release notes for the release. The release notes support markdown and are shown to your customer. - +### Required Releases -* **Release notes (supports markdown)**: Detailed release notes for the release. The release notes support markdown and are shown to your customer. +You can enable the **Prevent this release from being skipped during upgrades** release property to mark the release as required. When a release is required, your customers that use Embedded Cluster, KOTS, or kURL must upgrade to the required version before they can upgrade to a later version. For example, if release version 2.0.0 is marked as required, users with 1.5.0 deployed must upgrade to 2.0.0 before they can upgrade to 2.1.0. + +Required releases are indicated to your customers in the Admin Console and the Replicated Enterprise Portal. + +![release version list in enterprise portal](/images/enterprise-portal-required-releases.png) + +[View a larger version of this image](/images/enterprise-portal-required-releases.png) + +If this is a new install, where the Enterprise Portal does not know of any existing install versions of the app, then the list allows any version to be selected. If this is an upgrade, and the Enterprise Portal has awareness of the currently installed version, the customer will be unable to select any version later than the required version. + +#### Limitations + +Required releases have the following limitations: + +* After users deploy a required version, they can no longer redeploy (roll back to) versions earlier than the required version, even if `allowRollback` is true in the Application custom resource manifest. For more information, see [`allowRollback`](/reference/custom-resource-application#allowrollback) in the Application custom resource topic. +* If you change the channel an existing customer is assigned to, the Admin Console always fetches the latest release on the new channel, regardless of any required releases on the channel. For more information, see [Channel Assignment](licenses-about#channel-assignment) in _About Customers_. +* Required releases are not supported for Helm CLI installations. The **Prevent this release from being skipped during upgrades** option has no affect when the user installs with Helm. ## About Using Semantic Versioning {#semantic-versioning} diff --git a/docs/vendor/releases-creating-releases.mdx b/docs/vendor/releases-creating-releases.mdx index e32cda29a0..467f8ef530 100644 --- a/docs/vendor/releases-creating-releases.mdx +++ b/docs/vendor/releases-creating-releases.mdx @@ -1,6 +1,3 @@ -import RequiredReleasesLimitations from "../partials/releases/_required-releases-limitations.mdx" -import RequiredReleasesDescription from "../partials/releases/_required-releases-description.mdx" - # Manage Releases with the Vendor Portal This topic describes how to use the Replicated Vendor Portal to create and promote releases, edit releases, edit release properties, and archive releases. @@ -85,7 +82,9 @@ To edit a draft release: ## Edit Release Properties -You can edit the properties of a release at any time. For more information about release properties, see [Release Properties](releases-about#release-properties) in _About Channels and Releases_. +You can edit the properties of a release at any time. For more information about release properties, see [Release Properties](releases-about#release-properties) and [Required Releases](releases-about#required-releases) in _About Channels and Releases_. + +For information about disabling the the **Prevent this release from being skipped during upgrades** option for a release that was previously marked as required, see [Remove Release Requirement (KOTS 1.126.0 and Later)](#remove-req) below. To edit release properties: @@ -98,6 +97,22 @@ To edit release properties: [View a larger image](/images/release-properties.png) 1. Click **Update Release**. +## Remove Release Requirement (KOTS 1.126.0 and Later) {#remove-req} + +For online (internet-connected) installations using KOTS 1.126.0 or later, you can disable the **Prevent this release from being skipped during upgrades** option for a release to mark the release as no longer required. The requirement is removed from the given release in the Enterprise Portal instantaneously. The requirement is also removed from the Admin Console the next time that an upstream update check occurs. + +:::note +For installations using KOTS 1.125.2 or earlier, if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. +::: + +To disable the **Prevent this release from being skipped during upgrades** option in installations using KOTS 1.126.0 or later: + +1. Go to **Channels**. +1. In the channel where the release was promoted, click **Release History**. +1. For the release sequence that you want to edit, open the dot menu and click **Edit release**. +1. disable the **Prevent this release from being skipped during upgrades** option. +1. Click **Update Release**. + ## Archive a Release You can archive releases to remove them from view on the **Releases** page. Archiving a release that has been promoted does _not_ remove the release from the channel's **Release History** page or prevent KOTS from downloading the archived release. diff --git a/static/images/enterprise-portal-required-releases.png b/static/images/enterprise-portal-required-releases.png new file mode 100644 index 0000000000000000000000000000000000000000..f507814b499c492f2382dd3c945ff33dedbf7176 GIT binary patch literal 10228 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 zui Date: Fri, 14 Nov 2025 13:28:37 -0700 Subject: [PATCH 2/6] wip --- docs/vendor/releases-about.mdx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/vendor/releases-about.mdx b/docs/vendor/releases-about.mdx index 2ad6872a43..946d94b3ce 100644 --- a/docs/vendor/releases-about.mdx +++ b/docs/vendor/releases-about.mdx @@ -125,15 +125,15 @@ As shown in the screenshot above, the release has the following properties: ### Required Releases -You can enable the **Prevent this release from being skipped during upgrades** release property to mark the release as required. When a release is required, your customers that use Embedded Cluster, KOTS, or kURL must upgrade to the required version before they can upgrade to a later version. For example, if release version 2.0.0 is marked as required, users with 1.5.0 deployed must upgrade to 2.0.0 before they can upgrade to 2.1.0. +You can enable the **Prevent this release from being skipped during upgrades** release property to mark a release as required. -Required releases are indicated to your customers in the Admin Console and the Replicated Enterprise Portal. - -![release version list in enterprise portal](/images/enterprise-portal-required-releases.png) - -[View a larger version of this image](/images/enterprise-portal-required-releases.png) +When a release is required: +* The Admin Console for Embedded Cluster, KOTS, or kURL installations requires users to upgrade to the required version before they can upgrade to a later version. For example, if release version 2.0.0 is marked as required, users with 1.5.0 deployed must upgrade to 2.0.0 before they can upgrade to 2.1.0. +* In the Enterprise Portal, required releases are indicated in the list of available application versions. For new installations, the list allows any version to be selected. For upgrades where the Enterprise Portal has awareness of the currently installed version, the customer is prevented from selecting any version later than the required version. + + ![release version list in enterprise portal](/images/enterprise-portal-required-releases.png) -If this is a new install, where the Enterprise Portal does not know of any existing install versions of the app, then the list allows any version to be selected. If this is an upgrade, and the Enterprise Portal has awareness of the currently installed version, the customer will be unable to select any version later than the required version. + [View a larger version of this image](/images/enterprise-portal-required-releases.png) #### Limitations @@ -142,6 +142,7 @@ Required releases have the following limitations: * After users deploy a required version, they can no longer redeploy (roll back to) versions earlier than the required version, even if `allowRollback` is true in the Application custom resource manifest. For more information, see [`allowRollback`](/reference/custom-resource-application#allowrollback) in the Application custom resource topic. * If you change the channel an existing customer is assigned to, the Admin Console always fetches the latest release on the new channel, regardless of any required releases on the channel. For more information, see [Channel Assignment](licenses-about#channel-assignment) in _About Customers_. * Required releases are not supported for Helm CLI installations. The **Prevent this release from being skipped during upgrades** option has no affect when the user installs with Helm. +* For installations using KOTS 1.125.2 or earlier, if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. ## About Using Semantic Versioning {#semantic-versioning} From 5d4386b0655613095483fd62f4a1a5dc4b914cc1 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 17 Nov 2025 15:56:48 -0700 Subject: [PATCH 3/6] add screenshot and content edits --- docs/vendor/releases-about.mdx | 32 +++++++++++++----- docs/vendor/releases-creating-releases.mdx | 6 ++-- .../images/admin-console-required-release.png | Bin 0 -> 45568 bytes 3 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 static/images/admin-console-required-release.png diff --git a/docs/vendor/releases-about.mdx b/docs/vendor/releases-about.mdx index 946d94b3ce..143b8e1e49 100644 --- a/docs/vendor/releases-about.mdx +++ b/docs/vendor/releases-about.mdx @@ -125,24 +125,38 @@ As shown in the screenshot above, the release has the following properties: ### Required Releases -You can enable the **Prevent this release from being skipped during upgrades** release property to mark a release as required. +You can enable the **Prevent this release from being skipped during upgrades** release property to mark a release as required. The following describes the end customer experience for required releases in the Admin Console and Enterprise Portal: -When a release is required: -* The Admin Console for Embedded Cluster, KOTS, or kURL installations requires users to upgrade to the required version before they can upgrade to a later version. For example, if release version 2.0.0 is marked as required, users with 1.5.0 deployed must upgrade to 2.0.0 before they can upgrade to 2.1.0. -* In the Enterprise Portal, required releases are indicated in the list of available application versions. For new installations, the list allows any version to be selected. For upgrades where the Enterprise Portal has awareness of the currently installed version, the customer is prevented from selecting any version later than the required version. - - ![release version list in enterprise portal](/images/enterprise-portal-required-releases.png) +* For Embedded Cluster, KOTS existing cluster, or kURL installations, the Admin Console requires users to upgrade to the required version before they can upgrade to a later version. For example, if release version 1.1.0 is marked as required, users with 1.0.0 deployed must upgrade to 1.1.0 before they can upgrade to 1.1.1. + + The following shows an example of the Admin Console **Version history** page when there is a required release: + + required release in the admin console + + [View a larger version of this image](/images/admin-console-required-release.png) + + As shown in the image above, the required release is labeled "Required", and the user is unable to upgrade to a later version until the required version is deployed. - [View a larger version of this image](/images/enterprise-portal-required-releases.png) +* In the Enterprise Portal, required releases are indicated in the list of available application versions. If the user is performing an upgrade and the Enterprise Portal has awareness of the currently-installed version, then the customer is prevented from selecting any version later than the required version. For new installations, the list allows any version to be selected. + + :::note + The Enterprise Portal does not enforce required releases by preventing users from skipping a required version. + + For Embedded Cluster, KOTS existing cluster, or kURL installations, the Admin Console enforces required releases. For Helm CLI installations, required releases are not enforced . See [Limtiations](#limitations). + ::: + + ![release version list in enterprise portal](/images/enterprise-portal-required-releases.png) + + [View a larger version of this image](/images/enterprise-portal-required-releases.png) #### Limitations Required releases have the following limitations: +* Required releases are not supported for Helm CLI installations. The **Prevent this release from being skipped during upgrades** option has no affect when the user installs with Helm. * After users deploy a required version, they can no longer redeploy (roll back to) versions earlier than the required version, even if `allowRollback` is true in the Application custom resource manifest. For more information, see [`allowRollback`](/reference/custom-resource-application#allowrollback) in the Application custom resource topic. * If you change the channel an existing customer is assigned to, the Admin Console always fetches the latest release on the new channel, regardless of any required releases on the channel. For more information, see [Channel Assignment](licenses-about#channel-assignment) in _About Customers_. -* Required releases are not supported for Helm CLI installations. The **Prevent this release from being skipped during upgrades** option has no affect when the user installs with Helm. -* For installations using KOTS 1.125.2 or earlier, if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. +* For installations using KOTS 1.125.2 or earlier, if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. For more information, see [Remove Release Requirement (KOTS 1.126.0 and Later)](/vendor/releases-creating-releases#remove-req) in _Manage Releases with the Vendor Portal_. ## About Using Semantic Versioning {#semantic-versioning} diff --git a/docs/vendor/releases-creating-releases.mdx b/docs/vendor/releases-creating-releases.mdx index 467f8ef530..743a3c0297 100644 --- a/docs/vendor/releases-creating-releases.mdx +++ b/docs/vendor/releases-creating-releases.mdx @@ -99,10 +99,10 @@ To edit release properties: ## Remove Release Requirement (KOTS 1.126.0 and Later) {#remove-req} -For online (internet-connected) installations using KOTS 1.126.0 or later, you can disable the **Prevent this release from being skipped during upgrades** option for a release to mark the release as no longer required. The requirement is removed from the given release in the Enterprise Portal instantaneously. The requirement is also removed from the Admin Console the next time that an upstream update check occurs. +For online (internet-connected) installations using KOTS 1.126.0 or later (Emebdded Cluster 2.10.0 or later), you can disable the **Prevent this release from being skipped during upgrades** option for a release to mark the release as no longer required. After updating the release's properties in the Vendor Portal, the requirement is then removed from the Admin Console the next time that an upstream update check occurs. :::note -For installations using KOTS 1.125.2 or earlier, if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. +For installations using KOTS 1.125.2 or earlier (Emebdded Cluster 2.9.0 or earlier), if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. ::: To disable the **Prevent this release from being skipped during upgrades** option in installations using KOTS 1.126.0 or later: @@ -110,7 +110,7 @@ To disable the **Prevent this release from being skipped during upgrades** optio 1. Go to **Channels**. 1. In the channel where the release was promoted, click **Release History**. 1. For the release sequence that you want to edit, open the dot menu and click **Edit release**. -1. disable the **Prevent this release from being skipped during upgrades** option. +1. Disable the **Prevent this release from being skipped during upgrades** option. 1. Click **Update Release**. ## Archive a Release diff --git a/static/images/admin-console-required-release.png b/static/images/admin-console-required-release.png new file mode 100644 index 0000000000000000000000000000000000000000..b66d65b02ec13e362433c4693de4aa24681a1008 GIT binary patch literal 45568 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 literal 0 HcmV?d00001 From 5bc92b8a12e027f7d7e7634cfcb62cd7a4836d8f Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 17 Nov 2025 16:19:57 -0700 Subject: [PATCH 4/6] edits --- docs/vendor/releases-about.mdx | 12 ++++++------ docs/vendor/releases-creating-releases.mdx | 22 ++++++++++++++-------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/docs/vendor/releases-about.mdx b/docs/vendor/releases-about.mdx index 143b8e1e49..fad3d8d3f4 100644 --- a/docs/vendor/releases-about.mdx +++ b/docs/vendor/releases-about.mdx @@ -131,18 +131,18 @@ You can enable the **Prevent this release from being skipped during upgrades** r The following shows an example of the Admin Console **Version history** page when there is a required release: - required release in the admin console + required release in the admin console [View a larger version of this image](/images/admin-console-required-release.png) - As shown in the image above, the required release is labeled "Required", and the user is unable to upgrade to a later version until the required version is deployed. + As shown in the image above, the required release is labeled "Required", and the user is unable to click **Deploy** for a later version until the required version is deployed. * In the Enterprise Portal, required releases are indicated in the list of available application versions. If the user is performing an upgrade and the Enterprise Portal has awareness of the currently-installed version, then the customer is prevented from selecting any version later than the required version. For new installations, the list allows any version to be selected. :::note - The Enterprise Portal does not enforce required releases by preventing users from skipping a required version. + The Enterprise Portal does _not_ prevent users from skipping a required version. - For Embedded Cluster, KOTS existing cluster, or kURL installations, the Admin Console enforces required releases. For Helm CLI installations, required releases are not enforced . See [Limtiations](#limitations). + For Embedded Cluster, KOTS existing cluster, or kURL installations, the Admin Console enforces required releases. For Helm CLI installations, required releases are not enforced. See [Limitations](#limitations). ::: ![release version list in enterprise portal](/images/enterprise-portal-required-releases.png) @@ -153,10 +153,10 @@ You can enable the **Prevent this release from being skipped during upgrades** r Required releases have the following limitations: -* Required releases are not supported for Helm CLI installations. The **Prevent this release from being skipped during upgrades** option has no affect when the user installs with Helm. +* Required releases are not enforced for Helm CLI installations. When the **Prevent this release from being skipped during upgrades** option is enabled, Helm CLI customers will see that the release is labeled as "required" in the Enterprise Portal. However, this label does not prevent users from skipping a required release version when installing with the Helm CLI. * After users deploy a required version, they can no longer redeploy (roll back to) versions earlier than the required version, even if `allowRollback` is true in the Application custom resource manifest. For more information, see [`allowRollback`](/reference/custom-resource-application#allowrollback) in the Application custom resource topic. * If you change the channel an existing customer is assigned to, the Admin Console always fetches the latest release on the new channel, regardless of any required releases on the channel. For more information, see [Channel Assignment](licenses-about#channel-assignment) in _About Customers_. -* For installations using KOTS 1.125.2 or earlier, if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. For more information, see [Remove Release Requirement (KOTS 1.126.0 and Later)](/vendor/releases-creating-releases#remove-req) in _Manage Releases with the Vendor Portal_. +* For installations using KOTS 1.125.2 or earlier (Embedded Cluster 2.9.0 or earlier), if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later (Embedded Cluster 2.10.0 or later). For more information, see [Remove Release Requirement](/vendor/releases-creating-releases#remove-req) in _Manage Releases with the Vendor Portal_. ## About Using Semantic Versioning {#semantic-versioning} diff --git a/docs/vendor/releases-creating-releases.mdx b/docs/vendor/releases-creating-releases.mdx index 743a3c0297..2f683f3649 100644 --- a/docs/vendor/releases-creating-releases.mdx +++ b/docs/vendor/releases-creating-releases.mdx @@ -84,8 +84,6 @@ To edit a draft release: You can edit the properties of a release at any time. For more information about release properties, see [Release Properties](releases-about#release-properties) and [Required Releases](releases-about#required-releases) in _About Channels and Releases_. -For information about disabling the the **Prevent this release from being skipped during upgrades** option for a release that was previously marked as required, see [Remove Release Requirement (KOTS 1.126.0 and Later)](#remove-req) below. - To edit release properties: 1. Go to **Channels**. @@ -95,17 +93,21 @@ To edit release properties: Release Properties dialog in the Vendor Portal [View a larger image](/images/release-properties.png) + + :::note + For information about disabling the **Prevent this release from being skipped during upgrades** option for a release that was previously marked as required, see [Remove Release Requirement](#remove-req) below. + ::: 1. Click **Update Release**. -## Remove Release Requirement (KOTS 1.126.0 and Later) {#remove-req} +## Remove Release Requirement {#remove-req} -For online (internet-connected) installations using KOTS 1.126.0 or later (Emebdded Cluster 2.10.0 or later), you can disable the **Prevent this release from being skipped during upgrades** option for a release to mark the release as no longer required. After updating the release's properties in the Vendor Portal, the requirement is then removed from the Admin Console the next time that an upstream update check occurs. +You can disable the **Prevent this release from being skipped during upgrades** property for a release to remove the "required" label from the release in the Enterprise Portal. -:::note -For installations using KOTS 1.125.2 or earlier (Emebdded Cluster 2.9.0 or earlier), if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and Enterprise Portal, and users must still upgrade to the given version before they can upgrade to later versions. To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. -::: +Additionally, for online (internet-connected) installations using KOTS 1.126.0 or later (Emebdded Cluster 2.10.0 or later), the requirement is removed from the Admin Console the next time that an upstream update check occurs. -To disable the **Prevent this release from being skipped during upgrades** option in installations using KOTS 1.126.0 or later: +For more information about working with required releases, see [Required Releases](releases-about#required-releases) in _About Channels and Releases_. + +To remove the requirement from a release: 1. Go to **Channels**. 1. In the channel where the release was promoted, click **Release History**. @@ -113,6 +115,10 @@ To disable the **Prevent this release from being skipped during upgrades** optio 1. Disable the **Prevent this release from being skipped during upgrades** option. 1. Click **Update Release**. +:::note +To skip a previously-required release during upgrades, users must first update their installation to KOTS 1.126.0 or later (Embedded Cluster 2.10.0 or later). +::: + ## Archive a Release You can archive releases to remove them from view on the **Releases** page. Archiving a release that has been promoted does _not_ remove the release from the channel's **Release History** page or prevent KOTS from downloading the archived release. From 21335564c3aa33411101436b9f35e8966a5ae2b7 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 17 Nov 2025 16:21:23 -0700 Subject: [PATCH 5/6] remove unused partials --- .../partials/releases/_required-releases-description.mdx | 3 --- .../partials/releases/_required-releases-limitations.mdx | 9 --------- docs/vendor/releases-about.mdx | 1 - 3 files changed, 13 deletions(-) delete mode 100644 docs/partials/releases/_required-releases-description.mdx delete mode 100644 docs/partials/releases/_required-releases-limitations.mdx diff --git a/docs/partials/releases/_required-releases-description.mdx b/docs/partials/releases/_required-releases-description.mdx deleted file mode 100644 index 630114e46c..0000000000 --- a/docs/partials/releases/_required-releases-description.mdx +++ /dev/null @@ -1,3 +0,0 @@ -When a release is marked as required, users must upgrade to the required release version before they can upgrade to a later version. For example, if 2.0.0 is a required release, users with 1.5.0 deployed must upgrade to 2.0.0 before they can upgrade to 2.1.0. - -For online (internet-connected) installations using KOTS 1.126.0 or later, you can disable the **Prevent this release from being skipped during upgrades** option for a release to mark the release as no longer required. The requirement will be removed from the given release in the Admin Console the next time that an upstream update check occurs. \ No newline at end of file diff --git a/docs/partials/releases/_required-releases-limitations.mdx b/docs/partials/releases/_required-releases-limitations.mdx deleted file mode 100644 index cbd155de19..0000000000 --- a/docs/partials/releases/_required-releases-limitations.mdx +++ /dev/null @@ -1,9 +0,0 @@ -Required releases have the following limitations: - - * Required releases are supported in KOTS v1.68.0 and later. - * After users deploy a required version, they can no longer redeploy (roll back to) versions earlier than the required version, even if `allowRollback` is true in the Application custom resource manifest. For more information, see [`allowRollback`](/reference/custom-resource-application#allowrollback) in the Application custom resource topic. - * If you change the channel an existing customer is assigned to, the Admin Console always fetches the latest release on the new channel, regardless of any required releases on the channel. For more information, see [Channel Assignment](licenses-about#channel-assignment) in _About Customers_. - * Required releases are not supported for Helm CLI installations. The **Prevent this release from being skipped during upgrades** option has no affect when the user installs with Helm. - * For installations using KOTS 1.125.2 or earlier, if you disable the **Prevent this release from being skipped during upgrades** option for a promoted release, the release will still be marked as required in the Admin Console and users must still upgrade to the given version before they can upgrade to later versions. - - To skip a previously required release during upgrades, users must first update their installation to KOTS 1.126.0 or later. In KOTS 1.126.0 and later, release metadata in the Admin Console (including the release's requirement status) is updated during upstream update checks. \ No newline at end of file diff --git a/docs/vendor/releases-about.mdx b/docs/vendor/releases-about.mdx index fad3d8d3f4..d7321c9595 100644 --- a/docs/vendor/releases-about.mdx +++ b/docs/vendor/releases-about.mdx @@ -1,5 +1,4 @@ import ChangeChannel from "../partials/customers/_change-channel.mdx" -import RequiredReleasesLimitations from "../partials/releases/_required-releases-limitations.mdx" import VersionLabelReqsHelm from "../partials/releases/_version-label-reqs-helm.mdx" # About Channels and Releases From 3fd8f8f0336e6b095cbe2535cac5e4129d699068 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 17 Nov 2025 16:25:48 -0700 Subject: [PATCH 6/6] typo --- docs/vendor/releases-creating-releases.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/vendor/releases-creating-releases.mdx b/docs/vendor/releases-creating-releases.mdx index 2f683f3649..535c3720c2 100644 --- a/docs/vendor/releases-creating-releases.mdx +++ b/docs/vendor/releases-creating-releases.mdx @@ -103,7 +103,7 @@ To edit release properties: You can disable the **Prevent this release from being skipped during upgrades** property for a release to remove the "required" label from the release in the Enterprise Portal. -Additionally, for online (internet-connected) installations using KOTS 1.126.0 or later (Emebdded Cluster 2.10.0 or later), the requirement is removed from the Admin Console the next time that an upstream update check occurs. +Additionally, for online (internet-connected) installations using KOTS 1.126.0 or later (Embedded Cluster 2.10.0 or later), the requirement is removed from the Admin Console the next time that an upstream update check occurs. For more information about working with required releases, see [Required Releases](releases-about#required-releases) in _About Channels and Releases_.