Skip to content

Releases: nodejs/undici

v8.2.0

01 May 20:54
bf684f7

Choose a tag to compare

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

Full Changelog: v8.1.0...v8.2.0

v6.25.0

14 Apr 09:30
3420499

Choose a tag to compare

What's Changed

Full Changelog: v6.24.1...v6.25.0

v8.1.0

13 Apr 12:40
d64e7bb

Choose a tag to compare

What's Changed

  • feat: add configurable maxPayloadSize for WebSocket by @mcollina in #4955

Full Changelog: v8.0.3...v8.1.0

v7.25.0

13 Apr 13:27
12d9045

Choose a tag to compare

What's Changed

Full Changelog: v7.24.8...v7.25.0

v8.0.3

12 Apr 18:58
8cfb762

Choose a tag to compare

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.maxSize by @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

12 Apr 18:39
7a6f7fe

Choose a tag to compare

What's Changed

  • fix: backport 401 stream-backed body fix to v7.x by @mcollina in #5006

Full Changelog: v7.24.7...v7.24.8

v8.0.2

04 Apr 09:28

Choose a tag to compare

What's Changed

Full Changelog: v8.0.1...v8.0.2

v8.0.1

03 Apr 08:17
490cbc6

Choose a tag to compare

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

02 Apr 09:11
d7fbba5

Choose a tag to compare

What's Changed

Full Changelog: v7.24.7...v8.0.0

v7.24.7

01 Apr 11:37
84f23e2

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v7.24.6...v7.24.7