Change8

v22.20.0

📦 node-jsView on GitHub →
10 features🐛 6 fixes🔧 9 symbols

Summary

This release updates Node.js 22.x to OpenSSL 3.5.2 for long-term support and introduces several minor features including Brotli support in streams, SEA configuration improvements, and stabilization of path.matchesGlob.

Migration Steps

  1. If using official Node.js builds, ensure compatibility with OpenSSL 3.5.2.
  2. If using path.matchesGlob, you can now remove any experimental warnings/flags as it is now stable.
  3. If using --disable-sigusr1, note that it is now considered a stable flag.

✨ New Features

  • Updated bundled OpenSSL to 3.5.2 to ensure support through 2027.
  • Added Agent.agentKeepAliveTimeoutBuffer option to http module.
  • Added support for raw header arrays in h2Stream.respond() for http2.
  • Implemented execArgvExtension and support for execArgv in Single Executable Applications (SEA) config.
  • Added Brotli support to CompressionStream and DecompressionStream.
  • Added support for object property mocking in the test_runner.
  • Added CPU profile APIs for worker threads.
  • Added http2 tracking support to the inspector.
  • Stabilized the --disable-sigusr1 flag.
  • Marked path.matchesGlob as a stable feature.

🐛 Bug Fixes

  • Capped input size in myersDiff to avoid Int32Array overflow in assert module.
  • Fixed OpenSSL version detection on Windows during build.
  • Fixed 'implicit-function-declaration' on OpenHarmony platform.
  • Removed unsafe array iteration in child_process.
  • Fixed sqlite benchmark to prevent creating both tables on prepare selects.
  • Updated root certificates to NSS 3.114.

Affected Symbols