The Wire · Showcase
UNDICI 8.2.0 LANDS IN NODE CORE WITH HTTP/2 FIX
By RepoJournal · Filed · About Node.js
Node's bundled HTTP client now properly aligns HTTP/2 empty body handling with HTTP/1 semantics, closing a consistency gap that could break streaming assumptions.
Undici 8.2.0 shipped into Node core [1] carrying a critical fix for HTTP/2 content-length behavior on empty bodies [2]. The issue: content-length methods weren't consistent between h1 and h2 protocols, meaning code that worked reliably over HTTP/1 could silently fail over HTTP/2. This is the kind of protocol-level inconsistency that burns hours in production debugging. The undici repo also moved to stop interfering with @types/node type definitions [3], untangling a dependency mess where outdated undici-types were shadowing current implementations. On the Node side, the HTTP module tightened drain event semantics [4] — drain now fires only after socket buffers actually empty, fixing a race condition where 'drain' fired while writableLength remained non-zero. This restores the invariant developers reasonably expect. Meanwhile, armv6 support moved out of experimental [5], and documentation got minor structural cleanup [6].
Action items
- → Update to Node with undici 8.2.0 to fix HTTP/2 streaming inconsistencies nodejs/node [plan]
- → Review HTTP drain event handling in streaming code — semantics changed nodejs/node [monitor]
- → Verify @types/node compatibility after undici type definition changes nodejs/undici [monitor]
References
- [1] deps: update undici to 8.2.0 ↗ nodejs/node
- [2] fix: align h2 empty body content-length methods with h1 (#5172) nodejs/undici
- [3] types: stop interfering with @types/node ↗ nodejs/undici
- [4] http: emit 'drain' on OutgoingMessage only after buffers drain nodejs/node
- [5] build: remove armv6 from experimental platforms nodejs/node
- [6] doc: minor structural stream/iter edits ↗ nodejs/node
FAQ
- What changed in Node.js on May 5, 2026?
- Node's bundled HTTP client now properly aligns HTTP/2 empty body handling with HTTP/1 semantics, closing a consistency gap that could break streaming assumptions.
- What should Node.js teams do about it?
- Update to Node with undici 8.2.0 to fix HTTP/2 streaming inconsistencies • Review HTTP drain event handling in streaming code — semantics changed • Verify @types/node compatibility after undici type definition changes
- Which Node.js repositories shipped on May 5, 2026?
- nodejs/node, nodejs/undici