-
Notifications
You must be signed in to change notification settings - Fork 562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf(fetch): simplify url serializer #1774
Conversation
Codecov ReportBase: 90.26% // Head: 90.26% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #1774 +/- ##
==========================================
- Coverage 90.26% 90.26% -0.01%
==========================================
Files 58 58
Lines 5188 5175 -13
==========================================
- Hits 4683 4671 -12
+ Misses 505 504 -1
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
0e4935d
to
69852f5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with the change (URL's toString implements the url serializer algorithm) but performance of the node core version is almost definitely slower due to its seemingly unnecessary complexity.
Totally unrelated, but removing the empty object from .toString
would probably help performance as it would remove the validateObject
call.
If URL's |
I opened a pull request and started the benchmark CI. We'll have the results in a couple of hours. @KhafraDev |
Thanks, I've found an issue with the current undici serialization that I will fix once this is merged as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I kind of prefer the literal spec implementation... how much faster is this in practice?
@ronag What's the benefit of including complexity within the lib if upstream produces same result? Shouldn't it be safe swap as long as there are tests covering existing behaviour? |
I understand the preference for spec implementation, but |
As far as I know |
Then, I recommend making sure that it's spec compliant in the node core, instead of implementing it twice. I'll be happy to keep track of it. @Trott has more experience on this I believe. What do you think? |
I think making
I'm pretty sure the echo system relies on that. |
|
However, given our if (serialized.endsWith('?')) {
return serialized.slice(0, -1)
} I believe either we or node is implementing URL serialisation incorrectly. @KhafraDev ? |
69852f5
to
40968b0
Compare
40968b0
to
dda12c4
Compare
dda12c4
to
41732c6
Compare
@KhafraDev @ronag I removed 2 faulty |
Yes, this was the issue I was going to fix. 😄 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you add tests for urls with an empty fragment and an empty search query?
41732c6
to
89df14f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, although this is more of a refactor than a perf.
CI fails? |
89df14f
to
ac11cc6
Compare
I couldn't find the CI error in the logs, and the tests succeeded locally. Does anybody have more in-depth knowledge? |
ac11cc6
to
5b96876
Compare
test/fetch/data-uri.js
Outdated
@@ -177,3 +177,14 @@ test('too long base64 url', async (t) => { | |||
t.fail(`failed to fetch ${dataURL}`) | |||
} | |||
}) | |||
|
|||
test('https://domain.com#', (t) => { | |||
const domain = 'https://domain.com#' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
const domain = 'https://domain.com#' | |
const domain = 'https://domain.com/#' |
unless this is expected, and then there's a bug in url serializer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is correct. In chrome, the result has /
too.
5b96876
to
ac38ad1
Compare
Okay so the last issue hopefully is that you need to call |
ac38ad1
to
7a89dbd
Compare
I understood what the issue is. If I used a |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@babel/core](https://babel.dev/docs/en/next/babel-core) ([source](https://togithub.com/babel/babel)) | [`7.20.2` -> `7.20.5`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.20.2/7.20.5) | [![age](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/compatibility-slim/7.20.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/confidence-slim/7.20.2)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@babel/core](https://babel.dev/docs/en/next/babel-core) ([source](https://togithub.com/babel/babel)) | [`7.20.2` -> `7.20.5`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.20.2/7.20.5) | [![age](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/compatibility-slim/7.20.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.5/confidence-slim/7.20.2)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@coveo/atomic](https://docs.coveo.com/en/atomic/latest/) ([source](https://togithub.com/coveo/ui-kit)) | [`1.123.1` -> `1.124.0`](https://renovatebot.com/diffs/npm/@coveo%2fatomic/1.123.1/1.124.0) | [![age](https://badges.renovateapi.com/packages/npm/@coveo%2fatomic/1.124.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@coveo%2fatomic/1.124.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@coveo%2fatomic/1.124.0/compatibility-slim/1.123.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@coveo%2fatomic/1.124.0/confidence-slim/1.123.1)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@coveo/headless](https://docs.coveo.com/en/headless/latest/) ([source](https://togithub.com/coveo/ui-kit)) | [`1.111.2` -> `1.111.3`](https://renovatebot.com/diffs/npm/@coveo%2fheadless/1.111.2/1.111.3) | [![age](https://badges.renovateapi.com/packages/npm/@coveo%2fheadless/1.111.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@coveo%2fheadless/1.111.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@coveo%2fheadless/1.111.3/compatibility-slim/1.111.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@coveo%2fheadless/1.111.3/confidence-slim/1.111.2)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@mui/material](https://mui.com/material-ui/getting-started/overview/) ([source](https://togithub.com/mui/material-ui)) | [`5.10.15` -> `5.10.16`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/5.10.15/5.10.16) | [![age](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.10.16/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.10.16/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.10.16/compatibility-slim/5.10.15)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.10.16/confidence-slim/5.10.15)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint) | [`5.44.0` -> `5.45.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.44.0/5.45.0) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.45.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.45.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.45.0/compatibility-slim/5.44.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.45.0/confidence-slim/5.44.0)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint) | [`5.44.0` -> `5.45.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.44.0/5.45.0) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.45.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.45.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.45.0/compatibility-slim/5.44.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.45.0/confidence-slim/5.44.0)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [aws-sdk](https://togithub.com/aws/aws-sdk-js) | [`2.1261.0` -> `2.1263.0`](https://renovatebot.com/diffs/npm/aws-sdk/2.1261.0/2.1263.0) | [![age](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1263.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1263.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1263.0/compatibility-slim/2.1261.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1263.0/confidence-slim/2.1261.0)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [devtools-protocol](https://togithub.com/ChromeDevTools/devtools-protocol) | [`0.0.1075032` -> `0.0.1075693`](https://renovatebot.com/diffs/npm/devtools-protocol/0.0.1075032/0.0.1075693) | [![age](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1075693/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1075693/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1075693/compatibility-slim/0.0.1075032)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1075693/confidence-slim/0.0.1075032)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [github/codeql-action](https://togithub.com/github/codeql-action) | `678fc3a` -> `312e093` | [![age](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//compatibility-slim/v2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//confidence-slim/v2)](https://docs.renovatebot.com/merge-confidence/) | action | digest | | [lint-staged](https://togithub.com/okonet/lint-staged) | [`13.0.3` -> `13.0.4`](https://renovatebot.com/diffs/npm/lint-staged/13.0.3/13.0.4) | [![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.0.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.0.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.0.4/compatibility-slim/13.0.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.0.4/confidence-slim/13.0.3)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [oclif](https://togithub.com/oclif/oclif) | [`3.2.28` -> `3.2.31`](https://renovatebot.com/diffs/npm/oclif/3.2.28/3.2.31) | [![age](https://badges.renovateapi.com/packages/npm/oclif/3.2.31/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/oclif/3.2.31/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/oclif/3.2.31/compatibility-slim/3.2.28)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/oclif/3.2.31/confidence-slim/3.2.28)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`5.12.0` -> `5.13.0`](https://renovatebot.com/diffs/npm/undici/5.12.0/5.13.0) | [![age](https://badges.renovateapi.com/packages/npm/undici/5.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/undici/5.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/undici/5.13.0/compatibility-slim/5.12.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/undici/5.13.0/confidence-slim/5.12.0)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | --- ### Release Notes <details> <summary>babel/babel</summary> ### [`v7.20.5`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7205-2022-11-28) [Compare Source](https://togithub.com/babel/babel/compare/v7.20.2...v7.20.5) ##### 👓 Spec Compliance - `babel-helpers`, `babel-plugin-transform-destructuring`, `babel-plugin-transform-modules-commonjs`, `babel-preset-env`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`, `babel-traverse` - [#​15183](https://togithub.com/babel/babel/pull/15183) Improve array destructuring spec compliance ([@​SuperSodaSea](https://togithub.com/SuperSodaSea)) - `babel-cli`, `babel-helpers`, `babel-plugin-proposal-class-properties`, `babel-plugin-proposal-class-static-block`, `babel-plugin-transform-classes`, `babel-plugin-transform-runtime`, `babel-preset-env` - [#​15182](https://togithub.com/babel/babel/pull/15182) fix: apply toPropertyKey when defining class members ([@​JLHwung](https://togithub.com/JLHwung)) - `babel-helper-create-class-features-plugin`, `babel-helpers`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-private-property-in-object`, `babel-preset-env`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime` - [#​15133](https://togithub.com/babel/babel/pull/15133) fix: validate rhs of `in` when transpiling `#p in C` ([@​JLHwung](https://togithub.com/JLHwung)) ##### 🐛 Bug Fix - `babel-parser` - [#​15225](https://togithub.com/babel/babel/pull/15225) Parse `using[foo]` as computed member expression ([@​JLHwung](https://togithub.com/JLHwung)) - [#​15207](https://togithub.com/babel/babel/pull/15207) Export `ParseResult` type ([@​davydof](https://togithub.com/davydof)) - [#​15198](https://togithub.com/babel/babel/pull/15198) fix: parse `import module, ...` ([@​JLHwung](https://togithub.com/JLHwung)) - `babel-helper-wrap-function`, `babel-preset-env`, `babel-traverse` - [#​15181](https://togithub.com/babel/babel/pull/15181) fix: Edge cases for async functions and `noNewArrow` assumption ([@​liuxingbaoyu](https://togithub.com/liuxingbaoyu)) - `babel-plugin-transform-arrow-functions`, `babel-plugin-transform-parameters`, `babel-traverse` - [#​15163](https://togithub.com/babel/babel/pull/15163) fix: Throw error when compiling `super()` in arrow functions with default / rest parameters ([@​SuperSodaSea](https://togithub.com/SuperSodaSea)) - `babel-helpers`, `babel-node`, `babel-plugin-proposal-async-generator-functions`, `babel-plugin-transform-regenerator`, `babel-preset-env`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime` - [#​15194](https://togithub.com/babel/babel/pull/15194) fix: Bump `regenerator` and add tests ([@​SuperSodaSea](https://togithub.com/SuperSodaSea)) - `babel-helper-create-regexp-features-plugin` - [#​15192](https://togithub.com/babel/babel/pull/15192) fix: Update `regjsparser` for `@babel/standalone` ([@​liuxingbaoyu](https://togithub.com/liuxingbaoyu)) - `babel-parser`, `babel-types` - [#​15109](https://togithub.com/babel/babel/pull/15109) fix: Babel 8 types ([@​liuxingbaoyu](https://togithub.com/liuxingbaoyu)) - `babel-generator` - [#​15143](https://togithub.com/babel/babel/pull/15143) Don't print inner comments as leading when wrapping in `(``)` ([@​nicolo-ribaudo](https://togithub.com/nicolo-ribaudo)) - `babel-plugin-transform-block-scoping`, `babel-traverse` - [#​15167](https://togithub.com/babel/babel/pull/15167) Register `switch`'s `discriminant` in the outer scope ([@​nicolo-ribaudo](https://togithub.com/nicolo-ribaudo)) ##### 💅 Polish - `babel-generator` - [#​15173](https://togithub.com/babel/babel/pull/15173) Improve generator behavior when `comments:false` ([@​liuxingbaoyu](https://togithub.com/liuxingbaoyu)) - `babel-plugin-transform-block-scoping` - [#​15164](https://togithub.com/babel/babel/pull/15164) Only extract IDs for TDZ checks in assign when necessary ([@​nicolo-ribaudo](https://togithub.com/nicolo-ribaudo)) ##### 🏠 Internal - `babel-core`, `babel-parser` - [#​15202](https://togithub.com/babel/babel/pull/15202) Bump typescript to 4.9.3 ([@​JLHwung](https://togithub.com/JLHwung)) </details> <details> <summary>coveo/ui-kit (@​coveo/atomic)</summary> ### [`v1.124.0`](https://togithub.com/coveo/ui-kit/blob/HEAD/packages/atomic/CHANGELOG.md#​11240-httpsgithubcomcoveoui-kitcomparecoveoatomic11232coveoatomic11240-2022-11-25) [Compare Source](https://togithub.com/coveo/ui-kit/compare/66d6bd75c7d4597d87852bc47049f6ada4755d81...f79744c362a79fc44a4e71fed6660da17e5f8a95) ##### Features - **atomic:** add ipx facets ([#​2565](https://togithub.com/coveo/ui-kit/issues/2565)) ([d58e5df](https://togithub.com/coveo/ui-kit/commit/d58e5df7dc53b7c9c24795436e1c87bc42936912)) #### [1.123.2](https://togithub.com/coveo/ui-kit/compare/@coveo/atomic@1.123.1...@coveo/atomic@1.123.2) (2022-11-24) **Note:** Version bump only for package [@​coveo/atomic](https://togithub.com/coveo/atomic) #### [1.123.1](https://togithub.com/coveo/ui-kit/compare/@coveo/atomic@1.123.0...@coveo/atomic@1.123.1) (2022-11-22) **Note:** Version bump only for package [@​coveo/atomic](https://togithub.com/coveo/atomic) ### [`v1.123.2`](https://togithub.com/coveo/ui-kit/blob/HEAD/packages/atomic/CHANGELOG.md#​11232-httpsgithubcomcoveoui-kitcomparecoveoatomic11231coveoatomic11232-2022-11-24) [Compare Source](https://togithub.com/coveo/ui-kit/compare/153d290030481d5579a954d2029fe1a5600752bb...66d6bd75c7d4597d87852bc47049f6ada4755d81) **Note:** Version bump only for package [@​coveo/atomic](https://togithub.com/coveo/atomic) </details> <details> <summary>coveo/ui-kit (@​coveo/headless)</summary> ### [`v1.111.3`](https://togithub.com/coveo/ui-kit/blob/HEAD/packages/headless/CHANGELOG.md#​11113-httpsgithubcomcoveoui-kitcomparecoveoheadless11112coveoheadless11113-2022-11-24) [Compare Source](https://togithub.com/coveo/ui-kit/compare/153d290030481d5579a954d2029fe1a5600752bb...66d6bd75c7d4597d87852bc47049f6ada4755d81) **Note:** Version bump only for package [@​coveo/headless](https://togithub.com/coveo/headless) </details> <details> <summary>mui/material-ui</summary> ### [`v5.10.16`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#​51016) [Compare Source](https://togithub.com/mui/material-ui/compare/v5.10.15...v5.10.16) <!-- generated comparing v5.10.15..master --> *Nov 28, 2022* A big thanks to the 13 contributors who made this release possible. This release contains various 🐛 bug fixes, 📚 documentation, and ⚙️ infrastructure improvements. ##### `@mui/material@5.10.16` - <!-- 21 -->\[Autocomplete] Fix inferred value type when `multiple` prop is `true` ([#​35275](https://togithub.com/mui/material-ui/issues/35275)) [@​fenghan34](https://togithub.com/fenghan34) - <!-- 19 -->\[Chip] Add `skipFocusWhenDisabled` prop to not allow focussing deletable chip if disabled ([#​35065](https://togithub.com/mui/material-ui/issues/35065)) [@​sai6855](https://togithub.com/sai6855) - <!-- 18 -->\[Chip] Remove unnecessary handleKeyDown event handler ([#​35231](https://togithub.com/mui/material-ui/issues/35231)) [@​ZeeshanTamboli](https://togithub.com/ZeeshanTamboli) - <!-- 05 -->\[FormControl] Add missing types in `useFormControl` ([#​35168](https://togithub.com/mui/material-ui/issues/35168)) [@​ZeeshanTamboli](https://togithub.com/ZeeshanTamboli) - <!-- 04 -->\[IconButton] Add missing color classes ([#​33820](https://togithub.com/mui/material-ui/issues/33820)) [@​Zetta56](https://togithub.com/Zetta56) - <!-- 03 -->\[SwipeableDrawer] Make paper ref accessible ([#​35082](https://togithub.com/mui/material-ui/issues/35082)) [@​sai6855](https://togithub.com/sai6855) ##### `@mui/system@5.10.16` - <!-- 02 -->\[system] Remove unnecessary parsed theme ([#​35239](https://togithub.com/mui/material-ui/issues/35239)) [@​siriwatknp](https://togithub.com/siriwatknp) - <!-- 01 -->\[theme] Fix TypeScript type for custom variants in responsive font sizes ([#​35057](https://togithub.com/mui/material-ui/issues/35057)) [@​ZeeshanTamboli](https://togithub.com/ZeeshanTamboli) ##### `@mui/base@5.0.0-alpha.108` - <!-- 20 -->\[Base] Allow useSlotProps to receive undefined elementType ([#​35192](https://togithub.com/mui/material-ui/issues/35192)) [@​leventdeniz](https://togithub.com/leventdeniz) ##### Docs - <!-- 13 -->\[docs] Improve feedback precision ([#​34641](https://togithub.com/mui/material-ui/issues/34641)) [@​alexfauquette](https://togithub.com/alexfauquette) - <!-- 12 -->\[docs] Add Black Friday notification [@​oliviertassinari](https://togithub.com/oliviertassinari) - <!-- 11 -->\[docs] Fix migration feedback ([#​35232](https://togithub.com/mui/material-ui/issues/35232)) [@​alexfauquette](https://togithub.com/alexfauquette) - <!-- 10 -->\[docs] Improve the useSelect demo styling ([#​33883](https://togithub.com/mui/material-ui/issues/33883)) [@​michaldudak](https://togithub.com/michaldudak) - <!-- 09 -->\[docs] Fix layout jump on first mistake ([#​35215](https://togithub.com/mui/material-ui/issues/35215)) [@​oliviertassinari](https://togithub.com/oliviertassinari) - <!-- 08 -->\[docs] Support demos with side effect imports ([#​35177](https://togithub.com/mui/material-ui/issues/35177)) [@​m4theushw](https://togithub.com/m4theushw) - <!-- 07 -->\[examples] Fix Next.js errors ([#​35246](https://togithub.com/mui/material-ui/issues/35246)) [@​oliviertassinari](https://togithub.com/oliviertassinari) - <!-- 06 -->\[examples] Updated Remix examples with the lates changes using React 18 ([#​35092](https://togithub.com/mui/material-ui/issues/35092)) [@​58bits](https://togithub.com/58bits) ##### Core - <!-- 17 -->\[core] Remove unused pattern ([#​35165](https://togithub.com/mui/material-ui/issues/35165)) [@​iamxukai](https://togithub.com/iamxukai) - <!-- 16 -->\[core] Fix Base version in changelog ([#​35224](https://togithub.com/mui/material-ui/issues/35224)) [@​siriwatknp](https://togithub.com/siriwatknp) - <!-- 15 -->\[core] Migrate `describeConformance` to TypeScript ([#​35193](https://togithub.com/mui/material-ui/issues/35193)) [@​flaviendelangle](https://togithub.com/flaviendelangle) - <!-- 14 -->\[core] Skip CI for docs and examples paths ([#​35225](https://togithub.com/mui/material-ui/issues/35225)) [@​siriwatknp](https://togithub.com/siriwatknp) All contributors of this release in alphabetical order: [@​58bits](https://togithub.com/58bits), [@​alexfauquette](https://togithub.com/alexfauquette), [@​fenghan34](https://togithub.com/fenghan34), [@​flaviendelangle](https://togithub.com/flaviendelangle), [@​iamxukai](https://togithub.com/iamxukai), [@​leventdeniz](https://togithub.com/leventdeniz), [@​m4theushw](https://togithub.com/m4theushw), [@​michaldudak](https://togithub.com/michaldudak), [@​oliviertassinari](https://togithub.com/oliviertassinari), [@​sai6855](https://togithub.com/sai6855), [@​siriwatknp](https://togithub.com/siriwatknp), [@​ZeeshanTamboli](https://togithub.com/ZeeshanTamboli), [@​Zetta56](https://togithub.com/Zetta56) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v5.45.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#​5450-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5440v5450-2022-11-28) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.44.0...v5.45.0) ##### Bug Fixes - **eslint-plugin:** \[array-type] --fix flag removes parentheses from type ([#​5997](https://togithub.com/typescript-eslint/typescript-eslint/issues/5997)) ([42b33af](https://togithub.com/typescript-eslint/typescript-eslint/commit/42b33af256e5269feb214c7bb161079f770964fa)) - **eslint-plugin:** \[keyword-spacing] prevent crash on no options ([#​6073](https://togithub.com/typescript-eslint/typescript-eslint/issues/6073)) ([1f19998](https://togithub.com/typescript-eslint/typescript-eslint/commit/1f19998e3ec6d592fc679a7490708e2e96816f4c)) - **eslint-plugin:** \[member-ordering] support private fields ([#​5859](https://togithub.com/typescript-eslint/typescript-eslint/issues/5859)) ([f02761a](https://togithub.com/typescript-eslint/typescript-eslint/commit/f02761af19848a84b8d1832bd00fd6c95d38fa0c)) - **eslint-plugin:** \[prefer-readonly] report if a member's property is reassigned ([#​6043](https://togithub.com/typescript-eslint/typescript-eslint/issues/6043)) ([6e079eb](https://togithub.com/typescript-eslint/typescript-eslint/commit/6e079eb35cfec79ba9965627477117f026d161ac)) ##### Features - **eslint-plugin:** \[member-ordering] add a required option for required vs. optional member ordering ([#​5965](https://togithub.com/typescript-eslint/typescript-eslint/issues/5965)) ([2abadc6](https://togithub.com/typescript-eslint/typescript-eslint/commit/2abadc6c26cd6300764157d405a2462b754d050b)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v5.45.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#​5450-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5440v5450-2022-11-28) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.44.0...v5.45.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) </details> <details> <summary>aws/aws-sdk-js</summary> ### [`v2.1263.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#​212630) [Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1262.0...v2.1263.0) - bugfix: event_listeners: differentiate identity type in VALIDATE_CREDENTIALS listener - bugfix: region_config: Set signatureVersion to bearer explcitly when defined in service API - feature: ARCZonalShift: Amazon Route 53 Application Recovery Controller Zonal Shift is a new service that makes it easy to shift traffic away from an Availability Zone in a Region. See the developer guide for more information: https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html - feature: ComputeOptimizer: Adds support for a new recommendation preference that makes it possible for customers to optimize their EC2 recommendations by utilizing an external metrics ingestion service to provide metrics. - feature: ConfigService: With this release, you can use AWS Config to evaluate your resources for compliance with Config rules before they are created or updated. Using Config rules in proactive mode enables you to test and build compliant resource templates or check resource configurations at the time they are provisioned. - feature: EC2: Introduces ENA Express, which uses AWS SRD and dynamic routing to increase throughput and minimize latency, adds support for trust relationships between Reachability Analyzer and AWS Organizations to enable cross-account analysis, and adds support for Infrastructure Performance metric subscriptions. - feature: EKS: Adds support for additional EKS add-ons metadata and filtering fields - feature: FSx: This release adds support for 4GB/s / 160K PIOPS FSx for ONTAP file systems and 10GB/s / 350K PIOPS FSx for OpenZFS file systems (Single_AZ\_2). For FSx for ONTAP, this also adds support for DP volumes, snapshot policy, copy tags to backups, and Multi-AZ route table updates. - feature: Glue: This release allows the creation of Custom Visual Transforms (Dynamic Transforms) to be created via AWS Glue CLI/SDK. - feature: Inspector2: This release adds support for Inspector to scan AWS Lambda. - feature: Lambda: Adds support for Lambda SnapStart, which helps improve the startup performance of functions. Customers can now manage SnapStart based functions via CreateFunction and UpdateFunctionConfiguration APIs - feature: LicenseManagerUserSubscriptions: AWS now offers fully-compliant, Amazon-provided licenses for Microsoft Office Professional Plus 2021 Amazon Machine Images (AMIs) on Amazon EC2. These AMIs are now available on the Amazon EC2 console and on AWS Marketplace to launch instances on-demand without any long-term licensing commitments. - feature: Macie2: Added support for configuring Macie to continually sample objects from S3 buckets and inspect them for sensitive data. Results appear in statistics, findings, and other data that Macie provides. - feature: QuickSight: This release adds new Describe APIs and updates Create and Update APIs to support the data model for Dashboards, Analyses, and Templates. - feature: S3Control: Added two new APIs to support Amazon S3 Multi-Region Access Point failover controls: GetMultiRegionAccessPointRoutes and SubmitMultiRegionAccessPointRoutes. The failover control APIs are supported in the following Regions: us-east-1, us-west-2, eu-west-1, ap-southeast-2, and ap-northeast-1. - feature: SecurityHub: Adding StandardsManagedBy field to DescribeStandards API response ### [`v2.1262.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#​212620) [Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1261.0...v2.1262.0) - bugfix: ResourceExplorer2: Add dualstack by default for FIPS - bugfix: Signer: Set Authorization header correctly in Bearer Signer - bugfix: Signer: Read identity type from service.api.signatureVersion - feature: Backup: AWS Backup introduces support for legal hold and application stack backups. AWS Backup Audit Manager introduces support for cross-Region, cross-account reports. - feature: CloudWatch: Adds cross-account support to the GetMetricData API. Adds cross-account support to the ListMetrics API through the usage of the IncludeLinkedAccounts flag and the new OwningAccounts field. - feature: CloudWatchLogs: Updates to support CloudWatch Logs data protection and CloudWatch cross-account observability - feature: Drs: Non breaking changes to existing APIs, and additional APIs added to support in-AWS failing back using AWS Elastic Disaster Recovery. - feature: ECS: This release adds support for ECS Service Connect, a new capability that simplifies writing and operating resilient distributed applications. This release updates the TaskDefinition, Cluster, Service mutation APIs with Service connect constructs and also adds a new ListServicesByNamespace API. - feature: EFS: This release adds elastic as a new ThroughputMode value for EFS file systems and adds AFTER\_1\_DAY as a value for TransitionToIARules. - feature: Endpoint: Add pattern global dualstack by default - feature: IoTWireless: This release includes a new feature for customers to calculate the position of their devices by adding three new APIs: UpdateResourcePosition, GetResourcePosition, and GetPositionEstimate. - feature: Iot: Job scheduling enables the scheduled rollout of a Job with start and end times and a customizable end behavior when end time is reached. This is available for continuous and snapshot jobs. Added support for MQTT5 properties to AWS IoT TopicRule Republish Action. - feature: IotData: This release adds support for MQTT5 properties to AWS IoT HTTP Publish API. - feature: Kendra: Amazon Kendra now supports preview of table information from HTML tables in the search results. The most relevant cells with their corresponding rows, columns are displayed as a preview in the search result. The most relevant table cell or cells are also highlighted in table preview. - feature: Mgn: This release adds support for Application and Wave management. We also now support custom post-launch actions. - feature: OAM: Amazon CloudWatch Observability Access Manager is a new service that allows configuration of the CloudWatch cross-account observability feature. - feature: Organizations: This release introduces delegated administrator for AWS Organizations, a new feature to help you delegate the management of your Organizations policies, enabling you to govern your AWS organization in a decentralized way. You can now allow member accounts to manage Organizations policies. - feature: RDS: This release enables new Aurora and RDS feature called Blue/Green Deployments that makes updates to databases safer, simpler and faster. - feature: Textract: This release adds support for classifying and splitting lending documents by type, and extracting information by using the Analyze Lending APIs. This release also includes support for summarized information of the processed lending document package, in addition to per document results. - feature: TranscribeService: This release adds support for 'inputType' for post-call and real-time (streaming) Call Analytics within Amazon Transcribe. </details> <details> <summary>ChromeDevTools/devtools-protocol</summary> ### [`v0.0.1075693`](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1075032...v0.0.1075693) [Compare Source](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1075032...v0.0.1075693) </details> <details> <summary>okonet/lint-staged</summary> ### [`v13.0.4`](https://togithub.com/okonet/lint-staged/releases/tag/v13.0.4) [Compare Source](https://togithub.com/okonet/lint-staged/compare/v13.0.3...v13.0.4) ##### Bug Fixes - **deps:** update all dependencies ([336f3b5](https://togithub.com/okonet/lint-staged/commit/336f3b513a8b36579165b2e6fb6e7059b988fe84)) - **deps:** update all dependencies ([ec995e5](https://togithub.com/okonet/lint-staged/commit/ec995e53fb173f2863cb3cc08a92ffa9252dc25d)) </details> <details> <summary>oclif/oclif</summary> ### [`v3.2.31`](https://togithub.com/oclif/oclif/releases/tag/3.2.31) [Compare Source](https://togithub.com/oclif/oclif/compare/3.2.30...3.2.31) ##### Bug Fixes - **deps:** bump github-slugger from 1.4.0 to 1.5.0 ([a41baca](https://togithub.com/oclif/oclif/commit/a41baca347b3115452ff03aa4d0e603a1454c0cf)) ### [`v3.2.30`](https://togithub.com/oclif/oclif/releases/tag/3.2.30) [Compare Source](https://togithub.com/oclif/oclif/compare/3.2.28...3.2.30) ##### Bug Fixes - **deps:** bump minimatch from 3.0.4 to 3.1.2 ([dcd7ba2](https://togithub.com/oclif/oclif/commit/dcd7ba26816e3564d95579f31d3316b4cea8c712)) </details> <details> <summary>nodejs/undici</summary> ### [`v5.13.0`](https://togithub.com/nodejs/undici/releases/tag/v5.13.0) [Compare Source](https://togithub.com/nodejs/undici/compare/v5.12.0...v5.13.0) ##### What's Changed - fix(wpt): move formdata tests to correct folder by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1739](https://togithub.com/nodejs/undici/pull/1739) - fix(fetch): set Symbol.toStringTag properly on classes by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1742](https://togithub.com/nodejs/undici/pull/1742) - fetch: implement isomorphic encoding by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1741](https://togithub.com/nodejs/undici/pull/1741) - fetch: implement isomorphic decoding by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1743](https://togithub.com/nodejs/undici/pull/1743) - fetch: update extractBody to better match spec by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1745](https://togithub.com/nodejs/undici/pull/1745) - chore(docs/assets): compress image by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/nodejs/undici/pull/1749](https://togithub.com/nodejs/undici/pull/1749) - feat: implement `8.2 Set request’s referrer policy on redirect` by [@​metcoder95](https://togithub.com/metcoder95) in [https://github.com/nodejs/undici/pull/1717](https://togithub.com/nodejs/undici/pull/1717) - fetch: remove duplicate checks by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1751](https://togithub.com/nodejs/undici/pull/1751) - webidl: small changes by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1754](https://togithub.com/nodejs/undici/pull/1754) - webidl: add `argumentLengthCheck` guard by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1755](https://togithub.com/nodejs/undici/pull/1755) - feat(MockInterceptor): allow async reply callbacks by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1758](https://togithub.com/nodejs/undici/pull/1758) - Fix filereader types by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1762](https://togithub.com/nodejs/undici/pull/1762) - types: Refine internal TS export/imports to be more robust by [@​kibertoad](https://togithub.com/kibertoad) in [https://github.com/nodejs/undici/pull/1769](https://togithub.com/nodejs/undici/pull/1769) - fix: remove unnecessary toLowerCase by [@​anonrig](https://togithub.com/anonrig) in [https://github.com/nodejs/undici/pull/1771](https://togithub.com/nodejs/undici/pull/1771) - perf: simplify isValidHeaderName by [@​anonrig](https://togithub.com/anonrig) in [https://github.com/nodejs/undici/pull/1772](https://togithub.com/nodejs/undici/pull/1772) - fetch(HeadersList): s/has/contains by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1775](https://togithub.com/nodejs/undici/pull/1775) - fix(fetch): match spec text by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1777](https://togithub.com/nodejs/undici/pull/1777) - wpt: add gzip-body.any.js by [@​KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/1778](https://togithub.com/nodejs/undici/pull/1778) - feat: more informative error messages by [@​benmccann](https://togithub.com/benmccann) in [https://github.com/nodejs/undici/pull/1781](https://togithub.com/nodejs/undici/pull/1781) - perf(fetch): simplify url serializer by [@​anonrig](https://togithub.com/anonrig) in [https://github.com/nodejs/undici/pull/1774](https://togithub.com/nodejs/undici/pull/1774) - fix(fetch): remove unnecessary encode operation by [@​anonrig](https://togithub.com/anonrig) in [https://github.com/nodejs/undici/pull/1773](https://togithub.com/nodejs/undici/pull/1773) - chore(doc/fetch) update doc for fetch duplex ([#​1760](https://togithub.com/nodejs/undici/issues/1760)) by [@​zizifn](https://togithub.com/zizifn) in [https://github.com/nodejs/undici/pull/1765](https://togithub.com/nodejs/undici/pull/1765) ##### New Contributors - [@​benmccann](https://togithub.com/benmccann) made their first contribution in [https://github.com/nodejs/undici/pull/1781](https://togithub.com/nodejs/undici/pull/1781) - [@​zizifn](https://togithub.com/zizifn) made their first contribution in [https://github.com/nodejs/undici/pull/1765](https://togithub.com/nodejs/undici/pull/1765) **Full Changelog**: nodejs/undici@v5.12.0...v5.13.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 2am" (UTC), 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/coveo/cli). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4zNy4wIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
There is no need for the
URLSerializer
since we already have a reference to theURL
object.url.toString()
produces the same result