Most of the unplanned work that lands on an infrastructure team in a given quarter was announced months earlier, in a release note nobody read. The version stops getting patches, the runner image changes underneath the build, the managed service quietly moves to a higher rate, and the team finds out when something breaks or when finance asks a question.
This is the first edition of a calendar we plan to publish every quarter. Every date below comes from the vendor's own documentation rather than from somebody's summary of it, and each entry says what happens if you do nothing. Dates checked on 5 October 2026.
October
19 October. The default GitHub Actions runner starts becoming Ubuntu 26.04. The ubuntu-latest label begins moving from 24.04 to 26.04, rolling out over several weeks and completing on 19 November. The kernel goes from 6.17 to 7.0 and systemd from 255 to 259. Most tooling is unchanged, but builds that depend on specific system libraries or compiler versions can break, and they will break gradually as the rollout reaches your repositories rather than all at once.
If you want to decide when this happens rather than discover it, pin to ubuntu-24.04 now and migrate deliberately. This one affects almost everybody and is the single most likely source of a confusing build failure this quarter.
27 October. Kubernetes 1.34 stops getting upstream patches. This is the project's date, not your cloud provider's, and the two are not the same. Nothing changes on a managed cluster on this day. It matters if you run your own clusters, and it starts the clock on everything in the rest of this list.
31 October. AWS Lambda deprecates the Python 3.10 runtime. Existing functions keep running, and the blocks on creating and updating functions do not arrive until mid 2027, so this is not an emergency. It is the point at which you stop getting security patches for the runtime. Python 3.10 reached its own end of life upstream on 1 October.
November
10 November. .NET 8 and .NET 9 both reach end of support on the same day. This is the one that catches teams out, because 8 is the long term support release and people reasonably assume long term support means later than this. It does not. Long term support is three years, 8 shipped in November 2023, and the clock runs out. Standard support for 9 is two years and ends the same day. The destination is .NET 10, supported until November 2028.
AWS Lambda deprecates both the dotnet8 and dotnet9 runtimes on the same date.
19 November. The Ubuntu 26.04 runner migration completes. After this, ubuntu-latest is 26.04 everywhere unless you pinned.
During November. Azure Kubernetes Service ends community support for 1.34. Azure fails quietly rather than expensively. Nothing bills you and nothing stops running. You simply stop receiving fixes unless you are on the Premium tier with long term support switched on, which is something you have to do yourself.
December
2 December. Amazon EKS moves Kubernetes 1.34 to extended support. This is the expensive one. Extended support is enabled by default, so nothing breaks and nobody has to approve anything. The cluster charge goes from $0.10 to $0.60 an hour, which is roughly $73 a month per cluster becoming roughly $438. With twenty clusters that is about $7,300 a month that nobody chose to spend.
January
25 January. Google Cloud ends standard support for 1.34 on GKE. As on Azure, the extension is a choice rather than a default. Clusters can continue on the Extended release channel until 25 November 2027.
Just past the window, but start now
28 February 2027. Kubernetes 1.35 reaches upstream end of life, and Amazon RDS ends standard support for PostgreSQL 14. Both are listed here because neither is a one week job. A major PostgreSQL version upgrade on a production database is a quarter of planning for most teams, not a maintenance window. RDS Extended Support will keep PostgreSQL 14 alive until February 2030 at additional cost, which is a real option but should be a decision rather than a default.
Already passed. Check you are not still exposed
These dates are behind us, and in our experience they are the ones teams are most likely to be sitting on without knowing.
What | Date | What it means now |
|---|---|---|
Amazon Linux 2 end of support | 30 June 2026 | No more security patches. New vulnerabilities stay open. |
EKS 1.33 left standard support | 29 July 2026 | Billing at the higher rate since then, automatically. |
AKS 1.33 community support ended | July 2026 | Unsupported unless long term support was turned on. |
GKE 1.33 left standard support | 12 August 2026 | Needs the Extended channel to keep getting fixes. |
Python 3.10 end of life | 1 October 2026 | No upstream security fixes. |
The ten minute version
If you only do one thing after reading this, do this one. Open your cloud bill and look at the per cluster charge for every Kubernetes cluster you own. If any of them is at the higher rate, you are already paying for extended support on a version you meant to upgrade, and you have been for a while.
Then pin your runner image, and put the 10 November .NET date in front of whoever owns those services, because that one has no grace period and no warning email attached to it.
We cover the Kubernetes version question in more depth in our piece on why your support deadline is not the one you think.
Sources: the Kubernetes release page, the Amazon EKS version lifecycle and pricing documentation, the GKE release schedule, the AKS supported versions calendar, the AWS Lambda runtime documentation, the Amazon RDS for PostgreSQL release calendar, the Amazon Linux 2 FAQ, the Microsoft .NET support policy, and the actions/runner-images announcement for the Ubuntu 26.04 migration.







