OpenSSL LTS strategy alignment with future Node majors
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
- Node.js release schedule update: https://nodejs.org/en/blog/announcements/evolving-the-nodejs-release-schedule
- Node.js release schedule data: https://github.com/nodejs/Release/blob/main/schedule.json
- OpenSSL release strategy: https://openssl-library.org/policies/releasestrat/
- OpenSSL roadmap: https://openssl-library.org/roadmap/index.html
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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