Two release lines, one tight window, zero room for delay: on October 14, 2026, the Node.js project shipped Node.js 26.12.0 and Node.js 24.22.0 on the same day, just ahead of a complete shift in the project’s LTS landscape. Anyone running Node.js in production now faces a decision that shouldn’t wait. Node.js 26.12.0 doesn’t just add new WebSocket-masking APIs, it also changes behavior so that previously silent failures now surface clearly. At the same time, the 24.22.0 LTS line gets meaningful additions to crypto and everyday utility functions for backend work.
This article breaks down both releases, explains the most relevant technical changes, and lays out which October 2026 dates matter most for teams planning an upgrade.
Table of Contents
Key Takeaways
- Node.js 26.12.0 (Current) and Node.js 24.22.0 (LTS) both shipped on October 14, 2026, officially announced via the nodejs.org blog.
- Node.js 26.12.0 introduces
http.websocketMask()andhttp.websocketUnmask(), and now throws an explicit error when WebAssembly or RX support is missing instead of failing silently. - Node.js 24.22.0 adds
crypto.parsePKCS12(), a generic MAC API, cipher discovery via OpenSSL providers, and the new utility functionsutil.throttle()andutil.debounce(). - On October 20, 2026, Node.js 24 moves into Maintenance LTS; on October 28, 2026, Node.js 26 takes over as the Active LTS line while Node.js 27 enters alpha.
- Security releases for the 26.x, 24.x, and 22.x lines are already scheduled for October 21, 2026, each patching at least one HIGH-severity vulnerability.
Why This Double Release Matters Right Now
Node.js has followed a predictable rhythm for years: odd version numbers are short-lived Current releases, even numbers graduate into Long-Term-Support lines. Node.js 26.12.0 marks the last significant polish pass before the version is officially promoted to the new Active LTS line. Node.js 24.22.0, meanwhile, is the final release that still carries the “Active LTS” label, after which this line enters its quieter but still important maintenance phase.
This timing isn’t a coincidence, it follows the well-known Node.js release plan. For teams with infrastructure, CI/CD pipelines, or Docker images pinned to specific Node versions, this is the moment to start test runs against Node.js 26.12.0 and review the migration strategy.
The previous Current release already brought notable changes of its own; see Node.js 26.11.0 Release: What a New Process Timeout and SQLite Rename Mean for context.
Node.js 26.12.0: The Core Changes in Detail
WebSocket Masking Becomes an Official API
With Node.js 26.12.0, functionality that used to live internally moves into the public API: http.websocketMask() and http.websocketUnmask(). This addition, contributed by James M Snell, is classified as a SEMVER-MINOR change, meaning it adds new functionality without breaking existing code. In practice, developers building custom WebSocket implementations or proxy layers no longer need to reimplement WebSocket frame masking by hand or pull in a third-party library. The WebSocket protocol requires client-sent frames to be masked as a defense against certain proxy-based attacks; the new functions let you handle that step directly through the native Node.js API.
Native support for WebSocket masking reduces reliance on third-party packages and meaningfully simplifies maintaining your own network layer.
Stricter Error Handling for Missing WebAssembly or RX Support
A second change, implemented by Paolo Insogna, touches how the runtime itself handles errors. Previously, missing support for WebAssembly or certain RX-based regular expression functionality could lead to unexpected behavior without a clear error message. Node.js 26.12.0 changes that: when the relevant support is missing, the runtime now throws an explicit error. This follows a principle that’s increasingly common in Node.js development: a clear, early error beats a silent failure that only surfaces in production. For development teams, this means tests that previously contained unnoticed failed WebAssembly operations may now produce visible errors after upgrading to Node.js 26.12.0 — not a regression, but an improvement in diagnosability.
Technical Specs for Node.js 26.12.0
| Component | Version |
|---|---|
| N-API | v147 |
| npm | v11.20.0 |
| V8 engine | v14.6.202.34 |
| Release date | October 14, 2026 |
These figures matter most for native-addon maintainers, since the N-API version directly affects C++ binding compatibility.
Node.js 24.22.0: The Final Active LTS Release With Substantial Crypto Additions
While Node.js 26.12.0 prepares for the future, Node.js 24.22.0 delivers one more meaningful feature push for the line that currently sees the most production use.
New Crypto Capabilities
- crypto.parsePKCS12() (contributed by Brian Muenzenmeyer): native parsing of PKCS#12 containers, commonly used for certificate bundles and private keys — previously developers often had to reach for an external library for this.
- Generic MAC API (Filip Skokan): a unified interface for Message Authentication Codes that brings multiple algorithms under one consistent API.
- Cipher discovery via OpenSSL providers: lets you dynamically enumerate available encryption algorithms through the underlying OpenSSL providers.
- SIV and GCM-SIV modes for Cipher/Decipher: these modes add nonce-misuse resistance, particularly relevant in environments where random nonces aren’t guaranteed to be unique.
These additions show the Node.js crypto team increasingly backfilling capabilities that are already standard in other ecosystems, reducing reliance on third-party packages for security-critical operations.
New Native Utilities: throttle and debounce in Core
One of the most immediately practical additions in Node.js 24.22.0 lives in the util module. With util.throttle() and util.debounce(), implemented by James M Snell as part of pull request #65899, two patterns that were previously covered almost exclusively by frontend libraries or small helper packages are now available directly in Node.js core.
Throttling limits how often a function can run within a given time window. Debouncing delays execution until a quiet period has passed without further calls. In a backend context, these patterns are useful for:
- Rate-limiting internal function calls
- Batching log writes
- Reducing redundant database writes during rapid successive events
- Controlling health-check or metrics call frequency
Having these functions natively available means fewer external dependencies and a more consistent, better-tested implementation across the ecosystem.
The previous Current release already brought notable changes of its own; see Node.js 26.11.0 Release: What a New Process Timeout and SQLite Rename Mean for context.
The LTS Roadmap: Dates Teams Should Lock In Now
The real reason this double release deserves attention is the schedule for the coming weeks. Three dates land within practically the same month, with direct consequences for production environments.
October 20, 2026: Node.js 24 Moves Into Maintenance LTS
Just days after the Node.js 24.22.0 release, this line loses its Active LTS status. Starting October 20, 2026, Node.js 24 receives only critical fixes and security updates — new features for this line are effectively done. Node.js 22 remains in the Maintenance LTS phase it’s already in. For teams on Node.js 24, this means continued stability and security, but no further functional development. Anyone who wants to benefit long-term from new features like the crypto and utility APIs described here should plan a migration to the next Active LTS line.
October 28, 2026: Node.js 26 Takes Over as Active LTS
Just eight days later, on October 28, 2026, the actual handover happens: Node.js 26 officially becomes the new Active LTS line. That makes Node.js 26.12.0 effectively a preview of what becomes the reference version for production long-term use starting that date. At the same time, the first alpha of Node.js 27 kicks off, opening the next development cycle. This transition is the key moment for infrastructure teams: new projects that need long-term support should target Node.js 26 directly from late October onward, rather than a line already moving into maintenance mode.
October 21, 2026: Scheduled Security Releases Across Three Lines
Sandwiched between these two structural transitions is a third, security-relevant date. For Wednesday, October 21, 2026, the Node.js project has already announced security releases for the 26.x, 24.x, and 22.x lines. Each of these releases patches at least one HIGH-severity vulnerability. The official announcement is posted at nodejs.org/en/blog/vulnerability/october-2026-security-releases, independently confirmed by issue #644 of the Node Weekly newsletter, published October 15, 2026. This clustering of a release, a security patch, and an LTS transition within a few weeks is unusually dense and should be prioritized accordingly in change-management processes.
Key Dates at a Glance
| Date | Event |
|---|---|
| October 14, 2026 | Release of Node.js 26.12.0 and 24.22.0 |
| October 20, 2026 | Node.js 24 moves to Maintenance LTS |
| October 21, 2026 | Security releases for 26.x, 24.x, and 22.x (HIGH severity) |
| October 28, 2026 | Node.js 26 becomes Active LTS, Node.js 27 alpha begins |
Practical Recommendations for Upgrade Planning
- Move test environments to Node.js 26.12.0 now to catch compatibility issues early, before the line becomes the official LTS standard on October 28, 2026.
- Update production systems to Node.js 24.22.0 if you’re still on that line, to benefit from the last functional improvements before it enters maintenance.
- Don’t skip the October 21, 2026 security release — at least one HIGH-severity vulnerability is being patched across all three lines, so apply it promptly.
- Plan a longer-term migration path away from Node.js 22, since that line remains in Maintenance LTS and is heading toward end-of-life.
- Check native dependencies, especially against the new N-API version v147 shipped in Node.js 26.12.0.
Conclusion and Next Steps
Node.js 26.12.0 and Node.js 24.22.0 together mark a turning point in the platform’s lifecycle. While Node.js 24.22.0, as the final Active LTS release, delivers one more substantial round of crypto and utility additions, Node.js 26.12.0 prepares the ground — with new WebSocket APIs and stricter error handling — for its role as the next Active LTS line starting October 28, 2026. The shift of Node.js 24 into maintenance on October 20, 2026, along with the announced security releases on October 21, 2026, compresses the timeline further.
For development teams, the takeaway is concrete: now is the time to run compatibility tests against Node.js 26.12.0, schedule the mid-October security updates, and align your own Node.js roadmap with the new LTS cycle. Ignoring these three October 2026 dates risks not just missed feature improvements, but potentially unpatched, high-severity security vulnerabilities. A timely, planned migration remains the safest strategy.




