Change8

v25.8.1

📦 node-jsView on GitHub →
3 features🐛 10 fixes1 deprecations🔧 13 symbols

Summary

This release includes fixes for module resolution in ES Modules, improvements to crypto and stream handling, and updates to several internal dependencies. A notable documentation change clarifies the application of DEP0169 regarding `url.resolve()`.

Migration Steps

  1. If you rely on extensionless CJS files in packages marked with `"type": "module"`, be aware of updated resolution behavior.

✨ New Features

  • Exposed async context frame debugging helper to JavaScript.
  • Made AsyncWrap subclass internal field counts explicit in C++.
  • CompressionStream and DecompressionStream now accept ArrayBuffer.

🐛 Bug Fixes

  • Fixed extensionless CJS files resolution in packages with `"type": "module"`.
  • Fixed importKey required argument count check in crypto module.
  • Fixed use-after-free when freeParser is called during llhttp_execute in http module.
  • Fixed source map URL parsing in dynamic imports.
  • Fixed statement invalidation handling in sqlite module.
  • Released context frame in AsyncWrap::EmitDestroy.
  • Fixed UTF-8 character corruption in fast-utf8-stream.
  • Fixed TransformStream race condition on cancel with pending write.
  • Fixed brotli error handling in web compression streams.
  • Improved Web Compression spec compliance.

Affected Symbols

⚡ Deprecations

  • The application of DEP0169 (deprecation of `url.resolve()`) has been updated to include `url.resolve()`.