Skip to content

Evaluate zod vs io-ts runtime performance for route params#1

Draft
awahab07 wants to merge 1 commit into
mainfrom
zod-type-performance-evaluation
Draft

Evaluate zod vs io-ts runtime performance for route params#1
awahab07 wants to merge 1 commit into
mainfrom
zod-type-performance-evaluation

Conversation

@awahab07
Copy link
Copy Markdown
Owner

@awahab07 awahab07 commented Jan 27, 2025

Summary

This change is to compare the runtime TS performance analysis between io-ts and zod. An equivalent zod params schema is created for the comparison.

test_type_perf.ts is where both schemas are invoked for each case with TS tracing on and the elapsed times for TS commands are recorded. TypeScript server is restarted before each case to capture the fresh logs.

Here's the summary of executed commands with their average times:

io-ts zod
commandavg. Time elapsed (ms)countavg. Time elapsed (ms)count
completionEntryDetails 72.9786723.31296
completionInfo 298.40306256.11054
configure 0.193310.19861
documentHighlights 0.556210.50331
getApplicableRefactors 0.8880171.22169
getCodeFixes 13.8945521.15294
updateOpen 311.928117338.51916

awahab07 pushed a commit that referenced this pull request Jun 5, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [whatwg-fetch](https://redirect.github.com/github/fetch) |
dependencies | minor | [`^3.0.0` ->
`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)
|

---

### Release Notes

<details>
<summary>github/fetch (whatwg-fetch)</summary>

###
[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)

##### Bug Fixes

- Response.error().ok === false
([#&elastic#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))
([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))

###
[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)

##### Bug Fixes

- Have unique error messages for xhr timeouts and errors
([#&elastic#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))
([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))

###
[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)

- Fix - File fetching broken since commit
[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)
[`elastic#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)
- Remove broken links
[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)
- automatically generate a changelog
[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)

###
[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)

> 20 July 2023

- Revert "Resolves
[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)"
[`elastic#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)

###
[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)

> 18 July 2023

- Resolves
[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)
[`elastic#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)

###
[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)

> 18 July 2023

- fix
[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)
[`elastic#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)

###
[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)

> 18 July 2023

- Fix
[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)
[`elastic#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)

###
[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)

> 18 July 2023

- respect charset within readBlobAsText
[`elastic#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)

###
[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)

> 18 July 2023

- fix: Headers only accepts array which have nested array of length 2
[`elastic#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)

###
[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)

> 18 July 2023

- Define Body.arrayBuffer even if support.blob is false
[`elastic#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)

###
[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)

> 18 July 2023

- use globals if they exist
[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)

###
[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)

> 18 July 2023

- fix: when no body supplied, do not set bodyUsed to true
[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)

###
[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)

> 18 July 2023

- validate status is in range
[`elastic#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)

###
[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)

> 18 July 2023

- dont shadow `global`
[`elastic#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)
- dont use github eslint
[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)
- remove invalid-headers test
[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)
- Update lock.yml permissions
[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)

###
[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)

> 18 July 2023

- fix: ignore not throw on invalid response headers
[`elastic#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)

###
[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)

> 18 July 2023

- Add some missed methods which should be normalized as uppercase
[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)
- Update caniuse link to use HTTPS and new pattern
[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)

###
[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)

> 18 July 2023

- always set a signal on Request
[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)

###
[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)

> 18 July 2023

- Compatible global equals to the false
[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)

###
[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)

##### Bug Fixes

- Response.error().ok === false
([#&elastic#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))
([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))

###
[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)

##### Bug Fixes

- Have unique error messages for xhr timeouts and errors
([#&elastic#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))
([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))

###
[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)

> 18 February 2021

- Fix statusText: undefined should give '' and null should give 'null'
[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)
- Represent non-stringified JSON request body as an \[object Object]
string
[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)
- Fix eslint and eslint-plugin-github dependency conflicts
[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)

###
[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)

> 6 November 2020

- Fixes
[#&elastic#8203;748](https://redirect.github.com/github/fetch/issues/748)
[`elastic#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)
- Create lock.yml
[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)

###
[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)

> 7 September 2020

- Add npmignore file to ensure we always publish the dist directory
[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)
- Make the clean task remove the dist directory and the default task
create it
[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)

###
[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)

> 7 August 2020

- Use globalThis as the global object if it exists
[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)

###
[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)

> 4 August 2020

- rename variable to no longer shadow over function of same name
[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)
- remove semicolon to pass linting
[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)

###
[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)

> 4 August 2020

- Make Response.arrayBuffer() always resolve with a `ArrayBuffer`
[`elastic#801`](https://redirect.github.com/github/fetch/issues/801)
- Stop using top-level `this` to stop rollup warning
[`elastic#802`](https://redirect.github.com/github/fetch/issues/802)
- Recommend an AbortController polyfill which is fully synchronous
[`elastic#800`](https://redirect.github.com/github/fetch/issues/800)
- Add keepalive caveat
[`elastic#780`](https://redirect.github.com/github/fetch/issues/780)
- Throw a TypeError if Request or Response functions are called without
`new`
[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)
- If headers are passed in via a Record then do not normalise the header
names as part of the request
[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)
- Update fetch.js
[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)

###
[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)

> 9 July 2020

- Detect if DOMException exists via typeof instead of trying to call it
and catching the exception which may get thrown
[`elastic#724`](https://redirect.github.com/github/fetch/issues/724)
- use `this` if `self` is not defined
[`elastic#657`](https://redirect.github.com/github/fetch/issues/657)
- create variable called `global` which is either `self` or `this`
[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)
- Add support for no-cache and no-store via a cache-busting querystring
parameter
[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)
- make global `this` correct when using rollup
[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)

###
[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)

> 8 July 2020

- check if Content-Type header exists prior to examining the value
[`elastic#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)
- Move from Travis to GitHub Actions
[`elastic#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)

###
[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)

> 29 June 2020

###
[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)

> 8 July 2020

- check if Content-Type header exists prior to examining the value
[`elastic#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)
- Move from Travis to GitHub Actions
[`elastic#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)
- Co-authored-by: Jake Champion \<me@jakechampion.name>
[`elastic#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)
- work around IE XHR bug with '' URL Fixes
[#&elastic#8203;618](https://redirect.github.com/github/fetch/issues/618)
[`elastic#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)
- Allow exclamation mark as valid header character
[`elastic#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)
- Avoid blob conversion for specific requests
[`elastic#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)
- Compatibility for fetch-mock using proxy-pollyfill
[`elastic#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)
- Change default statusText for Response
[`elastic#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)
- Document more common pitfalls in the README
[`elastic#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)
- field name can not by empty
[`elastic#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)
- work around IE XHR bug with '' URL Fixes
[#&elastic#8203;618](https://redirect.github.com/github/fetch/issues/618)
([#&elastic#8203;619](https://redirect.github.com/github/fetch/issues/619))
[`elastic#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)
- Clarify what parts of the standard we don't want to implement
[`elastic#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)
- Document more caveats
[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)
- Fix issue
[#&elastic#8203;533](https://redirect.github.com/github/fetch/issues/533)
[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)
- Compatibility with newer eslint-plugin-github
[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)

#####
[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)

> 7 September 2018

- Add flow definitions
[`elastic#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)
- Match spec behavior re: unsupported body type
[`elastic#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)
- Update Karma and detect available browsers when testing
[`elastic#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)
- Adopt Contributor Covenant Code of Conduct
[`elastic#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)
- Change `credentials` default value to `same-origin`
[`elastic#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)
- Switch test suite from PhantomJS to Karma
[`elastic#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)
- Support abort API
[`elastic#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)
- build/distribute as UMD
[`elastic#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)
- Test signal reuse. Add AbortSignal polyfill.
[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)
- Clear abort event listener for all xhr completion states.
[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)
- Expand install & importing documentation
[`elastic#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)
- Match spec behavior re: unsupported body type
[`elastic#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)
- Run test files through prettier
[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)
- Unwrap `fetch.js` to be a clean module file
[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)
- Switch from PhantomJS to Karma + Chrome/Firefox for testing
[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)

</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.

---

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

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJiYWNrcG9ydDphbGwtb3BlbiIsInJlbGVhc2Vfbm90ZTpza2lwIl19-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Brad White <brad.white@elastic.co>
awahab07 pushed a commit that referenced this pull request Jun 24, 2025
… (elastic#222644)

# Backport

This will backport the following commits from `main` to `9.0`:
- [Update dependency whatwg-fetch to ^3.6.20 (main)
(#206179)](https://github.com/elastic/kibana/pull/206179)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-06-04T19:29:03Z","message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Operations","release_note:skip","backport:all-open","v9.1.0"],"title":"Update
dependency whatwg-fetch to ^3.6.20
(main)","number":206179,"url":"https://github.com/elastic/kibana/pull/206179","mergeCommit":{"message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206179","number":206179,"mergeCommit":{"message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628"}}]}]
BACKPORT-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Brad White <brad.white@elastic.co>
awahab07 pushed a commit that referenced this pull request Aug 22, 2025
…) (elastic#222641)

# Backport

This will backport the following commits from `main` to `8.17`:
- [Update dependency whatwg-fetch to ^3.6.20 (main)
(#206179)](https://github.com/elastic/kibana/pull/206179)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-06-04T19:29:03Z","message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Operations","release_note:skip","backport:all-open","v9.1.0"],"title":"Update
dependency whatwg-fetch to ^3.6.20
(main)","number":206179,"url":"https://github.com/elastic/kibana/pull/206179","mergeCommit":{"message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206179","number":206179,"mergeCommit":{"message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628"}}]}]
BACKPORT-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Brad White <brad.white@elastic.co>
awahab07 added a commit that referenced this pull request Oct 13, 2025
…lastic#236613)

## Summary

While investigating a test failure, I've found that Scout doesn't upload
captured screenshots for failed tests to Buildkite Artifacts.

### Before
For example for the following failure:

<img width="3456" height="1924" alt="image"
src="https://github.com/user-attachments/assets/c947c834-dd67-465e-8f09-fa5a1b356ede"
/>

Playwright did capture screenshot
```shell

proc [playwright]     attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
--
  | proc [playwright]     x-pack/platform/plugins/shared/streams_app/test/scout/ui/.scout/test-artifacts/data_management-data_proce-582f5-during-a-processor-creation-local/test-failed-1.png
  | proc [playwright]     ────────────────────────────────────────────────────────────────────────────────────────────────
```
but it's not available under job's **Artifacts**
<img width="3456" height="1910" alt="image"
src="https://github.com/user-attachments/assets/027e16fb-7a08-4d7a-bd74-804690263fae"
/>

### After

#### **Failing test** (see
[build](https://buildkite.com/elastic/kibana-pull-request/builds/344414))

<img width="3442" height="1922" alt="image"
src="https://github.com/user-attachments/assets/558a6a10-f2b0-4491-a54d-cef89b827745"
/>

<img width="3442" height="1916" alt="image"
src="https://github.com/user-attachments/assets/0c1e080d-de40-4a7c-aff3-cab93d4a64c0"
/>

#### **Passing test**

<img width="3456" height="1906" alt="image"
src="https://github.com/user-attachments/assets/5e4f0171-60a0-45b4-a1ab-39fb94f935ce"
/>

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
awahab07 pushed a commit that referenced this pull request Nov 10, 2025
…) (elastic#222642)

# Backport

This will backport the following commits from `main` to `8.18`:
- [Update dependency whatwg-fetch to ^3.6.20 (main)
(#206179)](https://github.com/elastic/kibana/pull/206179)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-06-04T19:29:03Z","message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Operations","release_note:skip","backport:all-open","v9.1.0"],"title":"Update
dependency whatwg-fetch to ^3.6.20
(main)","number":206179,"url":"https://github.com/elastic/kibana/pull/206179","mergeCommit":{"message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206179","number":206179,"mergeCommit":{"message":"Update
dependency whatwg-fetch to ^3.6.20 (main) (#206179)\n\nThis PR contains
the following updates:\n\n| Package | Type | Update | Change
|\n|---|---|---|---|\n|
[whatwg-fetch](https://redirect.github.com/github/fetch) |\ndependencies
| minor | [`^3.0.0`
->\n`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)\n|\n\n---\n\n###
Release Notes\n\n<details>\n<summary>github/fetch
(whatwg-fetch)</summary>\n\n###\n[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)\n\n-
Fix - File fetching broken since
commit\n[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)\n[`#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)\n-
Remove broken
links\n[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)\n-
automatically generate a
changelog\n[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)\n\n###\n[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)\n\n>
20 July 2023\n\n- Revert
\"Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\"\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)\n\n>
18 July 2023\n\n-
Resolves\n[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)\n[`#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)\n\n###\n[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)\n\n>
18 July 2023\n\n-
fix\n[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)\n[`#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)\n\n###\n[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)\n\n>
18 July 2023\n\n-
Fix\n[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n[`#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)\n\n###\n[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)\n\n>
18 July 2023\n\n- respect charset within
readBlobAsText\n[`#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)\n\n###\n[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)\n\n>
18 July 2023\n\n- fix: Headers only accepts array which have nested
array of length
2\n[`#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)\n\n###\n[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)\n\n>
18 July 2023\n\n- Define Body.arrayBuffer even if support.blob is
false\n[`#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)\n\n###\n[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)\n\n>
18 July 2023\n\n- use globals if they
exist\n[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)\n\n###\n[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)\n\n>
18 July 2023\n\n- fix: when no body supplied, do not set bodyUsed to
true\n[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)\n\n###\n[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)\n\n>
18 July 2023\n\n- validate status is in
range\n[`#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)\n\n###\n[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)\n\n>
18 July 2023\n\n- dont shadow
`global`\n[`#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)\n-
dont use github
eslint\n[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)\n-
remove invalid-headers
test\n[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)\n-
Update lock.yml
permissions\n[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)\n\n###\n[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)\n\n>
18 July 2023\n\n- fix: ignore not throw on invalid response
headers\n[`#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)\n\n###\n[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)\n\n>
18 July 2023\n\n- Add some missed methods which should be normalized as
uppercase\n[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)\n-
Update caniuse link to use HTTPS and new
pattern\n[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)\n\n###\n[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)\n\n>
18 July 2023\n\n- always set a signal on
Request\n[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)\n\n###\n[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)\n\n>
18 July 2023\n\n- Compatible global equals to the
false\n[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)\n\n###\n[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)\n\n#####
Bug Fixes\n\n- Response.error().ok ===
false\n([#&#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))\n([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))\n\n###\n[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)\n\n#####
Bug Fixes\n\n- Have unique error messages for xhr timeouts and
errors\n([#&#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))\n([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))\n\n###\n[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)\n\n>
18 February 2021\n\n- Fix statusText: undefined should give '' and null
should give
'null'\n[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)\n-
Represent non-stringified JSON request body as an \\[object
Object]\nstring\n[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)\n-
Fix eslint and eslint-plugin-github dependency
conflicts\n[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)\n\n###\n[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)\n\n>
6 November 2020\n\n-
Fixes\n[#&#8203;748](https://redirect.github.com/github/fetch/issues/748)\n[`#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)\n-
Create
lock.yml\n[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)\n\n###\n[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)\n\n>
7 September 2020\n\n- Add npmignore file to ensure we always publish the
dist
directory\n[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)\n-
Make the clean task remove the dist directory and the default
task\ncreate
it\n[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)\n\n###\n[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)\n\n>
7 August 2020\n\n- Use globalThis as the global object if it
exists\n[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)\n\n###\n[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)\n\n>
4 August 2020\n\n- rename variable to no longer shadow over function of
same
name\n[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)\n-
remove semicolon to pass
linting\n[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)\n\n###\n[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)\n\n>
4 August 2020\n\n- Make Response.arrayBuffer() always resolve with a
`ArrayBuffer`\n[`#801`](https://redirect.github.com/github/fetch/issues/801)\n-
Stop using top-level `this` to stop rollup
warning\n[`#802`](https://redirect.github.com/github/fetch/issues/802)\n-
Recommend an AbortController polyfill which is fully
synchronous\n[`#800`](https://redirect.github.com/github/fetch/issues/800)\n-
Add keepalive
caveat\n[`#780`](https://redirect.github.com/github/fetch/issues/780)\n-
Throw a TypeError if Request or Response functions are called
without\n`new`\n[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)\n-
If headers are passed in via a Record then do not normalise the
header\nnames as part of the
request\n[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)\n-
Update
fetch.js\n[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)\n\n###\n[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)\n\n>
9 July 2020\n\n- Detect if DOMException exists via typeof instead of
trying to call it\nand catching the exception which may get
thrown\n[`#724`](https://redirect.github.com/github/fetch/issues/724)\n-
use `this` if `self` is not
defined\n[`#657`](https://redirect.github.com/github/fetch/issues/657)\n-
create variable called `global` which is either `self` or
`this`\n[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)\n-
Add support for no-cache and no-store via a cache-busting
querystring\nparameter\n[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)\n-
make global `this` correct when using
rollup\n[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)\n\n###\n[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n\n###\n[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)\n\n>
29 June
2020\n\n###\n[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)\n\n[Compare\nSource](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)\n\n>
8 July 2020\n\n- check if Content-Type header exists prior to examining
the
value\n[`#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)\n-
Move from Travis to GitHub
Actions\n[`#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)\n-
Co-authored-by: Jake Champion
\\<me@jakechampion.name>\n[`#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n[`#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)\n-
Allow exclamation mark as valid header
character\n[`#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)\n-
Avoid blob conversion for specific
requests\n[`#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)\n-
Compatibility for fetch-mock using
proxy-pollyfill\n[`#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)\n-
Change default statusText for
Response\n[`#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)\n-
Document more common pitfalls in the
README\n[`#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)\n-
field name can not by
empty\n[`#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)\n-
work around IE XHR bug with '' URL
Fixes\n[#&#8203;618](https://redirect.github.com/github/fetch/issues/618)\n([#&#8203;619](https://redirect.github.com/github/fetch/issues/619))\n[`#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)\n-
Clarify what parts of the standard we don't want to
implement\n[`#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)\n-
Document more
caveats\n[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)\n-
Fix
issue\n[#&#8203;533](https://redirect.github.com/github/fetch/issues/533)\n[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)\n-
Compatibility with newer
eslint-plugin-github\n[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)\n\n#####\n[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)\n\n>
7 September 2018\n\n- Add flow
definitions\n[`#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)\n-
Match spec behavior re: unsupported body
type\n[`#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)\n-
Update Karma and detect available browsers when
testing\n[`#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)\n-
Adopt Contributor Covenant Code of
Conduct\n[`#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)\n-
Change `credentials` default value to
`same-origin`\n[`#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)\n-
Switch test suite from PhantomJS to
Karma\n[`#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)\n-
Support abort
API\n[`#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)\n-
build/distribute as
UMD\n[`#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)\n-
Test signal reuse. Add AbortSignal
polyfill.\n[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)\n-
Clear abort event listener for all xhr completion
states.\n[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)\n-
Expand install & importing
documentation\n[`#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)\n-
Match spec behavior re: unsupported body
type\n[`#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)\n-
Run test files through
prettier\n[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)\n-
Unwrap `fetch.js` to be a clean module
file\n[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)\n-
Switch from PhantomJS to Karma + Chrome/Firefox for
testing\n[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)\n\n</details>\n\n---\n\n###
Configuration\n\n📅 **Schedule**: Branch creation - At any time (no
schedule defined),\nAutomerge - At any time (no schedule defined).\n\n🚦
**Automerge**: Disabled by config. Please merge this manually once
you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted,
or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR
and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If
you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has
been generated by
[Renovate\nBot](https://redirect.github.com/renovatebot/renovate).\n\n\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
Brad White
<brad.white@elastic.co>","sha":"e49ec1082a6d7847afc05dbb6e817d7fe225d628"}}]}]
BACKPORT-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Brad White <brad.white@elastic.co>
awahab07 pushed a commit that referenced this pull request Mar 21, 2026
…on (elastic#258531)

The `integrations_automatic_import.cy.ts` test was consistently failing
at the deploy step with `Bad Request (400): Building the Integration
failed` because the test invoked the real `buildPackage()` server
endpoint and the real Fleet package install endpoint — neither of which
were mocked, unlike the generation graph endpoints (ECS, categorization,
related).

## Changes

- **`integrations_automatic_import.cy.ts`**: Add `cy.intercept` mocks in
`beforeEach` for the two un-mocked endpoints:
  - `POST /internal/automatic_import/build` → returns `200 {}`
- `POST /api/fleet/epm/packages` → returns `200` with `_meta.name:
'test_integration-1.0.0'`, which is what
`getIntegrationNameFromResponse()` reads to set `integrationName` and
render the success section

```typescript
cy.intercept('POST', '/internal/automatic_import/build', {
  statusCode: 200,
  body: {},
});
cy.intercept('POST', '/api/fleet/epm/packages', {
  statusCode: 200,
  body: {
    _meta: { install_source: 'upload', name: 'test_integration-1.0.0' },
    items: [],
  },
});
```

<!-- START COPILOT ORIGINAL PROMPT -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title>Failing test: Fleet Cypress Tests #1 / Add Integration -
Automatic Import should create an integration</issue_title>
>
<issue_description>https://buildkite.com/elastic/kibana-pull-request/builds/412255#019d019d-c8e8-429d-aa99-0585b8e3fc05
> should create an integration
> Add Integration - Automatic Import should create an integration
> 
> 
> Owners:
> Unable to determine code owners
> Failures in tracked branches: 1
> https://dryrun/
> Buildkite Job
>
https://buildkite.com/elastic/kibana-pull-request/builds/412255#019d019d-c8e8-429d-aa99-0585b8e3fc05
> 
> AssertionError: Timed out retrying after 60000ms: Expected to find
element: `[data-test-subj="integrationSuccessSection"]`, but never found
it.
> at Context.eval
(webpack://@kbn/fleet-plugin-cypress/./e2e/integrations_automatic_import.cy.ts:107:45)
> 
> <img width="1440" height="900" alt="Image"
src="https://github.com/user-attachments/assets/c7e54d6f-85e3-4e2b-87e8-1602c716788d"
/>
> 
> Logs:
[kibana-pull-request_build_412706_fleet-cypress-tests.log](https://github.com/user-attachments/files/26113748/kibana-pull-request_build_412706_fleet-cypress-tests.log)</issue_description>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> <comment_new><author>@elasticmachine</author><body>
> Pinging @elastic/fleet (Team:Fleet)</body></comment_new>
> </comments>
> 


</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes elastic#258522

<!-- START COPILOT CODING AGENT TIPS -->
---

📱 Kick off Copilot coding agent tasks wherever you are with [GitHub
Mobile](https://gh.io/cca-mobile-docs), available on iOS and Android.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: juliaElastic <90178898+juliaElastic@users.noreply.github.com>
awahab07 pushed a commit that referenced this pull request Apr 2, 2026
Closes elastic#258318
Closes elastic#258319

## Summary

Adds logic to the alert episodes table to display `.alert_actions`
information.

This includes:
- New action-specific API paths.
- Snooze
  - **Per group hash.**
- Button in the actions column opens a popover where an `until` can be
picked.
  - **When snoozed**
    - A bell shows up in the status column.
- Mouse over the bell icon to see until when the snooze is in effect.
- Unsnooze
  - **Per group hash.**
  - Clicking the button removes the snooze.
- Ack/Unack
  - **Per episode.**
  - Button in the actions column
  - When "acked", an icon shows in the status column.
- Tags
- This PR only handles displaying tags. They need to be created via API.
- Resolve/Unresolve
  - **Per group hash.**
  - Button inside the ellipsis always
- The status is turned to `inactive` **regardless of the "real"
status.**

<img width="1704" height="672" alt="Screenshot 2026-03-25 at 16 04 12"
src="https://github.com/user-attachments/assets/5ef4111a-6e0c-4114-a60e-ce5f81a86ac6"
/>


## Testing


<details> <summary>POST mock episodes</summary>

```
POST _bulk
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:00:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:01:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:02:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:03:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:04:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:05:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:06:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:07:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:08:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:09:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:10:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:11:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:12:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:13:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:14:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-003", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:15:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-003", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:16:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:17:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:18:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:19:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:20:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-5", "episode": { "id": "ep-005", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:21:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-5", "episode": { "id": "ep-005", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:22:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-5", "episode": { "id": "ep-005", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:23:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:24:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:25:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "active" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:26:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:14:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-2" }, "group_hash": "elasticgh-7", "episode": { "id": "ep-007", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:15:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-2" }, "group_hash": "elasticgh-7", "episode": { "id": "ep-007", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:16:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "elasticgh-8", "episode": { "id": "ep-008", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:17:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "elasticgh-8", "episode": { "id": "ep-008", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:18:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "elasticgh-8", "episode": { "id": "ep-008", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:20:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-4" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-009", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:21:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-4" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-009", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:23:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:24:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:25:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "active" }, "status": "no_data" }
```

</details>

- In the POST above, episodes 1 and 3, and episodes 6 and 9 have the
same group hashes.
- Go to `https://localhost:5601/app/observability/alerts-v2` and try all
buttons.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
awahab07 pushed a commit that referenced this pull request Apr 26, 2026
…#263470)

## Summary

Several small, independent optimizations to the Kibana PR CI pipeline.
Timing data below is measured from actual Buildkite logs (baselines
#427940–#427945 vs PR builds #428076, #428363, #428619).

### 1. Parallel bootstrap + artifact download (`common.sh`)

All functional/integration test steps (FTR, Scout, Cypress) previously
ran bootstrap and distributable download sequentially. They are
independent:

- **Bootstrap** installs `node_modules` so `node
scripts/functional_tests` can run.
- **Artifact download** fetches and extracts the ~426 MiB Kibana
distributable tarball.

This is the biggest win in the PR. Running them in parallel lets the
download (the typical bottleneck) overlap with bootstrap.

**Measured (yarn start → first `node scripts/functional_tests`, FTR
Configs #1):**

| Build | Bootstrap | Download | Total setup |
| --- | --- | --- | --- |
| #427940 (baseline) | 42s | 20s | 63s |
| #427941 (baseline) | 57s | 32s | 93s |
| #427942 (baseline) | 41s | 15s | 57s |
| #427943 (baseline) | 35s | 20s | 56s |
| #427944 (baseline) | 41s | 36s | 81s |
| #427945 (baseline) | 42s | 36s | 83s |
| **Baseline avg** | | | **~72s** |
| #428076 (PR) | parallel | 37s | **38s** |
| #428363 (PR) | parallel | 38s | **39s** |
| #428619 (PR) | parallel | 36s | **39s** |

**Per-step savings: ~20–55s (avg ~33s)**, depending on how slow the
baseline download happened to be. With ~230 FTR/Scout/Cypress steps per
PR build, that's on the order of **~1.5–2 hours of aggregate
agent-time**.

Error handling preserves the previous behavior: bootstrap and download
PIDs are waited on individually and each exit code is propagated.

### 2. Background docker image cleanup (`build_kibana.sh`)

`clean_cached_images` (prunes Docker images to free disk space) took
~20s synchronously before the Kibana build. `node scripts/build` takes
~7.5 minutes and doesn't use Docker, so the cleanup is backgrounded and
completes well before the archive step that actually benefits from the
freed space.

**Measured in the Build Kibana Distribution step: ~21s saved.**

| Build | Docker cleanup wait |
| --- | --- |
| Baseline avg (6 builds) | **21.1s** |
| #428076 / #428363 / #428619 (PR) | **0.0s** |

### 3. Simplified archive extraction (`build_kibana.sh`)

Previously the archive step extracted the tarball to an intermediate
`install/kibana` directory and then did a recursive copy to
`$KIBANA_BUILD_LOCATION`. Now it extracts directly to the build location
in a single `tar` command, eliminating the redundant `cp -pR` and
temporary directory.

**Measured savings: ~3s** in the finalize→archive phase.

### 4. Custom checkout plugin for Build Kibana Distribution step
(`base.yml`)

Replaces the default checkout with the `custom-checkout#v1.8.0` plugin
configured for a shallow fetch (`--depth=1`, `--no-tags`,
`--single-branch`), using the local git mirror at
`/opt/git-mirrors/git-github-com-elastic-kibana-git`.

The Kibana CI agents already run with a warm git mirror, so the default
checkout is not downloading full history — the actual data transferred
on a default checkout is a few MiB, not GB. The benefit of this change
is modest but consistent: skipping tag refs and reducing pack-transfer
round-trips.

**Measured (Receiving objects in Build Kibana Distribution log):**

| Variant | Objects | Data transferred |
| --- | --- | --- |
| Baseline (`git clone --reference` to mirror) | 2484–2518 | ~3.9 MiB |
| PR (`custom-checkout` + `--depth=1 --no-tags`) | 296 + plugin 341 |
~2.1 MiB |

**Measured wall-clock savings in the "before yarn" phase: ~15s** (36s →
19s), which comes mostly from skipping the fetch negotiation for tag
refs rather than from smaller pack transfer.

### 5. ~~Background CI stats shipping (`post_build_kibana.sh`)~~ —
reverted

Originally this PR also backgrounded `ship_ci_stats` to overlap it with
the artifact upload. Measured savings were only ~0.8–1.4s per build
(ship takes ~1s; upload takes ~3.4s), and the pattern introduced a
subtle correctness hazard: if `buildkite-agent artifact upload` failed,
`set -e` would exit before `wait`, leaving ship as an orphan and
swallowing any ship failure. Reverted per review feedback.

### Aggregate timing — Build Kibana Distribution step

Baseline average (6 builds) vs PR build #428619, phase-by-phase:

| Phase | Baseline avg | PR #428619 | Delta | Attributable to |
| --- | --- | --- | --- | --- |
| Checkout + setup | 35.8s | 19.1s | **−16.7s** | custom-checkout plugin
(this PR) |
| Yarn + bootstrap | 51.6s | 6.5s | −45.1s | main commit elastic#262983
(webpack pre-build skip), not this PR |
| Docker cleanup (pre-build) | 21.1s | 0.0s | **−21.1s** | backgrounded
cleanup (this PR) |
| `node scripts/build` | 435.3s | 454.9s | +19.6s | run-to-run variance
|
| Finalize → archive | 13.1s | 10.0s | **−3.1s** | simplified archive
extraction (this PR) |
| Ship → upload → end | 4.8s | 3.4s | −1.4s | ~~ship_ci_stats
backgrounded~~ (reverted) |
| **TOTAL** | **561.6s (9.4 min)** | **493.9s (8.2 min)** | **−67.7s** |
|

**Savings attributable to this PR in the Build step: ~41s** (21 + 16.7 +
3.1, from docker cleanup bg + custom-checkout + archive simplification).
An additional ~32s win comes from a separate main commit (elastic#262983) that
landed during this PR's iteration; ~20s is absorbed by build-script
variance. The −1.4s on the ship/upload row disappears now that change elastic#5
has been reverted.

### Aggregate per-PR savings

| Scope | Savings |
| --- | --- |
| Build Kibana Distribution step | ~40s wall-clock (critical path) |
| ~230 FTR / Scout / Cypress steps × ~33s | ~2 hours aggregate
agent-time |

### Build results

| Build | Commit | Result | Notes |
| --- | --- | --- | --- |
|
[#428076](https://buildkite.com/elastic/kibana-pull-request/builds/428076)
| `d49dc1b` | Passed | 229 FTR configs passed; 3 steps canceled
(unrelated GCP disk issue) |
|
[#428363](https://buildkite.com/elastic/kibana-pull-request/builds/428363)
| `9f3edcc` | Passed | 283/284 jobs, 0 test failures |
|
[#428619](https://buildkite.com/elastic/kibana-pull-request/builds/428619)
| `82cad1d` | Passed | 280+ jobs, 0 test failures |

## Test plan

- [x] CI "Build Kibana Distribution" step passes — docker cleanup
completes before archive, tarball extracts directly to build location
- [x] CI stats shipping completes (awaited after artifact upload)
- [x] Functional/integration test steps pass — bootstrap and download
both succeed when parallelized
- [x] Bootstrap failures are correctly propagated (non-zero exit code)
- [x] Artifact download failures are correctly propagated
- [x] Custom checkout plugin clones the correct commit for the build
step

---

Made with [Cursor](https://cursor.com); timing tables re-measured from
actual Buildkite logs after review feedback.

---------

Co-authored-by: Alex Szabo <delanni.alex@gmail.com>
awahab07 pushed a commit that referenced this pull request May 6, 2026
…stic#260544)

## Summary

- Migrates the endpoint case attachment from the legacy
`ExternalReferenceAttachmentType` to the new unified
`UnifiedReferenceAttachmentType` on both client and server.
- New endpoint response-action attachments are written as `{ type:
'security.endpoint', attachmentId, metadata }`
(`UnifiedReferenceAttachmentPayload`) instead of the legacy
`externalReference` shape.
- Adds server-side `io-ts` schema validation for endpoint attachment
metadata (`command`, `comment`, `targets[]` with a closed union on
`agentType`, unknown keys rejected, non-empty `targets` required).
- Adds a generic `externalReference` ↔ unified transformer in the Cases
plugin so pre-existing legacy endpoint attachments render as unified on
read and unified writes fall back to legacy storage when the new SO type
is disabled — no data migration required.

## Details

Part of the [Cases Attachments v2
migration](elastic/security-team#15569). The
endpoint attachment (historically `externalReferenceAttachmentTypeId:
'endpoint'`) is now registered as the unified type
`SECURITY_ENDPOINT_ATTACHMENT_TYPE = 'security.endpoint'`, re-exported
from `@kbn/cases-plugin/common`.

### What changed

| Layer | Before | After |
|-------|--------|-------|
| Client registration (`security_solution/public/plugin.tsx`) |
`registerExternalReference(getExternalReferenceAttachmentEndpointRegular())`
| `registerUnified(getEndpointUnifiedAttachment())` |
| Server registration (`security_solution/server/plugin.ts`) |
`registerExternalReference({ id: CASE_ATTACHMENT_ENDPOINT_TYPE_ID })` |
`registerUnified({ id: SECURITY_ENDPOINT_ATTACHMENT_TYPE,
schemaValidator: validateEndpointAttachmentMetadata })` |
| Attachment creation (`base_response_actions_client.ts`) | `{ type:
'externalReference', externalReferenceId, externalReferenceStorage,
externalReferenceAttachmentTypeId: 'endpoint', externalReferenceMetadata
}` | `{ type: 'security.endpoint', attachmentId, metadata, owner }` |
| Metadata validation | none | `io-ts` validator run on the unified
write path |
| Client-side renderers | `external_reference.tsx` + 2 lazy wrappers |
`unified_attachment.tsx` + updated `endpoint_event.tsx` /
`endpoint_children.tsx` |
| Constant `CASE_ATTACHMENT_ENDPOINT_TYPE_ID` | defined in Security
Solution | removed; import `SECURITY_ENDPOINT_ATTACHMENT_TYPE` from
`@kbn/cases-plugin/common` |

### Backward compatibility (no data migration needed)

The legacy `registerExternalReference` calls are removed — BWC is
delivered instead by a generic transformer in the Cases plugin:

- **Read path** — the Kibana Cases UI reads cases via the internal
`resolve` endpoint with `mode: 'unified'`. The new
`externalReferenceAttachmentTransformer` in
`x-pack/platform/plugins/shared/cases/server/common/attachments/external_reference.ts`
converts any pre-existing legacy `externalReference` endpoint
attachments stored in `cases-comments` into the unified
`security.endpoint` shape on read, driven by
`EXTERNAL_REFERENCE_TYPE_MAP`. Existing cases render identically
post-deploy without any backfill.
- **Write path** — when `xpack.cases.attachments.enabled` is `false`
(default), the Cases plugin translates the unified payload back to the
legacy `externalReference` shape via `toLegacySchema` and persists it to
`cases-comments` — byte-for-byte equivalent to today's storage. When the
flag is `true`, the unified payload is stored as-is in the new
`cases-attachments` SO. Either way, the on-disk format stays consistent
with whatever the deployment is already using.

This also gives follow-up subtypes (e.g. `osquery`, other
response-action types) a clean seam: add an entry to
`EXTERNAL_REFERENCE_TYPE_MAP` / `UNIFIED_TO_EXTERNAL_REFERENCE_TYPE_MAP`
and they get the same round-trip behaviour for free.

### Public case APIs

`GET /api/cases/:id` (`totalComment`) and `GET
/api/cases/:id/comments/_find` continue to be scoped to user-generated
comments and do not surface endpoint attachments — this is pre-existing,
intended behaviour and is unchanged by this PR. The Kibana UI uses the
internal `resolve` endpoint which returns all attachment types and
renders endpoint attachments via the new unified registry.

## Incremental fixes after first review

A second pass addressed three review items from @szwarckonrad on the
upgrade-path walkthrough, plus one CI-driven snapshot follow-up. None of
them change the design described above; they harden the same migration
against edge cases the first pass missed.

1. **Back-compat for legacy-shape API writes**
(`security_solution/server/cases/attachments/register.ts` + `plugin.ts`)
— the legacy `endpoint` external-reference id is registered alongside
the new unified `security.endpoint` so existing API clients that still
POST `{ type: 'externalReference', externalReferenceAttachmentTypeId:
'endpoint', ... }` are not rejected with `400 "Attachment type endpoint
is not registered."`. The cases server's external-reference transformer
already converts these legacy SOs to the unified shape on read; this
restores the same behaviour for legacy-shape *writes*. Covered by a
focused unit test (`register.test.ts`) that explicitly asserts the BWC
registration so it can't be silently dropped in a future refactor.

2. **400 instead of 500 from the metadata validator**
(`endpoint_metadata_schema.ts`) — `validateEndpointAttachmentMetadata`
now throws `Boom.badRequest` on invalid metadata. Errors thrown from a
registered cases-plugin `schemaValidator` callback are surfaced to the
HTTP client as-is — a plain `Error` would have bubbled up as `500
Internal Server Error` with a stack trace in the server log for what is
really a caller mistake. Covered by new tests asserting `Boom.isBoom`
and `statusCode: 400` for
null/non-object/missing-fields/empty-targets/unknown-keys inputs.

3. **Byte-clean legacy storage**
(`cases/server/services/attachments/index.ts`) — when a unified payload
(`{ type: 'security.endpoint', attachmentId, metadata }`) is POSTed but
`xpack.cases.attachments.enabled` is OFF, the request attributes still
carry those keys after `io-ts` decoding and could leak into `_source`
(the `cases-comments` mapping is `dynamic: false`, so they would be
stored but not indexed). The new `stripUnifiedOnlyFields` helper
guarantees byte-for-byte equivalence with pre-migration legacy writes
for `create`/`bulkCreate`/`update`/`bulkUpdate`. Covered by two
regression tests in `services/attachments/index.test.ts`.

4. **Snapshot follow-up for #1**
(`cases_api_integration/.../external_references.ts`) — the
registry-snapshot assertion that guards the externalReference registry
now expects `endpoint: 'e13fe41b5c330dd923da91992ed0cedb7e30960f'`
again, with an inline comment explaining the BWC intent. **This file is
owned by Response Ops via CODEOWNERS** — the snapshot's purpose is
exactly to surface this kind of change for their review.

CI on the latest push: green (build #437809, 428/428 jobs).

## Test plan

- [x] Unit tests for the generic `externalReference` ↔ unified
transformer, storage-type resolver, and type-routing helper
(`x-pack/platform/plugins/shared/cases/server/common/attachments/*.test.ts`).
- [x] Unit tests for `validateEndpointAttachmentMetadata` covering:
valid metadata, each missing required field, empty `targets`, invalid
`agentType`, unknown top-level keys, and non-object input.
- [x] Updated `endpoint_actions_client` and
`base_response_actions_client` unit tests assert the new unified payload
shape (`type: 'security.endpoint'`, `attachmentId`, `metadata`).
- [x] Updated unit tests for `endpoint_event.tsx` /
`endpoint_children.tsx` against the unified props shape.
- [x] Integration-test registry expectations updated:
`security.endpoint` appears in `registered_unified_{basic,trial}.ts`.
`endpoint` is **kept** in `external_references.ts` with a comment
explaining the back-compat re-registration (see "Incremental fixes after
first review" below).
- [x] Type check and lint pass.
- [x] Manual end-to-end validation against **Microsoft Defender for
Endpoint** — unisolate action from Kibana correctly produces a
`cases-attachments` SO of `type: 'security.endpoint'` with
`microsoft_defender_endpoint` metadata, rendered by the UI via the
unified registry.
- [x] Manual end-to-end validation against **CrowdStrike Falcon** —
unisolate action from Kibana correctly produces a `cases-attachments` SO
of `type: 'security.endpoint'` with `crowdstrike` metadata, rendered by
the UI via the unified registry.
- [x] Manual verification: isolate a host via response actions and
confirm the case attachment renders correctly.

<img width="1798" height="1064" alt="CleanShot 2026-04-20 at 14 53
16@2x"
src="https://github.com/user-attachments/assets/8c216722-a2a4-42ac-b5ae-dc8962cb2d0d"
/>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
awahab07 pushed a commit that referenced this pull request May 25, 2026
elastic#270540)

## Release note
When using Kibana Spaces, the Synthetics monitor health endpoint could
incorrectly report monitors as unhealthy — showing errors such as
"missing location", "missing agent policy", or "missing package policy"
— even when everything was properly configured. This happened because
the health check was only looking for monitors, private locations, and
Fleet policies in the current space, missing resources that existed in
other spaces.

These issues are now fixed: the health check correctly resolves
monitors, private locations, package policies, and agent policies across
all relevant spaces, giving an accurate health status regardless of how
resources are distributed across your Kibana Spaces.


## Summary

Closes elastic#270477.

`POST /internal/synthetics/monitors/_health` returned wrong results when
monitors lived outside the request's space — `missing_package_policy`
errors when called from the monitor's space, and 404s when called from
`default`.

Two independent space-scoping bugs:

1. **Package policy lookup ignored space.**
`getExistingPackagePoliciesMap` called Fleet's
`packagePolicyService.getByIDs` with `createInternalRepository()`, which
is scoped to the default namespace. Package policies created for
monitors in another space were therefore invisible.
2. **Monitor saved-object lookup was space-scoped.**
`MonitorConfigRepository.get` used the request-scoped saved-objects
client, restricted to the request's space. Calling `_health` from
`default` for a monitor that lives elsewhere returned a 404.

## What changed

- **`PackagePolicyService.getByIds`** — accepts a new optional
`additionalSpaceIds`, so the wrapper's per-space scoped-client fan-out
can broaden beyond `[spaceId, default]`. Existing callers keep their old
behavior.
- **`MonitorConfigRepository.getAcrossSpaces(id, namespaces,
soClient?)`** — new method that resolves a monitor across an arbitrary
list of spaces. Uses the multi-space type's per-object `namespaces`
array in one bulkGet entry, plus one entry per namespace for the
`namespaceType: 'single'` legacy type. Accepts an injected `soClient` so
the health API can pass `createInternalRepository()` and bypass the
request's space restriction.
- **`MonitorIntegrationHealthApi`**:
- Computes `allSpaces = { requestSpace, ...allSpacesWithMonitors }`
once, up-front.
- `fetchMonitors` calls `monitorConfigRepository.getAcrossSpaces` with
the internal repository → fixes bug #2.
- `getExistingPackagePoliciesMap` uses the `PackagePolicyService`
wrapper with `additionalSpaceIds` → fixes bug #1.

## Test plan

- [x] `node scripts/jest` on the three affected suites — **77/77
passing** (includes new cross-space coverage and a new `getAcrossSpaces`
test block).
- [x] `node scripts/type_check --project
x-pack/solutions/observability/plugins/synthetics/tsconfig.json` —
clean.
- [x] `node scripts/eslint` on the changed files — clean.
- [ ] Manual: create a monitor with a private location in a non-default
space, then call `POST /internal/synthetics/monitors/_health` both from
that space and from `default`. Verify each call reports the monitor
accurately instead of `missing_package_policy` / 404.

## Related

- elastic#270137 — related health API fix (project monitor policy
ID + infinite polling).

Made with [Cursor](https://cursor.com)

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Miguel Martín <miguel.martin@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
awahab07 pushed a commit that referenced this pull request May 27, 2026
Fixes elastic#261258
possibly also elastic#264565 (to be
verified)

## Summary

Add `meta: { id }` to Fleet body/response schemas

Files changed:

- `server/types/models/agent_policy.ts` — versioned policy schemas
(v3–v6), `new_agent_policy`, `agent_policy`, `agent_policy_response`,
`full_agent_policy`, outputs responses
- `server/types/rest_spec/agent_policy.ts` — bulk get, copy, delete,
full policy, K8s manifest, list outputs, cleanup task request/response
schemas
- `server/types/models/enrollment_api_key.ts `— `enrollment_api_key`
- `server/types/rest_spec/enrollment_api_key.ts` — enrollment key CRUD
and bulk delete schemas
- `common/types/models/package_policy_schema.ts `— all package policy
schemas: new, versioned (v22–v24), simplified, update, response,
dry-run, status
- `server/types/rest_spec/package_policy.ts` — bulk get, create, delete,
upgrade, dry-run schemas
- `server/types/rest_spec/epm.ts `— ~40 package management schemas
(categories, package info/list/stats, install/delete/bulk operations,
etc.)
- `server/types/rest_spec/agent.ts` — `action_id_response` /
`action_message_response` branches of `ActionIdOrMessageSchema`
(resolves items #1 and #2 of elastic#264565)

### Testing
Verified locally with:
```
node scripts/capture_oas_snapshot --no-serverless --include-path /api/fleet
node scripts/validate_oas_docs
node scripts/check_api_contracts --distribution stack
```

It looks like there are no Fleet errors left after this change but the
final verification step will be ran in the ci for Terraform

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
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.

1 participant