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

perf: improve performance of isomorphicEncode #3101

Merged

Conversation

tsctx
Copy link
Member

@tsctx tsctx commented Apr 12, 2024

Benchmark Script
import { bench, group, run } from 'mitata'
import { isomorphicEncode } from '../../lib/web/fetch/util.js'

const characters =
  'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
const charactersLength = characters.length

function generateAsciiString (length) {
  let result = ''
  for (let i = 0; i < length; ++i) {
    result += characters[Math.floor(Math.random() * charactersLength)]
  }
  return result
}

const invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/ // eslint-disable-line

function isomorphicEncode1 (input) {
  for (let i = 0; i < input.length; i++) {
    if (input.charCodeAt(i) > 0xff) {
      throw new TypeError('Unreachable')
    }
  }
  return input
}

function isomorphicEncode2 (input) {
  if (invalidIsomorphicEncodeValueRegex.test(input)) {
    throw new TypeError('Unreachable')
  }
  return input
}

const settings = {
  small: 10,
  middle: 30,
  long: 70
}

for (const [runName, length] of Object.entries(settings)) {
  const value = generateAsciiString(length);

  [
    { name: `${runName} (valid)`, value },
    {
      name: `${runName} (invalid)`,
      value: `${value.slice(0, -1)}${String.fromCharCode(0xff + 1)}`
    }
  ].forEach(({ name, value }) => {
    group(name, () => {
      [
        {
          name: 'original',
          fn: isomorphicEncode
        },
        {
          name: 'String#charCodeAt',
          fn: isomorphicEncode1
        },
        {
          name: 'RegExp#test',
          fn: isomorphicEncode2
        }
      ].forEach(({ name, fn }) => {
        bench(name, () => {
          try {
            return fn(value)
          } catch (err) {}
        })
      })
    })
  })
}

await run()
benchmark              time (avg)             (min … max)       p75       p99      p999
--------------------------------------------------------- -----------------------------
• small (valid)
--------------------------------------------------------- -----------------------------
original            56.48 ns/iter     (46.19 ns … 973 ns)  55.57 ns    122 ns    268 ns
String#charCodeAt   44.82 ns/iter     (33.79 ns … 875 ns)  57.47 ns    123 ns    324 ns
RegExp#test         39.23 ns/iter   (23.24 ns … 2'271 ns)  47.17 ns  88.53 ns    483 ns

summary for small (valid)
  RegExp#test
   1.14x faster than String#charCodeAt
   1.44x faster than original

• small (invalid)
--------------------------------------------------------- -----------------------------
original              162 µs/iter  (76'200 ns … 4'403 µs)    171 µs    425 µs  2'893 µs
String#charCodeAt  20'686 ns/iter  (11'300 ns … 5'352 µs) 25'200 ns 39'300 ns    204 µs
RegExp#test        15'999 ns/iter (10'136 ns … 35'269 ns) 20'371 ns 32'735 ns 35'269 ns

summary for small (invalid)
  RegExp#test
   1.29x faster than String#charCodeAt
   10.14x faster than original

• middle (valid)
--------------------------------------------------------- -----------------------------   
original              319 ns/iter     (160 ns … 7'139 ns)    334 ns  1'397 ns  7'139 ns
String#charCodeAt     202 ns/iter     (113 ns … 2'750 ns)    233 ns    463 ns  1'956 ns
RegExp#test         33.93 ns/iter   (23.19 ns … 2'237 ns)  34.57 ns    120 ns    285 ns

summary for middle (valid)
  RegExp#test
   5.96x faster than String#charCodeAt
   9.4x faster than original

• middle (invalid)
--------------------------------------------------------- -----------------------------   
original              116 µs/iter  (88'000 ns … 1'768 µs)    107 µs    274 µs    661 µs
String#charCodeAt  29'194 ns/iter (15'500 ns … 12'211 µs) 32'200 ns 55'800 ns    381 µs
RegExp#test        29'225 ns/iter  (16'100 ns … 3'467 µs) 33'000 ns 53'600 ns    221 µs

summary for middle (invalid)
  String#charCodeAt
   1x faster than RegExp#test
   3.96x faster than original

• long (valid)
--------------------------------------------------------- -----------------------------   
original              657 ns/iter     (352 ns … 3'251 ns)    748 ns  1'874 ns  3'251 ns
String#charCodeAt     307 ns/iter     (225 ns … 1'323 ns)    308 ns    630 ns  1'323 ns
RegExp#test         28.94 ns/iter     (23.63 ns … 230 ns)  25.63 ns    102 ns    156 ns

summary for long (valid)
  RegExp#test
   10.61x faster than String#charCodeAt
   22.72x faster than original

• long (invalid)
--------------------------------------------------------- -----------------------------   
original              155 µs/iter  (90'600 ns … 6'604 µs)    182 µs    338 µs  2'145 µs
String#charCodeAt  29'024 ns/iter  (16'500 ns … 3'502 µs) 33'500 ns 49'000 ns    212 µs
RegExp#test        25'481 ns/iter  (16'800 ns … 3'543 µs) 30'300 ns 47'300 ns    297 µs

summary for long (invalid)
  RegExp#test
   1.14x faster than String#charCodeAt
   6.09x faster than original

@codecov-commenter
Copy link

codecov-commenter commented Apr 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.04%. Comparing base (65f768c) to head (81d853a).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3101   +/-   ##
=======================================
  Coverage   94.04%   94.04%           
=======================================
  Files          89       89           
  Lines       24333    24333           
=======================================
  Hits        22885    22885           
  Misses       1448     1448           

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

@tsctx tsctx force-pushed the perf/improve-performance-isomorphic-encode branch from c76954a to a16334d Compare April 12, 2024 12:01
@Uzlopak
Copy link
Contributor

Uzlopak commented Apr 12, 2024

interesting. I was also eyeing it, when I created #3091 . But one thing: I would maybe not write "Unreachable" as a message. Maybe if we have AssertionError, then use that. But yeah.

@Uzlopak
Copy link
Contributor

Uzlopak commented Apr 12, 2024

Can you please not remove the benchmark?

@tsctx
Copy link
Member Author

tsctx commented Apr 12, 2024

Can you please not remove the benchmark?

Sorry.

@Uzlopak
Copy link
Contributor

Uzlopak commented Apr 12, 2024

Dont apologize, its fine.

Can you add a unit test for the error case? If we touch it we can immediatly improve the test coverage ;)

@KhafraDev
Copy link
Member

why is the error case unreachable?

lib/web/fetch/util.js Outdated Show resolved Hide resolved
lib/web/fetch/util.js Outdated Show resolved Hide resolved
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 merged commit ec74bf7 into nodejs:main Apr 12, 2024
26 checks passed
@tsctx tsctx deleted the perf/improve-performance-isomorphic-encode branch April 12, 2024 20:54
@Uzlopak Uzlopak mentioned this pull request Apr 13, 2024
@github-actions github-actions bot mentioned this pull request Apr 22, 2024
kodiakhq bot pushed a commit to X-oss-byte/Canary-nextjs that referenced this pull request Apr 24, 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.13.0` -> `6.14.1`](https://renovatebot.com/diffs/npm/undici/6.13.0/6.14.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.13.0/6.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.13.0/6.14.1?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.14.1`](https://togithub.com/nodejs/undici/compare/v6.14.0...1c440555a0c25d6a2ee2b0bdf8c5afcd9636332f)

[Compare Source](https://togithub.com/nodejs/undici/compare/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

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

---

### Release Notes

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

### [`v6.14.1`](https://togithub.com/nodejs/undici/compare/v6.14.0...1c440555a0c25d6a2ee2b0bdf8c5afcd9636332f)

[Compare Source](https://togithub.com/nodejs/undici/compare/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 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

6 participants