Safeguard
Developer Tools•

Node, Java, Python, .NET, Go: how long is each runtime supported?

Support length ranges from about a year for Go to five years for Python. A side by side comparison of the five rules, with the dates that matter now.

Safeguard Security Team
3 min read

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

RuntimeRuleTypical lengthSource
PythonFive years after release5 yearsPython developer guide
Node.jsLTS lines fixed about 30 months30 monthsNode.js releases page
.NETLTS three years, STS two years2 to 3 yearsMicrosoft support policy
JavaLTS every two years, at least four years4 years or more, vendor specificAdoptium support page
GoUntil two newer majors existAbout 1 yearGo 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

RuntimeEventDate
Python 3.10End of life2026-10-01
Node.js 24Enters Maintenance2026-10-20
Node.js 26Scheduled Active LTS2026-10-28
.NET 8 and 9End of support2026-11-10

How to run five runtimes calmly

  1. Keep one inventory with runtime, version and end date.
  2. Review it monthly.
  3. Alert at 18 months and again at 6 months before end of support.
  4. Choose one target line per runtime for the whole organisation.
  5. 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

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.