@mui/x-internals 8.26.0 → 9.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CHANGELOG.md +591 -3
  2. package/EventManager/index.d.mts +2 -0
  3. package/EventManager/index.mjs +1 -0
  4. package/ToolbarContext/ToolbarContext.js +3 -1
  5. package/{esm/ToolbarContext/ToolbarContext.js → ToolbarContext/ToolbarContext.mjs} +2 -1
  6. package/ToolbarContext/index.d.mts +2 -0
  7. package/ToolbarContext/index.mjs +2 -0
  8. package/{esm/ToolbarContext/useRegisterToolbarButton.js → ToolbarContext/useRegisterToolbarButton.mjs} +1 -1
  9. package/export/index.d.mts +1 -0
  10. package/export/index.mjs +1 -0
  11. package/fastArrayCompare/index.d.mts +1 -0
  12. package/fastArrayCompare/index.mjs +1 -0
  13. package/{esm/fastMemo/fastMemo.js → fastMemo/fastMemo.mjs} +1 -1
  14. package/fastMemo/index.d.mts +1 -0
  15. package/fastMemo/index.mjs +1 -0
  16. package/{esm/fastObjectShallowCompare/index.d.ts → fastObjectShallowCompare/index.d.mts} +1 -1
  17. package/{esm/fastObjectShallowCompare/index.js → fastObjectShallowCompare/index.mjs} +1 -1
  18. package/formatErrorMessage/formatErrorMessage.d.mts +10 -0
  19. package/formatErrorMessage/formatErrorMessage.d.ts +10 -0
  20. package/formatErrorMessage/formatErrorMessage.js +22 -0
  21. package/formatErrorMessage/formatErrorMessage.mjs +16 -0
  22. package/formatErrorMessage/index.d.mts +1 -0
  23. package/formatErrorMessage/index.d.ts +1 -0
  24. package/formatErrorMessage/index.js +12 -0
  25. package/formatErrorMessage/index.mjs +1 -0
  26. package/{esm/forwardRef/forwardRef.js → forwardRef/forwardRef.mjs} +1 -1
  27. package/forwardRef/index.d.mts +1 -0
  28. package/forwardRef/index.mjs +1 -0
  29. package/hash/index.d.mts +1 -0
  30. package/hash/index.mjs +1 -0
  31. package/isDeepEqual/index.d.mts +1 -0
  32. package/isDeepEqual/index.mjs +1 -0
  33. package/isObjectEmpty/index.d.mts +1 -0
  34. package/isObjectEmpty/index.mjs +1 -0
  35. package/package.json +376 -9
  36. package/rafThrottle/index.d.mts +1 -0
  37. package/rafThrottle/index.mjs +1 -0
  38. package/{esm/store/Store.js → store/Store.mjs} +1 -1
  39. package/{esm/store/createSelector.d.ts → store/createSelector.d.mts} +2 -2
  40. package/store/createSelector.js +7 -5
  41. package/{esm/store/createSelector.js → store/createSelector.mjs} +6 -5
  42. package/store/index.d.mts +4 -0
  43. package/store/index.mjs +4 -0
  44. package/{esm/store/useStore.d.ts → store/useStore.d.mts} +1 -1
  45. package/{esm/store/useStore.js → store/useStore.mjs} +1 -1
  46. package/{esm/store/useStoreEffect.d.ts → store/useStoreEffect.d.mts} +1 -1
  47. package/throttle/index.d.mts +1 -0
  48. package/throttle/index.mjs +1 -0
  49. package/types/DistributiveOmit.d.mts +9 -0
  50. package/types/DistributiveOmit.d.ts +9 -0
  51. package/types/DistributiveOmit.js +5 -0
  52. package/types/base.mjs +1 -0
  53. package/types/index.d.mts +12 -0
  54. package/types/index.d.ts +1 -0
  55. package/types/index.js +11 -0
  56. package/types/index.mjs +12 -0
  57. package/{esm/useAssertModelConsistency/index.d.ts → useAssertModelConsistency/index.d.mts} +1 -1
  58. package/{esm/useAssertModelConsistency/index.js → useAssertModelConsistency/index.mjs} +1 -1
  59. package/{esm/useAssertModelConsistency/useAssertModelConsistency.js → useAssertModelConsistency/useAssertModelConsistency.mjs} +1 -1
  60. package/useComponentRenderer/index.d.mts +1 -0
  61. package/useComponentRenderer/index.mjs +1 -0
  62. package/useEffectAfterFirstRender/index.d.mts +1 -0
  63. package/useEffectAfterFirstRender/index.mjs +1 -0
  64. package/useFirstRender/index.d.mts +1 -0
  65. package/useFirstRender/index.mjs +1 -0
  66. package/useResizeObserver/index.d.mts +1 -0
  67. package/useResizeObserver/index.mjs +1 -0
  68. package/useRunOnce/index.d.mts +1 -0
  69. package/useRunOnce/index.mjs +1 -0
  70. package/warning/index.d.mts +1 -0
  71. package/warning/index.mjs +1 -0
  72. package/esm/EventManager/index.d.ts +0 -2
  73. package/esm/EventManager/index.js +0 -1
  74. package/esm/ToolbarContext/index.d.ts +0 -2
  75. package/esm/ToolbarContext/index.js +0 -2
  76. package/esm/export/index.d.ts +0 -1
  77. package/esm/export/index.js +0 -1
  78. package/esm/fastArrayCompare/index.d.ts +0 -1
  79. package/esm/fastArrayCompare/index.js +0 -1
  80. package/esm/fastMemo/index.d.ts +0 -1
  81. package/esm/fastMemo/index.js +0 -1
  82. package/esm/forwardRef/index.d.ts +0 -1
  83. package/esm/forwardRef/index.js +0 -1
  84. package/esm/hash/index.d.ts +0 -1
  85. package/esm/hash/index.js +0 -1
  86. package/esm/isDeepEqual/index.d.ts +0 -1
  87. package/esm/isDeepEqual/index.js +0 -1
  88. package/esm/isObjectEmpty/index.d.ts +0 -1
  89. package/esm/isObjectEmpty/index.js +0 -1
  90. package/esm/package.json +0 -1
  91. package/esm/rafThrottle/index.d.ts +0 -1
  92. package/esm/rafThrottle/index.js +0 -1
  93. package/esm/store/index.d.ts +0 -4
  94. package/esm/store/index.js +0 -4
  95. package/esm/throttle/index.d.ts +0 -1
  96. package/esm/throttle/index.js +0 -1
  97. package/esm/types/index.d.ts +0 -11
  98. package/esm/types/index.js +0 -11
  99. package/esm/useComponentRenderer/index.d.ts +0 -1
  100. package/esm/useComponentRenderer/index.js +0 -1
  101. package/esm/useEffectAfterFirstRender/index.d.ts +0 -1
  102. package/esm/useEffectAfterFirstRender/index.js +0 -1
  103. package/esm/useFirstRender/index.d.ts +0 -1
  104. package/esm/useFirstRender/index.js +0 -1
  105. package/esm/useResizeObserver/index.d.ts +0 -1
  106. package/esm/useResizeObserver/index.js +0 -1
  107. package/esm/useRunOnce/index.d.ts +0 -1
  108. package/esm/useRunOnce/index.js +0 -1
  109. package/esm/warning/index.d.ts +0 -1
  110. package/esm/warning/index.js +0 -1
  111. /package/{esm/EventManager/EventManager.d.ts → EventManager/EventManager.d.mts} +0 -0
  112. /package/{esm/EventManager/EventManager.js → EventManager/EventManager.mjs} +0 -0
  113. /package/{esm/ToolbarContext/ToolbarContext.d.ts → ToolbarContext/ToolbarContext.d.mts} +0 -0
  114. /package/{esm/ToolbarContext/useRegisterToolbarButton.d.ts → ToolbarContext/useRegisterToolbarButton.d.mts} +0 -0
  115. /package/{esm/export/loadStyleSheets.d.ts → export/loadStyleSheets.d.mts} +0 -0
  116. /package/{esm/export/loadStyleSheets.js → export/loadStyleSheets.mjs} +0 -0
  117. /package/{esm/fastArrayCompare/fastArrayCompare.d.ts → fastArrayCompare/fastArrayCompare.d.mts} +0 -0
  118. /package/{esm/fastArrayCompare/fastArrayCompare.js → fastArrayCompare/fastArrayCompare.mjs} +0 -0
  119. /package/{esm/fastMemo/fastMemo.d.ts → fastMemo/fastMemo.d.mts} +0 -0
  120. /package/{esm/fastObjectShallowCompare/fastObjectShallowCompare.d.ts → fastObjectShallowCompare/fastObjectShallowCompare.d.mts} +0 -0
  121. /package/{esm/fastObjectShallowCompare/fastObjectShallowCompare.js → fastObjectShallowCompare/fastObjectShallowCompare.mjs} +0 -0
  122. /package/{esm/forwardRef/forwardRef.d.ts → forwardRef/forwardRef.d.mts} +0 -0
  123. /package/{esm/hash/hash.d.ts → hash/hash.d.mts} +0 -0
  124. /package/{esm/hash/hash.js → hash/hash.mjs} +0 -0
  125. /package/{esm/isDeepEqual/isDeepEqual.d.ts → isDeepEqual/isDeepEqual.d.mts} +0 -0
  126. /package/{esm/isDeepEqual/isDeepEqual.js → isDeepEqual/isDeepEqual.mjs} +0 -0
  127. /package/{esm/isObjectEmpty/isObjectEmpty.d.ts → isObjectEmpty/isObjectEmpty.d.mts} +0 -0
  128. /package/{esm/isObjectEmpty/isObjectEmpty.js → isObjectEmpty/isObjectEmpty.mjs} +0 -0
  129. /package/{esm/lruMemoize/index.d.ts → lruMemoize/index.d.mts} +0 -0
  130. /package/{esm/lruMemoize/index.js → lruMemoize/index.mjs} +0 -0
  131. /package/{esm/math/index.d.ts → math/index.d.mts} +0 -0
  132. /package/{esm/math/index.js → math/index.mjs} +0 -0
  133. /package/{esm/platform/index.d.ts → platform/index.d.mts} +0 -0
  134. /package/{esm/platform/index.js → platform/index.mjs} +0 -0
  135. /package/{esm/rafThrottle/rafThrottle.d.ts → rafThrottle/rafThrottle.d.mts} +0 -0
  136. /package/{esm/rafThrottle/rafThrottle.js → rafThrottle/rafThrottle.mjs} +0 -0
  137. /package/{esm/reactMajor/index.d.ts → reactMajor/index.d.mts} +0 -0
  138. /package/{esm/reactMajor/index.js → reactMajor/index.mjs} +0 -0
  139. /package/{esm/slots/index.d.ts → slots/index.d.mts} +0 -0
  140. /package/{esm/slots/index.js → slots/index.mjs} +0 -0
  141. /package/{esm/store/Store.d.ts → store/Store.d.mts} +0 -0
  142. /package/{esm/store/createSelectorType.d.ts → store/createSelectorType.d.mts} +0 -0
  143. /package/{esm/store/createSelectorType.js → store/createSelectorType.mjs} +0 -0
  144. /package/{esm/store/useStoreEffect.js → store/useStoreEffect.mjs} +0 -0
  145. /package/{esm/throttle/throttle.d.ts → throttle/throttle.d.mts} +0 -0
  146. /package/{esm/throttle/throttle.js → throttle/throttle.mjs} +0 -0
  147. /package/{esm/types/AppendKeys.d.ts → types/AppendKeys.d.mts} +0 -0
  148. /package/{esm/types/AppendKeys.js → types/AppendKeys.mjs} +0 -0
  149. /package/{esm/types/DefaultizedProps.d.ts → types/DefaultizedProps.d.mts} +0 -0
  150. /package/{esm/types/DefaultizedProps.js → types/DefaultizedProps.mjs} +0 -0
  151. /package/{esm/types/GridChartsIntegration.js → types/DistributiveOmit.mjs} +0 -0
  152. /package/{esm/types/GridChartsIntegration.d.ts → types/GridChartsIntegration.d.mts} +0 -0
  153. /package/{esm/types/HasProperty.js → types/GridChartsIntegration.mjs} +0 -0
  154. /package/{esm/types/HasProperty.d.ts → types/HasProperty.d.mts} +0 -0
  155. /package/{esm/types/MakeOptional.js → types/HasProperty.mjs} +0 -0
  156. /package/{esm/types/MakeOptional.d.ts → types/MakeOptional.d.mts} +0 -0
  157. /package/{esm/types/MakeRequired.js → types/MakeOptional.mjs} +0 -0
  158. /package/{esm/types/MakeRequired.d.ts → types/MakeRequired.d.mts} +0 -0
  159. /package/{esm/types/MuiEvent.js → types/MakeRequired.mjs} +0 -0
  160. /package/{esm/types/MuiEvent.d.ts → types/MuiEvent.d.mts} +0 -0
  161. /package/{esm/types/PrependKeys.js → types/MuiEvent.mjs} +0 -0
  162. /package/{esm/types/PrependKeys.d.ts → types/PrependKeys.d.mts} +0 -0
  163. /package/{esm/types/RefObject.js → types/PrependKeys.mjs} +0 -0
  164. /package/{esm/types/RefObject.d.ts → types/RefObject.d.mts} +0 -0
  165. /package/{esm/types/SlotComponentPropsFromProps.js → types/RefObject.mjs} +0 -0
  166. /package/{esm/types/SlotComponentPropsFromProps.d.ts → types/SlotComponentPropsFromProps.d.mts} +0 -0
  167. /package/{esm/types/base.js → types/SlotComponentPropsFromProps.mjs} +0 -0
  168. /package/{esm/types/base.d.ts → types/base.d.mts} +0 -0
  169. /package/{esm/useAssertModelConsistency/useAssertModelConsistency.d.ts → useAssertModelConsistency/useAssertModelConsistency.d.mts} +0 -0
  170. /package/{esm/useComponentRenderer/useComponentRenderer.d.ts → useComponentRenderer/useComponentRenderer.d.mts} +0 -0
  171. /package/{esm/useComponentRenderer/useComponentRenderer.js → useComponentRenderer/useComponentRenderer.mjs} +0 -0
  172. /package/{esm/useEffectAfterFirstRender/useEffectAfterFirstRender.d.ts → useEffectAfterFirstRender/useEffectAfterFirstRender.d.mts} +0 -0
  173. /package/{esm/useEffectAfterFirstRender/useEffectAfterFirstRender.js → useEffectAfterFirstRender/useEffectAfterFirstRender.mjs} +0 -0
  174. /package/{esm/useFirstRender/useFirstRender.d.ts → useFirstRender/useFirstRender.d.mts} +0 -0
  175. /package/{esm/useFirstRender/useFirstRender.js → useFirstRender/useFirstRender.mjs} +0 -0
  176. /package/{esm/useResizeObserver/useResizeObserver.d.ts → useResizeObserver/useResizeObserver.d.mts} +0 -0
  177. /package/{esm/useResizeObserver/useResizeObserver.js → useResizeObserver/useResizeObserver.mjs} +0 -0
  178. /package/{esm/useRunOnce/useRunOnce.d.ts → useRunOnce/useRunOnce.d.mts} +0 -0
  179. /package/{esm/useRunOnce/useRunOnce.js → useRunOnce/useRunOnce.mjs} +0 -0
  180. /package/{esm/warning/warning.d.ts → warning/warning.d.mts} +0 -0
  181. /package/{esm/warning/warning.js → warning/warning.mjs} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,9 +1,597 @@
1
1
  # Changelog
2
2
 
3
- > For full v8 changelog, please refer to the [v.8x branch](https://github.com/mui/mui-x/blob/v8.x/CHANGELOG.md).
3
+ ## 9.0.0-alpha.2
4
4
 
5
- All notable changes to this project will be documented in this file.
6
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+ _Mar 5, 2026_
6
+
7
+ We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - ✅ Stabilize Sankey chart
10
+ - 🐞 Bugfixes and internal improvements
11
+
12
+ The following team members contributed to this release:
13
+ @aemartos, @alelthomas, @alexfauquette, @arminmeh, @bernardobelchior, @brijeshb42, @Janpot, @JCQuintas, @mapache-salvaje, @michelengelen, @mj12albert, @sai6855, @siriwatknp
14
+
15
+ ### Data Grid
16
+
17
+ #### `@mui/x-data-grid@9.0.0-alpha.2`
18
+
19
+ - [dataGrid] Fix keyboard nav with single-row checkbox selection (#21149) @mj12albert
20
+ - [DataGrid] Add `checkboxColDef` prop to customize the selection column (#21331) @michelengelen
21
+ - [DataGrid] Format pagination numbers by default (#21117) @siriwatknp
22
+ - [DataGrid] Prevent unnecessary row selection checkbox rerendering (#21570) @arminmeh
23
+ - [DataGrid] Make GridScrollArea overrides resolver dynamic (#21532) @sai6855
24
+
25
+ #### `@mui/x-data-grid-pro@9.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
26
+
27
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.2`, plus:
28
+
29
+ - [DataGridPro] Use `getRowId` prop to calculate the tree data row update (#21540) @arminmeh
30
+
31
+ #### `@mui/x-data-grid-premium@9.0.0-alpha.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
32
+
33
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.2`.
34
+
35
+ ### Date and Time Pickers
36
+
37
+ #### `@mui/x-date-pickers@9.0.0-alpha.2`
38
+
39
+ - [pickers] Add `keepOpenDuringFieldFocus` prop (#20782) @michelengelen
40
+
41
+ #### `@mui/x-date-pickers-pro@9.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
42
+
43
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.2`.
44
+
45
+ ### Charts
46
+
47
+ #### `@mui/x-charts@9.0.0-alpha.2`
48
+
49
+ - [charts] Add `ChartsLayerContainer` component (#21264) @bernardobelchior
50
+ - [charts] Add codemod for `ChartsContainer` rename (#21504) @JCQuintas
51
+ - [charts] Add codemod for `ChartsDataProvider` rename (#21552) @JCQuintas
52
+ - [charts] Add codemod for `ChartsZoomSlider` rename (#21597) @JCQuintas
53
+ - [charts] Base the highlight items on the item identifiers (#21161) @alexfauquette
54
+ - [charts] Deprecate `ChartDataProvider` in favour of `ChartsDataProvider` (#21191) @JCQuintas
55
+ - [charts] Deprecate `highlighted` and `faded` classes (#21476) @alexfauquette
56
+ - [charts] Migrate to latest v8 warning (#21518) @JCQuintas
57
+ - [charts] Rename `ChartZoomSlider` to `ChartsZoomSlider` (#21553) @JCQuintas
58
+ - [charts] Rename `WebGl` to `WebGL` (#21524) @JCQuintas
59
+ - [charts] Rename `useSvgRef()` by `useChartsLayerContainerRef()` (#21494) @alexfauquette
60
+ - [charts] Restore focus on last focused item (#21522) @alexfauquette
61
+ - [charts] Warn users when controlled tooltip state does not match the trigger (#21520) @Copilot
62
+ - [charts] Fix controlled tooltip position (#21603) @bernardobelchior
63
+
64
+ #### `@mui/x-charts-pro@9.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
65
+
66
+ Same changes as in `@mui/x-charts@9.0.0-alpha.2`, plus:
67
+
68
+ - [charts-pro] Center the watermark (#21550) @alexfauquette
69
+ - [charts-pro] Stabilize `SankeyChart` API (#21133) @Copilot
70
+
71
+ #### `@mui/x-charts-premium@9.0.0-alpha.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
72
+
73
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.2`.
74
+
75
+ ### Tree View
76
+
77
+ #### `@mui/x-tree-view@9.0.0-alpha.2`
78
+
79
+ Internal changes.
80
+
81
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
82
+
83
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.2`.
84
+
85
+ ### Codemod
86
+
87
+ #### `@mui/x-codemod@9.0.0-alpha.2`
88
+
89
+ Internal changes.
90
+
91
+ ### Docs
92
+
93
+ - [docs] Add backticks and parentheses to all functions and hooks (DX-173) (#21496) @mapache-salvaje
94
+ - [docs] Remove mentions of `mySvgRef` (#21559) @bernardobelchior
95
+ - [docs] Update Roadmap section in the docs (#20892) @alelthomas
96
+ - [docs] Add tutorial and example app for aggregation with row grouping (DX-162) (#21102) @mapache-salvaje
97
+ - [docs] Fix missing codemod docs (#21604) @JCQuintas
98
+
99
+ ### Core
100
+
101
+ - [code-infra] Add eslint rule to prevent `Math.random` in docs (#21505) @JCQuintas
102
+ - [code-infra] Avoid static props for pageContent (#21038) @Janpot
103
+ - [code-infra] Isolate `date-pickers-pro` in the browser tests (#21383) @Janpot
104
+ - [code-infra] Remove `--coverage` (#21410) @Janpot
105
+ - [code-infra] Remove unneeded `skipIf`s (#21569) @JCQuintas
106
+ - [code-infra] Remove vale as a workspace dependency (#21489) @brijeshb42
107
+ - [code-infra] Remove x-charts-vendor from nextjs processing (#21534) @brijeshb42
108
+ - [code-infra] Set BASE_BRANCH env var in CircleCI config (#21548) @brijeshb42
109
+ - [code-infra] Setup error code extraction (#21469) @brijeshb42
110
+ - [code-infra] Setup flat build for packages (#21029) @brijeshb42
111
+ - [code-infra] Upgrade test_unit to large resource class (#21558) @Janpot
112
+ - [code-infra] Removed getTeamMembers function and usage from release script (#21605) @michelengelen
113
+
114
+ ### Miscellaneous
115
+
116
+ - [x-license] Add Q1-2026 plan version with quantity and appType support (#21574) @aemartos
117
+ - [x-license] Add v3 key format support, centralize test keys, and trim public API (#21485) @aemartos
118
+ - [x-telemetry] telemetry opt-out by default, remove conf dependency (#21470) @aemartos
119
+ - [x-telemetry] test: mock context module directly in sender tests (#21546) @aemartos
120
+
121
+ ## 9.0.0-alpha.1
122
+
123
+ _Feb 26, 2026_
124
+
125
+ We'd like to extend a big thank you to the 18 contributors who made this release possible. Here are some highlights ✨:
126
+
127
+ - ⚡️ Improved dynamic data support and cache invalidation in lazy loading for Data Grid Pro
128
+ - ⌨️ Keyboard support for selecting day, month, and year in Date Pickers
129
+ - 📊 Axis tooltip sorting and control improvements in Charts
130
+ - 🐞 Bugfixes and internal improvements
131
+
132
+ Special thanks go out to these community members for their valuable contributions:
133
+ @EllGree, @lion1963
134
+
135
+ The following team members contributed to this release:
136
+ @alexfauquette, @arminmeh, @brijeshb42, @cherniavskii, @dav-is, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes, @sai6855, @siriwatknp, @ZeeshanTamboli
137
+
138
+ ### Data Grid
139
+
140
+ #### `@mui/x-data-grid@9.0.0-alpha.1`
141
+
142
+ - [DataGrid] Forward rest props in `GridFilterInputMultipleValue` (#21407) @siriwatknp
143
+ - [DataGrid] Preserve key input during row edit when using `rowModesModel` (#20759) @michelengelen
144
+ - [DataGrid] Remove double rtl inversion logic for columns pinning (#21371) @siriwatknp
145
+
146
+ #### `@mui/x-data-grid-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
147
+
148
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.1`, plus:
149
+
150
+ - [DataGridPro] Fix number input visibility in header filters (#21328) @michelengelen
151
+ - [DataGridPro] Improve dynamic data support and cache invalidation in lazy loading (#21282) @MBilalShafi
152
+
153
+ #### `@mui/x-data-grid-premium@9.0.0-alpha.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
154
+
155
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.1`.
156
+
157
+ ### Date and Time Pickers
158
+
159
+ #### `@mui/x-date-pickers@9.0.0-alpha.1`
160
+
161
+ - [DatePicker] Add keyboard support for selecting day, month, and year (#20859) @michelengelen
162
+
163
+ #### `@mui/x-date-pickers-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
164
+
165
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.1`, plus:
166
+
167
+ - [DateRangePicker] Fix timezone update issue leading to `invalidRange` error (#20863) @michelengelen
168
+
169
+ ### Charts
170
+
171
+ #### `@mui/x-charts@9.0.0-alpha.1`
172
+
173
+ - [charts] Add `sort` props to the axis tooltip (#21293) @alexfauquette
174
+ - [charts] Controll axis tooltip (#21351) @alexfauquette
175
+ - [charts] De duplicate keyboard focus handler function (#21267) @sai6855
176
+ - [charts] Make `type` optional in identifiers (#21311) @alexfauquette
177
+ - [charts] Move ref to the root component (#21396) @alexfauquette
178
+ - [charts] Refactor loading and no data overlays to use a shared OverlayText component (#21414) @sai6855
179
+ - [charts] Require series ids to be unique (#21330) @alexfauquette
180
+ - [charts] Set `showMark` as `false` by default (#21373) @alexfauquette
181
+ - [charts] Use `createGetNextIndexFocusedItem()` util in Funnel and RangeBar charts (#21390) @sai6855
182
+ - [charts] Remove unnecessary string concatenation (#21418) @sai6855
183
+
184
+ #### `@mui/x-charts-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
185
+
186
+ Same changes as in `@mui/x-charts@9.0.0-alpha.1`.
187
+
188
+ #### `@mui/x-charts-premium@9.0.0-alpha.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
189
+
190
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.1`.
191
+
192
+ ### Tree View
193
+
194
+ #### `@mui/x-tree-view@9.0.0-alpha.1`
195
+
196
+ - [tree view] Focus item sibling on unmount instead of the 1st item (#21254) @flaviendelangle
197
+
198
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
199
+
200
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.1`.
201
+
202
+ ### Codemod
203
+
204
+ #### `@mui/x-codemod@9.0.0-alpha.1`
205
+
206
+ Internal changes.
207
+
208
+ ### Docs
209
+
210
+ - [docs] Fix external 301s (#21377) @Janpot
211
+ - [docs] Show premium in the overview (#21343) @alexfauquette
212
+ - [docs][charts] Revise the useLegend hook doc (#21352) @mapache-salvaje
213
+ - [docs][charts] Revise the axis hooks doc (#21317) @mapache-salvaje
214
+ - [docs][charts] Revise the scale hooks doc (#21316) @mapache-salvaje
215
+ - [docs][charts] Revise the series hooks doc (#21353) @mapache-salvaje
216
+ - [docs][charts] Revise the useDataset doc (#21336) @mapache-salvaje
217
+ - [docs][charts] Revise the useDrawingArea doc (#21333) @mapache-salvaje
218
+
219
+ ### Core
220
+
221
+ - [core] Update docs deploy script to the `docs-next` branch (#21341) @siriwatknp
222
+ - [code-infra] Cleanup unused babel plugins (#21453) @brijeshb42
223
+ - [code-infra] Do not append `x` to the last version for the compare API (#21408) @arminmeh
224
+ - [code-infra] Upgrade react-docgen to v8 X (#21155) @JCQuintas
225
+ - [code-infra] Modernize codemod (#21096) @JCQuintas
226
+ - [docs-infra] Fix current version detection logic (#21417) @cherniavskii
227
+ - [docs-infra] Reapply Cookie Banner (#21281) @dav-is
228
+ - [internal] Headless filtering plugin (#21302) @arminmeh
229
+ - [internal] Headless pagination plugin (#21183) @arminmeh
230
+ - [internal] Headless virtualization followups (#21327) @cherniavskii
231
+ - [internal] Keep cached data for disabled pipe processors (#21348) @arminmeh
232
+ - [internal] Remove autoprefixer package (#21440) @ZeeshanTamboli
233
+
234
+ ### Miscellaneous
235
+
236
+ - [l10n] Fix Czech (csCZ) locale: sort/filter labels are swapped (#21400) @EllGree
237
+ - [l10n] Improve Ukrainian (uk-UA) locale (#21366) @lion1963
238
+
239
+ ## 9.0.0-alpha.0
240
+
241
+ _Feb 16, 2026_
242
+
243
+ We'd like to extend a big thank you to the 21 contributors who made this release possible. Here are some highlights ✨:
244
+
245
+ - Add support for virtualized items on `<RichTreeViewPro />`:
246
+
247
+ ```tsx
248
+ <RichTreeViewPro items={ITEMS} virtualization itemHeight={48} />
249
+ ```
250
+
251
+ - Add Thai (`thTH`) locale on the Data Grid and the Date and Time Pickers (#21116) @siriwatknp
252
+ - Add a new `AdapterDayjsBuddhist` adapter for Date and Time Pickers (#20984) @siriwatknp
253
+ - Add support for virtualization in the rich tree view (#20780) @flaviendelangle
254
+ - Add WebGL renderer to Heatmap (#20756) @bernardobelchior
255
+
256
+ Special thanks go out to these community members for their valuable contributions:
257
+ @jhe-iqbis
258
+
259
+ The following team members contributed to this release:
260
+ @alexfauquette, @arminmeh, @bernardobelchior, @brijeshb42, @cherniavskii, @dav-is, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @michelengelen, @mj12albert, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855, @siriwatknp
261
+
262
+ ### Data Grid
263
+
264
+ #### `@mui/x-data-grid@9.0.0-alpha.0`
265
+
266
+ - [DataGrid] Update default `logicOperator` behavior in filtering docs (#21098) @michelengelen
267
+ - [DataGrid] Add `thTH` locale (#21116) @siriwatknp
268
+ - [DataGrid] Fix initial filter value state in CustomMultiValueOperator demo (#21217) @sai6855
269
+
270
+ #### `@mui/x-data-grid-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
271
+
272
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.0`, plus:
273
+
274
+ - [DataGridPro] Cleanup outdated rows on `dataSource` reference update (#21138) @MBilalShafi
275
+
276
+ #### `@mui/x-data-grid-premium@9.0.0-alpha.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
277
+
278
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.0`.
279
+
280
+ ### Date and Time Pickers
281
+
282
+ #### `@mui/x-date-pickers@9.0.0-alpha.0`
283
+
284
+ - [pickers] Add `AdapterDayjsBuddhist` adapter (#20984) @siriwatknp
285
+ - [pickers] Add `thTH` locale (#21116) @siriwatknp
286
+
287
+ #### `@mui/x-date-pickers-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
288
+
289
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.0`.
290
+
291
+ ### Charts
292
+
293
+ #### `@mui/x-charts@9.0.0-alpha.0`
294
+
295
+ - [charts] Add Legend actions (#20404) @JCQuintas
296
+ - [charts] Add `Chart` suffix to MUI Classes (#21042) @JCQuintas
297
+ - [charts] Add `axesGap` props to put space between axes (#20904) @alexfauquette
298
+ - [charts] Add `cleanIdentifier` function to charts series instance (#20832) @JCQuintas
299
+ - [charts] Add `initialHiddenItems` prop to set initial state (#20894) @JCQuintas
300
+ - [charts] Add `useXAxisCoordinates` and `useYAxisCoordinates` hooks (#20972) @bernardobelchior
301
+ - [charts] Add axis slots and expose axis ticks hooks (#20935) @bernardobelchior
302
+ - [charts] Change `line` legend marker to be a line (#21059) @JCQuintas
303
+ - [charts] Codemod test pattern with function (#21111) @JCQuintas
304
+ - [charts] Control the item tooltip (#20617) @alexfauquette
305
+ - [charts] Enable keyboard navigation in radar chart (#20765) @alexfauquette
306
+ - [charts] Export `CartesianChartSeriesType` and `StackableChartSeriesType` (#21012) @bernardobelchior
307
+ - [charts] Export plugins from premium (#20866) @JCQuintas
308
+ - [charts] Filter hidden series from axis tooltip (#21273) @Copilot
309
+ - [charts] Filter hidden series from axis tooltip (#21273) @Copilot
310
+ - [charts] Fix rename `getSVGPoint` to `getChartPoint` (#21335) @bernardobelchior
311
+ - [charts] Fix cleanup function in useChartInteractionListener to correctly remove event listeners with options (#21218) @sai6855
312
+ - [charts] Fix import rename in codemod (#21112) @JCQuintas
313
+ - [charts] Fix multiple exports of `HighlightScope` (#21270) @bernardobelchior
314
+ - [charts] Fix test inconsistency in charts (#20907) @JCQuintas
315
+ - [charts] Fix tooltip position for stacked line series (#20901) @alexfauquette
316
+ - [charts] Make Highlight scope a generic (#21189) @alexfauquette
317
+ - [charts] Make `LegendItemParams.type` required (#21003) @alexfauquette
318
+ - [charts] Make `seriesId` a string only (#20997) @alexfauquette
319
+ - [charts] Make the `useChartRootRef` support typing parameter (#21023) @alexfauquette
320
+ - [charts] Memoize HeatmapItem to avoid re-render when fading/highlighting (#20865) @bernardobelchior
321
+ - [charts] Move axis id to `data-axis-id` attribute instead of class (#21037) @JCQuintas
322
+ - [charts] Move `cleanIdentifier` and `serializeIdentifier` instance methods to `useChartSeriesConfig` plugin (#21025) @JCQuintas
323
+ - [charts] Move `seriesConfig` to `useChartSeriesConfig` plugin (#21004) @JCQuintas
324
+ - [charts] Move element refs to `useChartElementRef` plugin (#21099) @JCQuintas
325
+ - [charts] Move types related to `seriesConfig` into the `useChartSeriesConfig` plugin folder (#21026) @JCQuintas
326
+ - [charts] Remove `data-has-focused-item` from `ChartsSurface` (#21255) @bernardobelchior
327
+ - [charts] Remove default generic of item identifiers (#21182) @alexfauquette
328
+ - [charts] Remove deprecated `id` from `LegendItemParams` (#21055) @alexfauquette
329
+ - [charts] Remove deprecated `ChartApi` export from `ChartContainer` (#20975) @JCQuintas
330
+ - [charts] Remove deprecated `useAxisTooltip` in favor of `useAxesTooltip` (#20962) @Copilot
331
+ - [charts] Remove deprecated series type helpers and functions (#20998) @alexfauquette
332
+ - [charts] Rename `ChartContainer` to `ChartsContainer` (#21173) @JCQuintas
333
+ - [charts] Rename `getSVGPoint` to `getChartPoint` (#21322) @bernardobelchior
334
+ - [charts] Rename `TickItemType` to `TickItem` (#21008) @bernardobelchior
335
+ - [charts] Replace props `id` by `seriesId` when necessary (#21057) @alexfauquette
336
+ - [charts] Revert `touch-action: pan-y` removal when zoom is disabled (#20852) @bernardobelchior
337
+ - [charts] The `useXxxSeries([])` return empty array (#21001) @alexfauquette
338
+ - [charts] Use `NumberValue` in domain limit function (#21054) @JCQuintas
339
+
340
+ #### `@mui/x-charts-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
341
+
342
+ Same changes as in `@mui/x-charts@9.0.0-alpha.0`, plus:
343
+
344
+ - [charts-pro] Add border radius to heatmap (#20931) @bernardobelchior
345
+ - [charts-pro] Add keyboard navigation to funnel (#20766) @alexfauquette
346
+ - [charts-pro] Add keyboard navigation to heatmap (#20786) @alexfauquette
347
+ - [charts-pro] Add keyboard navigation to sankey (#20777) @alexfauquette
348
+ - [charts-pro] Fix Heatmap's `onItemClick` not triggering (#21016) @bernardobelchior
349
+ - [charts-pro] Fix crash when two same-direction axes have a zoom preview (#20916) @bernardobelchior
350
+ - [charts-pro] Handle edge case in export image (#21190) @bernardobelchior
351
+ - [charts-pro] Prefer global pointer interaction tracker in Heatmap (#20697) @bernardobelchior
352
+ - [charts-pro] Support composition for Sankey (#20604) @alexfauquette
353
+ - [charts-pro] Update Heatmap identifier (#21124) @alexfauquette
354
+ - [charts-pro] Update default value of `hideLegend` prop in `Heatmap` (#20961) @Copilot
355
+
356
+ #### `@mui/x-charts-premium@9.0.0-alpha.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
357
+
358
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.0`, plus:
359
+
360
+ - [charts-premium] Add WebGL renderer to Heatmap (#20756) @bernardobelchior
361
+ - [charts-premium] Add `ChartContainerPremium` (#20910) @bernardobelchior
362
+ - [charts-premium] Add `HeatmapPremium` (#20930) @bernardobelchior
363
+ - [charts-premium] Add keyboard navigation to range-bar (#21272) @alexfauquette
364
+ - [charts-premium] Extract `HeatmapSVGPlot` from `HeatmapPlot` component (#21015) @bernardobelchior
365
+ - [charts-premium] Fix `ChartDataProviderPremium` tests (#20868) @bernardobelchior
366
+ - [charts-premium] Fix links in comments for chart containers and data providers (#21105) @bernardobelchior
367
+
368
+ ### Tree View
369
+
370
+ #### `@mui/x-tree-view@9.0.0-alpha.0`
371
+
372
+ _No changes._
373
+
374
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
375
+
376
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.0`, plus:
377
+
378
+ - [RichTreeViewPro] Add support for virtualization (#20780) @flaviendelangle
379
+
380
+ ### Codemod
381
+
382
+ #### `@mui/x-codemod@9.0.0-alpha.0`
383
+
384
+ - [codemod] Document and Clean the codemod utils (#21014) @alexfauquette
385
+
386
+ ### Docs
387
+
388
+ - [docs] Add focus highlight in composition snipets (#20614) @alexfauquette
389
+ - [docs] Add simple candlestick chart demo (#20912) @bernardobelchior
390
+ - [docs] Fix Waterfall Chart documentation badge from Pro to Premium (#20888) @Copilot
391
+ - [docs] Fix broken links on Data Grid Editing sub-pages (#20911) @arminmeh
392
+ - [docs] Fix docs API for HeatmapPremium (#21137) @alexfauquette
393
+ - [docs] Fix horizontal overflow in heatmap docs (#20968) @bernardobelchior
394
+ - [docs] Move Range Bar Chart to existing charts (#21120) @bernardobelchior
395
+ - [docs] Prepare the scheduler doc for the alpha (#21268) @flaviendelangle
396
+ - [docs] Rewording of the heatmap item click (#20987) @alexfauquette
397
+ - [scheduler][docs] Create the Quickstart page (#20913) @flaviendelangle
398
+ - [charts][docs] Revise the Charts CSP doc (#20906) @mapache-salvaje
399
+ - [charts][docs] Revise the Charts Composition doc (#20032) @mapache-salvaje
400
+ - [charts][docs] Revise the Charts Hooks Overview doc (#20921) @mapache-salvaje
401
+ - [charts][docs] Revise the Charts Legend doc (#20821) @mapache-salvaje
402
+ - [charts][docs] Revise the Charts Localization doc (#20800) @mapache-salvaje
403
+ - [charts][docs] Revise the Charts Plugins doc (#20933) @mapache-salvaje
404
+ - [charts][docs] Revise the Charts Stacking doc (#20830) @mapache-salvaje
405
+ - [charts][docs] Revise the Charts Styling doc (#20835) @mapache-salvaje
406
+ - [charts][docs] Revise the Charts Toolbar doc (#20867) @mapache-salvaje
407
+ - [charts][docs] Revise the Charts Tooltip doc (#20869) @mapache-salvaje
408
+ - [charts][docs] Revise the Charts Zoom and Pan doc (#20893) @mapache-salvaje
409
+ - [DataGrid][docs] Add a recipe for handling long text cell (#20754) @siriwatknp
410
+ - [DataGrid][docs] Add high-level competitor comparison to Overview doc (DX-117) (#20870) @mapache-salvaje
411
+ - [DataGrid][docs] Remove Bundling section from quickstart (#21177) @MBilalShafi
412
+
413
+ ### Core
414
+
415
+ - [code-infra] Add `MUI_TEST_ENV` global (#21187) @Janpot
416
+ - [code-infra] Fix `material-ui/disallow-react-api-in-server-components` (#20909) @JCQuintas
417
+ - [code-infra] Fix `renameImports` codemod not preserving comments (#20977) @JCQuintas
418
+ - [code-infra] Fix the label comparison to use lower case (#20934) @brijeshb42
419
+ - [code-infra] Github action to sync title and label (#20922) @brijeshb42
420
+ - [code-infra] Ignore scheduler demo with random data (#20982) @JCQuintas
421
+ - [code-infra] Improve `codemod` testing setup (#20981) @JCQuintas
422
+ - [code-infra] Only ignore renovate[bot] in changelog generation script (#21185) @bernardobelchior
423
+ - [code-infra] Prepare for v9 (#20860) @JCQuintas
424
+ - [code-infra] Set `rasterizehtml` version in pnpm catalog (#21175) @bernardobelchior
425
+ - [code-infra] Update codeowners (#20886) @JCQuintas
426
+ - [code-infra] V9 preparation (#20928) @JCQuintas
427
+ - [code-infra] eslint rule rename (#21172) @Janpot
428
+ - [code-infra][docs] V9 charts migration doc kickoff (#20973) @JCQuintas
429
+ - [docs-infra] Add Cookie Banner and Analytics Provider (#21228) @dav-is
430
+ - [docs-infra] Fix missing slots section on API page (#20915) @Janpot
431
+ - [docs-infra] Fix two broken links (#20914) @Janpot
432
+ - [docs-infra] Port demo changes (#20971) @Janpot
433
+ - [internal] Add information about codemods to AGENTS.md (#21011) @bernardobelchior
434
+ - [internal] Fix codemod versioning instructions in `AGENTS.md` (#21024) @bernardobelchior
435
+ - [internal] Fix missing generated props in master (#21142) @bernardobelchior
436
+ - [internal] Headless sorting plugin (#21089) @arminmeh
437
+ - [internal] Remove duplicate code (#20896) @oliviertassinari
438
+
439
+ ### Miscellaneous
440
+
441
+ - Bump next to ^15.5.11 (#21171) @Copilot
442
+ - [core] Fix CI (#21223) @flaviendelangle
443
+ - [PoC] Headless data grid (#20645) @cherniavskii
444
+
445
+ ## v8.27.1
446
+
447
+ _Feb 13, 2026_
448
+
449
+ We'd like to extend a big thank you to the 6 contributors who made this release possible. Here are some highlights ✨:
450
+
451
+ - 📝 CSS bundler support is no longer needed for the Data Grid
452
+ - 🐞 Bugfixes
453
+
454
+ Special thanks go out to these community members for their valuable contributions:
455
+ @sai6855
456
+
457
+ The following team members contributed to this release:
458
+ @arminmeh, @cherniavskii, @flaviendelangle, @mj12albert, @MBilalShafi
459
+
460
+ ### Data Grid
461
+
462
+ #### `@mui/x-data-grid@8.27.1`
463
+
464
+ - [DataGrid] Hide column menu icon when there are no items (#21303) @MBilalShafi
465
+ - [DataGrid] Migrate styled imports and remove `index.css` (#21176) @MBilalShafi
466
+ - [DataGrid] Optimize `GridRootStyles` overrides resolver (#21251) @sai6855
467
+
468
+ #### `@mui/x-data-grid-pro@8.27.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
469
+
470
+ Same changes as in `@mui/x-data-grid@8.27.1`, plus:
471
+
472
+ - [DataGridPro] Fix column pinning issue with `restoreState` (#21305) @MBilalShafi
473
+ - [DataGridPro] Fix lazy loading params for page with one row (#21238) @MBilalShafi
474
+ - [DataGridPro] Properly extract parent path (#21301) @arminmeh
475
+
476
+ #### `@mui/x-data-grid-premium@8.27.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
477
+
478
+ Same changes as in `@mui/x-data-grid-pro@8.27.1`, plus:
479
+
480
+ - [DataGridPremium] Fix aggregation display when `initialState` has both `sortModel` and `pinnedColumns` (#21152) @mj12albert
481
+
482
+ ### Tree View
483
+
484
+ #### `@mui/x-tree-view@8.27.1`
485
+
486
+ - [tree view] Fix `apiRef.current.setItemExpansion()` (#21095) @flaviendelangle
487
+
488
+ #### `@mui/x-tree-view-pro@8.27.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
489
+
490
+ Same changes as in `@mui/x-tree-view@8.27.1`.
491
+
492
+ ### Core
493
+
494
+ - [internal] Add CLI for translation using LLM (#21299) @cherniavskii
495
+
496
+ ## v8.27.0
497
+
498
+ _Feb 2, 2026_
499
+
500
+ We'd like to extend a big thank you to the 8 contributors who made this release possible. Here are some highlights ✨:
501
+
502
+ - 📝 Data Grid supports new `longText` [column type](https://mui.com/x/react-data-grid/column-definition/#column-types)
503
+
504
+ The following team members contributed to this release:
505
+ @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @MBilalShafi, @siriwatknp
506
+
507
+ ### Data Grid
508
+
509
+ #### `@mui/x-data-grid@8.27.0`
510
+
511
+ - [DataGrid] Fix virtualization crash by preventing out-of-bounds `focusedVirtualCell` indices (#21123) @cherniavskii
512
+ - [DataGrid] Fix focus steal issue with `<Dialog />` (#21106) @MBilalShafi
513
+ - [DataGrid] Add new `longText` column type (#21103) @siriwatknp
514
+
515
+ #### `@mui/x-data-grid-pro@8.27.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
516
+
517
+ Same changes as in `@mui/x-data-grid@8.27.0`.
518
+
519
+ #### `@mui/x-data-grid-premium@8.27.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
520
+
521
+ Same changes as in `@mui/x-data-grid-pro@8.27.0`, plus:
522
+
523
+ - [DataGridPremium] Fix focus retention when undo/redo operations are done on the same cell (#21110) @arminmeh
524
+
525
+ ### Date and Time Pickers
526
+
527
+ #### `@mui/x-date-pickers@8.27.0`
528
+
529
+ Internal changes.
530
+
531
+ #### `@mui/x-date-pickers-pro@8.27.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
532
+
533
+ Same changes as in `@mui/x-date-pickers@8.27.0`.
534
+
535
+ ### Charts
536
+
537
+ #### `@mui/x-charts@8.27.0`
538
+
539
+ - [charts] Deprecate `AxisId` class in favour of to `data-axis-id` attribute (#21048) @JCQuintas
540
+
541
+ #### `@mui/x-charts-pro@8.27.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
542
+
543
+ Same changes as in `@mui/x-charts@8.27.0`, plus:
544
+
545
+ - [charts-pro] Add `onItemClick` to the heatmap (#20817) (#21030) @alexfauquette
546
+
547
+ #### `@mui/x-charts-premium@8.27.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
548
+
549
+ Same changes as in `@mui/x-charts-pro@8.27.0`, plus:
550
+
551
+ - [charts-premium] Fix wrong `defaultSlots` in premium charts (#21052) @bernardobelchior
552
+
553
+ ### Tree View
554
+
555
+ #### `@mui/x-tree-view@8.27.0`
556
+
557
+ Internal changes.
558
+
559
+ #### `@mui/x-tree-view-pro@8.27.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
560
+
561
+ Same changes as in `@mui/x-tree-view@8.27.0`, plus:
562
+
563
+ - [RichTreeViewPro] Do not export `useSimpleTreeViewApiRef()` and `useRichTreeViewApiRef()` from pro package (#21145) @flaviendelangle
564
+
565
+ ### Codemod
566
+
567
+ #### `@mui/x-codemod@8.27.0`
568
+
569
+ Internal changes.
570
+
571
+ ### Docs
572
+
573
+ - [docs] Fix DataGrid's cell edit renderers (@arminmeh) (#21041) @github-actions[bot]
574
+
575
+ ### Core
576
+
577
+ - [code-infra] Add `consistent-type-imports` rule to the grid packages (#21119) @arminmeh
578
+ - [code-infra] Allow user to select target branch if it exists for current major (#21005) @JCQuintas
579
+ - [code-infra] Fix the target branch condition in the release script (#21051) @arminmeh
580
+ - [code-infra] Update docs deploy script to fetch from `v8.x` (#21013) @arminmeh
581
+
582
+ ## 8.26.1
583
+
584
+ _Jan 23, 2026_
585
+
586
+ Release highlight ✨:
587
+
588
+ - 🐞 Hotfix for Data Grid Premium type imports
589
+
590
+ ### Data Grid
591
+
592
+ #### `@mui/x-data-grid-premium@8.26.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
593
+
594
+ - [DataGridPremium] Fix type import (#21033) @arminmeh
7
595
 
8
596
  ## 8.26.0
9
597
 
@@ -0,0 +1,2 @@
1
+ export { EventManager } from "./EventManager.mjs";
2
+ export type { EventListenerOptions } from "./EventManager.mjs";
@@ -0,0 +1 @@
1
+ export { EventManager } from "./EventManager.mjs";
@@ -2,12 +2,14 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.ToolbarContext = void 0;
9
10
  exports.ToolbarContextProvider = ToolbarContextProvider;
10
11
  exports.useToolbarContext = useToolbarContext;
12
+ var _index = _interopRequireDefault(require("../formatErrorMessage/index.js"));
11
13
  var React = _interopRequireWildcard(require("react"));
12
14
  var _jsxRuntime = require("react/jsx-runtime");
13
15
  const ToolbarContext = exports.ToolbarContext = /*#__PURE__*/React.createContext(undefined);
@@ -15,7 +17,7 @@ if (process.env.NODE_ENV !== "production") ToolbarContext.displayName = "Toolbar
15
17
  function useToolbarContext() {
16
18
  const context = React.useContext(ToolbarContext);
17
19
  if (context === undefined) {
18
- throw new Error('MUI X: Missing context. Toolbar subcomponents must be placed within a <Toolbar /> component.');
20
+ throw new Error(process.env.NODE_ENV !== "production" ? 'MUI X: Missing context. Toolbar subcomponents must be placed within a <Toolbar /> component.' : (0, _index.default)(63));
19
21
  }
20
22
  return context;
21
23
  }
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import _formatErrorMessage from "../formatErrorMessage/index.mjs";
3
4
  import * as React from 'react';
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  export const ToolbarContext = /*#__PURE__*/React.createContext(undefined);
@@ -7,7 +8,7 @@ if (process.env.NODE_ENV !== "production") ToolbarContext.displayName = "Toolbar
7
8
  export function useToolbarContext() {
8
9
  const context = React.useContext(ToolbarContext);
9
10
  if (context === undefined) {
10
- throw new Error('MUI X: Missing context. Toolbar subcomponents must be placed within a <Toolbar /> component.');
11
+ throw new Error(process.env.NODE_ENV !== "production" ? 'MUI X: Missing context. Toolbar subcomponents must be placed within a <Toolbar /> component.' : _formatErrorMessage(63));
11
12
  }
12
13
  return context;
13
14
  }
@@ -0,0 +1,2 @@
1
+ export * from "./ToolbarContext.mjs";
2
+ export * from "./useRegisterToolbarButton.mjs";
@@ -0,0 +1,2 @@
1
+ export * from "./ToolbarContext.mjs";
2
+ export * from "./useRegisterToolbarButton.mjs";
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import useId from '@mui/utils/useId';
5
- import { useToolbarContext } from "./ToolbarContext.js";
5
+ import { useToolbarContext } from "./ToolbarContext.mjs";
6
6
  export function useRegisterToolbarButton(props, ref) {
7
7
  const {
8
8
  onKeyDown,
@@ -0,0 +1 @@
1
+ export { loadStyleSheets } from "./loadStyleSheets.mjs";
@@ -0,0 +1 @@
1
+ export { loadStyleSheets } from "./loadStyleSheets.mjs";
@@ -0,0 +1 @@
1
+ export { fastArrayCompare } from "./fastArrayCompare.mjs";