NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1533 most downloaded on npm
An HTTP/1.1 client, written from scratch for Node.js
Last release today
22 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
305 releases · first in 2018
Implement body mixin on Readable
origin as optional parameter on Client and Pool types definitions (#901, #903)Creating util function to validate handlers
One column per quarter.
connect option (#881, 104be9ce66167d010a6c5e87865715260bb92280, #887)
connect option (#881, 104be9ce66167d010a6c5e87865715260bb92280, #887)headerTimeout & bodyTimeout (3b669058282a29a218a3ba29709e60efb04bb347, #888)connectionError(5172fd98fbaa449cd2b85ccca8024d34458779a3)Nothing published for this version
Nothing published for this version
Add support for request iterator body
string[] option for passed headers (#836)This release contains multiple breaking changes. These should not affect the majority of users but it is recommended to consider the full change list.
This release contains multiple breaking changes. These should not affect the majority of users but it is recommended to consider the full change list.
--insecure-http-parser support (3d1027f5272f1ffd62a0a990b504636b1a3e158d)Buffer (#696)Agent close and destroy (d1a406f982bda23a982c89a58ccc8ae049ed034e)closed and destroyed properties on Agent (#634)Client, Pool & Agent under Dispatcher (#544, #606, #620)connectTimeout (#619)strictContentLength option to treat request content length mismatch as warning (#586)Pool and Agent (761738a045712840f24c2c2f2b3670797823ecf5)data to parser errors (7a750ba998cbc4c125f747876536655c2f7b7c02)'disconnect' without preceding 'connect'(#771)headersTimeout while writing request body (#646)'disconnect' after destroy() (#665)Agent deep copy options (#636)util.isStream() (#628)onUpgrade after detach (641e0185efe1090e412f6b9b7ec243ad18c52880)queueMicrotask scope (#572)BodyTimeoutError to error types (#546)path in undici.request opts (ts) (#559)Agent.dispatch catch error (8c0051f8d25badb252c4a13b7810fc9556f908e9)IncomingMessage (#834)'disconnect' if 'connect' (#771)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release contains multiple breaking changes. These should not affect the majority of users but it is recommended to consider the full change list.
This release contains multiple breaking changes. These should not affect the majority of users but it is recommended to consider the full change list.
--insecure-http-parser support (3d1027f5272f1ffd62a0a990b504636b1a3e158d)Buffer (#696)Agent close and destroy (d1a406f982bda23a982c89a58ccc8ae049ed034e)closed and destroyed properties on Agent (#634)Client, Pool & Agent under Dispatcher (#544, #606, #620)connectTimeout (#619)strictContentLength option to treat request content length mismatch as warning (#586)Pool and Agent (761738a045712840f24c2c2f2b3670797823ecf5)data to parser errors (7a750ba998cbc4c125f747876536655c2f7b7c02)'disconnect' without preceding 'connect'(#771)headersTimeout while writing request body (#646)'disconnect' after destroy() (#665)Agent deep copy options (#636)util.isStream() (#628)onUpgrade after detach (641e0185efe1090e412f6b9b7ec243ad18c52880)queueMicrotask scope (#572)BodyTimeoutError to error types (#546)path in undici.request opts (ts) (#559)Agent.dispatch catch error (8c0051f8d25badb252c4a13b7810fc9556f908e9)Fix issue with util.queueMicrotask and cjs loader
📚 PR:
Fix Node v16 support and update tap
📚 PR:
Nothing published for this version
Remove semver major change from patch release.
Fixes:
Wait for queued handlers to run before onError (#548).
Fixes:
Improvements:
Busy if pipeline is full (#541).
Fixes:
Improvements:
Add close and destroy methods to Agent class (#521).
Improvements:
Agent and global methods (#508).
Improvements:
fix: don't fail socket if onComplete throws
📚 PR:
Replace socketTimeout with bodyTimeout (#460).
Fixes:
socketTimeout with bodyTimeout (#460).keepAlive option with pipelining: 0 (#459).idleTimeout option to keepAliveTimeout (#461).idempotent with original body (#471).writableNeedDrain support to Client.stream (#442).maxKeepAliveTimeout, idleTimeout, or socketTimeout.Improvements:
Client.request (#493).Fallback to url as servername (#490),
Fixes:
Make keep-alive postfix optional (#477).
Fixes:
Improvements:
Fixes: - Free parser when detaching (6d92f142f2f7ed5796ceb405776593356011cf99) - Retry idempotent body (#471) - Host header missing port
Fixes:
feat: allow pausing from onHeaders
📚 PR:
Fixes: - Bad upgrade header (#451). - Node 12.9 (#449).
Fixes:
Handle socket handle error (#436).
Fixes:
Socket back pressure memory leak (#435).
Fixes:
Don't leak socket listener (#431).
Fixes:
Improvements - Add proxy example
Improvements
Always resume in next tick (#420).
Fixes:
Improvements:
Cleanup abort signal listeners (#415).
Fixes:
Improvements:
Client.dispatch provides headers and trailers as an array of values (#337).
Client.dispatch provides headers and trailers as an array of values (#337).Client.dispatch adds a onConnect handler to handle abort once dispatched on socket.Client.dispatch expects request body to be handled by caller until onConnect has been called.signal option in Client.dispatch.requestTimeout option in new Client(url, opts). Provide requestTimeout as an option for each individual request (#383).Client.busy behavior slightly changed (#366).maxKeepAliveTimeout option in new Client(url, opts) to keepAliveMaxTimeout (#359).requestTimeout monitors time from request having been sent instead of from when it was queued (#343).body on premature close (#336).Client.upgrade & Client.connect callbacks in async scope.keepAlive option (#357).net.isIP (#330).Nothing published for this version
Added new API's, dispatch, connect, upgrade.
dispatch, connect, upgrade.{ opaque } object as value.stream(opts, handler, callback) callback now receive a { trailers, opaque } object as value.idleTimeout option to differentiate timeout of active vs inactive sockets.maxKeepAliveTimeout, keepAliveTimeoutThreshold options.fix: ignored body is not aborted
📚 PR:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Reset connection after requests with body where the method does not expect a payload.
InformationalError for 'disconnect' event for when a disconnect was expected.Uses Node native HTTP parser. Improves performance and security. Removes dependency on http-parser-js.
http-parser-js.headersTimeout option.client.pipeline and the server does not consume the entire request body.client.full with client.busy property.socketPath option.CONNECT method.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →