Releases: nodejs/undici
Releases · nodejs/undici
v8.2.0
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
v6.25.0
What's Changed
Full Changelog: v6.24.1...v6.25.0
v8.1.0
What's Changed
Full Changelog: v8.0.3...v8.1.0
v7.25.0
What's Changed
Full Changelog: v7.24.8...v7.25.0
v8.0.3
What's Changed
- docs: add an Undici 7 to 8 migration guide by @mcollina in #4963
- chore: switch deferred promise with Promise.withResolvers() by @trivikr in #4972
- chore: remove zstd and markAsUncloneable feature probes by @trivikr in #4968
- test: remove obsolete nodeMajor/nodeMinor util exports by @trivikr in #4976
- chore: use Promise.withResolvers in SOCKS5 proxy agent by @trivikr in #4978
- build(deps-dev): bump esbuild from 0.27.7 to 0.28.0 by @dependabot[bot] in #4985
- build(deps-dev): bump proxy from 2.2.0 to 4.0.0 by @dependabot[bot] in #4987
- build(deps): bump got from 14.6.6 to 15.0.0 in /benchmarks by @dependabot[bot] in #4988
- chore: use Object.hasOwn for iterator checks by @trivikr in #4979
- doc: Update
dump({ limit: Integer })default value by @samuel871211 in #4981 - fix: avoid 401 failures for stream-backed request bodies by @mcollina in #4941
- test: remove unsupported Node version checks from fetch tests by @trivikr in #4977
- types: remove legacy AbortSignal alias now provided by @types/node by @trivikr in #4995
- fix: remove stale constructor interceptors from types and pool options by @trivikr in #4994
- doc: update incorrect description of
dump.maxSizeby @samuel871211 in #4982 - ci: enable coverage for node.js 25 by @shivarm in #4980
- refactor: reuse wrapRequestBody in RedirectHandler by @trivikr in #4992
- fix: preserve connect option in H2CClient by @trivikr in #5000
- types: document Client and H2CClient option declarations by @trivikr in #4998
- fix: native WebSocket over H2 server after undici import by @mcollina in #4990
- chore(test): issue 3969 by @rozzilla in #5005
- fix(1270): throw descriptive error when opts.dispatcher–passed instance methods by @rozzilla in #5007
- docs: Change the default value of allowH2 in JSDoc by @7hokerz in #5009
- chore(test): cover issue 5014 by @rozzilla in #5015
- fix: prevent cache dedup key collision via unescaped delimiters by @eddieran in #5013
- fix(proxy agent): respect connectTimeout by @rozzilla in #5011
New Contributors
Full Changelog: v8.0.2...v8.0.3
v7.24.8
What's Changed
Full Changelog: v7.24.7...v7.24.8
v8.0.2
v8.0.1
What's Changed
- Remove legacy handler wrappers by @mcollina in #4786
- fix: isolate global dispatcher v2 and add Dispatcher1Wrapper bridge by @mcollina in #4827
- fix: preserve request statusText and update h2 dispatch tests by @mcollina in #4830
- feat!: enable h2 by default by @metcoder95 in #4828
- fix(cache): preserve short-lived entries for revalidation by @mcollina in #4934
- fix: remove support for non-real Blob objects by @mcollina in #4937
- build(deps): bump github/codeql-action from 4.32.3 to 4.35.1 by @dependabot[bot] in #4953
- Undici 8 by @mcollina in #4916
- build(deps): bump hendrikmuhs/ccache-action from 1.2.19 to 1.2.22 by @dependabot[bot] in #4954
- doc: remove duplicate listItem of RetryHandler.md & RetryHandler.md by @samuel871211 in #4948
- fix: mirror the legacy global dispatcher for built-in fetch by @mcollina in #4962
- fix(websocket/stream): only enqueue parsed messages in WebSocketStream by @colinaaa in #4959
New Contributors
Full Changelog: v7.24.7...v8.0.1
v8.0.0
What's Changed
- Remove legacy handler wrappers by @mcollina in #4786
- fix: isolate global dispatcher v2 and add Dispatcher1Wrapper bridge by @mcollina in #4827
- fix: preserve request statusText and update h2 dispatch tests by @mcollina in #4830
- feat!: enable h2 by default by @metcoder95 in #4828
- fix(cache): preserve short-lived entries for revalidation by @mcollina in #4934
- fix: remove support for non-real Blob objects by @mcollina in #4937
- build(deps): bump github/codeql-action from 4.32.3 to 4.35.1 by @dependabot[bot] in #4953
- Undici 8 by @mcollina in #4916
Full Changelog: v7.24.7...v8.0.0
v7.24.7
What's Changed
- docs: update broken links in file "Dispatcher.md" by @samuel871211 in #4924
- doc: remove unused parameter
redirectionLimitReachedby @samuel871211 in #4933 - test: skip flaky macOS Node 20 cookie fetch cases by @mcollina in #4932
- fix(types): align Response with DOM fetch types by @theamodhshetty in #4867
- fix(types): Fix clone method type declaration to be an instance method rather than instance property by @mistval in #4925
- test: skip IPv6 tests when IPv6 is not available by @mcollina in #4939
- fix: correctly handle multi-value rawHeaders in fetch by @mcollina in #4938
- ignore AGENTS.md by @mcollina in #4942
New Contributors
- @samuel871211 made their first contribution in #4924
- @mistval made their first contribution in #4925
Full Changelog: v7.24.6...v7.24.7