The five runtimes use five different rules. Python is supported for five years from release, Node.js LTS for about 30 months, .NET LTS for three years, Java LTS for at least four years from the community, and Go for about a year, until two newer majors ship. Plan per runtime, not per organisation.
The rules side by side
| Runtime | Rule | Typical length | Source |
|---|---|---|---|
| Python | Five years after release | 5 years | Python developer guide |
| Node.js | LTS lines fixed about 30 months | 30 months | Node.js releases page |
| .NET | LTS three years, STS two years | 2 to 3 years | Microsoft support policy |
| Java | LTS every two years, at least four years | 4 years or more, vendor specific | Adoptium support page |
| Go | Until two newer majors exist | About 1 year | Go release policy |
The differences matter. A team that treats all five as "supported for three years" will be wrong for at least two of them.
What each rule means for the calendar
- Python has a yearly release, so each upgrade comes with a large runway. The cost is that the runway tempts teams to wait.
- Node.js has the schedule file with exact dates. Lines are fixed in length, so end dates are knowable years ahead. From Node.js 27 the project moves to one major per year.
- .NET releases each November. Note that an STS release can end on the same day as the previous LTS, as .NET 8 and 9 both do on 10 November 2026.
- Java depends on the vendor. Quarterly updates matter as much as the end date.
- Go has the shortest window, but it is the easiest to rebuild, since the standard library is statically linked into each binary.
Dates that matter this quarter
| Runtime | Event | Date |
|---|---|---|
| Python 3.10 | End of life | 2026-10-01 |
| Node.js 24 | Enters Maintenance | 2026-10-20 |
| Node.js 26 | Scheduled Active LTS | 2026-10-28 |
| .NET 8 and 9 | End of support | 2026-11-10 |
How to run five runtimes calmly
- Keep one inventory with runtime, version and end date.
- Review it monthly.
- Alert at 18 months and again at 6 months before end of support.
- Choose one target line per runtime for the whole organisation.
- Treat the upgrade like a feature with an owner.
Deep dives: Node.js LTS, Java LTS, Python phases, .NET 9 and 10 and Go.
Try it yourself
The vulnerability management demo shows one place where findings from many components are tracked. Think of your runtime inventory as the same idea: one list, with dates.
Click through it at your own pace, or open it full screen.
Safeguard's asset discovery and dependency scanning can help build that inventory. The free scan is at gold.safeguard.sh/scan.
Quick check
Which runtime has the shortest support window?
Go, at about a year, because a major release is supported until two newer majors exist.
Is LTS the same across runtimes?
No. Each project defines it differently, so read the rule for the one you use.
Sources
- Python developer guide: versions
- Node.js releases
- Microsoft .NET support policy
- Adoptium supported platforms and release support
- Go release history and policy
Last reviewed: 19 October 2026.