Merge pull request #31389 from liggitt/stable-deprecation-policy
Modify the deprecation policy to disallow removal of stable API versions
This commit is contained in:
@@ -73,21 +73,23 @@ knows how to convert between them in both directions. Additionally, any new
|
|||||||
field added in v2 must be able to round-trip to v1 and back, which means v1
|
field added in v2 must be able to round-trip to v1 and back, which means v1
|
||||||
might have to add an equivalent field or represent it as an annotation.
|
might have to add an equivalent field or represent it as an annotation.
|
||||||
|
|
||||||
**Rule #3: An API version in a given track may not be deprecated until a new
|
**Rule #3: An API version in a given track may not be deprecated in favor of a less stable API version.**
|
||||||
API version at least as stable is released.**
|
|
||||||
|
|
||||||
GA API versions can replace GA API versions as well as beta and alpha API
|
* GA API versions can replace beta and alpha API versions.
|
||||||
versions. Beta API versions *may not* replace GA API versions.
|
* Beta API versions can replace earlier beta and alpha API versions, but *may not* replace GA API versions.
|
||||||
|
* Alpha API versions can replace earlier alpha API versions, but *may not* replace GA or beta API versions.
|
||||||
|
|
||||||
**Rule #4a: Other than the most recent API versions in each track, older API
|
**Rule #4a: minimum API lifetime is determined by the API stability level**
|
||||||
versions must be supported after their announced deprecation for a duration of
|
|
||||||
no less than:**
|
|
||||||
|
|
||||||
* **GA: 12 months or 3 releases (whichever is longer)**
|
* **GA API versions may be marked as deprecated, but must not be removed within a major version of Kubernetes**
|
||||||
* **Beta: 9 months or 3 releases (whichever is longer)**
|
* **Beta API versions must be supported for 9 months or 3 releases (whichever is longer) after deprecation**
|
||||||
* **Alpha: 0 releases**
|
* **Alpha API versions may be removed in any release without prior deprecation notice**
|
||||||
|
|
||||||
This covers the [maximum supported version skew of 2 releases](/docs/setup/release/version-skew-policy/).
|
This ensures beta API support covers the [maximum supported version skew of 2 releases](/docs/setup/release/version-skew-policy/).
|
||||||
|
|
||||||
|
{{< note >}}
|
||||||
|
There are no current plans for a major version revision of Kubernetes that removes GA APIs.
|
||||||
|
{{< /note >}}
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
Until [#52185](https://github.com/kubernetes/kubernetes/issues/52185) is
|
Until [#52185](https://github.com/kubernetes/kubernetes/issues/52185) is
|
||||||
@@ -237,7 +239,7 @@ API versions are supported in a series of subsequent releases.
|
|||||||
<td>
|
<td>
|
||||||
<ul>
|
<ul>
|
||||||
<li>v2beta2 is deprecated, "action required" relnote</li>
|
<li>v2beta2 is deprecated, "action required" relnote</li>
|
||||||
<li>v1 is deprecated, "action required" relnote</li>
|
<li>v1 is deprecated in favor of v2, but will not be removed</li>
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -267,22 +269,6 @@ API versions are supported in a series of subsequent releases.
|
|||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>X+16</td>
|
|
||||||
<td>v2, v1 (deprecated)</td>
|
|
||||||
<td>v2</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>X+17</td>
|
|
||||||
<td>v2</td>
|
|
||||||
<td>v2</td>
|
|
||||||
<td>
|
|
||||||
<ul>
|
|
||||||
<li>v1 is removed, "action required" relnote</li>
|
|
||||||
</ul>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user