Change8

v2.7.13

📦 denoView on GitHub →
3 features🐛 29 fixes🔧 11 symbols

Summary

This release introduces significant enhancements to Node.js compatibility, including rewriting node:http with llhttp and implementing the node:repl module. Numerous bug fixes address issues across HTTP/2, TLS, file system operations, and runtime stability.

✨ New Features

  • Implement node:repl module in extensions.
  • Rewrite node:http using llhttp and native TCPWrap.
  • Support installing from a Pull Request (PR).

🐛 Bug Fixes

  • Migrate audit functionality to use the bulk advisory endpoint.
  • Fix finding nodejs.util.inspect.custom on Proxy objects via get trap.
  • Add Prism support for JSX/TSX code blocks in documentation.
  • Treat empty Host header as missing in request URL for ext/http.
  • Defer GC weak-callback finalizers to the event loop in ext/napi.
  • Implement real V8 handle scopes and callback scopes in ext/napi.
  • Implement zero-copy external Latin-1 strings in ext/napi.
  • ChildProcess.kill() now correctly returns false when the process has already exited.
  • Address review comments for node:http rewrite.
  • Auto-start server-side STARTTLS handshake and add TLS upgrade tests.
  • Defer JS stream encOut to avoid reentrant CppGC borrow.
  • Enable HTTP parser consume fast path.
  • Enforce maxHeaderSize in the HTTP parser.
  • Fix EEXIST error and file corruption with writeFileSync on Windows.
  • Fix Module._resolveLookupPaths and require.resolve compatibility.
  • Fix multiple http2 bugs.
  • Fix playwright on windows.
  • Flush HTTP/2 HEADERS frame after client request.
  • Free uv_write and uv_shutdown requests in every exit path.
  • Improve http client compatibility.
  • Improve node:http2 compatibility (constants, error codes, settings, validation).
  • Improve node:tls compatibility (validation, pipes, JS streams).
  • Support FD-indexed stdio inheritance in spawnSync.
  • Support RSA-PSS keys in crypto.verify with null algorithm.
  • Warn on unsupported web Worker options and fix recv panic.
  • Fix specific_canary upgrade test on Windows.
  • Add note regarding canary's 30-day retention period.
  • Restore glibc < 2.27 compatibility for Linux release builds.
  • Update v8 crate to 147.2.1.

Affected Symbols