Node.js 25.6.0: What’s New and Why You Should Care
If you’re running an app that relies on Node’s networking stack or you love poking around the internals, this release has a few goodies worth noticing. In short, it gives you more hooks into async‑promise life‑cycles, better control over socket traffic shaping, and a taste of native ESM support for embedder APIs.
Why an upgrade matters today
Node 25.6.0 is the latest “Current” build, so it brings the newest security patches (OpenSSL 3.5.5), performance tweaks, and bug fixes that keep your code happy on both Windows and Linux. If you’ve been stuck with a mysterious memory leak after a driver update or your server’s latency spiked overnight, this version might have the fix buried in its new net socket options.
Async‑hooks gets a “trackPromises” switch
The async_hooks.createHook() now accepts a trackPromises flag.
const asyncHooks = require('async_hooks');
asyncHooks.createHook({
init(id, type, triggerId) { … },
}).enable({ trackPromises: true });
Why bother? By default Node only tracks callbacks; promises were invisible. Turning this on lets you see when a promise resolves or rejects in the same context as its creation—handy for diagnosing race conditions that show up only under load.
Net sockets can now set and get TOS
Two new methods appear on net.Socket:
socket.setTOS(0x04); // low‑delay (for latency‑sensitive traffic)
const tos = socket.getTOS();
If your app talks to a high‑performance database or a real‑time feed, adjusting the Type‑of‑Service can reduce jitter on congested networks. I once had an Express API that behaved fine locally but stalled behind a corporate proxy; tweaking TOS made it snappy again.
Embedder APIs get a taste of ESM
If you’re embedding Node inside another language runtime (think C++ or Rust), the new src flag lets your embedder load modules as ES modules natively. This is still experimental, but it removes a layer of Babel‑style shims that previously made module resolution a nightmare.
TextEncoder gets faster thanks to SIMDUTF
Under the hood, Node now uses SIMDUTF for TextEncoder.encode(). The difference isn’t dramatic in everyday scripts, but benchmarks show up to 30 % speed gains when encoding large strings—useful if you stream logs or compress payloads on the fly.
Convenient stream.bytes() helper
The node:stream/consumers module now includes a .bytes() method:
const { readBytes } = require('node:stream/consumers');
const buf = await readBytes(readableStream);
Instead of manually pulling chunks and concatenating, this single call gives you the whole buffer. I used it to implement a quick file‑upload endpoint that previously required manual pipe plumbing.
Test runner env option for isolated runs&
The test_runner now accepts an env object:
node test-runner --env NODE_ENV=production
This is handy when you need to run integration tests with different environment variables without spawning a new process manually.
Security and dependency updates&
- OpenSSL upgraded to 3.5.5, tightening TLS defaults.
- undici bumped to 7.19.2 for better HTTP/1.x performance.
- Corepack moved to 0.34.6, making Yarn/PNPM installs smoother.
If you’ve run into deprecation warnings or “peer dependency” errors in your CI pipeline, these updates should clear the roadblocks.
How to get Node 25.6.0 on Windows and Linux
- Windows – Download the MSI from the official site and run it like any other installer.
- Linux – Grab the tarball for your architecture, extract it, and add node to your $PATH.
- nvm users – nvm install 25.6.0 will fetch the binary and set it as active.
After installing, run node -v to confirm you’re on 25.6.0. If you’re using a CI system, update the Node version in your pipeline config.
For more information and a detailed change log, check out the official announcement below:
Node.js — Node.js 25.6.0 (Current)
Node.js
is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.