RepoJournal
Node.js

@nodejs

The Node.js runtime - every backend team's CVE source of truth

Keep up with Node.js in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: JavaScript Full archive →

The Wire · Showcase

NODE.JS CRYPTO TIGHTENS HMAC RULES, UNDICI SHIPS TRIPLE RELEASE

By RepoJournal · Filed · About Node.js

Node.js runtime-deprecates calling Hmac.digest() multiple times in the same session, aligning its behavior with Hash.digest() and closing a consistency gap that has quietly shipped code across production.

The crypto module now emits a DEP0206 deprecation warning when Hmac.digest() is called on an already-finalized instance [1], a breaking-change warning that fixes the inconsistency where Hash.digest() throws ERR_CRYPTO_HASH_FINALIZED under the same conditions. This catches a class of subtle bugs where callers don't realize they've already finalized the state. Separately, the dgram module adds Socket.prototype.bindSync() [2], a synchronous bind operation that unblocks WebAssembly embeddings and POSIX compatibility layers that need to avoid async patterns. The debugger CLI also fixes a race condition [3] where the REPL prompt would appear before the debuggee actually released from --inspect-brk, and stream handling now fixes a dropped first chunk bug in Utf8Stream buffer mode [4]. On the HTTP client side, undici shipped three releases in quick succession: v6.27.0 [5] and v7.28.0 [6] both fix idle socket validation to skip fresh connections, while v8.5.0 [7] adds native timer support and fixes HTTP/2 stream rewinding past in-flight requests. All three releases converge on the same stability improvements across major versions.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] crypto: runtime-deprecate calling Hmac.digest() more than once ↗ nodejs/node
  2. [2] dgram: add synchronous Socket.prototype.bindSync() ↗ nodejs/node
  3. [3] debugger: await initialization after run and restart ↗ nodejs/node
  4. [4] stream: fix dropped first chunk in Utf8Stream buffer mode nodejs/node
  5. [5] v6.27.0 ↗ nodejs/undici
  6. [6] v7.28.0 ↗ nodejs/undici
  7. [7] v8.5.0 ↗ nodejs/undici

Quick answers

What shipped in Node.js on June 16, 2026?
Node.js runtime-deprecates calling Hmac.digest() multiple times in the same session, aligning its behavior with Hash.digest() and closing a consistency gap that has quietly shipped code across production. In total, 13 commits, 16 pull requests, and 3 releases landed.
Who contributed to Node.js on June 16, 2026?
3 developers shipped this update, including developers-universe-1, guybedford, and trivikr.
What were the notable Node.js updates?
crypto: runtime-deprecate calling Hmac.digest() more than once, dgram: add synchronous Socket.prototype.bindSync(), and debugger: await initialization after run and restart.

More from @nodejs

Daily updates, in your inbox

Follow Node.js

Keep up with Node.js in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?

We use privacy-friendly analytics (Google Analytics, IP-anonymized) to see which pages help readers. No ads, and we never sell your data. See our Privacy Policy.