Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use FinalizationRegistry to cancel the body if response is collected #3199

Merged
merged 26 commits into from May 7, 2024

Conversation

mcollina
Copy link
Member

@mcollina mcollina commented May 3, 2024

Fixes #2856

Signed-off-by: Matteo Collina <hello@matteocollina.com>
@mcollina mcollina requested a review from KhafraDev May 3, 2024 17:22
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
@codecov-commenter
Copy link

codecov-commenter commented May 3, 2024

Codecov Report

Attention: Patch coverage is 97.72727% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 94.17%. Comparing base (ee64eb5) to head (728412f).
Report is 1 commits behind head on main.

Files Patch % Lines
lib/web/fetch/response.js 94.73% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3199      +/-   ##
==========================================
- Coverage   94.19%   94.17%   -0.03%     
==========================================
  Files          90       90              
  Lines       24493    24550      +57     
==========================================
+ Hits        23071    23119      +48     
- Misses       1422     1431       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mcollina mcollina requested a review from ronag May 3, 2024 17:46
@mcollina
Copy link
Member Author

mcollina commented May 3, 2024

@KhafraDev I'm getting 8 WPT unexpected failures:

Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:339:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
================================================================================================
Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:228:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
================================================================================================
Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:228:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
================================================================================================
Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:248:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
================================================================================================
Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:228:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
================================================================================================
Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:228:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
================================================================================================
Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:228:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
================================================================================================
Uncaught exception in "/Users/matteo/Repositories/undici/test/wpt/tests/fetch/api/abort/general.any.js":
AbortError: This operation was aborted
    at new DOMException (node:internal/per_context/domexception:53:5)
    at AbortController.abort (node:internal/abort_controller:392:18)
    at Test.<anonymous> (evalmachine.<anonymous>:376:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

I'm not sure how to debug this. Can you help?

@KhafraDev
Copy link
Member

KhafraDev commented May 3, 2024

Weird test, I don't totally understand what's happening:

import { fetch } from './index.js'
import { createServer } from 'node:http'
import { once } from 'node:events'

process.on('uncaughtException', (e) => console.log('uncaught', e))

const server = createServer((req, res) => {
  setInterval(() => res.write(Buffer.from('hello, world')), 1)
}).listen(0)

await once(server, 'listening')

const ac = new AbortController()

await fetch(`http://localhost:${server.address().port}`, { signal: ac.signal })
ac.abort()

while (true) {
  await fetch(`http://localhost:${server.address().port}`).then(r => r.text())
}

Signed-off-by: Matteo Collina <hello@matteocollina.com>
@mcollina
Copy link
Member Author

mcollina commented May 3, 2024

Found it!

Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
lib/web/fetch/response.js Outdated Show resolved Hide resolved
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Copy link
Member

@ronag ronag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm thinking could we do this one level lower? e.g. if the handler or resume is no longer referenced?

@ronag
Copy link
Member

ronag commented May 5, 2024

Instead of relying on finalization registry + GC. Should we have a setInterval loop that check all references once a second or something?

@metcoder95
Copy link
Member

added

This can potentially benefit several use cases where there are side effects of not consuming the body, making the flow easier to reason about

Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
test/fetch/cookies.js Outdated Show resolved Hide resolved
test/fetch/cookies.js Outdated Show resolved Hide resolved
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
@mcollina
Copy link
Member Author

mcollina commented May 7, 2024

@KhafraDev I think this is good to go now.

Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
@Uzlopak
Copy link
Contributor

Uzlopak commented May 7, 2024

ok, so the changes by @tsctx got reverted?

@mcollina
Copy link
Member Author

mcollina commented May 7, 2024

I've likely made a mess with the merge.

@mcollina
Copy link
Member Author

mcollina commented May 7, 2024

@KhafraDev @Uzlopak @ronag PTAL

lib/dispatcher/client-h2.js Outdated Show resolved Hide resolved
Co-authored-by: Aras Abbasi <aras.abbasi@googlemail.com>
@mcollina mcollina merged commit 63b7794 into main May 7, 2024
32 checks passed
@mcollina mcollina deleted the fetch-fire-and-forget branch May 7, 2024 15:14
@github-actions github-actions bot mentioned this pull request May 7, 2024
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this pull request May 8, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.15.0` -> `6.16.0`](https://renovatebot.com/diffs/npm/undici/6.11.1/6.16.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.11.1/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.11.1/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nodejs/undici (undici)</summary>

### [`v6.16.0`](https://togithub.com/nodejs/undici/releases/tag/v6.16.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.15.0...v6.16.0)

#### What's Changed

-   add index to sequence converter errors by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3178
-   build(deps-dev): bump borp from 0.12.0 to 0.13.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3179
-   build(deps): bump node from 21-alpine3.19 to 22-alpine3.19 in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3180
-   build(deps): bump superagent from 8.1.2 to 9.0.2 in /benchmarks by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3181
-   fix: keep raw header name by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3183
-   fix(fetch): improve Headers and Request type-compatibility by [@&#8203;kettanaito](https://togithub.com/kettanaito) in [nodejs/undici#1964
-   fix 3 mimesniff tests by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3185
-   build(deps): bump hendrikmuhs/ccache-action from 1.2.12 to 1.2.13 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3187
-   build(deps): bump codecov/codecov-action from 4.1.1 to 4.3.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3191
-   build(deps): bump github/codeql-action from 3.24.9 to 3.25.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3192
-   build(deps): bump actions/dependency-review-action from 4.2.5 to 4.3.2 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3189
-   build(deps): bump step-security/harden-runner from 2.7.0 to 2.7.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3188
-   build(deps): bump actions/upload-artifact from 4.3.1 to 4.3.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3190
-   build(deps): bump node from `9459e24` to `487dc5d` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3195
-   perf: avoid spread in makeRequest() by [@&#8203;gunjam](https://togithub.com/gunjam) in [nodejs/undici#3193
-   refactor: code cleanup by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3194
-   fix parsing when receiving empty body websocket by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3205
-   fix: MockResponseCallbackOptions type by [@&#8203;merojosa](https://togithub.com/merojosa) in [nodejs/undici#2951
-   docs(proxy): fix typo by [@&#8203;kanadgupta](https://togithub.com/kanadgupta) in [nodejs/undici#3207
-   fix websocket receiving an invalid utf-8 in close frame by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3206
-   perf: avoid setImmediate if body is reading by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3210
-   fix: request abort signal by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3209
-   fix: remove abort handler on close by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3211
-   fix: pass abort function by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3212
-   websocket: 200x faster generate mask by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3204
-   use FinalizationRegistry to cancel the body if response is collected by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3199
-   websocket: don't clone buffer if it's not needed. by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3214
-   websocket: use FastBuffer by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3213

#### New Contributors

-   [@&#8203;kettanaito](https://togithub.com/kettanaito) made their first contribution in [nodejs/undici#1964
-   [@&#8203;gunjam](https://togithub.com/gunjam) made their first contribution in [nodejs/undici#3193
-   [@&#8203;merojosa](https://togithub.com/merojosa) made their first contribution in [nodejs/undici#2951
-   [@&#8203;kanadgupta](https://togithub.com/kanadgupta) made their first contribution in [nodejs/undici#3207

**Full Changelog**: nodejs/undici@v6.15.0...v6.16.0

### [`v6.15.0`](https://togithub.com/nodejs/undici/releases/tag/v6.15.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.14.1...v6.15.0)

#### What's Changed

-   Expose EnvHttpProxyAgent to Node.js core bundle, so it can be turned … by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3148
-   test: add headerslist copy check by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3156
-   chore: ensure automated v6 release compared to v6 by [@&#8203;mweberxyz](https://togithub.com/mweberxyz) in [nodejs/undici#3149
-   fetch: do not leak signal listeners by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3158
-   fix: request cache mode is not the same as request mode by [@&#8203;tsibley](https://togithub.com/tsibley) in [nodejs/undici#3151
-   fetch: don't re-lowercase HeadersList by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3159
-   fix casing issue when cloning Headers object by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3160
-   build(deps): bump node from `6d0f18a` to `db8772d` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3163
-   fix header cloning bug by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3162
-   chore: change bench naming for h2 by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3165
-   expose WebSocket related events in node bundle by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3167
-   feat: add support for if-match on retry handler by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3144
-   fix: correct firing order of abort events by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3169
-   create fast MessageEvent by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3170
-   chore: add explicitly [@&#8203;fastify/busboy](https://togithub.com/fastify/busboy) by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3172
-   chore: remove sinon as dev dependency by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3171
-   webidl changes by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3175
-   preserve dictionary key name in webidl errors by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3176

#### New Contributors

-   [@&#8203;tsibley](https://togithub.com/tsibley) made their first contribution in [nodejs/undici#3151

**Full Changelog**: nodejs/undici@v6.14.1...v6.15.0

### [`v6.14.1`](https://togithub.com/nodejs/undici/releases/tag/v6.14.1)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.14.0...v6.14.1)

#### What's Changed

-   fix: tweak keep-alive timeout implementation by [@&#8203;mweberxyz](https://togithub.com/mweberxyz) in [nodejs/undici#3145
-   build(deps-dev): bump borp from 0.11.0 to 0.12.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3153
-   build(deps): bump node from `ad255c6` to `6d0f18a` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3154
-   fix(EnvHttpProxyAgent): prefer lowercase env vars by [@&#8203;10xLaCroixDrinker](https://togithub.com/10xLaCroixDrinker) in [nodejs/undici#3152

**Full Changelog**: nodejs/undici@v6.14.0...v6.14.1

### [`v6.14.0`](https://togithub.com/nodejs/undici/releases/tag/v6.14.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.13.0...v6.14.0)

#### What's Changed

-   bench: enable benchmarks for h2 by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3100
-   perf: improve performance of isomorphicEncode by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3101
-   util: remove isReadableAborted by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3104
-   fix(types): The second parameter of EventSource is optional by [@&#8203;zbinlin](https://togithub.com/zbinlin) in [nodejs/undici#3106
-   fix: onConnect types by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3116
-   add dispatcher option to EventSource by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3119
-   core: improve parseURL by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3102
-   test: increase coverage by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3121
-   docs: add directions to run docs and benchmarks by [@&#8203;FatumaA](https://togithub.com/FatumaA) in [nodejs/undici#3092
-   perf: avoid unnecessary clone by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3117
-   build(deps-dev): bump borp from 0.10.0 to 0.11.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3126
-   drop node support for < v18.17.0 by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3125
-   test: improve test and ci performance by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3135
-   Added EnvHttpProxyAgent to support HTTP_PROXY by [@&#8203;10xLaCroixDrinker](https://togithub.com/10xLaCroixDrinker) in [nodejs/undici#2994
-   fetch: Change wording of "Body is unusable" error by [@&#8203;nzakas](https://togithub.com/nzakas) in [nodejs/undici#3105
-   perf: use class instead of object literals with getters by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3138
-   fix: unhandled exception or failing error body by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3137
-   reuse realm for Request/Response by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3142
-   fix([H2-#&#8203;3140](https://togithub.com/H2-/undici/issues/3140)): abort requets upon GOAWAY by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3143
-   don't store realm on Request/Response by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3146
-   improve: wasm build by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3074

#### New Contributors

-   [@&#8203;10xLaCroixDrinker](https://togithub.com/10xLaCroixDrinker) made their first contribution in [nodejs/undici#2994
-   [@&#8203;nzakas](https://togithub.com/nzakas) made their first contribution in [nodejs/undici#3105

**Full Changelog**: nodejs/undici@v6.13.0...v6.14.0

### [`v6.13.0`](https://togithub.com/nodejs/undici/releases/tag/v6.13.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.12.0...v6.13.0)

#### What's Changed

-   build(deps): bump node from `9696b26` to `ad255c6` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3073
-   test: remove only by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3077
-   fix: defer errors with setImmediate by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3081
-   improve DecoratorHandler by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3079
-   chore: removed unused escapeFormDataName by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3084
-   Mention option to pass streams into FormData by [@&#8203;JaoodxD](https://togithub.com/JaoodxD) in [nodejs/undici#3086
-   fetch: improve performance of isValidEncodedURL by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3090
-   optimize utf8Decode by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3085
-   refactor: h2 refactoring by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3082
-   Skip the creation of a transform stream in fetch by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3093
-   fetch: improve performance of urlHasHttpsScheme by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3094
-   fetch: avoid creation of an intermediary ReadableStream by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3095
-   test: duplicate jest unspecific tests to native runner by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3075
-   build(deps): bump node from `ad255c6` to `6d0f18a` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3096
-   fetch: improve performance of isValidHeaderValue by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3098
-   chore: automate releases with pr by [@&#8203;mweberxyz](https://togithub.com/mweberxyz) in [nodejs/undici#3089

#### New Contributors

-   [@&#8203;github-actions](https://togithub.com/github-actions) made their first contribution in [nodejs/undici#3099

**Full Changelog**: nodejs/undici@v6.12.0...v6.13.0

### [`v6.12.0`](https://togithub.com/nodejs/undici/releases/tag/v6.12.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.11.1...v6.12.0)

#### What's Changed

-   fix: broken test by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3045
-   fix: http2 header parsing by [@&#8203;climba03003](https://togithub.com/climba03003) in [nodejs/undici#3047
-   types: fix Request.refererPolicy and RequestInit.refererPolicy are incompatible by [@&#8203;zbinlin](https://togithub.com/zbinlin) in [nodejs/undici#3039
-   fix(types): onHeaders always takes headers as an array of buffer by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3050
-   fix: ProxyAgent causes request.headers.host to be forcibly reset by [@&#8203;1zilc](https://togithub.com/1zilc) in [nodejs/undici#3026
-   fallback to Buffer.isUtf8 on platforms without icu by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3006
-   build(deps): bump github/codeql-action from 3.24.6 to 3.24.9 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3037
-   build(deps): bump actions/dependency-review-action from 4.1.3 to 4.2.5 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3035
-   build(deps): bump node from `577f8eb` to `87524df` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3055
-   build(deps): bump node from `87524df` to `9696b26` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3058
-   fetch: Block ports 4190 & 6679 by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3059
-   test: activate testing for interceptors and cache by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3061
-   cache: improve test coverage by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3063
-   feat: modernize fuzzing by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3060
-   fix: request abort by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3056
-   fix: signal handling by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3053
-   fix(H2): handle goaway properly by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3057
-   test: client, set body to null if bigger than CHUNK_LIMIT by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3064
-   mock: improve mock interceptor by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3062
-   fix: bad client destroy on servername change by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3066
-   perf: improve isBlobLike by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3070
-   test: add sanity check for llhttp wasm files by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3068

#### New Contributors

-   [@&#8203;zbinlin](https://togithub.com/zbinlin) made their first contribution in [nodejs/undici#3039
-   [@&#8203;1zilc](https://togithub.com/1zilc) made their first contribution in [nodejs/undici#3026

**Full Changelog**: nodejs/undici@v6.11.1...v6.12.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
kodiakhq bot pushed a commit to X-oss-byte/Canary-nextjs that referenced this pull request May 9, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.15.0` -> `6.16.0`](https://renovatebot.com/diffs/npm/undici/6.15.0/6.16.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.15.0/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.15.0/6.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>nodejs/undici (undici)</summary>

### [`v6.16.0`](https://togithub.com/nodejs/undici/releases/tag/v6.16.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.15.0...v6.16.0)

#### What's Changed

-   add index to sequence converter errors by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3178
-   build(deps-dev): bump borp from 0.12.0 to 0.13.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3179
-   build(deps): bump node from 21-alpine3.19 to 22-alpine3.19 in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3180
-   build(deps): bump superagent from 8.1.2 to 9.0.2 in /benchmarks by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3181
-   fix: keep raw header name by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3183
-   fix(fetch): improve Headers and Request type-compatibility by [@&#8203;kettanaito](https://togithub.com/kettanaito) in [nodejs/undici#1964
-   fix 3 mimesniff tests by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3185
-   build(deps): bump hendrikmuhs/ccache-action from 1.2.12 to 1.2.13 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3187
-   build(deps): bump codecov/codecov-action from 4.1.1 to 4.3.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3191
-   build(deps): bump github/codeql-action from 3.24.9 to 3.25.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3192
-   build(deps): bump actions/dependency-review-action from 4.2.5 to 4.3.2 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3189
-   build(deps): bump step-security/harden-runner from 2.7.0 to 2.7.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3188
-   build(deps): bump actions/upload-artifact from 4.3.1 to 4.3.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3190
-   build(deps): bump node from `9459e24` to `487dc5d` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3195
-   perf: avoid spread in makeRequest() by [@&#8203;gunjam](https://togithub.com/gunjam) in [nodejs/undici#3193
-   refactor: code cleanup by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3194
-   fix parsing when receiving empty body websocket by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3205
-   fix: MockResponseCallbackOptions type by [@&#8203;merojosa](https://togithub.com/merojosa) in [nodejs/undici#2951
-   docs(proxy): fix typo by [@&#8203;kanadgupta](https://togithub.com/kanadgupta) in [nodejs/undici#3207
-   fix websocket receiving an invalid utf-8 in close frame by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3206
-   perf: avoid setImmediate if body is reading by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3210
-   fix: request abort signal by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3209
-   fix: remove abort handler on close by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3211
-   fix: pass abort function by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3212
-   websocket: 200x faster generate mask by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3204
-   use FinalizationRegistry to cancel the body if response is collected by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3199
-   websocket: don't clone buffer if it's not needed. by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3214
-   websocket: use FastBuffer by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3213

#### New Contributors

-   [@&#8203;kettanaito](https://togithub.com/kettanaito) made their first contribution in [nodejs/undici#1964
-   [@&#8203;gunjam](https://togithub.com/gunjam) made their first contribution in [nodejs/undici#3193
-   [@&#8203;merojosa](https://togithub.com/merojosa) made their first contribution in [nodejs/undici#2951
-   [@&#8203;kanadgupta](https://togithub.com/kanadgupta) made their first contribution in [nodejs/undici#3207

**Full Changelog**: nodejs/undici@v6.15.0...v6.16.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Canary-nextjs).
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this pull request May 10, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.16.0` -> `6.16.1`](https://renovatebot.com/diffs/npm/undici/6.11.1/6.16.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.11.1/6.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.11.1/6.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nodejs/undici (undici)</summary>

### [`v6.16.1`](https://togithub.com/nodejs/undici/compare/v6.16.0...a613753c03b78ea11dbf884aaafc067895a580e1)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.16.0...v6.16.1)

### [`v6.16.0`](https://togithub.com/nodejs/undici/releases/tag/v6.16.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.15.0...v6.16.0)

#### What's Changed

-   add index to sequence converter errors by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3178
-   build(deps-dev): bump borp from 0.12.0 to 0.13.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3179
-   build(deps): bump node from 21-alpine3.19 to 22-alpine3.19 in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3180
-   build(deps): bump superagent from 8.1.2 to 9.0.2 in /benchmarks by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3181
-   fix: keep raw header name by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3183
-   fix(fetch): improve Headers and Request type-compatibility by [@&#8203;kettanaito](https://togithub.com/kettanaito) in [nodejs/undici#1964
-   fix 3 mimesniff tests by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3185
-   build(deps): bump hendrikmuhs/ccache-action from 1.2.12 to 1.2.13 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3187
-   build(deps): bump codecov/codecov-action from 4.1.1 to 4.3.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3191
-   build(deps): bump github/codeql-action from 3.24.9 to 3.25.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3192
-   build(deps): bump actions/dependency-review-action from 4.2.5 to 4.3.2 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3189
-   build(deps): bump step-security/harden-runner from 2.7.0 to 2.7.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3188
-   build(deps): bump actions/upload-artifact from 4.3.1 to 4.3.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3190
-   build(deps): bump node from `9459e24` to `487dc5d` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3195
-   perf: avoid spread in makeRequest() by [@&#8203;gunjam](https://togithub.com/gunjam) in [nodejs/undici#3193
-   refactor: code cleanup by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3194
-   fix parsing when receiving empty body websocket by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3205
-   fix: MockResponseCallbackOptions type by [@&#8203;merojosa](https://togithub.com/merojosa) in [nodejs/undici#2951
-   docs(proxy): fix typo by [@&#8203;kanadgupta](https://togithub.com/kanadgupta) in [nodejs/undici#3207
-   fix websocket receiving an invalid utf-8 in close frame by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3206
-   perf: avoid setImmediate if body is reading by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3210
-   fix: request abort signal by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3209
-   fix: remove abort handler on close by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3211
-   fix: pass abort function by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3212
-   websocket: 200x faster generate mask by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3204
-   use FinalizationRegistry to cancel the body if response is collected by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3199
-   websocket: don't clone buffer if it's not needed. by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3214
-   websocket: use FastBuffer by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3213

#### New Contributors

-   [@&#8203;kettanaito](https://togithub.com/kettanaito) made their first contribution in [nodejs/undici#1964
-   [@&#8203;gunjam](https://togithub.com/gunjam) made their first contribution in [nodejs/undici#3193
-   [@&#8203;merojosa](https://togithub.com/merojosa) made their first contribution in [nodejs/undici#2951
-   [@&#8203;kanadgupta](https://togithub.com/kanadgupta) made their first contribution in [nodejs/undici#3207

**Full Changelog**: nodejs/undici@v6.15.0...v6.16.0

### [`v6.15.0`](https://togithub.com/nodejs/undici/releases/tag/v6.15.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.14.1...v6.15.0)

#### What's Changed

-   Expose EnvHttpProxyAgent to Node.js core bundle, so it can be turned … by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3148
-   test: add headerslist copy check by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3156
-   chore: ensure automated v6 release compared to v6 by [@&#8203;mweberxyz](https://togithub.com/mweberxyz) in [nodejs/undici#3149
-   fetch: do not leak signal listeners by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3158
-   fix: request cache mode is not the same as request mode by [@&#8203;tsibley](https://togithub.com/tsibley) in [nodejs/undici#3151
-   fetch: don't re-lowercase HeadersList by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3159
-   fix casing issue when cloning Headers object by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3160
-   build(deps): bump node from `6d0f18a` to `db8772d` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3163
-   fix header cloning bug by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3162
-   chore: change bench naming for h2 by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3165
-   expose WebSocket related events in node bundle by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3167
-   feat: add support for if-match on retry handler by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3144
-   fix: correct firing order of abort events by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3169
-   create fast MessageEvent by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3170
-   chore: add explicitly [@&#8203;fastify/busboy](https://togithub.com/fastify/busboy) by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3172
-   chore: remove sinon as dev dependency by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3171
-   webidl changes by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3175
-   preserve dictionary key name in webidl errors by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3176

#### New Contributors

-   [@&#8203;tsibley](https://togithub.com/tsibley) made their first contribution in [nodejs/undici#3151

**Full Changelog**: nodejs/undici@v6.14.1...v6.15.0

### [`v6.14.1`](https://togithub.com/nodejs/undici/releases/tag/v6.14.1)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.14.0...v6.14.1)

#### What's Changed

-   fix: tweak keep-alive timeout implementation by [@&#8203;mweberxyz](https://togithub.com/mweberxyz) in [nodejs/undici#3145
-   build(deps-dev): bump borp from 0.11.0 to 0.12.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3153
-   build(deps): bump node from `ad255c6` to `6d0f18a` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3154
-   fix(EnvHttpProxyAgent): prefer lowercase env vars by [@&#8203;10xLaCroixDrinker](https://togithub.com/10xLaCroixDrinker) in [nodejs/undici#3152

**Full Changelog**: nodejs/undici@v6.14.0...v6.14.1

### [`v6.14.0`](https://togithub.com/nodejs/undici/releases/tag/v6.14.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.13.0...v6.14.0)

#### What's Changed

-   bench: enable benchmarks for h2 by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3100
-   perf: improve performance of isomorphicEncode by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3101
-   util: remove isReadableAborted by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3104
-   fix(types): The second parameter of EventSource is optional by [@&#8203;zbinlin](https://togithub.com/zbinlin) in [nodejs/undici#3106
-   fix: onConnect types by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3116
-   add dispatcher option to EventSource by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3119
-   core: improve parseURL by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3102
-   test: increase coverage by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3121
-   docs: add directions to run docs and benchmarks by [@&#8203;FatumaA](https://togithub.com/FatumaA) in [nodejs/undici#3092
-   perf: avoid unnecessary clone by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3117
-   build(deps-dev): bump borp from 0.10.0 to 0.11.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3126
-   drop node support for < v18.17.0 by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3125
-   test: improve test and ci performance by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3135
-   Added EnvHttpProxyAgent to support HTTP_PROXY by [@&#8203;10xLaCroixDrinker](https://togithub.com/10xLaCroixDrinker) in [nodejs/undici#2994
-   fetch: Change wording of "Body is unusable" error by [@&#8203;nzakas](https://togithub.com/nzakas) in [nodejs/undici#3105
-   perf: use class instead of object literals with getters by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3138
-   fix: unhandled exception or failing error body by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3137
-   reuse realm for Request/Response by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3142
-   fix([H2-#&#8203;3140](https://togithub.com/H2-/undici/issues/3140)): abort requets upon GOAWAY by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3143
-   don't store realm on Request/Response by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3146
-   improve: wasm build by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3074

#### New Contributors

-   [@&#8203;10xLaCroixDrinker](https://togithub.com/10xLaCroixDrinker) made their first contribution in [nodejs/undici#2994
-   [@&#8203;nzakas](https://togithub.com/nzakas) made their first contribution in [nodejs/undici#3105

**Full Changelog**: nodejs/undici@v6.13.0...v6.14.0

### [`v6.13.0`](https://togithub.com/nodejs/undici/releases/tag/v6.13.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.12.0...v6.13.0)

#### What's Changed

-   build(deps): bump node from `9696b26` to `ad255c6` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3073
-   test: remove only by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3077
-   fix: defer errors with setImmediate by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3081
-   improve DecoratorHandler by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3079
-   chore: removed unused escapeFormDataName by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3084
-   Mention option to pass streams into FormData by [@&#8203;JaoodxD](https://togithub.com/JaoodxD) in [nodejs/undici#3086
-   fetch: improve performance of isValidEncodedURL by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3090
-   optimize utf8Decode by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3085
-   refactor: h2 refactoring by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3082
-   Skip the creation of a transform stream in fetch by [@&#8203;mcollina](https://togithub.com/mcollina) in [nodejs/undici#3093
-   fetch: improve performance of urlHasHttpsScheme by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3094
-   fetch: avoid creation of an intermediary ReadableStream by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3095
-   test: duplicate jest unspecific tests to native runner by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3075
-   build(deps): bump node from `ad255c6` to `6d0f18a` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3096
-   fetch: improve performance of isValidHeaderValue by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3098
-   chore: automate releases with pr by [@&#8203;mweberxyz](https://togithub.com/mweberxyz) in [nodejs/undici#3089

#### New Contributors

-   [@&#8203;github-actions](https://togithub.com/github-actions) made their first contribution in [nodejs/undici#3099

**Full Changelog**: nodejs/undici@v6.12.0...v6.13.0

### [`v6.12.0`](https://togithub.com/nodejs/undici/releases/tag/v6.12.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.11.1...v6.12.0)

#### What's Changed

-   fix: broken test by [@&#8203;tsctx](https://togithub.com/tsctx) in [nodejs/undici#3045
-   fix: http2 header parsing by [@&#8203;climba03003](https://togithub.com/climba03003) in [nodejs/undici#3047
-   types: fix Request.refererPolicy and RequestInit.refererPolicy are incompatible by [@&#8203;zbinlin](https://togithub.com/zbinlin) in [nodejs/undici#3039
-   fix(types): onHeaders always takes headers as an array of buffer by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3050
-   fix: ProxyAgent causes request.headers.host to be forcibly reset by [@&#8203;1zilc](https://togithub.com/1zilc) in [nodejs/undici#3026
-   fallback to Buffer.isUtf8 on platforms without icu by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3006
-   build(deps): bump github/codeql-action from 3.24.6 to 3.24.9 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3037
-   build(deps): bump actions/dependency-review-action from 4.1.3 to 4.2.5 by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3035
-   build(deps): bump node from `577f8eb` to `87524df` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3055
-   build(deps): bump node from `87524df` to `9696b26` in /build by [@&#8203;dependabot](https://togithub.com/dependabot) in [nodejs/undici#3058
-   fetch: Block ports 4190 & 6679 by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [nodejs/undici#3059
-   test: activate testing for interceptors and cache by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3061
-   cache: improve test coverage by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3063
-   feat: modernize fuzzing by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3060
-   fix: request abort by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3056
-   fix: signal handling by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3053
-   fix(H2): handle goaway properly by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [nodejs/undici#3057
-   test: client, set body to null if bigger than CHUNK_LIMIT by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3064
-   mock: improve mock interceptor by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3062
-   fix: bad client destroy on servername change by [@&#8203;ronag](https://togithub.com/ronag) in [nodejs/undici#3066
-   perf: improve isBlobLike by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3070
-   test: add sanity check for llhttp wasm files by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [nodejs/undici#3068

#### New Contributors

-   [@&#8203;zbinlin](https://togithub.com/zbinlin) made their first contribution in [nodejs/undici#3039
-   [@&#8203;1zilc](https://togithub.com/1zilc) made their first contribution in [nodejs/undici#3026

**Full Changelog**: nodejs/undici@v6.11.1...v6.12.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use FinalizationRegistry to dump the socket if the Response is GC'd
7 participants