Skip to content

Commit 7012f76

Browse files
authored
Merge pull request #31389 from liggitt/stable-deprecation-policy
Modify the deprecation policy to disallow removal of stable API versions
2 parents ee346e4 + b828365 commit 7012f76

File tree

1 file changed

+14
-28
lines changed

1 file changed

+14
-28
lines changed

content/en/docs/reference/using-api/deprecation-policy.md

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -73,21 +73,23 @@ knows how to convert between them in both directions. Additionally, any new
7373
field added in v2 must be able to round-trip to v1 and back, which means v1
7474
might have to add an equivalent field or represent it as an annotation.
7575

76-
**Rule #3: An API version in a given track may not be deprecated until a new
77-
API version at least as stable is released.**
76+
**Rule #3: An API version in a given track may not be deprecated in favor of a less stable API version.**
7877

79-
GA API versions can replace GA API versions as well as beta and alpha API
80-
versions. Beta API versions *may not* replace GA API versions.
78+
* GA API versions can replace beta and alpha API versions.
79+
* Beta API versions can replace earlier beta and alpha API versions, but *may not* replace GA API versions.
80+
* Alpha API versions can replace earlier alpha API versions, but *may not* replace GA or beta API versions.
8181

82-
**Rule #4a: Other than the most recent API versions in each track, older API
83-
versions must be supported after their announced deprecation for a duration of
84-
no less than:**
82+
**Rule #4a: minimum API lifetime is determined by the API stability level**
8583

86-
* **GA: 12 months or 3 releases (whichever is longer)**
87-
* **Beta: 9 months or 3 releases (whichever is longer)**
88-
* **Alpha: 0 releases**
84+
* **GA API versions may be marked as deprecated, but must not be removed within a major version of Kubernetes**
85+
* **Beta API versions must be supported for 9 months or 3 releases (whichever is longer) after deprecation**
86+
* **Alpha API versions may be removed in any release without prior deprecation notice**
8987

90-
This covers the [maximum supported version skew of 2 releases](/docs/setup/release/version-skew-policy/).
88+
This ensures beta API support covers the [maximum supported version skew of 2 releases](/docs/setup/release/version-skew-policy/).
89+
90+
{{< note >}}
91+
There are no current plans for a major version revision of Kubernetes that removes GA APIs.
92+
{{< /note >}}
9193

9294
{{< note >}}
9395
Until [#52185](https://github.com/kubernetes/kubernetes/issues/52185) is
@@ -237,7 +239,7 @@ API versions are supported in a series of subsequent releases.
237239
<td>
238240
<ul>
239241
<li>v2beta2 is deprecated, "action required" relnote</li>
240-
<li>v1 is deprecated, "action required" relnote</li>
242+
<li>v1 is deprecated in favor of v2, but will not be removed</li>
241243
</ul>
242244
</td>
243245
</tr>
@@ -267,22 +269,6 @@ API versions are supported in a series of subsequent releases.
267269
</ul>
268270
</td>
269271
</tr>
270-
<tr>
271-
<td>X+16</td>
272-
<td>v2, v1 (deprecated)</td>
273-
<td>v2</td>
274-
<td></td>
275-
</tr>
276-
<tr>
277-
<td>X+17</td>
278-
<td>v2</td>
279-
<td>v2</td>
280-
<td>
281-
<ul>
282-
<li>v1 is removed, "action required" relnote</li>
283-
</ul>
284-
</td>
285-
</tr>
286272
</tbody>
287273
</table>
288274

0 commit comments

Comments
 (0)