Skip to content

[tree view] Introduce a Tree View Store to clean the internals#20051

Merged
flaviendelangle merged 103 commits intomui:masterfrom
flaviendelangle:tree-view-store
Dec 29, 2025
Merged

[tree view] Introduce a Tree View Store to clean the internals#20051
flaviendelangle merged 103 commits intomui:masterfrom
flaviendelangle:tree-view-store

Conversation

@flaviendelangle
Copy link
Copy Markdown
Member

@flaviendelangle flaviendelangle commented Oct 22, 2025

Fixes #14228
Closes #19426

Extracted PRs

In this PR:

  • The store object is created once on mount with all its method. There is no code run on every render to update its methods.
  • The contextValue.wrapRoot property have been replaced by manual JSX in the various Tree View components.
  • The parameters to pass to the store instead of the DOM are now hardcoded on a useMemo instead of being listed by each plugin.

Differences with the Scheduler stores

  • The product methods are stored in plugin instead of being defined by the store

    On the Scheduler, we call methods like store.setVisibleResources. For the Tree View, the equivalent would be store.resources.setVisibleResources.
    This is because the main store create several sub-classes for each main feature (focus, keyboard navigation, expansion, ...) that expose there own methods. This make the codebase a lot more scalable.

@flaviendelangle flaviendelangle self-assigned this Oct 22, 2025
@flaviendelangle flaviendelangle added type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature. scope: tree view Changes related to the tree view. This includes TreeView, TreeItem. labels Oct 22, 2025
@mui-bot
Copy link
Copy Markdown

mui-bot commented Oct 22, 2025

Deploy preview: https://deploy-preview-20051--material-ui-x.netlify.app/

Bundle size report

Bundle Parsed size Gzip size
@mui/x-data-grid 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-pro 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-premium 0B(0.00%) 0B(0.00%)
@mui/x-charts 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro 0B(0.00%) 0B(0.00%)
@mui/x-charts-premium 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers-pro 0B(0.00%) 0B(0.00%)
@mui/x-tree-view 🔺+1.47KB(+2.23%) ▼-396B(-1.95%)
@mui/x-tree-view-pro 🔺+699B(+0.79%) ▼-819B(-2.94%)

Details of bundle changes

Generated by 🚫 dangerJS against 4e296b7

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 4, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 4, 2025

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 4, 2025
@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 4, 2025
@flaviendelangle flaviendelangle marked this pull request as ready for review December 8, 2025 09:58
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 11, 2025
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added PR: out-of-date The pull request has merge conflicts and can't be merged. and removed PR: out-of-date The pull request has merge conflicts and can't be merged. labels Dec 16, 2025
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 18, 2025
Copy link
Copy Markdown
Contributor

@noraleonte noraleonte left a comment

Choose a reason for hiding this comment

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

Thank you for the work on this massive refactor 🙏 💙 Happy to see things getting more consistent across components 🎉

}

instance.completeDraggingItem(itemId);
store.itemsReordering.completeDraggingItem(itemId);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I like this DX - it's more explicit 👌

/**
* Determines if the items state should be rebuilt based on the new and previous parameters.
*/
public static shouldRebuildItemsState = <R2 extends TreeViewValidItem<R2>>(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

R2-D2 🙊 - nothing against the naming, it's just what the R2 generic reminded me of
image

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 18, 2025
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 29, 2025
@flaviendelangle flaviendelangle merged commit e817dd6 into mui:master Dec 29, 2025
21 checks passed
@flaviendelangle flaviendelangle deleted the tree-view-store branch December 29, 2025 13:20
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 14, 2026
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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/OpenAPITools/openapi-generator-cli/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/remix-run/react-router/badge)](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) |

---

### Release Notes

<details>
<summary>mui/mui-x (@&#8203;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
  ![image](https://github.com/user-attachments/assets/4112c09b-d841-42f7-a0c8-d23b61c23ca0)
- 🌎 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:
[@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke), [@&#8203;auloin](https://github.com/auloin), [@&#8203;sai6855](https://github.com/sai6855), [@&#8203;yuito-it](https://github.com/yuito-it)

The following team members contributed to this release:
[@&#8203;alelthomas](https://github.com/alelthomas), [@&#8203;alexfauquette](https://github.com/alexfauquette), [@&#8203;arminmeh](https://github.com/arminmeh), [@&#8203;bernardobelchior](https://github.com/bernardobelchior), [@&#8203;flaviendelangle](https://github.com/flaviendelangle), [@&#8203;JCQuintas](https://github.com/JCQuintas), [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje), [@&#8203;siriwatknp](https://github.com/siriwatknp)

##### Data Grid

##### `@mui/[email protected]`

- \[l10n] Improve Danish (da-DK) locale ([#&#8203;20828](mui/mui-x#20828)) [@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke)
- \[l10n] Improve Japanese (ja-JP) locale ([#&#8203;20251](mui/mui-x#20251)) [@&#8203;yuito-it](https://github.com/yuito-it)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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"` ([#&#8203;20834](mui/mui-x#20834)) [@&#8203;arminmeh](https://github.com/arminmeh)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](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 ([#&#8203;20719](mui/mui-x#20719)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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 ([#&#8203;20571](mui/mui-x#20571)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `identifierSerializer` configuration ([#&#8203;20775](mui/mui-x#20775)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `serializeIdentifier` instance function ([#&#8203;20791](mui/mui-x#20791)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add bar batch renderer ([#&#8203;20457](mui/mui-x#20457)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Allow animating bar, line, and pie elements to hidden state ([#&#8203;20798](mui/mui-x#20798)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Fix failing lint step ([#&#8203;20813](mui/mui-x#20813)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Fix tooltip anchored to item ([#&#8203;20783](mui/mui-x#20783)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#&#8203;20797](mui/mui-x#20797)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#&#8203;20757](mui/mui-x#20757)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#&#8203;20795](mui/mui-x#20795)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Refactor `useRegisterPointerEventHandlers` ([#&#8203;20824](mui/mui-x#20824)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Update legend types to allow hiding/showing items ([#&#8203;20784](mui/mui-x#20784)) [@&#8203;JCQuintas](https://github.com/JCQuintas)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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` ([#&#8203;20796](mui/mui-x#20796)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-premium] Add range bar chart ([#&#8203;20275](mui/mui-x#20275)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### Tree View

##### `@mui/[email protected]`

- \[tree view] Introduce a Tree View Store to clean the internals ([#&#8203;20051](mui/mui-x#20051)) [@&#8203;flaviendelangle](https://github.com/flaviendelangle)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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 ([#&#8203;20799](mui/mui-x#20799)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#&#8203;20787](mui/mui-x#20787)) [@&#8203;alelthomas](https://github.com/alelthomas)
- \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#&#8203;20465](mui/mui-x#20465)) [@&#8203;auloin](https://github.com/auloin)
- \[docs] Revise the Charts Brush doc ([#&#8203;20792](mui/mui-x#20792)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Highlighting doc ([#&#8203;20788](mui/mui-x#20788)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Label doc ([#&#8203;20794](mui/mui-x#20794)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Export doc ([#&#8203;20779](mui/mui-x#20779)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)

##### Core

- \[code-infra] Fix v8.23.0 release date ([#&#8203;20767](mui/mui-x#20767)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `glob-gitignore` ([#&#8203;20801](mui/mui-x#20801)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `nyc` ([#&#8203;20804](mui/mui-x#20804)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stream-browserify` and `null-loader` ([#&#8203;20805](mui/mui-x#20805)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stylelint-config-tailwindcss` ([#&#8203;20807](mui/mui-x#20807)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove unused `path` package ([#&#8203;20802](mui/mui-x#20802)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Retry flaky e2e test on webkit ([#&#8203;20806](mui/mui-x#20806)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[internal] Add `internal` slot to properly generate components CSS layer ([#&#8203;20763](mui/mui-x#20763)) [@&#8203;siriwatknp](https://github.com/siriwatknp)

</details>

<details>
<summary>OpenAPITools/openapi-generator-cli (@&#8203;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 ([#&#8203;1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;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] ([#&#8203;9707](typescript-eslint/typescript-eslint#9707))
- **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#&#8203;11922](typescript-eslint/typescript-eslint#11922))

##### 🩹 Fixes

- **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#&#8203;11916](typescript-eslint/typescript-eslint#11916))
- **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#&#8203;11704](typescript-eslint/typescript-eslint#11704))
- **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#&#8203;11935](typescript-eslint/typescript-eslint#11935))
- **typescript-estree:** forbid invalid class implements ([#&#8203;11934](typescript-eslint/typescript-eslint#11934))
- **typescript-estree:** forbid type-only import with both default and named specifiers ([#&#8203;11930](typescript-eslint/typescript-eslint#11930))

##### ❤️ Thank You

- Brad Zacher [@&#8203;bradzacher](https://github.com/bradzacher)
- fisker Cheung [@&#8203;fisker](https://github.com/fisker)
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger
- Niki [@&#8203;phaux](https://github.com/phaux)
- Nikita
- SungHyun627 [@&#8203;SungHyun627](https://github.com/SungHyun627)
- Will Harney [@&#8203;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 ([#&#8203;11899](typescript-eslint/typescript-eslint#11899))

##### 🩹 Fixes

- **eslint-plugin:** \[no-base-to-string] detect @&#8203;[@&#8203;toPrimitive](https://github.com/toPrimitive) and valueOf ([#&#8203;11901](typescript-eslint/typescript-eslint#11901))
- **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#&#8203;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 (@&#8203;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>
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 14, 2026
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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/OpenAPITools/openapi-generator-cli/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/remix-run/react-router/badge)](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) |

---

### Release Notes

<details>
<summary>mui/mui-x (@&#8203;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
  ![image](https://github.com/user-attachments/assets/4112c09b-d841-42f7-a0c8-d23b61c23ca0)
- 🌎 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:
[@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke), [@&#8203;auloin](https://github.com/auloin), [@&#8203;sai6855](https://github.com/sai6855), [@&#8203;yuito-it](https://github.com/yuito-it)

The following team members contributed to this release:
[@&#8203;alelthomas](https://github.com/alelthomas), [@&#8203;alexfauquette](https://github.com/alexfauquette), [@&#8203;arminmeh](https://github.com/arminmeh), [@&#8203;bernardobelchior](https://github.com/bernardobelchior), [@&#8203;flaviendelangle](https://github.com/flaviendelangle), [@&#8203;JCQuintas](https://github.com/JCQuintas), [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje), [@&#8203;siriwatknp](https://github.com/siriwatknp)

##### Data Grid

##### `@mui/[email protected]`

- \[l10n] Improve Danish (da-DK) locale ([#&#8203;20828](mui/mui-x#20828)) [@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke)
- \[l10n] Improve Japanese (ja-JP) locale ([#&#8203;20251](mui/mui-x#20251)) [@&#8203;yuito-it](https://github.com/yuito-it)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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"` ([#&#8203;20834](mui/mui-x#20834)) [@&#8203;arminmeh](https://github.com/arminmeh)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](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 ([#&#8203;20719](mui/mui-x#20719)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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 ([#&#8203;20571](mui/mui-x#20571)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `identifierSerializer` configuration ([#&#8203;20775](mui/mui-x#20775)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `serializeIdentifier` instance function ([#&#8203;20791](mui/mui-x#20791)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add bar batch renderer ([#&#8203;20457](mui/mui-x#20457)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Allow animating bar, line, and pie elements to hidden state ([#&#8203;20798](mui/mui-x#20798)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Fix failing lint step ([#&#8203;20813](mui/mui-x#20813)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Fix tooltip anchored to item ([#&#8203;20783](mui/mui-x#20783)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#&#8203;20797](mui/mui-x#20797)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#&#8203;20757](mui/mui-x#20757)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#&#8203;20795](mui/mui-x#20795)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Refactor `useRegisterPointerEventHandlers` ([#&#8203;20824](mui/mui-x#20824)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Update legend types to allow hiding/showing items ([#&#8203;20784](mui/mui-x#20784)) [@&#8203;JCQuintas](https://github.com/JCQuintas)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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` ([#&#8203;20796](mui/mui-x#20796)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-premium] Add range bar chart ([#&#8203;20275](mui/mui-x#20275)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### Tree View

##### `@mui/[email protected]`

- \[tree view] Introduce a Tree View Store to clean the internals ([#&#8203;20051](mui/mui-x#20051)) [@&#8203;flaviendelangle](https://github.com/flaviendelangle)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](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 ([#&#8203;20799](mui/mui-x#20799)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#&#8203;20787](mui/mui-x#20787)) [@&#8203;alelthomas](https://github.com/alelthomas)
- \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#&#8203;20465](mui/mui-x#20465)) [@&#8203;auloin](https://github.com/auloin)
- \[docs] Revise the Charts Brush doc ([#&#8203;20792](mui/mui-x#20792)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Highlighting doc ([#&#8203;20788](mui/mui-x#20788)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Label doc ([#&#8203;20794](mui/mui-x#20794)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Export doc ([#&#8203;20779](mui/mui-x#20779)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)

##### Core

- \[code-infra] Fix v8.23.0 release date ([#&#8203;20767](mui/mui-x#20767)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `glob-gitignore` ([#&#8203;20801](mui/mui-x#20801)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `nyc` ([#&#8203;20804](mui/mui-x#20804)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stream-browserify` and `null-loader` ([#&#8203;20805](mui/mui-x#20805)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stylelint-config-tailwindcss` ([#&#8203;20807](mui/mui-x#20807)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove unused `path` package ([#&#8203;20802](mui/mui-x#20802)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Retry flaky e2e test on webkit ([#&#8203;20806](mui/mui-x#20806)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[internal] Add `internal` slot to properly generate components CSS layer ([#&#8203;20763](mui/mui-x#20763)) [@&#8203;siriwatknp](https://github.com/siriwatknp)

</details>

<details>
<summary>OpenAPITools/openapi-generator-cli (@&#8203;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 ([#&#8203;1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;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] ([#&#8203;9707](typescript-eslint/typescript-eslint#9707))
- **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#&#8203;11922](typescript-eslint/typescript-eslint#11922))

##### 🩹 Fixes

- **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#&#8203;11916](typescript-eslint/typescript-eslint#11916))
- **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#&#8203;11704](typescript-eslint/typescript-eslint#11704))
- **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#&#8203;11935](typescript-eslint/typescript-eslint#11935))
- **typescript-estree:** forbid invalid class implements ([#&#8203;11934](typescript-eslint/typescript-eslint#11934))
- **typescript-estree:** forbid type-only import with both default and named specifiers ([#&#8203;11930](typescript-eslint/typescript-eslint#11930))

##### ❤️ Thank You

- Brad Zacher [@&#8203;bradzacher](https://github.com/bradzacher)
- fisker Cheung [@&#8203;fisker](https://github.com/fisker)
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger
- Niki [@&#8203;phaux](https://github.com/phaux)
- Nikita
- SungHyun627 [@&#8203;SungHyun627](https://github.com/SungHyun627)
- Will Harney [@&#8203;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 ([#&#8203;11899](typescript-eslint/typescript-eslint#11899))

##### 🩹 Fixes

- **eslint-plugin:** \[no-base-to-string] detect @&#8203;[@&#8203;toPrimitive](https://github.com/toPrimitive) and valueOf ([#&#8203;11901](typescript-eslint/typescript-eslint#11901))
- **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#&#8203;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 (@&#8203;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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: tree view Changes related to the tree view. This includes TreeView, TreeItem. type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

Projects

None yet

3 participants