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.