Improvements
- Add
beforeCache
hook 1c3a041 - Add
retryCount
tobeforeRequest
hook context 91cdc48 - Improve
HTTPError
message to include method and URL 6dd7574 - Add support for typed arrays as request body ecf5633
- Add Node.js diagnostic channel support 3e2a781
- Allow custom Error classes in
beforeError
hook 1c71194 - Add zstd (Zstandard) compression support 449833a
- Improve validation error messages by including option names f5c54a3
- Add
strictContentLength
option 4206f0e - Add support for
https.secureOptions
option 7ec1714 - Add
copyPipedHeaders
option to control automatic header copying from piped streams d83dadd - Add
stream.isReadonly
property to detect read-only streams 030dfbb
Fixes
- Fix HTTP/2 timings NaN issue 398c11a
- Fix shortcut methods ignoring handler errors f004564
- Fix body reassignment in
beforeRetry
hooks bf84d36 - Fix
beforeError
hook not being called forERR_UNSUPPORTED_PROTOCOL
error fb86418 - FIx preserving
prefixUrl
in hooks 9725fbd - Fix race condition causing retry after promise settles 1e49781
- Fix stream validation errors causing unhandled rejections 2527bf6
- Fix incorrect
content-length
when piping decompressed responses 30b3b79 - Fix EPIPE errors bypassing retry logic in Promise API 6ae3e7f
- Fix silent hang when returning cached response with FormData body from beforeRequest hook e09a9bd
- Fix hook type definitions to reflect normalized runtime state 6a544a3
- Fix
afterResponse
hook validation to allownull
body values 60a4419 - Fix DNS timing being non-zero when connecting to IP addresses 3d66aec
- Fix
timings.end
being undefined when stream is destroyed before completion 4e75679 - Fix properly treating different UNIX socket paths as different origins e5659d4
Meta
I managed to get it almost down to zero issues! 🎉