This release contains multiple breaking changes. These should not affect the majority of users but it is recommended to consider the full change list.
Improvements
- Improved global API ergonomics (#740)
- Removed
--insecure-http-parsersupport (3d1027f) - Pass headers as
Buffer(#696) - Simplify api (#695)
- Accept callbacks in
Agentclose and destroy (d1a406f) - Added
closedanddestroyedproperties onAgent(#634) - Allow overriding timeouts per requests (#679)
- Update deps (#675, 8158def)
- Add undici mocking support (#587)
- Unify
Client,Pool&AgentunderDispatcher(#544, #606, #620) - Add
connectTimeout(#619) - Follow redirects (#603) (#769)
- Client lifecycle diagram (#567)
- Docs improvements and site (undici.nodejs.org) (#550, #565, #567, #582, #585, #596, 5095a2b, #627)
- Reuse tls sessions across clients of a connection pool (#588)
- Add
strictContentLengthoption to treat request content length mismatch as warning (#586) - Connecting through a proxy (#568)
- Agent connect/disconnect events (#558)
- Use llhttp WASM build for http parsing (#564, #611, #642, #648, #680)
- Only append non empty search to path (e8ece2a)
- Add factory arg to
PoolandAgent(761738a) - Use husky (#605)
- Add pr and issue templates (#608)
- Allow process to exit when no requests are pending (#772)
- Add
datato parser errors (7a750ba) - Try to re-use timer when possible (#729)
- Make request errors explicit (#777)
Fixes
- Don't emit
'disconnect'without preceding'connect'(#771) - Don't fail when response ends before request body (#709)
- Don't
headersTimeoutwhile writing request body (#646) - Emit
'disconnect'afterdestroy()(#665) - Refresh timeout timer on parser resume (#653)
Agentdeep copy options (#636)- Kill socket on request abort (#689)
- Add more strict check for streams in
util.isStream()(#628) - Remove Node 10 support (#623)
- Remove the esm wrapper, rely on commonjs auto detection (#599)
- Always detach socket on upgrade (252b676)
- Invoke
onUpgradeafter detach (641e018) - Missing client arg (#555)
- Reduce
queueMicrotaskscope (#572) - Wait for queued handlers to run before onError (#548)
- Add
BodyTimeoutErrorto error types (#546) - Omit
pathinundici.requestopts (ts) (#559) - Don't queue if destroyed (3d002c1)
Agent.dispatchcatch error (8c0051f)