v2.7.5
📦 denoView on GitHub →
✨ 6 features🐛 38 fixes🔧 37 symbols
Summary
This release introduces significant enhancements to coverage reporting, Node.js compatibility (especially around crypto and HTTP/2), and performance improvements across the npm subsystem. Numerous bug fixes address stability and correctness across various core and extension modules.
✨ New Features
- Add function coverage to summary and HTML reports.
- Support npm packages in `deno doc`.
- Add `node_api_create_object_with_properties` API in `ext/node`.
- Implement KeyObject.toCryptoKey() and KeyObject.from(CryptoKey) in `ext/node`.
- Allow feeding permission audit data into OTEL.
- --cpu-prof flags for CPU profiles.
🐛 Bug Fixes
- Prevent multi-line object values in console.table.
- Switch to V8 Explicit microtask policy for correct nextTick ordering.
- Allow rejecting HTTP upgrades with non-101 status codes in `ext/http`.
- Run async work execute callback on a worker thread in `ext/napi`.
- Add `node_api_create_property_key_(latin1/utf8)` in `ext/node`.
- Add missing http2 header constants in `ext/node`.
- Emit DEP0198 warning for SHAKE digests without outputLength in `ext/node`.
- Emit correct error codes for unsupported PQC key types in `ext/node`.
- Fix multiple DiffieHellman crypto bugs in `ext/node`.
- Fix multiple node:dgram compatibility issues in `ext/node`.
- Handle generateKeyPair 2-arg call and enable PQC tests in `ext/node`.
- Implement ECDH.convertKey and fix related ECDH bugs in `ext/node`.
- Implement `node:v8` heap APIs in `ext/node`.
- Implement proper `resourceLimits` for `node:worker_threads` in `ext/node`.
- Improve getCipherInfo and allow repeated Hmac digest() in `ext/node`.
- Improve node:dns compat in `ext/node`.
- Initialize debuglog testEnabled with safe default in `ext/node`.
- Make TTY stdout/stderr indestructible in `ext/node`.
- Make tty ReadStream/WriteStream callable without `new` in `ext/node`.
- Multiple readline improvements in `ext/node`.
- napi_set_instance_data on exit.
- Rewrite http2 implementation in `ext/node`.
- Run worker_threads eval code in sloppy mode in `ext/node`.
- Support des-ede3-cbc cipher and allow Cipheriv/Decipheriv without new in `ext/node`.
- Use max salt length as default for RSA-PSS signing in `ext/node`.
- Remove panicking unwraps in telemetry code in `ext/otel`.
- Handle non-ASCII bytes in WebSocket response headers in `ext/websocket`.
- Properly sync root files with tsgo in `lsp`.
- tsgo scope attribution for asset files in `lsp`.
- Remove unimplemented Node-API symbols from napi_sys.
- Memoize peer cache hit checks to prevent combinatorial explosion in `npm`.
- Support npmrc email authorization in `npm`.
- Ensure binaries distributed in `@deno/...` npm packages are exectuable.
- Flush CPU profile and coverage data on Deno.exit().
- Normalize `capture` to boolean in `removeEventListener` options.
- Prevent panic on dynamic import with non-string error name.
- Set `process.features.openssl_is_boringssl` to `true`.
- Support value substitution when loading environment variable files.
Affected Symbols
console.tablenextTickhttp upgradeasync work execute callbacknode_api_create_property_key_(latin1/utf8)http2 header constantsSHAKE digestsDiffieHellman cryptonode:dgramgenerateKeyPairECDH.convertKeynode:v8 heap APIsnode:worker_threads resourceLimitsgetCipherInfoHmac digest()node:dnsdebuglog testEnabledTTY stdout/stderrtty ReadStream/WriteStreamreadlinenapi_set_instance_datahttp2 implementationworker_threads eval codedes-ede3-cbc cipherCipheriv/DecipherivRSA-PSS signingtelemetry codeWebSocket response headerstsgonapi_syspeer cachenpmrc email authorizationDeno.exit()removeEventListener optionsdynamic import error nameprocess.features.openssl_is_boringsslenvironment variable files loading