Change8

v22.16.0

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

Summary

This release graduates several experimental APIs and ESM features to stable, introduces a native node.config.json support, and adds new utilities for SQLite, Worker threads, and Float16Arrays.

Migration Steps

  1. If using experimental APIs that were graduated, you can now rely on them as stable features.
  2. To use the new configuration file feature, create a 'node.config.json' in your project root.
  3. Update any custom Float16Array handling to use the new util.types.isFloat16Array() helper.

✨ New Features

  • Graduated multiple experimental APIs to stable status.
  • Graduated import.meta properties in ESM to stable status.
  • Added support for top-level WebAssembly (Wasm) without requiring a package type.
  • Added StatementSync.prototype.columns() to the sqlite module.
  • Introduced support for a default configuration file (node.config.json).
  • Added ExecutionAsyncId getter for any Context.
  • Added util.types.isFloat16Array() for identifying Float16Array instances.
  • Added worker.getHeapStatistics() to retrieve heap information from worker threads.
  • Preserved AsyncLocalStorage context in stream.finished().

🐛 Bug Fixes

  • Fixed constructor lookup in deep equal comparisons for assert and util modules.
  • Fixed cross-realm validation for SharedArrayBuffer and ArrayBuffer in the crypto module.
  • Forbid passing Float16Array to crypto.getRandomValues() to prevent invalid input.
  • Improved performance for deep object, unequal number, and array comparisons.
  • Fixed zstd library naming in the build process.
  • Avoided creating unnecessary environments in the buffer module to improve efficiency.

Affected Symbols