Changelog

nodejs/node · · 21 commits

Bench APIs land, KEMs and RSA get bigger

node:bench gains several new APIs and diagnostics, WebCrypto adds hybrid KEMs, and RSA JWK export/import now preserves multi-prime keys.

WebCrypto adds hybrid KEM algorithms (panva2d22505) Node’s Web Cryptography API now supports hybrid KEMs like MLKEM768-P256, MLKEM768-X25519, and MLKEM1024-P384 across key import/export and encapsulation/decapsulation paths. This expands the API beyond pure ML-KEM and makes the new algorithms available to both docs and runtime checks.

Multi-prime RSA JWKs now round-trip correctly (panva6f41e41) RSA private JWK import/export now preserves additional prime factors, exponents, and coefficients instead of dropping multi-prime data. That fixes interoperability for multi-prime RSA keys across supported OpenSSL versions.

node:bench gets new run metadata, diagnostics, and file execution support (jasnellb6ade12, jasnell12d7bb9, jasnell838baeb, jasnell09de610, jasnell5a346e0, jasnell0cd23ed, jasnellb00bd40, jasnelldd70a25, jasnelld011d0a, jasnell57860ef, jasnell220f6b5, jasnell8327711, jasnell0f4bd3c) The bench runner grew into a much richer toolchain: new runFile support, context.diagnostic, bench:plan events, run/file identity metadata, and improved stream handling and permission behavior. The related docs and tests suggest this is a substantial expansion of node:bench’s public surface and execution model.

Other misc changes

  • Deflake test-permission-net-udp-handle.
  • Use OpenSSL feature helpers in tests and benchmarks.
  • Fix a string-length-range test by zero-filling buffers before the limit check.
  • Bump @humanfs/node in /tools/eslint.
  • Bump browserslist in /tools/eslint.