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

fetch: don't re-lowercase HeadersList #3159

Merged
merged 1 commit into from Apr 24, 2024

Conversation

tsctx
Copy link
Member

@tsctx tsctx commented Apr 24, 2024

No description provided.

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

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

lgtm

@mcollina mcollina requested a review from KhafraDev April 24, 2024 13:08
Copy link
Member

@KhafraDev KhafraDev left a comment

Choose a reason for hiding this comment

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

No they're not, and if they are, they shouldn't be.

@mcollina mcollina merged commit e5b7200 into nodejs:main Apr 24, 2024
26 checks passed
@tsctx tsctx deleted the perf/do-not-re-lowercase branch April 24, 2024 14:06
@KhafraDev
Copy link
Member

Sorry, this should be reverted:

import { fetch, Headers } from './index.js'
import { createServer } from 'http'
import { once } from 'events'

const server = createServer((req, res) => {
  console.log(req.rawHeaders)
  // Actual: ['content-type', 'text/plain']
  // Expected: ['Content-Type', 'text/plain']

  res.end()
}).listen(0)

await once(server, 'listening')

const headers = new Headers([['Content-Type', 'text/plain']])

await fetch(`http://localhost:${server.address().port}`, {
  headers
}).finally(() => server.close())

mcollina added a commit that referenced this pull request Apr 24, 2024
@KhafraDev
Copy link
Member

I spent a little time on this, and this Pr wasn't the issue, there's actually a much deeper issue due to us not following the spec regarding Headers.

The way that the webidl converter for HeadersInit works for any input V:

  • If V is not a webidl Object (non-null), throw an error.
  • If V has a Symbol.iterator, convert that to a sequence<sequence<ByteString>> (a 2d array)
  • Otherwise, try converting it to a record<ByteString, ByteString> (an object)

The issue is in that second step, when V is a Headers object, which has a Symbol.iterator. The Headers' Symbol.iterator returns lowercased values only, basically the normalized versions, similar to IncomingHttpRequest.headers in Node. However, we need it to use HeadersList.entries, which returns the not-really-normalized-but-kinda-normalized object with case-sensitive Headers. But you can also override a Headers' Symbol.iterator with your own, which the webidl implementation is expected to use (this is tested for in the WPTs...).

We can fix it with the following diff, but as you can see, is pretty terrible:

diff --git a/lib/web/fetch/headers.js b/lib/web/fetch/headers.js
index 2235f125..7c91fc20 100644
--- a/lib/web/fetch/headers.js
+++ b/lib/web/fetch/headers.js
@@ -602,6 +602,10 @@ webidl.converters.HeadersInit = function (V) {
   if (webidl.util.Type(V) === 'Object') {
     const iterator = Reflect.get(V, Symbol.iterator)

+    if (!util.types.isProxy(V) && kHeadersList in V && iterator === Headers.prototype.entries) { // Headers object
+      return V[kHeadersList].entries
+    }
+
     if (typeof iterator === 'function') {
       return webidl.converters['sequence<sequence<ByteString>>'](V, iterator.bind(V))
     }

On the other hand, if we can't/have no intentions to support sending the raw header names to the server, we should probably drop support for it totally and mark the tests as failing. Deno sends all header names as lowercased, but it's the only platform that does so.

@KhafraDev
Copy link
Member

This is a perfect example of why I am very stringent on PRs that don't follow or skip steps in the spec. If we followed the spec this wouldn't have been an issue. 😐

KhafraDev added a commit to KhafraDev/undici that referenced this pull request Apr 24, 2024
Refs: nodejs#3159 (comment)

Co-authored-by: tsctx <91457664+tsctx@users.noreply.github.com>
@tsctx
Copy link
Member Author

tsctx commented Apr 24, 2024

@KhafraDev It can be reproduced without my changes. (This is a fetch-specific problem.)

@KhafraDev
Copy link
Member

Yeah, that's what I was saying.

this Pr wasn't the issue, there's actually a much deeper issue due to us not following the spec regarding Headers.

I re-added your changes in 034e3f0 but it seems like when the PRs got squashed it removed the credit I gave to you.

@github-actions github-actions bot mentioned this pull request Apr 29, 2024
kodiakhq bot pushed a commit to X-oss-byte/Canary-nextjs that referenced this pull request Apr 30, 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.14.1` -> `6.15.0`](https://renovatebot.com/diffs/npm/undici/6.14.1/6.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.14.1/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.14.1/6.15.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.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

</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 Apr 30, 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.14.1` -> `6.15.0`](https://renovatebot.com/diffs/npm/undici/6.11.1/6.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.11.1/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.11.1/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`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/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/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.

None yet

3 participants