nodejs / nodejs/TSC

OpenSSL LTS strategy alignment with future Node majors

Open
#1,869 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
694
Forks
142
PR merge metrics
No merged PRs in 30d

Description

Summary

Node.js 27.x and OpenSSL 4.2 LTS are both scheduled for April 2027. Because the releases land within weeks of each other, we need to decide how Node.js 27.x should handle OpenSSL before it enters LTS in October 2027.

The decision affects whether Node.js 27.x ships with OpenSSL 3.5 LTS, moves to OpenSSL 4.2 LTS before LTS promotion, ships first with a non-LTS OpenSSL 4.x release and updates to 4.2, or adjusts its release/support dates.

[!NOTE]
Given the schedules aligning on April every 2nd year is a topic for us to solve every two years, hence opening this to set a pattern.

Refs: OpenSSL Release Strategy updated as of 07 May 2026 and its roadmap.

Relevant dates

Project Version Milestone Date
Node.js 27.x Alpha begins Oct 2026
Node.js 27.x Initial Current release Apr 2027
Node.js 27.x Enters LTS Oct 2027
Node.js 27.x EOL 2030-04-30
OpenSSL 3.5 LTS supported until 2030-04-08
OpenSSL 4.1 non-LTS release before 4.2
OpenSSL 4.2 LTS release ~Apr 2027
OpenSSL 4.2 Supported until ~Apr 2032

Option 1: Postpone Node.js 27.0.0 for OpenSSL 4.2

[!NOTE]
Initial release delays are not unheard of for us.

Delay the initial Node.js 27.x Current release long enough to include OpenSSL 4.2 LTS from the start.

Pros:

  • Node.js 27.x carries the intended next OpenSSL LTS for its full lifecycle.
  • Avoids a major OpenSSL upgrade during the 27.x Current phase.
  • Avoids shortening Node.js 27.x support.

Cons:

  • Delays the first release under the new annual schedule.
  • Reduces the stabilization window before October 2027 LTS.
  • Depends on OpenSSL 4.2 release timing and readiness.

Option 2: Release Node.js 27.0.0 with OpenSSL 3.5, then upgrade to 4.2 before LTS

[!NOTE]
We've done this during 24.x: it was released initially with 3.0 and upgraded to 3.5 before LTS. That was not an OpenSSL major-version upgrade.

Ship Node.js 27.0.0 on schedule with OpenSSL 3.5 LTS, then update to OpenSSL 4.2 LTS during Current before October 2027 LTS promotion.

This is different from 24.x because it would move between OpenSSL major versions. We already have 4.0.0 compatibility, but it is not without minor breakage and observable behavior changes.

Pros:

  • Preserves the Node.js 27.x April 2027 release target.
  • Allows Node.js 27.x LTS to be covered by OpenSSL 4.2 through EOL.
  • Gives some time to absorb OpenSSL 4.2 after its release.

Cons:

  • Requires a major OpenSSL upgrade during the Current phase.
  • Leaves less time to validate OpenSSL 4.2 before LTS.
  • May create compatibility, build, test, or ecosystem risk close to LTS promotion.

Option 3: Keep Node.js 27.x on OpenSSL 3.5 and shorten Node.js 27.x support

[!NOTE]
We've shortened LTS for Node.js 16.x by ~7 months to align with EOL of OpenSSL 1.1.1. Node.js 8.x was also shortened by ~3 months to align with EOL of OpenSSL 1.0.2.

Keep Node.js 27.x on OpenSSL 3.5 LTS, but end Node.js 27.x support no later than OpenSSL 3.5's support end date. This would lose ~1 month worth of LTS.

Pros:

  • Avoids an OpenSSL major-version upgrade in Node.js 27.x.
  • Keeps Node.js 27.x on the already-established OpenSSL 3.5 LTS line.
  • Lowest dependency-change risk for 27.x.

Cons:

  • Current Node.js 27.x EOL is 2030-04-30, while OpenSSL 3.5 support ends 2030-04-08.
  • Node.js 27.x support would need to be shortened by roughly one month.
  • Creates an exception to the new 30-month LTS expectation.

Option 4: Release Node.js 27.0.0 with OpenSSL 4.1, then upgrade to 4.2 before LTS

Ship Node.js 27.0.0 with OpenSSL 4.1, a non-LTS OpenSSL 4.x release, then update to OpenSSL 4.2 LTS during Current before October 2027 LTS promotion.

This avoids moving from OpenSSL 3.x to 4.x during the Node.js 27.x Current phase. The remaining update before LTS would still need validation, but it would be within the same OpenSSL major version.

Pros:

  • Preserves the Node.js 27.x April 2027 release target.
  • Avoids an OpenSSL major-version upgrade during Node.js 27.x Current.
  • Allows Node.js 27.x LTS to be covered by OpenSSL 4.2 through EOL.
  • Gives Node.js 27.x earlier exposure to OpenSSL 4.x before LTS.

Cons:

  • Ships Node.js 27.0.0 with a non-LTS OpenSSL release. Still a supported one though. Not really a con.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Node.js release schedule data in schedule.json, the release schedule update, and the referenced OpenSSL release strategy and roadmap. Compare the four proposed approaches and the compatibility and support implications described in the issue. Done means reaching and recording a committee decision that establishes a repeatable strategy for Node.js 27.x and similar future release alignments.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
release, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.