What's Changed
- chore: use native addAbortListener by @trivikr in #5021
- fix: fix the logic for the UNDICI_NO_WASM_SIMD environment variable by @ShenHongFei in #5026
- fix(http2): send body for non-expectsPayload methods with content by @mcollina in #5030
- fix(fetch): correct 'navigator' typo to 'navigate' in fetchFinale by @deepview-autofix in #5044
- fix(webidl): correct signed integer bounds in ConvertToInt by @deepview-autofix in #5038
- fix(fetch): use || for CRLF check in multipart formdata-parser by @deepview-autofix in #5049
- fix(websocket): correct argument order in WebSocketStream UTF-8 failure by @deepview-autofix in #5050
- fix(pool): propagate useH2c to connector when connections > 1 by @SAY-5 in #5031
- fix(cache): return immutable staleAt in milliseconds by @deepview-autofix in #5048
- fix(socks5-proxy-agent): use per-origin pools to prevent cross-origin routing by @deepview-autofix in #5041
- fix(cache): evict oldest entries first in SqliteCacheStore prune by @deepview-autofix in #5039
- fix(socks5): correctly expand IPv6 '::' compressed notation by @deepview-autofix in #5046
- Remove unused func and unnecessary shim by @tsctx in #5053
- fix: reject malformed content-length request headers by @trivikr in #5060
- fix(request): reject NaN highWaterMark during option validation by @trivikr in #5062
- docs: fix broken links in docsify sidebar by @maruthang in #5065
- fix(fetch): prefer filename* over filename in multipart form-data by @maruthang in #5068
- fix(http2): reject websocket upgrades on non-200 responses by @trivikr in #5072
- feat: support username-only proxy authentication in ProxyAgent by @rossilor95 in #4935
- build(deps): bump uWebSockets.js from v20.58.0 to v20.64.0 in /benchmarks by @dependabot[bot] in #5083
- fix(client-h2): stop double-decrementing kOpenStreams on stream timeout by @SAY-5 in #5076
- fix(http2): reject upgrade streams closed before response headers by @trivikr in #5069
- fix(http2): allow GET and HEAD request bodies over h2 by @trivikr in #5058
- fix(cache): include query in cache key when opts.path is undefined by @maruthang in #5081
- fix: avoid premature cleanup of dispatcher in Agent by @bienzaaron in #5034
- fix(http2): record ping failures on the socket by @trivikr in #5075
- add undici security policy by @mcollina in #5056
- fix(mock): make filterCalls AND operator actually intersect results by @deepview-autofix in #5045
- fix(socks5): enforce authenticated state before CONNECT by @trivikr in #5097
- fix(cache): skip expired sqlite vary entries during lookup by @trivikr in #5095
- fix: enforce maxCachedSessions in TLS session cache by @trivikr in #5102
- fix(socks5): encode embedded IPv4 tails in IPv6 literals correctly by @trivikr in #5099
- fix: handle invalid HTTP/2 connection headers (#4356) by @mcollina in #5101
- fix(interceptor): add throwOnMaxRedirect to types and interceptor opts by @maruthang in #5066
- fix(websocket): avoid double-closing canceled stream readers by @colinaaa in #5105
- fix(cache): persist vary when updating sqlite cache entries by @trivikr in #5109
- refactor(h1): track HEAD keep-alive override as boolean by @trivikr in #5110
- client: cache llhttp wasm buffer view by @trivikr in #5115
- deps: update llhttp to 9.3.1 by @mcollina in #5113
- fix(http2): preserve accepted streams after GOAWAY by @trivikr in #5090
- fix: reuse parser WeakRef for timeout callbacks by @trivikr in #5125
- fix: stop buffering data after SOCKS5 connect by @trivikr in #5118
- perf(http2): avoid response header reserialization by @trivikr in #5085
- fix(cache): enforce sqlite maxCount after insert by @trivikr in #5112
- perf: reduce EventSourceStream parser allocations by @trivikr in #5032
- types(dispatcher): use OutgoingHttpHeaders for request headers by @maruthang in #5067
- cleanup: delete redundant .gitkeep file by @shivarm in #5133
- fix(http2): respect peer max concurrent streams by @trivikr in #5135
- test(http2): ensure websocket upgrade resumes queued requests by @trivikr in #5132
- test(mock): cover SnapshotAgent excludeUrls playback by @maruthang in #5080
- perf(client): parse h1 content-length statelessly by @trivikr in #5124
- perf(http2): reduce writeH2 per-request callback allocations by @trivikr in #5138
- chore(deps): add lockfile by @aduh95 in #5139
- perf: use byteLength property for binary body chunks by @trivikr in #5126
- fix(cache): allow streamed entries at maxEntrySize limit by @trivikr in #5129
- perf(http2): avoid cloning headers when removing status by @trivikr in #5127
- fix: validate H2CClient maxConcurrentStreams option by @trivikr in #5143
- perf: avoid redundant scans in BalancedPool dispatcher selection by @trivikr in #5146
- fix: replace stale pool clients under connection limit by @trivikr in #5145
New Contributors
- @deepview-autofix made their first contribution in #5044
- @SAY-5 made their first contribution in #5031
- @maruthang made their first contribution in #5065
- @bienzaaron made their first contribution in #5034
Full Changelog: v8.1.0...v8.2.0