Change8

v23.11.0

📦 node-jsView on GitHub →
6 features🐛 5 fixes3 deprecations🔧 8 symbols

Summary

This release introduces partial error comparison in the assert module, adds process.execve, and expands the sqlite and crypto APIs. It also includes several dependency updates and stabilizes multiple experimental APIs.

Migration Steps

  1. Review usage of `child_process.spawn` to ensure arguments are passed according to the non-deprecated signature (see DEP0190).
  2. If using `sqlite` StatementSync, you can now utilize `.columns()` for better schema introspection.
  3. Update any custom assertion logic to leverage the newly exposed `util` diff function if needed.

✨ New Features

  • assert: implement partial error comparison and improve partialDeepStrictEqual performance.
  • crypto: add optional callback to `crypto.diffieHellman`.
  • process: add `execve` for direct process execution.
  • sqlite: add `StatementSync.prototype.columns()` to retrieve column metadata.
  • util: expose the internal diff function used by assertion errors.
  • Marked multiple experimental APIs as stable.

🐛 Bug Fixes

  • crypto: fix output of `privateDecrypt` when handling zero-length data.
  • crypto: ensure expected JWK alg in `SubtleCrypto.importKey` RSA imports.
  • debugger: fix behavior of plain object execution in the debugger REPL.
  • cli: clarify allowed values for `--cpu-prof-name`.
  • doc: corrected module resolution pseudocode.

Affected Symbols

⚡ Deprecations

  • Passing `args` to `spawn` in a deprecated manner (DEP0190).
  • Removal of Corepack documentation from the main repository.
  • Removal of cryptoStream API reference from documentation.