We have the 22, 23, and 24 flags to remove EOL Node features in the corresponding releases.
We should add flags for 25 and 26 as well.
Refs:
Here is what gemini thinks we should handle (to give an idea):
Node.js 25
🛑 Removed / EOL Features
- Buffer: The legacy
SlowBuffer API was finalized and completely removed.
- File System (
fs): The legacy file access constants fs.F_OK, fs.R_OK, fs.W_OK, and fs.X_OK were completely removed.
- Process & Async Hooks:
- The
multipleResolves event on the process object was removed.
- The
asyncResource property on bound functions in async_hooks reached EOL.
- Network & URL: The legacy URL parser's tolerance for bad/malformed ports was moved to EOL (developers must strictly use the WHATWG
URL() API).
- Testing & Assertions:
- The experimental
CallTracker in the assert module was moved to EOL.
- Passing multiple arguments to
assert.fail() was removed.
- Package Management:
Corepack is no longer bundled with Node.js starting from version 25.0.0.
Node.js 26
Node.js 26 (released in May 2026) continues the cleanup process and promotes several doc-deprecations to runtime-deprecations or full removals. Note: With the release of Node.js 26, the Node.js 25 release line reached its End-of-Life (EOL) on June 1, 2026.
🛑 Removed / EOL Features
- Legacy Internal Streams: The legacy stream private modules (
_stream_wrap, _stream_readable, _stream_writable, _stream_duplex, _stream_transform, and _stream_passthrough) are now fully removed.
- HTTP (DEP0063):
http.Server.prototype.writeHeader() is fully removed. Developers should use http.Server.prototype.writeHead() instead.
- Transform Types: The
--experimental-transform-types CLI flag has been removed.
- Web Storage API:
localStorage now returns undefined if accessed without a properly configured backing file.
We have the 22, 23, and 24 flags to remove EOL Node features in the corresponding releases.
We should add flags for 25 and 26 as well.
Refs:
Here is what gemini thinks we should handle (to give an idea):
Node.js 25
🛑 Removed / EOL Features
SlowBufferAPI was finalized and completely removed.fs): The legacy file access constantsfs.F_OK,fs.R_OK,fs.W_OK, andfs.X_OKwere completely removed.multipleResolvesevent on theprocessobject was removed.asyncResourceproperty on bound functions inasync_hooksreached EOL.URL()API).CallTrackerin theassertmodule was moved to EOL.assert.fail()was removed.Corepackis no longer bundled with Node.js starting from version 25.0.0.Node.js 26
Node.js 26 (released in May 2026) continues the cleanup process and promotes several doc-deprecations to runtime-deprecations or full removals. Note: With the release of Node.js 26, the Node.js 25 release line reached its End-of-Life (EOL) on June 1, 2026.
🛑 Removed / EOL Features
_stream_wrap,_stream_readable,_stream_writable,_stream_duplex,_stream_transform, and_stream_passthrough) are now fully removed.http.Server.prototype.writeHeader()is fully removed. Developers should usehttp.Server.prototype.writeHead()instead.--experimental-transform-typesCLI flag has been removed.localStoragenow returnsundefinedif accessed without a properly configured backing file.