Node crypto gets broader key support and fewer edge-case crashes (
f7bcc96,
fd9def3,
968baf7, 9becb83,
70497bb,
cc8c488,
59bec9b,
63ff522,
e726953,
9cf5852)
Deno’s node:crypto, node:process, node:buffer, node:fs/promises, and stream utilities picked up a long list of compatibility fixes. Highlights include support for Ed25519/X25519/P-521 X.509 public keys, DER-encoded encrypt/decrypt keys, secp256k1 ECDSA, a real process.umask(), correct execPath, and safer cipher finalization/padding behavior.
npm install and peer resolution are faster and more correct (
5fb8a4d,
b9f6889,
95140c3)
The npm resolution graph was rewritten into a two-phase peer-dependency flow to avoid duplicate installs and hangs. Install paths also now request abbreviated packuments by default and move registry decompression off the async event loop, improving throughput and reducing stalls on large metadata responses.
X509Certificate methods are no longer mostly stubs (
cf2455c)
Nine crypto.X509Certificate methods were implemented, including toString(), raw, subjectAltName, checkIP(), checkIssued(), checkPrivateKey(), verify(), infoAccess, and toLegacyObject(). This closes a major gap in Node compatibility for certificate inspection and validation code.
Coverage reporting is fixed and more resilient (
64a1d86,
84f7a15)
deno coverage now computes line/branch counts correctly and no longer fails the whole report when source files disappear after collection. That makes LCOV output more trustworthy and coverage runs less fragile in build pipelines.
Jupyter now handles shutdown and interrupts properly (
d428817)
The kernel now replies to shutdown and interrupt messages per protocol instead of just logging unsupported operations. Interrupts actually terminate running JS via V8, and execution resumes cleanly afterward.
Other misc changes
- CI switched from Cirrus runners/caches to GitHub-hosted defaults.
console.tablenow handles iterators.- Workspace test discovery deduplicates overlapping modules.
- Stack frame dimming and console log alignment were tweaked.
child_processsimple-quote escaping and a require(esm) regression test were added.