Change8

v24.6.0

📦 node-jsView on GitHub →
5 features🐛 5 fixes2 deprecations🔧 11 symbols

Summary

This release introduces support for ML-DSA in crypto, Zstd dictionary support in zlib, and a new Utf8Stream in the fs module. It also adds the ability to use system certificate authorities via a new CLI flag.

Migration Steps

  1. If using custom CA management, consider enabling NODE_USE_SYSTEM_CA=1 to leverage system-level certificates.
  2. Update any code relying on internal _http_* modules to use public HTTP APIs as they are now deprecated.
  3. Ensure build environments for native modules use a compiler compatible with C++20.

✨ New Features

  • cli: Added NODE_USE_SYSTEM_CA=1 environment variable to use system certificate authorities.
  • crypto: Added support for ML-DSA KeyObject, sign, and verify.
  • zlib: Added dictionary support to zstdCompress and zstdDecompress.
  • http: Added server.keepAliveTimeoutBuffer option to manage keep-alive timeouts.
  • fs: Ported SonicBoom module to the fs module as Utf8Stream.

🐛 Bug Fixes

  • build: Fixed node_use_sqlite for GN builds.
  • fs: Fixed glob TypeError when encountering restricted directories.
  • fs: Corrected error message when a FileHandle is transferred.
  • crypto: Prepared webcrypto key import/export for modern algorithms.
  • assert: Optimized utils to use index-based loops instead of for...of.

Affected Symbols

⚡ Deprecations

  • Internal _http_* modules are now deprecated in documentation.
  • Removed deprecated _extend from benchmarks.