Kubernetes Release and Support Timeline - Minor Releases, Maintenance Mode, End of Life, and Version Skew
First Published:
Last Updated:
The support duration and release frequency have changed over time. The Releases page says that versions up to Kubernetes 1.18 received approximately nine months of patch support. Versions from Kubernetes 1.19 onwards have a support period of approximately one year, and the Patch Releases page states
roughly fourteen (14) months. From 2016 to 2019, four minor versions were released each year. Since 2020, three minor versions have been released annually. The allowable version skew, which defines how far behind the kubelet can be from the kube-apiserver, also expanded from two minor versions to three.This article presents a timeline listing the release dates and EOL dates for minor versions of Kubernetes, from Kubernetes 1.0 (released on July 21, 2015) up to the check date. The timeline also includes information on when and in which documents the support duration, release frequency, and version skew policies changed. Each entry indicates the source of the dates. Discrepancies in dates between different sources are also noted. All information was checked as of October 22, 2026.
Background and Method of Creating the Kubernetes Release and Support Timeline
Kubernetes minor releases are published three times per year. Each release has a defined end-of-support period. Managed services, such as Amazon EKS, also provide versions based on their own schedules. The upstream release calendar and the calendar of a managed service do not use the same dates. The purpose of this article is to present the release dates and end-of-life (EOL) dates for each upstream Kubernetes release, using the data from kubernetes.io. It also shows from which version and in which document the rules behind those dates were set.In this article, "Kubernetes" refers to the upstream Kubernetes project. The Kubernetes project's SIG Release (Special Interest Group Release) is responsible for managing the release process. Changes to these rules are proposed and decided upon through documents called KEPs (Kubernetes Enhancement Proposals).
Sources Used in This Article
The data for the timeline was primarily sourced from the following materials:- kubernetes.io Releases page: This page gives the latest patch versions for supported releases and their end-of-life (EOL) dates, and a table of the final patch release and the EOL date for versions that reached EOL.
- kubernetes.io Patch Releases page: This page gives the support duration, maintenance mode status, planned monthly patch releases, and the patch history for supported versions.
- kubernetes.io Kubernetes Release Cycle and Version Skew Policy pages: These pages describe the release cycle and the acceptable range of version differences between components.
- KEP (Kubernetes Enhancement Proposals): Documents from the
kubernetes/enhancementsrepository on GitHub were used, specifically the README files for KEP-1498 (Kubernetes Yearly Support Period), KEP-2572 (Defining the Kubernetes Release Cadence), and KEP-3935 (Support Oldest Node And Newest Control Plane), as well as thekep.yamlfile. - SIG Release Schedule: This is the
releases/release-1.38/README.mdfile in thekubernetes/sig-releaserepository on GitHub. - kubernetes.io Blog: This was used to gather information from 37 blog posts announcing minor releases from Kubernetes 1.1 to 1.37, as well as posts announcing changes to policies.
- GitHub Release pages: Specifically, the page at
github.com/kubernetes/kubernetes/releases/tag/v1.<minor>.0was used, primarily to compare dates with those mentioned in the blog posts.
KEPs are documentation outlining policies, while the blog posts are announcements and notifications. The kubernetes.io Releases and Patch Releases pages give the values on the check date. This article aims to clearly distinguish between these three sources.
Where the Dates in This Timeline Come From
The release dates in this timeline correspond to the dates of the announcement articles on the kubernetes.io blog for each version. An exception is Kubernetes 1.0. No announcement article for Kubernetes 1.0 was found on the blog. The kubernetes.io sitemap was searched for blog articles from June to September 2015, and the only article found that announced a Kubernetes 1.0 event was an announcement for the OSCON launch event published on 2015-07-02. Therefore, the release date for Kubernetes 1.0 is based on the blog article "10 Years of Kubernetes" published on 2024-06-06, which statesa version 1.0 release on July 21st, 2015.The GitHub Release pages also contain timestamps. Comparing these timestamps with the dates of the announcement articles, 34 versions, from Kubernetes 1.4 to Kubernetes 1.37, had UTC dates that matched the dates of the announcement articles. Four versions differed:
| Version | Announcement Date (kubernetes.io Blog) | GitHub Release Page (UTC) | Note |
|---|---|---|---|
| 1.0 | 2015-07-21 (as stated in the article published on 2024-06-06) | 2015-07-13T17:03:07Z | The page title is Release 1.0.0 Candidate Two. |
| 1.1 | 2015-11-09 | 2015-09-25T23:41:40Z | The page uses the wording tagged this rather than released this, indicating the date of the tag. |
| 1.2 | 2016-03-17 | 2016-03-16T22:29:18Z | The UTC date differs by one day. |
| 1.3 | 2016-07-06 | 2016-07-01T20:25:49Z | The dates differ by five days. |
The End-of-Life (EOL) dates are taken from the Releases page: its table for versions that reached EOL, and its Release History section for the supported versions. The dates when supported versions enter maintenance mode are taken from the Patch Releases page. The planned release date for the next version, Kubernetes 1.38, is based on the SIG Release schedule, which itself is marked as
proposed.How the Rows Were Selected
The timeline includes rows for the following four categories:- All minor releases from Kubernetes 1.0 to Kubernetes 1.37 (38 rows). Each row lists the End-of-Life (EOL) date and the final patch release from the Releases page.
- Rows detailing the documents that proposed, decided, and announced support periods, release frequency, and version skew policies.
- Two key milestones related to removals: the removal of dockershim in Kubernetes 1.24 and the removal of PodSecurityPolicy in Kubernetes 1.25. The deprecations are noted in the Kubernetes 1.20 and Kubernetes 1.21 release rows.
- Planned rows after the check date: the End-of-Life (EOL) for Kubernetes 1.34 and the planned release of Kubernetes 1.38.
The timeline does not include a list of new features for each release. It is a timeline of dates and support policies, not a list of features.
What This Article Leaves to Other Articles
The calendar of Kubernetes versions on Amazon EKS and the timeline of EKS features are covered in AWS History and Timeline regarding Amazon EKS. The end-of-standard support and extended support dates for each EKS version are listed in Section 4 of AWS End-of-Support and EOL Reference. The conditions for rolling back an Amazon EKS cluster version are discussed in Rolling Back an Amazon EKS Cluster Version. This article does not recreate the table of EKS versions. The differences from EKS are shown with a single example in the Kubernetes Versions on AWS section. This article does not offer guidance on which distribution or managed service to choose.How the End-of-Life Dates in This Timeline Were Derived
The Patch Releases page describes support periods as follows:In accordance with the yearly support KEP, the Kubernetes
Community will support active patch release series for a period of roughly
fourteen (14) months.
According to the same page, the initial 12 months of this period constitute the standard period. As the end of those 12 months approaches, Release Managers release patches, and the patch release series enters a maintenance mode, which lasts for 2 months. During this 2-month period, the page says, Release Managers may cut additional maintenance releases to resolve three types of issues.
Vulnerabilities that have an assigned
CVE ID (under the advisement of the Security Response Committee)
dependency issues (including base image updates)
critical core component issues
Once the 2-month maintenance mode concludes, the series reaches its End of Life (EOL). KEP-1498 describes this 14-month period as
essentially 12 months of support and 2 months of upgrade period.Regarding the dates for maintenance mode and EOL, the Patch Releases page includes the following note:
Note that the 28th of the month was chosen for maintenance mode and EOL target
dates for simplicity (every month has it).
However, not all of the EOL dates listed in the table fall on the 28th of the month. For versions of Kubernetes 1.19 and later, the following six versions have EOL dates that do not fall on the 28th:
| Version | End of Life (Releases Page) |
|---|---|
| 1.22 | 2022-12-08 |
| 1.27 | 2024-07-16 |
| 1.28 | 2024-10-22 |
| 1.30 | 2025-07-15 |
| 1.31 | 2025-11-11 |
| 1.34 | 2026-10-27 (planned) |
According to the Patch Releases page, Kubernetes 1.34 entered maintenance mode on 2026-08-27, and its EOL is 2026-10-27. This differs from the "28th" mentioned in the note by one day. No explanation was found on either the Patch Releases page or the Releases page regarding why these dates are not the 28th.
There have also been versions for which a final patch was released after the EOL date. The table on the Releases page includes a note about a final patch released after the EOL date for the following four versions. The notes are presented in their original English.
| Version | Final Patch Release | End of Life | Note in the Releases Page |
|---|---|---|---|
| 1.22 | 1.22.17 | 2022-12-08 | 1.22.17 was released in December 2022 (after the EOL date) to backport registry changes and fix two critical issues. |
| 1.24 | 1.24.17 | 2023-07-28 | 1.24.17 was released in August 2023 (after the EOL date) to fix CVE-2023-3676 and CVE-2023-3955 |
| 1.25 | 1.25.16 | 2023-10-28 | 1.25.16 was released in November 2023 (after the EOL date) to fix CVE-2023-5528 |
| 1.26 | 1.26.15 | 2024-02-28 | 1.26.15 was released in March 2024 (after the EOL date) to pick up a new version of Go to address several Go CVEs |
These four represent exceptions, as noted in the Releases page table. It is not a general rule that patches are released after the End of Life date.
Versions of Kubernetes up to 1.18 followed a different end-of-life (EOL) policy. A blog post from August 31, 2020, refers to Kubernetes 1.16, Kubernetes 1.17, and Kubernetes 1.18 as versions under
the older “three releases support” model. The same post states that support for these three versions would be discontinued with the releases of Kubernetes 1.19, Kubernetes 1.20, and Kubernetes 1.21. It also notes that, because the Kubernetes 1.19 release was delayed, these three versions ended up with close to a year of support. The Implementation History for KEP-1498 records that discussions regarding extending support for Kubernetes 1.16 through Kubernetes 1.18, in response to the COVID-19 situation, took place between April and May of 2020. The EOL date for Kubernetes 1.18 on the Releases page is June 18, 2021, approximately 15 months after its release.How to Read the Tables
The columns of the four timeline tables are as follows:- Date — Represents the date. For release entries, this is the date the announcement was published; for document entries, it is the document's date; and for scheduled events, it is the scheduled date.
- Version — Indicates a minor version. Rows without a version are marked with
—. - Area — Describes the type of entry. It will indicate one of the following:
Release,Support period,Release cadence,Version skew,Removal,Working group,Maintenance mode,End of life, orSchedule. - What Changed — Describes what happened. It quotes part of the source text in its original English and summarizes the content briefly.
- Where It Is Written — Specifies the source document for the entry. The EOL and final patch values are taken from the Releases page.
In this article, "EOL" refers to the upstream Kubernetes EOL. Amazon EKS has its own dates for the end of standard support and the end of extended support. This article keeps the upstream date and the EKS date apart, calling the upstream date "upstream EOL" and the EKS date "end of standard support on Amazon EKS."
The term "release" is used in this article with three meanings: a minor version release (e.g., Kubernetes 1.34.0), a patch release (e.g., Kubernetes 1.34.12), and a release cycle (the period of work leading up to a minor version release, which the Kubernetes v1.34, v1.36, and v1.37 announcements give as 15 weeks). In the timeline tables, the
Release entries refer only to minor version releases.The rules table in the Current Overview section uses columns shared across this series. It includes
What Changed, Since, Who Decides, Where It Is Written, What You Can Set, and No Statement Found, along with Status on the Check Date, which describes the status on the check date. The values for Status on the Check Date are selected from seven options: Released, In effect, Documented, Announced, Scheduled, Proposed, and End of life. This article uses four of these options.Released— That minor version has been released and is currently being supported on the check date.In effect— On the check date, that rule is documented on the kubernetes.io page.Scheduled— Dates after the check date are listed as scheduled on the kubernetes.io table.Proposed— The schedule itself indicates that it isproposed.
The
Who Decides column gives the owning-sig of the KEP behind the rule, either SIG Release or SIG Architecture.Kubernetes Release and Support Historical Timeline (Updates from July 21, 2015)
The following four tables present a historical timeline. All references were obtained on October 22, 2026.Index:
- 2015 to 2017 - From Kubernetes 1.0 to Kubernetes 1.9
- 2018 to 2020 - Four releases a year and the change to a yearly support period.
- 2021 to 2023 - Three releases a year, the removal of dockershim and PodSecurityPolicy, and the wider version skew.
- 2024 to 2026 - Supported versions on the check date, and planned release of Kubernetes 1.38.
* You can sort the table by clicking on the column name.
2015 to 2017 — Kubernetes 1.0 to Kubernetes 1.9
During this period, Kubernetes 1.0 was released, and the project began releasing four minor versions per year. The table on the Releases page does not include rows for Kubernetes 1.0 and Kubernetes 1.1.| Date | Version | Area | What Changed | Where It Is Written |
|---|---|---|---|---|
| 2015-07-21 | 1.0 | Release | Kubernetes 1.0 was released. The date on the GitHub Release page is 2015-07-13. There are no rows in the Releases page table. | 10 Years of Kubernetes |
| 2015-11-09 | 1.1 | Release | Kubernetes 1.1 was announced. There are no rows in the Releases page table. | Kubernetes 1.1 announcement |
| 2016-03-17 | 1.2 | Release | Kubernetes 1.2 was released. End of Life (EOL) is 2016-10-23, and the final patch was 1.2.7. | Kubernetes 1.2 announcement |
| 2016-07-06 | 1.3 | Release | Kubernetes 1.3 was released. End of Life (EOL) is 2016-11-01, and the final patch was 1.3.10. | Kubernetes 1.3 announcement |
| 2016-09-26 | 1.4 | Release | Kubernetes 1.4 was released. End of Life (EOL) is 2017-04-21, and the final patch was 1.4.12. | Kubernetes 1.4 announcement |
| 2016-12-13 | 1.5 | Release | Kubernetes 1.5 was released. End of Life (EOL) is 2017-10-01, and the final patch was 1.5.8. | Kubernetes 1.5 announcement |
| 2017-03-28 | 1.6 | Release | Kubernetes 1.6 was released. End of Life (EOL) is 2017-11-23, and the final patch was 1.6.13. | Kubernetes 1.6 announcement |
| 2017-06-30 | 1.7 | Release | Kubernetes 1.7 was released. End of Life (EOL) is 2018-04-04, and the final patch was 1.7.16. | Kubernetes 1.7 announcement |
| 2017-09-29 | 1.8 | Release | Kubernetes 1.8 was released. End of Life (EOL) is 2018-07-12, and the final patch was 1.8.15. | Kubernetes 1.8 announcement |
| 2017-12-15 | 1.9 | Release | Kubernetes 1.9 was released. End of Life (EOL) is 2018-09-29, and the final patch was 1.9.11. | Kubernetes 1.9 announcement |
2018 to 2020 — Four Releases a Year and the Move to a Yearly Support Period
From 2018 to 2019, four minor releases were published each year. In 2020, KEP-1498 was implemented, starting with Kubernetes 1.19, which extended the support period for minor releases to approximately one year. There were three minor releases in 2020.| Date | Version | Area | What Changed | Where It Is Written |
|---|---|---|---|---|
| 2018-03-26 | 1.10 | Release | Kubernetes 1.10 was released. EOL is 2019-02-13, and the final patch is 1.10.13. | Kubernetes 1.10 announcement |
| 2018-06-27 | 1.11 | Release | Kubernetes 1.11 was released. EOL is 2019-05-01, and the final patch is 1.11.10. | Kubernetes 1.11 announcement |
| 2018-09-27 | 1.12 | Release | Kubernetes 1.12 was released. EOL is 2019-07-08, and the final patch is 1.12.10. | Kubernetes 1.12 announcement |
| 2018-12-03 | 1.13 | Release | Kubernetes 1.13 was released. EOL is 2019-10-15, and the final patch is 1.13.12. | Kubernetes 1.13 announcement |
| 2019-03-25 | 1.14 | Release | Kubernetes 1.14 was released. EOL is 2019-12-11, and the final patch is 1.14.10. | Kubernetes 1.14 announcement |
| 2019-06-19 | 1.15 | Release | Kubernetes 1.15 was released. EOL is 2020-05-06, and the final patch is 1.15.12. | Kubernetes 1.15 announcement |
| 2019-09-18 | 1.16 | Release | Kubernetes 1.16 was released. EOL is 2020-09-02, and the final patch is 1.16.15. | Kubernetes 1.16 announcement |
| 2019-12-09 | 1.17 | Release | Kubernetes 1.17 was released. EOL is 2021-01-13, and the final patch is 1.17.17. | Kubernetes 1.17 announcement |
| 2020-01-22 | — | Support period | KEP-1498 was created. It proposes extending support from 9 months to 14 months. | KEP-1498 kep.yaml (creation-date) |
| 2020-03-25 | 1.18 | Release | Kubernetes 1.18 was released. EOL is 2021-06-18, and the final patch is 1.18.20. | Kubernetes 1.18 announcement |
| 2020-08-26 | 1.19 | Release | Kubernetes 1.19 was released. This is the first version to receive approximately one year of support. The announcement article mentions a release cycle of 20 weeks. EOL is 2021-10-28, and the final patch is 1.19.16. | Kubernetes 1.19 announcement / KEP-1498 |
| 2020-08-31 | — | Support period | It was announced that the support period would be extended to one year. the support window for Kubernetes versions will increase from 9 months to one year. | Increasing the Kubernetes Support Window to One Year |
| 2020-10-20 | — | Working group | According to KEP-2572, the LTS (long-term support) Working Group was disbanded. This was the group that proposed KEP-1498. | KEP-2572 (Non-Goals section) |
| 2020-12-08 | 1.20 | Release | Kubernetes 1.20 was released. The announcement article refers to it as our third and final release of 2020 and announces the deprecation of dockershim. EOL is 2022-02-28, and the final patch is 1.20.15. | Kubernetes 1.20 announcement |
2021 to 2023 — Three Releases a Year, Two Removals, and a Wider Skew
During this period, KEP-2572 set a release schedule of three times per year. dockershim and PodSecurityPolicy were removed, and the version skew for kubelet and kube-proxy was expanded to three minor versions.| Date | Version | Area | What Changed | Where It Is Written |
|---|---|---|---|---|
| 2021-01-21 | — | Release cadence | KEP-2572 was created. This proposal aimed to change the release cadence from 4 down to 3 releases per year. | KEP-2572 kep.yaml (creation-date) |
| 2021-04-08 | 1.21 | Release | Kubernetes 1.21 was released. The announcement stated that PodSecurityPolicy was being deprecated and scheduled for removal in Kubernetes 1.25. EOL is 2022-06-28, with the final patch being 1.21.14. | Kubernetes 1.21 announcement |
| 2021-04-23 | — | Release cadence | KEP-2572 was merged. A blog post from 2021-07-20 documents this date. | Kubernetes Release Cadence Change |
| 2021-07-20 | — | Release cadence | A release cadence of 3 releases per year was announced. Starting with the Kubernetes 1.22 release, a lightweight policy will drive the creation of each release schedule. | Kubernetes Release Cadence Change |
| 2021-08-04 | 1.22 | Release | Kubernetes 1.22 was released. The announcement described it as the first longer-cycle release following the change to a 3-release-per-year cadence. EOL is 2022-12-08, with the final patch being 1.22.17. | Kubernetes 1.22 announcement |
| 2021-12-07 | 1.23 | Release | Kubernetes 1.23 was released. EOL is 2023-02-28, with the final patch being 1.23.17. | Kubernetes 1.23 announcement |
| 2022-05-03 | 1.24 | Removal | Kubernetes 1.24 was released, and dockershim was removed. the dockershim component has been removed from the kubelet in Kubernetes v1.24. EOL is 2023-07-28, with the final patch being 1.24.17. | Kubernetes 1.24 announcement |
| 2022-08-23 | 1.25 | Removal | Kubernetes 1.25 was released, and PodSecurityPolicy was removed. with the release of v1.25, it has been removed. EOL is 2023-10-28, with the final patch being 1.25.16. | Kubernetes v1.25 announcement |
| 2022-12-09 | 1.26 | Release | Kubernetes 1.26 was released. EOL is 2024-02-28, with the final patch being 1.26.15. | Kubernetes v1.26 announcement |
| 2023-04-03 | — | Version skew | KEP-3935 was created. This proposal aimed to expand the node and control plane skew from n-2 to n-3. | KEP-3935 kep.yaml (creation-date) |
| 2023-04-11 | 1.27 | Release | Kubernetes 1.27 was released. EOL is 2024-07-16, with the final patch being 1.27.16. | Kubernetes v1.27 announcement |
| 2023-08-15 | 1.28 | Version skew | Kubernetes 1.28 was released, expanding the kubelet and kube-proxy skew to three minor versions. from n-2 to n-3. EOL is 2024-10-22, with the final patch being 1.28.15. | Kubernetes v1.28 announcement |
| 2023-12-13 | 1.29 | Release | Kubernetes 1.29 was released. EOL is 2025-02-28, with the final patch being 1.29.14. | Kubernetes v1.29 announcement |
2024 to 2026 — The Supported Releases on the Check Date and Kubernetes 1.38
This period ends with the four versions supported on the check date. The end-of-life for Kubernetes 1.34 and the planned release of Kubernetes 1.38 fall after the check date.| Date | Version | Area | What Changed | Where It Is Written |
|---|---|---|---|---|
| 2024-04-17 | 1.30 | Release | Kubernetes 1.30 has been released. EOL was 2025-07-15, with the final patch being 1.30.14. | Kubernetes v1.30 announcement |
| 2024-08-13 | 1.31 | Release | Kubernetes 1.31 has been released. EOL was 2025-11-11, with the final patch being 1.31.14. | Kubernetes v1.31 announcement |
| 2024-12-11 | 1.32 | Release | Kubernetes 1.32 has been released. EOL was 2026-02-28, with the final patch being 1.32.13. | Kubernetes v1.32 announcement |
| 2025-04-23 | 1.33 | Release | Kubernetes 1.33 has been released. EOL was 2026-06-28, with the final patch being 1.33.13. | Kubernetes v1.33 announcement |
| 2025-08-27 | 1.34 | Release | Kubernetes 1.34 has been released. | Kubernetes v1.34 announcement |
| 2025-12-17 | 1.35 | Release | Kubernetes 1.35 has been released. | Kubernetes v1.35 announcement |
| 2026-04-22 | 1.36 | Release | Kubernetes 1.36 has been released. | Kubernetes v1.36 announcement |
| 2026-08-26 | 1.37 | Release | Kubernetes 1.37 has been released. | Kubernetes v1.37 announcement |
| 2026-08-27 | 1.34 | Maintenance mode | Kubernetes 1.34 has entered maintenance mode. | Patch Releases |
| 2026-10-27 | 1.34 | End of life | This is the planned End of Life (EOL) date for Kubernetes 1.34. On the check date, the latest patch is 1.34.12 (2026-09-15). | Releases / Patch Releases |
| 2026-12-16 | 1.38 | Schedule | This is the planned release date for Kubernetes 1.38. The schedule is described as The v1.38 release cycle is proposed as follows:. | release-1.38 README |
Current Overview of Kubernetes Releases and Support
This section outlines the currently supported versions of Kubernetes and related policies, on the check date, October 22, 2026.Supported Minor Versions on the Check Date
The top of the Releases page statesThe Kubernetes project maintains release branches for the most recent three minor releases (1.37, 1.36, 1.35). The Release History section of the same page, and the Detailed Release History for Active Branches section on the Patch Releases page, list four versions, including Kubernetes 1.34. Kubernetes 1.34 is in maintenance mode as of the check date. The following table includes these four versions, as well as the planned Kubernetes 1.38 release.| Version | Released | Maintenance Mode | End of Life | Latest Patch on the Check Date | Status on the Check Date |
|---|---|---|---|---|---|
| 1.37 | 2026-08-26 | 2027-08-28 | 2027-10-28 | 1.37.1 (2026-09-15) | Released |
| 1.36 | 2026-04-22 | 2027-04-28 | 2027-06-28 | 1.36.5 (2026-09-15) | Released |
| 1.35 | 2025-12-17 | 2026-12-28 | 2027-02-28 | 1.35.9 (2026-09-15) | Released |
| 1.34 | 2025-08-27 | 2026-08-27 | 2026-10-27 | 1.34.12 (2026-09-15) | Scheduled (upstream EOL) |
| 1.38 | 2026-12-16 (planned) | — | — | — | Proposed |
The Maintenance Mode and End of Life columns reflect the values found on the Patch Releases page. The maintenance mode date for Kubernetes 1.34 is a past date, while the other three versions list planned dates.

v1.34.13, v1.35.10, v1.36.6, and v1.37.2 could not be found on GitHub (resulting in a 404 error). No explanation was found on the Patch Releases page regarding why a patch was not released in October 2026. According to the table, the next target dates are 2026-11-10 and 2026-12-15.When the Support Rules Changed
The following table summarizes changes to the support rules, organized by what changed.| What Changed | Since | Who Decides | Where It Is Written | What You Can Set | No Statement Found | Status on the Check Date |
|---|---|---|---|---|---|---|
The support period changed from approximately 9 months to approximately 1 year (roughly fourteen (14) months). | Kubernetes 1.19 (2020-08-26) | SIG Release | KEP-1498 / Patch Releases / Releases | Which minor version to use and when to upgrade. | — | In effect |
| The release frequency of minor versions was reduced from four times per year to three times per year. | Effectively, from 2020 with Kubernetes 1.19. The KEP-2572 policy begins with Kubernetes 1.22 (2021-08-04). | SIG Release | KEP-2572 / Blog post from 2021-07-20 / Kubernetes Release Cycle | — | No statement found indicating that KEP-2572 became stable (searched in KEP-2572 README and kep.yaml). | In effect |
| The kubelet and kube-proxy skew was increased from 2 versions to 3 versions relative to the kube-apiserver. | With Kubernetes 1.25 and later for kubelet and kube-proxy, and with Kubernetes 1.28 (2023-08-15) or later for the control plane. | SIG Architecture | KEP-3935 / Announcement for Kubernetes v1.28 / Version Skew Policy | Version of kubelet and kube-proxy on the node. | — | In effect |
| The kubectl skew stays within one minor version (older or newer) of kube-apiserver. | — | — | Version Skew Policy / KEP-1498 | Which version of kubectl to use. | No statement found indicating that the kubectl skew was expanded (searched in Version Skew Policy, KEP-1498, and KEP-3935). | In effect |
The paragraphs below add what each source says about these rules.
Support Period. The Releases page states that
Kubernetes 1.19 and newer receive approximately 1 year of patch support. Kubernetes 1.18 and older received approximately 9 months of patch support. The Patch Releases page states roughly fourteen (14) months. KEP-1498 divides the 14 months into 12 months of support and a 2-month upgrade period. These three documents describe the support duration for the same versions of Kubernetes 1.19 and later in different terms. KEP-1498 states, WG LTS proposes this KEP be implemented as of the 1.19.0 release. Its kep.yaml has status: implemented and latest-milestone: v1.19.Release Frequency. The Summary for KEP-2572 states,
change the current Kubernetes release cadence from 4 down to 3 releases per year. KEP-2572 gives two versions for when it applies. One states, beginning with the Kubernetes 1.22 Release, which represents the intended policy change. The other is Kubernetes effectively moved to a *3 release per year* cadence in 2020, starting with the Kubernetes 1.19 release., which reflects what actually happened. According to the timeline presented in this article, minor releases occurred four times per year from 2016 to 2019, and three times per year from 2020 to 2025. The kep.yaml of KEP-2572, on the check date, had status: implementable, stage: alpha, and latest-milestone: "v1.22". The KEP-2572 README plans to promote the KEP to stable for the Kubernetes 1.26 release. The Kubernetes Release Cycle page states, Kubernetes releases currently happen approximately three times per year.Version skew. The Version Skew Policy page states the following regarding kubelet:
kubelet may be up to three minor versions older than kube-apiserver (kubelet < 1.25 may only be up to
two minor versions older than kube-apiserver).
The Kubernetes 1.25 version mentioned here refers to the kubelet version. The announcement of Kubernetes v1.28 indicates changes related to the control plane version. The following sentence in KEP-3935 links these two versions.
Update the [Kubernetes version skew policy](https://kubernetes.io/releases/version-skew-policy/) to
indicate node components from the oldest supported minor version work with control plane components
from the newest supported minor version, starting with Kubernetes `v1.25` nodes and `v1.28` control
planes.
The same three-version range and the same Kubernetes 1.25 boundary are also documented for kube-proxy. In 2020, KEP-1498 had proposed expanding the version skew for kubelet and kube-apiserver to
(12/3)-1=3 releases. kube-controller-manager, kube-scheduler, and cloud-controller-manager are at the same minor version as kube-apiserver or one minor version older. kubectl is within one minor version (older or newer) of kube-apiserver. KEP-1498 also listed expanding the supported kubectl skew as a design item (ideally +0/-3 minor versions), but the Version Skew Policy page on the check date states one minor version older or newer. In high-availability (HA) clusters where multiple kube-apiserver versions are running, the supported range narrows for kubelet, kube-proxy, and kubectl, and for the controller components when they can reach any kube-apiserver instance. For example, if the kube-apiserver is running Kubernetes 1.37 and Kubernetes 1.36, the Version Skew Policy page specifies that kubelet should be running Kubernetes 1.36, Kubernetes 1.35, and Kubernetes 1.34, and that Kubernetes 1.37 is not supported.
What Happens in Maintenance Mode
Maintenance mode covers the final two months of the support period. The page says that, in this period, Release Managers may cut additional maintenance releases to resolve vulnerabilities with CVE IDs, dependency issues, and critical problems with core components (as detailed in the section "How the End-of-Life Dates in This Timeline Were Derived"). On the check date, the version in maintenance mode is Kubernetes 1.34, and the upstream end-of-life (EOL) date is 2026-10-27. The Patch Releases page states thatcherry picks to the associated branch are to be closed soon afterwards following the EOL.The LTS Working Group
The LTS Working Group proposed KEP-1498. The Non-Goals section of KEP-2572 statesThe LTS Working Group was disbanded on October 20, 2020. On GitHub, in the kubernetes/community repository, there is an archive/wg-lts/README.md file on the check date. The archive/README.md file states, The archive contains SIG information for those no longer active. No statement of when or how the Working Group in that README ended was found in the kubernetes/community archive README files. KEP-2572 gives the date and links the word "disbanded" to a pull request in that repository.Kubernetes Versions on AWS
Amazon EKS provides upstream versions on its own schedule. The "Understand the Kubernetes version lifecycle on EKS" page in the EKS user guide describes the standard support period as follows:A Kubernetes version receives standard support for 14 months after first being available on Amazon
EKS. This is true even if upstream Kubernetes no longer supports a version that’s available on Amazon
EKS.
Standard support on EKS begins from the date a version becomes available on EKS, not from the upstream release date. Following the standard support period, a 12-month extended support period is provided. The FAQ on the same page notes that the end of standard support for EKS occurs after the end of upstream support.
For example, consider Kubernetes 1.34. The upstream End-of-Life (EOL) date is 2026-10-27. According to the schedule in the EKS user guide, the Amazon EKS release for Kubernetes 1.34 was 2025-10-02, and the end of standard support for EKS for that version is 2026-12-02. Even for the same version, the upstream EOL date and the end of standard support on EKS are different dates. Dates for other EKS versions can be found in Section 4 of the AWS End-of-Support and EOL Reference and in AWS History and Timeline regarding Amazon EKS. The Amazon EKS Control Plane Configuration details what can be configured on the EKS control plane.
The FAQ in the EKS user guide also addresses version skew. It states
The Kubernetes project tests compatibility between the control plane and nodes for up to three minor versions. and provides the example that nodes running Kubernetes 1.34 can continue to operate with a Kubernetes 1.37 control plane.Frequently Asked Questions about Kubernetes Releases and Support
This section answers common questions regarding Kubernetes versions and support, based on the information presented here. The dates provided are current on the check date, October 22, 2026.How long is each Kubernetes minor version supported?
Kubernetes 1.19 and later versions are supported forroughly fourteen (14) months, according to the Patch Releases page. The initial 12 months represent the standard period, followed by 2 months of maintenance mode. The Releases page describes this period as approximately 1 year of patch support. The Releases page says Kubernetes 1.18 and older versions received approximately 9 months of patch support. The actual End-of-Life (EOL) dates can be verified for each version on the Releases page.How many Kubernetes minor releases come out each year?
On the check date, three minor releases come out each year. The Kubernetes Release Cycle page states that this isapproximately three times per year. From 2016 to 2019, there were four minor releases annually. KEP-2572 states that the policy of three releases per year begins with Kubernetes 1.22, although in reality, this schedule had been in place since Kubernetes 1.19 in 2020.When does Kubernetes 1.34 reach end of life?
According to the Releases page and the Patch Releases page, the upstream end-of-life (EOL) date is October 27, 2026. Kubernetes 1.34 entered maintenance mode on August 27, 2026. On the check date, the latest patch version is 1.34.12 (released September 15, 2026).How many minor versions older than kube-apiserver can kubelet be?
It is three minor versions. If kube-apiserver is running Kubernetes 1.37, kubelet can be as old as Kubernetes 1.34. However, kubelet versions older than Kubernetes 1.25 are limited to two versions. The expansion to three versions was introduced through a change described in KEP-3935, which stated that it would begin with nodes running Kubernetes 1.25 and control planes running Kubernetes 1.28. kubelet must not be newer than kube-apiserver.Why does Amazon EKS end standard support on a different date from the upstream end of life?
The reason is that the starting points are different. The Patch Releases page does not name a starting point for the roughly 14-month upstream period, but for Kubernetes 1.34 the EOL falls 14 months after the upstream release. In contrast, the 14-month standard support period for Amazon EKS is calculated from the date that a particular version becomes available on EKS. The EKS user guide states that even when the upstream project no longer provides support for a version, EKS continues to offer standard support. For example, with Kubernetes 1.34, the upstream end-of-life date is 2026-10-27, while the end of standard support for EKS is 2026-12-02.Is the release date of Kubernetes 1.38 fixed?
The release date for Kubernetes 1.38 is not yet finalized. The SIG Release schedule lists the Kubernetes 1.38 release cycle asproposed and indicates a potential release date of December 16, 2026, for Kubernetes v1.38.0. The date can change when the schedule is updated.Summary
This article provides a timeline of the release dates and end-of-life (EOL) dates for minor versions of upstream Kubernetes, from Kubernetes 1.0 (released on July 21, 2015) up to the check date, October 22, 2026.The EOL dates are listed on the Kubernetes Releases page on kubernetes.io. Its table of versions that reached EOL extends back to Kubernetes 1.2; there are no entries for Kubernetes 1.0 and 1.1.
The support period for Kubernetes versions has been approximately one year, starting with version 1.19. The Patch Releases page states that this period is
roughly fourteen (14) months, with the final two months designated as maintenance mode. While the target date for maintenance mode and EOL is typically the 28th of the month, there are some versions, such as Kubernetes 1.34, that have an EOL date other than the 28th.The frequency of minor version releases has changed from four times per year to three times per year. KEP-2572 states that this policy begins with Kubernetes 1.22, although it effectively began with Kubernetes 1.19 in 2020.
The version skew for kubelet and kube-proxy has reached three minor versions. KEP-3935 mentions that this applies to nodes running Kubernetes 1.25 and the control plane running Kubernetes 1.28.
The end-of-life dates for upstream Kubernetes and the standard support end dates for EKS are different. EKS standard support begins from the date a version becomes available on EKS.
⚠ Things may change after the check date. The upstream EOL date for Kubernetes 1.34 (October 27, 2026) and the planned release date for Kubernetes 1.38 (December 16, 2026 –
proposed) are dates after the check date. All information is current as of October 22, 2026.This timeline will be updated as Kubernetes continues to evolve.
In addition, there are related history-and-timeline articles on this site, so please have a look if you are interested.
- AWS History and Timeline regarding Amazon EKS - Overview, Functions, Features, Summary of Updates, and Introduction
- Go Release and Support Timeline - Release History, the Release Policy, and the Go 1 Compatibility Promise
- Node.js Release and EOL Timeline - LTS Schedule, Active LTS and Maintenance, and End-of-Life Dates
- Python Version Support and EOL Timeline - Release Schedule, Support Policy, and End-of-Life Dates
References:
- Releases (Kubernetes)
- Patch Releases (Kubernetes)
- Kubernetes Release Cycle (Kubernetes)
- Version Skew Policy (Kubernetes)
- KEP-1498: Kubernetes Yearly Support Period (kubernetes/enhancements)
- KEP-2572: Defining the Kubernetes Release Cadence (kubernetes/enhancements)
- KEP-3935: Support Oldest Node And Newest Control Plane (kubernetes/enhancements)
- release-1.38 README (kubernetes/sig-release)
- Increasing the Kubernetes Support Window to One Year (Kubernetes Blog)
- Kubernetes Release Cadence Change: Here’s What You Need To Know (Kubernetes Blog)
- 10 Years of Kubernetes (Kubernetes Blog)
- LTS Working Group README (kubernetes/community archive)
- Releases (kubernetes/kubernetes)
- Understand the Kubernetes version lifecycle on EKS (Amazon EKS User Guide)
References:
Tech Blog with curated related content
Written by Hidekazu Konishi