v26.1.0
📦 node-jsView on GitHub →
✨ 18 features🐛 6 fixes🔧 15 symbols
Summary
This release introduces the experimental `node:ffi` module for native library interaction and brings numerous minor version updates across core modules like buffer, crypto, fs, and http, enhancing functionality and hardening security.
Migration Steps
- If using `node inspect`, be aware that runtime expression probes are now edit-free.
- If relying on `process.abort()` behavior upon `execve(2)` failure, note that it now throws an error instead.
✨ New Features
- Introduced an experimental `node:ffi` module for loading dynamic libraries and calling native symbols from JavaScript. This requires the `--experimental-ffi` flag and potentially `--allow-ffi`.
- Added `end` parameter to `buffer` methods (SEMVER-MINOR).
- Added support for key data in `crypto.diffieHellman()` and cleanup of DH jobs (SEMVER-MINOR).
- Implemented `crypto.randomUUIDv7()` (SEMVER-MINOR).
- Added edit-free runtime expression probes to `node inspect` (SEMVER-MINOR).
- Added `signal` option to `fs.stat()` (SEMVER-MINOR).
- Exposed `frsize` field in `statfs` via `fs` module (SEMVER-MINOR).
- Hardened `ClientRequest` options merge in `http` (SEMVER-MINOR).
- Added `req.signal` to `IncomingMessage` in `http` (SEMVER-MINOR).
- Process now throws on `execve(2)` failure instead of aborting (SEMVER-MINOR).
- Allowed empty `--experimental-config-file` (SEMVER-MINOR).
- Propagated destruction in `duplexPair` in `stream` (SEMVER-MINOR).
- Added mock timeout API alignment to `test_runner` (SEMVER-MINOR).
- Added mock-timers support for `AbortSignal.timeout` in `test_runner` (SEMVER-MINOR).
- Added test order randomization support to `test_runner` (SEMVER-MINOR).
- Added hex color support for text coloring in `util` (SEMVER-MINOR).
- Added JWK support for ML-KEM and SLH-DSA key types in `crypto`.
- Added build flag `--enable-all-experimentals`.
🐛 Bug Fixes
- Fixed stale nested cycle memo entries in `assert` and `util`.
- Fixed bugs related to the `end` parameter in `buffer.indexOf/lastIndexOf`.
- Fixed cargo check when Temporal is disabled.
- Fixed ffi dependency compilation.
- Fixed stray debug string in LIEF defines.
- Fixed unsigned conversion of 4-byte RSA publicExponent.