Crypto internals hardened against accessor and slot abuse (
b3ae59d,
f7c2628,
9adddc5)
Node.js now stores KeyObject and CryptoKey internals behind private/native-backed accessors, adds lint rules to keep lib code from reading user-replaceable properties, and clones algorithm data more defensively. This reduces the risk of prototype pollution, forged accessors, or stale/mutable state leaking into internal crypto flows and structured clone/export paths.
TLS renegotiation now maps BoringSSL failures to a Node error (
34e62e9)
Calling TLSSocket#renegotiate() on BoringSSL-backed builds now yields ERR_TLS_RENEGOTIATION_UNSUPPORTED instead of an implementation-specific SSL error. The new error is documented and the affected renegotiation test was updated to expect the backend-specific behavior.
QUIC docs were substantially expanded (
64cf9a1)
doc/api/quic.md received a large documentation refresh, adding detail and clarifications around the QUIC API. This should make the still-evolving interface easier to understand and use correctly.
Other misc changes
- Bumped ngtcp2 to 1.22.1.
- Updated release procedure docs for post-release failure handling.
- Documented the
entryPointargument forsqlite.loadExtension(). - Adjusted sqlite test cleanup to use ERM.
- Fixed a deprecation list entry in the v26 changelog.
- Updated TLS/crypto tests for BoringSSL behavior changes.