Change8

v22.18.0

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

Summary

This release enables experimental TypeScript type stripping by default and introduces several minor features including import.meta.main, new URL buffer APIs, and async disposable Workers.

Migration Steps

  1. To disable the new default TypeScript type stripping, use the --no-experimental-strip-types CLI flag.

✨ New Features

  • Type stripping is now enabled by default, allowing Node.js to execute TypeScript files without additional configuration (experimental).
  • Implemented import.meta.main to identify if the current module is the entry point.
  • Added fileURLToPathBuffer API to the url module.
  • Added support for readBigInts option in SQLite database connections.
  • Added --watch-kill-signal flag to customize the signal used in watch mode.
  • Added support for permission.has(addon) to the permission model.
  • Worker class is now an async disposable.
  • Permission model flags are now propagated on spawn.
  • Added support for burst handling in fs-events with AsyncIterator.

🐛 Bug Fixes

  • Fixed a memory leak in DNS parsing.
  • Fixed SHAKE128/256 breaking change introduced with OpenSSL 3.4.
  • Fixed DNS timeout behavior to set to 1000ms when a negative value is provided.
  • Fixed inclusion of OPENSSL_IS_BORINGSSL define in crypto module.
  • Disabled v8_enable_pointer_compression_shared_cage on non-64bit builds.

Affected Symbols