[charts] Add serializeIdentifier instance function#20791
[charts] Add serializeIdentifier instance function#20791JCQuintas merged 1 commit intomui:masterfrom
serializeIdentifier instance function#20791Conversation
|
Deploy preview: https://deploy-preview-20791--material-ui-x.netlify.app/ Bundle size report
|
CodSpeed Performance ReportMerging #20791 will not alter performanceComparing Summary
Footnotes |
| * @returns {string} A unique string representation of the identifier. | ||
| * @throws Will throw an error if no serializer is found for the given series type. | ||
| */ | ||
| export const serializeIdentifier = <T extends ChartSeriesType, U extends { type: T }>( |
There was a problem hiding this comment.
We can call this function getIdentifierSerializer and return the serializer function instead.
That way we don't need the useEventCallback in useChartSeries because identifierSerializer shouldn't change as it's only defined once.
There was a problem hiding this comment.
It would still change whenever useChartSeries is called.
It is not an issue though, but I also can't see any clear issue with the current implementation.
Apart from that, this function will also be used in other places, and the current API is clearer for re-use. We know to pass (seriesConfig + identifier) => string.
There was a problem hiding this comment.
It would still change whenever useChartSeries is called.
Why? Isn't barSeriesConfig.identifierSerializer always the same function?
There was a problem hiding this comment.
The code in the hook I mean.
const serializeIdentifier: SerializeIdentifierFunction = useEventCallback((identifier) =>
serializeIdentifierFn(seriesConfig, identifier),
);
serializeIdentifier changes, when it can be static
There was a problem hiding this comment.
I think there's a misunderstanding. I'm suggesting something like this:
const serializeIdentifier: SerializeIdentifierFunction = getSerializeIdentifierFn(seriesConfig);
return {
instance: {
serializeIdentifier,
},
};There was a problem hiding this comment.
that is still a new function. You would be re-creating one each time getSerializeIdentifierFn runs.
There was a problem hiding this comment.
If we define it as follows I don't think it'll be recreated on every run, will it?
export const getSerializeIdentifierFn = <T extends ChartSeriesType, U extends { type: T }>(
seriesConfig: ChartSeriesConfig<T>,
identifier: U,
): string => {
const serializer = seriesConfig[identifier.type]?.identifierSerializer;
if (!serializer) {
throw new Error(
`MUI X Charts: No identifier serializer found for series type "${identifier.type}".`,
);
}
return serializer;
};There was a problem hiding this comment.
I don't see how that would work.
We need the identifier to get the serializer.
In your suggestion we will need to pass identifier twice (seriesConfig, identifier) => (identifier) => string.
And even then, we wouldn't be able to represent it as const serializeIdentifier = getSerializeIdentifierFn(seriesConfig); because we need the identifier.
There was a problem hiding this comment.
Ah, you're right 👍 nevermind
This MR contains the following updates: | Package | Type | Update | Change | OpenSSF | |---|---|---|---|---| | [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.23.0/8.24.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) | | [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.23.0/8.24.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) | | [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.26.0` → `2.27.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.26.0/2.27.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.11.0` → `7.12.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.11.0/7.12.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) | --- ### Release Notes <details> <summary>mui/mui-x (@​mui/x-charts)</summary> ### [`v8.24.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8240) [Compare Source](mui/mui-x@v8.23.0...v8.24.0) *Jan 8, 2026* We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨: - ⚡️Add bar [batch renderer](https://mui.com/x/react-charts/bars/#performance), result in a significant performance improvement when rendering thousands of bars - 📊 Add [range bar chart](https://mui.com/x/react-charts/range-bar/) to render  - 🌎 Improved Danish (da-DK) and Japanese (ja-JP) locales on the Data Grid Special thanks go out to these community members for their valuable contributions: [@​anders-noerrelykke](https://github.com/anders-noerrelykke), [@​auloin](https://github.com/auloin), [@​sai6855](https://github.com/sai6855), [@​yuito-it](https://github.com/yuito-it) The following team members contributed to this release: [@​alelthomas](https://github.com/alelthomas), [@​alexfauquette](https://github.com/alexfauquette), [@​arminmeh](https://github.com/arminmeh), [@​bernardobelchior](https://github.com/bernardobelchior), [@​flaviendelangle](https://github.com/flaviendelangle), [@​JCQuintas](https://github.com/JCQuintas), [@​mapache-salvaje](https://github.com/mapache-salvaje), [@​siriwatknp](https://github.com/siriwatknp) ##### Data Grid ##### `@mui/[email protected]` - \[l10n] Improve Danish (da-DK) locale ([#​20828](mui/mui-x#20828)) [@​anders-noerrelykke](https://github.com/anders-noerrelykke) - \[l10n] Improve Japanese (ja-JP) locale ([#​20251](mui/mui-x#20251)) [@​yuito-it](https://github.com/yuito-it) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[DataGridPro] Fix header filter height for `density="compact"` ([#​20834](mui/mui-x#20834)) [@​arminmeh](https://github.com/arminmeh) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`. ##### Date and Time Pickers ##### `@mui/[email protected]` - \[pickers] Fix Styles applied to PickersDay when MuiPickersDay-dayOutsideMonth is used ([#​20719](mui/mui-x#20719)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`. ##### Charts ##### `@mui/[email protected]` - \[charts] Add `VisibilityManager` logic to allow managing series/items ([#​20571](mui/mui-x#20571)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `identifierSerializer` configuration ([#​20775](mui/mui-x#20775)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `serializeIdentifier` instance function ([#​20791](mui/mui-x#20791)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add bar batch renderer ([#​20457](mui/mui-x#20457)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Allow animating bar, line, and pie elements to hidden state ([#​20798](mui/mui-x#20798)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Fix failing lint step ([#​20813](mui/mui-x#20813)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Fix tooltip anchored to item ([#​20783](mui/mui-x#20783)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#​20797](mui/mui-x#20797)) [@​sai6855](https://github.com/sai6855) - \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#​20757](mui/mui-x#20757)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#​20795](mui/mui-x#20795)) [@​sai6855](https://github.com/sai6855) - \[charts] Refactor `useRegisterPointerEventHandlers` ([#​20824](mui/mui-x#20824)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Update legend types to allow hiding/showing items ([#​20784](mui/mui-x#20784)) [@​JCQuintas](https://github.com/JCQuintas) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-pro] Pass `slotProps.toolbar` to `Toolbar` in `PieChartPro` ([#​20796](mui/mui-x#20796)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-premium] Add range bar chart ([#​20275](mui/mui-x#20275)) [@​bernardobelchior](https://github.com/bernardobelchior) ##### Tree View ##### `@mui/[email protected]` - \[tree view] Introduce a Tree View Store to clean the internals ([#​20051](mui/mui-x#20051)) [@​flaviendelangle](https://github.com/flaviendelangle) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`. ##### Codemod ##### `@mui/[email protected]` Internal changes. ##### Docs - \[docs] Fix axis size default values ([#​20799](mui/mui-x#20799)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#​20787](mui/mui-x#20787)) [@​alelthomas](https://github.com/alelthomas) - \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#​20465](mui/mui-x#20465)) [@​auloin](https://github.com/auloin) - \[docs] Revise the Charts Brush doc ([#​20792](mui/mui-x#20792)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Highlighting doc ([#​20788](mui/mui-x#20788)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Label doc ([#​20794](mui/mui-x#20794)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Export doc ([#​20779](mui/mui-x#20779)) [@​mapache-salvaje](https://github.com/mapache-salvaje) ##### Core - \[code-infra] Fix v8.23.0 release date ([#​20767](mui/mui-x#20767)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `glob-gitignore` ([#​20801](mui/mui-x#20801)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `nyc` ([#​20804](mui/mui-x#20804)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stream-browserify` and `null-loader` ([#​20805](mui/mui-x#20805)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stylelint-config-tailwindcss` ([#​20807](mui/mui-x#20807)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove unused `path` package ([#​20802](mui/mui-x#20802)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Retry flaky e2e test on webkit ([#​20806](mui/mui-x#20806)) [@​JCQuintas](https://github.com/JCQuintas) - \[internal] Add `internal` slot to properly generate components CSS layer ([#​20763](mui/mui-x#20763)) [@​siriwatknp](https://github.com/siriwatknp) </details> <details> <summary>OpenAPITools/openapi-generator-cli (@​openapitools/openapi-generator-cli)</summary> ### [`v2.27.0`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.27.0) [Compare Source](OpenAPITools/openapi-generator-cli@v2.26.0...v2.27.0) ##### Features - **config:** add support for environment variable placeholders in config ([#​1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) ##### 🚀 Features - **eslint-plugin:** add rule \[strict-void-return] ([#​9707](typescript-eslint/typescript-eslint#9707)) - **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#​11922](typescript-eslint/typescript-eslint#11922)) ##### 🩹 Fixes - **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#​11916](typescript-eslint/typescript-eslint#11916)) - **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#​11704](typescript-eslint/typescript-eslint#11704)) - **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#​11935](typescript-eslint/typescript-eslint#11935)) - **typescript-estree:** forbid invalid class implements ([#​11934](typescript-eslint/typescript-eslint#11934)) - **typescript-estree:** forbid type-only import with both default and named specifiers ([#​11930](typescript-eslint/typescript-eslint#11930)) ##### ❤️ Thank You - Brad Zacher [@​bradzacher](https://github.com/bradzacher) - fisker Cheung [@​fisker](https://github.com/fisker) - Josh Goldberg - Josh Goldberg ✨ - Kirk Waiblinger - Niki [@​phaux](https://github.com/phaux) - Nikita - SungHyun627 [@​SungHyun627](https://github.com/SungHyun627) - Will Harney [@​wjhsf](https://github.com/wjhsf) You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) ##### 🚀 Features - **eslint-plugin-internal:** \[no-multiple-lines-of-errors] add rule ([#​11899](typescript-eslint/typescript-eslint#11899)) ##### 🩹 Fixes - **eslint-plugin:** \[no-base-to-string] detect @​[@​toPrimitive](https://github.com/toPrimitive) and valueOf ([#​11901](typescript-eslint/typescript-eslint#11901)) - **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#​11908](typescript-eslint/typescript-eslint#11908)) ##### ❤️ Thank You - Josh Goldberg ✨ - Ulrich Stark You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v7.12.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#7120) [Compare Source](https://github.com/remix-run/react-router/compare/[email protected]@7.12.0) ##### Patch Changes - Updated dependencies: - `[email protected]` </details> --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=--> See merge request swiss-armed-forces/cyber-command/cea/loom!243 Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch> Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
chore(deps): update frontend dependencies (minor) (minor) This MR contains the following updates: | Package | Type | Update | Change | OpenSSF | |---|---|---|---|---| | [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.23.0/8.24.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) | | [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.23.0/8.24.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) | | [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.26.0` → `2.27.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.26.0/2.27.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.11.0` → `7.12.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.11.0/7.12.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) | --- ### Release Notes <details> <summary>mui/mui-x (@​mui/x-charts)</summary> ### [`v8.24.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8240) [Compare Source](mui/mui-x@v8.23.0...v8.24.0) *Jan 8, 2026* We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨: - ⚡️Add bar [batch renderer](https://mui.com/x/react-charts/bars/#performance), result in a significant performance improvement when rendering thousands of bars - 📊 Add [range bar chart](https://mui.com/x/react-charts/range-bar/) to render  - 🌎 Improved Danish (da-DK) and Japanese (ja-JP) locales on the Data Grid Special thanks go out to these community members for their valuable contributions: [@​anders-noerrelykke](https://github.com/anders-noerrelykke), [@​auloin](https://github.com/auloin), [@​sai6855](https://github.com/sai6855), [@​yuito-it](https://github.com/yuito-it) The following team members contributed to this release: [@​alelthomas](https://github.com/alelthomas), [@​alexfauquette](https://github.com/alexfauquette), [@​arminmeh](https://github.com/arminmeh), [@​bernardobelchior](https://github.com/bernardobelchior), [@​flaviendelangle](https://github.com/flaviendelangle), [@​JCQuintas](https://github.com/JCQuintas), [@​mapache-salvaje](https://github.com/mapache-salvaje), [@​siriwatknp](https://github.com/siriwatknp) ##### Data Grid ##### `@mui/[email protected]` - \[l10n] Improve Danish (da-DK) locale ([#​20828](mui/mui-x#20828)) [@​anders-noerrelykke](https://github.com/anders-noerrelykke) - \[l10n] Improve Japanese (ja-JP) locale ([#​20251](mui/mui-x#20251)) [@​yuito-it](https://github.com/yuito-it) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[DataGridPro] Fix header filter height for `density="compact"` ([#​20834](mui/mui-x#20834)) [@​arminmeh](https://github.com/arminmeh) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`. ##### Date and Time Pickers ##### `@mui/[email protected]` - \[pickers] Fix Styles applied to PickersDay when MuiPickersDay-dayOutsideMonth is used ([#​20719](mui/mui-x#20719)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`. ##### Charts ##### `@mui/[email protected]` - \[charts] Add `VisibilityManager` logic to allow managing series/items ([#​20571](mui/mui-x#20571)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `identifierSerializer` configuration ([#​20775](mui/mui-x#20775)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `serializeIdentifier` instance function ([#​20791](mui/mui-x#20791)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add bar batch renderer ([#​20457](mui/mui-x#20457)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Allow animating bar, line, and pie elements to hidden state ([#​20798](mui/mui-x#20798)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Fix failing lint step ([#​20813](mui/mui-x#20813)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Fix tooltip anchored to item ([#​20783](mui/mui-x#20783)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#​20797](mui/mui-x#20797)) [@​sai6855](https://github.com/sai6855) - \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#​20757](mui/mui-x#20757)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#​20795](mui/mui-x#20795)) [@​sai6855](https://github.com/sai6855) - \[charts] Refactor `useRegisterPointerEventHandlers` ([#​20824](mui/mui-x#20824)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Update legend types to allow hiding/showing items ([#​20784](mui/mui-x#20784)) [@​JCQuintas](https://github.com/JCQuintas) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-pro] Pass `slotProps.toolbar` to `Toolbar` in `PieChartPro` ([#​20796](mui/mui-x#20796)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-premium] Add range bar chart ([#​20275](mui/mui-x#20275)) [@​bernardobelchior](https://github.com/bernardobelchior) ##### Tree View ##### `@mui/[email protected]` - \[tree view] Introduce a Tree View Store to clean the internals ([#​20051](mui/mui-x#20051)) [@​flaviendelangle](https://github.com/flaviendelangle) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`. ##### Codemod ##### `@mui/[email protected]` Internal changes. ##### Docs - \[docs] Fix axis size default values ([#​20799](mui/mui-x#20799)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#​20787](mui/mui-x#20787)) [@​alelthomas](https://github.com/alelthomas) - \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#​20465](mui/mui-x#20465)) [@​auloin](https://github.com/auloin) - \[docs] Revise the Charts Brush doc ([#​20792](mui/mui-x#20792)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Highlighting doc ([#​20788](mui/mui-x#20788)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Label doc ([#​20794](mui/mui-x#20794)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Export doc ([#​20779](mui/mui-x#20779)) [@​mapache-salvaje](https://github.com/mapache-salvaje) ##### Core - \[code-infra] Fix v8.23.0 release date ([#​20767](mui/mui-x#20767)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `glob-gitignore` ([#​20801](mui/mui-x#20801)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `nyc` ([#​20804](mui/mui-x#20804)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stream-browserify` and `null-loader` ([#​20805](mui/mui-x#20805)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stylelint-config-tailwindcss` ([#​20807](mui/mui-x#20807)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove unused `path` package ([#​20802](mui/mui-x#20802)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Retry flaky e2e test on webkit ([#​20806](mui/mui-x#20806)) [@​JCQuintas](https://github.com/JCQuintas) - \[internal] Add `internal` slot to properly generate components CSS layer ([#​20763](mui/mui-x#20763)) [@​siriwatknp](https://github.com/siriwatknp) </details> <details> <summary>OpenAPITools/openapi-generator-cli (@​openapitools/openapi-generator-cli)</summary> ### [`v2.27.0`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.27.0) [Compare Source](OpenAPITools/openapi-generator-cli@v2.26.0...v2.27.0) ##### Features - **config:** add support for environment variable placeholders in config ([#​1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) ##### 🚀 Features - **eslint-plugin:** add rule \[strict-void-return] ([#​9707](typescript-eslint/typescript-eslint#9707)) - **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#​11922](typescript-eslint/typescript-eslint#11922)) ##### 🩹 Fixes - **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#​11916](typescript-eslint/typescript-eslint#11916)) - **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#​11704](typescript-eslint/typescript-eslint#11704)) - **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#​11935](typescript-eslint/typescript-eslint#11935)) - **typescript-estree:** forbid invalid class implements ([#​11934](typescript-eslint/typescript-eslint#11934)) - **typescript-estree:** forbid type-only import with both default and named specifiers ([#​11930](typescript-eslint/typescript-eslint#11930)) ##### ❤️ Thank You - Brad Zacher [@​bradzacher](https://github.com/bradzacher) - fisker Cheung [@​fisker](https://github.com/fisker) - Josh Goldberg - Josh Goldberg ✨ - Kirk Waiblinger - Niki [@​phaux](https://github.com/phaux) - Nikita - SungHyun627 [@​SungHyun627](https://github.com/SungHyun627) - Will Harney [@​wjhsf](https://github.com/wjhsf) You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) ##### 🚀 Features - **eslint-plugin-internal:** \[no-multiple-lines-of-errors] add rule ([#​11899](typescript-eslint/typescript-eslint#11899)) ##### 🩹 Fixes - **eslint-plugin:** \[no-base-to-string] detect @​[@​toPrimitive](https://github.com/toPrimitive) and valueOf ([#​11901](typescript-eslint/typescript-eslint#11901)) - **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#​11908](typescript-eslint/typescript-eslint#11908)) ##### ❤️ Thank You - Josh Goldberg ✨ - Ulrich Stark You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v7.12.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#7120) [Compare Source](https://github.com/remix-run/react-router/compare/[email protected]@7.12.0) ##### Patch Changes - Updated dependencies: - `[email protected]` </details> --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=--> See merge request swiss-armed-forces/cyber-command/cea/loom!243 Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com> Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
Add instance function so we can serialize any identifier from a single place