Change8

v24.11.1

Breaking Changes
📦 node-jsView on GitHub →
1 breaking6 features🐛 7 fixes2 deprecations🔧 8 symbols

Summary

This release fixes a critical bug where Buffer.allocUnsafe was incorrectly zero-filling memory and updates several core dependencies including npm, corepack, and root certificates.

⚠️ Breaking Changes

  • Buffer.allocUnsafe now correctly returns uninitialized memory instead of zero-filled memory. Code relying on the previous incorrect zero-filling behavior must be updated to manually initialize the buffer or use Buffer.alloc instead.

Migration Steps

  1. Audit usage of Buffer.allocUnsafe to ensure data is not being read before being written, as it no longer returns zeroed memory.
  2. Update npm to 11.6.2 if managing global installations.
  3. Review experimental async customization hooks if using custom module loaders.

✨ New Features

  • Added benchmark for leaf source text modules.
  • Added vm.SourceTextModule benchmark.
  • Updated root certificates to NSS 3.116.
  • Added CAA type support to dns.resolveAny() and dnsPromises.resolveAny().
  • Added network payload buffer size limits to the inspector.
  • Added support for handshake response for websocket inspection.

🐛 Bug Fixes

  • Fixed Buffer.allocUnsafe incorrectly zero-filling buffers.
  • Fixed HTTP client memory leak occurring with double responses.
  • Fixed crash in HTTP2 when ping buffer length is mismatched.
  • Fixed include paths for vtune files in build process.
  • Fixed typo in createBlobReaderStream.
  • Fixed constructor in _errnoException stack tree.
  • Fixed typo in QuicSessionStats.

Affected Symbols

⚡ Deprecations

  • The WriteUtf8V2 method is preferred over deprecated UTF8 write methods in benchmarks.
  • Async customization hooks in modules have been changed to experimental status.