Material UI

Frameworks & Libraries

React components implementing Google's Material Design.

Latest v9.3.1 · by MUIWebsitemui/material-ui

Release activity

Release activity — 10 releases across 7 days since Apr 8, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Apr 8, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
MondayNo releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 20261 release on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 20262 releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 20261 release on Aug 5, 2026
ThursdayNo releases on Apr 30, 20262 releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 20261 release on Aug 6, 2026
FridayNo releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 20261 release on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026

10 releases since Apr 8, 2026, busiest day 2

Changelog

v9.3.1

Added 1
  • Add more unit tests for pagination
Fixed 2
  • Prevent exit transitions from getting stuck in transitions
  • Include transforms in published package for codemod

A big thanks to the 4 contributors who made this release possible.

@mui/material@9.3.1
  • [transitions] Prevent exit transitions from getting stuck (#48881) @ZeeshanTamboli
@mui/codemod@9.3.1
  • Include transforms in published package (#48934) @brijeshb42
Core
  • [blog] Clarify early bird renewal discount scope (#48906) @DanailH
  • [test][pagination] Add more unit tests (#48927) @silviuaavram

All contributors of this release in alphabetical order: @brijeshb42, @DanailH, @silviuaavram, @ZeeshanTamboli

View originalPermalink
How v9.3.1 went

v9.3.0

Added 4
  • Autocomplete announces its loading and no options messages through a new status slot
  • Form Control Label has missing labelPlacementEnd class
  • Menu Item includes aria-checked attribute for checkbox and radio menu items
  • Table Pagination adds focus style to default InputBase used in Select
Changed 5
  • Toggle Button Group keyboard navigation now follows the roving tabindex pattern
  • Button Group respects global disableRipple and disableFocusRipple settings in grouped buttons
  • Checkbox and Radio respect global disableRipple from MuiButtonBase defaultProps
  • Modal replaces custom findIndexOf with findIndex
  • v5.0.0/path-imports codemod transforms all style exports
Fixed 5
  • Fix typos in List Item Button component code
  • Modal and Dialog fix scrollbar compensation in Shadow DOM
  • Select fixes endAdornment overlapping the open indicator
  • Prevent prototype pollution in cssVarsParser
  • Codemod v5.0.0/path-imports does not leak state between files
Removed 1
  • Codemod removes use of eval()

A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:

  • ♿️ Keyboard navigation in the Toggle Button Group now follows the roving tabindex pattern.
  • ♿️ The Autocomplete announces its loading and no options messages through a new status slot.
@mui/material@9.3.0
  • [autocomplete] Wrap the no results and loading messages in an aria live region (#48690) @silviuaavram
  • [buttongroup] Respect global disableRipple / disableFocusRipple in grouped buttons (#48762) @siriwatknp
  • [checkbox][radio] Respect global disableRipple from MuiButtonBase defaultProps (#48795) @siriwatknp
  • [formcontrollabel] Add missing labelPlacementEnd class (#48843) @siriwatknp
  • [listitembutton] Fix typos in component code (#48868) @ZeeshanTamboli
  • [menuitem] Add aria-checked for checkbox and radio menu items (#48651) @siriwatknp
  • [modal] Replace custom findIndexOf with findIndex (#48827) @ZeeshanTamboli
  • [modal][dialog] Fix scrollbar compensation in Shadow DOM (#48826) @ZeeshanTamboli
  • [select] Fix endAdornment overlapping the open indicator (#48723) @siriwatknp
  • [tablepagination] Add focus style to default InputBase used in Select (#48871) @silviuaavram
  • [togglebuttongroup] Add roving tabindex keyboard navigation (#48849) @silviuaavram
@mui/system@9.3.0
  • Prevent prototype pollution in cssVarsParser (#48822) @Janpot
@mui/codemod@9.3.0
  • Don't leak state between files in v5.0.0/path-imports (#48797) @manbearwiz
  • Remove use of eval() (#48701) @oliviertassinari
  • Transform all style exports in v5.0.0/path-imports codemod (#48800) @manbearwiz
Docs
  • Clarify container prop inheritance for Shadow DOM (#48670) @Juan-C-Ceballos
  • Clarify third-party script risk in CSP unsafe-inline note (#48787) @Janpot
  • Document box-sx-prop codemod (#48888) @SR0725
  • Document Grid direction column removal in v9 upgrade guide (#48880) @kalayciburak
  • Fix color contrast in GitHub labels example (#48844) @silviuaavram
  • Fix per-page canonical URL and stale SEO link (#48789) @brijeshb42
  • Fix redirect loop on the Design Kits page (#48869) @Janpot
  • Fix typo 'overriden' -> 'overridden' in CHANGELOG (#48785) @ZhouYinLong-lab
  • Improve TransferList examples (#48845) @silviuaavram
  • Link a new theme generator tool (#48847) @mansourcodes
  • Remove broken learning resource links (#48598) @morning-verlu
  • Update the 9.2.0 changelog (#48763) @silviuaavram
  • [autocomplete] Clarify how to render custom start and end adornments (#48883) @DebadityaHait
  • [drawer] Clarify clipped AppBar spacing (#48887) @rushijagani-dev
  • [menu] Fix stale selected prop reference in Selected menu section (#48879) @LukasTy
  • [skeleton] Document preserving typography sizing with custom border radius (#48596) @meaqua9420
Core
  • [blog] Fix caret annotation broken by Prettier wrapping (#48884) @bernardobelchior
  • [code-infra] Automate team sync on about page (#48794) @brijeshb42
  • [code-infra] Bump @mui/internal-code-infra to 0.0.4-canary.101 (#48878) @Janpot
  • [code-infra] Fix Dependabot alerts (#48756) @Janpot
  • [code-infra] Fix team sync PR creation (#48911) @brijeshb42
  • [code-infra] Pin node version in publish CI (#48799) @brijeshb42
  • [core-docs] Tighten service worker host check (#48581) @Janpot
  • [docs-infra] Change branch name to the allowed one (#48910) @brijeshb42

All contributors of this release in alphabetical order: @bernardobelchior, @brijeshb42, @DebadityaHait, @Janpot, @Juan-C-Ceballos, @kalayciburak, @LukasTy, @manbearwiz, @mansourcodes, @meaqua9420, @morning-verlu, @oliviertassinari, @rushijagani-dev, @silviuaavram, @siriwatknp, @SR0725, @ZeeshanTamboli, @ZhouYinLong-lab

View originalPermalink
How v9.3.0 went

v9.2.0

Added 3
  • Add support for data-* attributes on slotProps
  • Add missing MuiPagination localization to zh-CN locale
  • Add opt-in DataAttributesOverrides augmentation for slot props
Changed 1
  • Improve Icon Dialog responsiveness on small screens
Fixed 2
  • Guard display ref during mouse down in select component
  • Fix invalid UTF-8 in skill references

A big thanks to the 9 contributors who made this release possible.

@mui/material@9.1.3
  • [l10n] Add missing MuiPagination localization to zh-CN locale (#48741) @greymoth-jp
  • [select] Guard display ref during mouse down (#48744) @michelengelen
@mui/utils@9.1.3
  • [utils] Add opt-in DataAttributesOverrides augmentation for slot props (#48554) @LukasTy
Docs
  • [docs] Improve Icon Dialog responsiveness on small screens (#48639) @Prakash1185
  • [docs] Fix invalid UTF-8 in skill references (#48739) @mturac
Core
  • [code-infra] Resolve Renovate dashboard warnings (#48700) @Sushantplive
  • [code-infra] Validate npm publishing through dry run (#48691) @brijeshb42
  • [code-infra] Run prettier after renovate update (#48754) @Janpot
  • [code-infra] Fix 'A11y results committed?' check on react-pinned nightly jobs (#48740) @Janpot
  • [core] Remove leftover Joy UI references (#48719) @siriwatknp
  • [code-infra] Bump react-router to 7.15.1 (#48725) @Janpot
  • [docs-infra] Drive docs analytics IDs via ANALYTICS_ENV (#48694) @Janpot
  • [docs-infra] Pre-render API page descriptions (#48693) @brijeshb42
  • [code-infra][icons-material] Build lib/package.json with code-infra --no-expand (#48689) @Janpot
  • [code-infra] Fix react@18/next nightly workflow (#48635) @Janpot

All contributors of this release in alphabetical order: @brijeshb42, @greymoth-jp, @Janpot, @LukasTy, @michelengelen, @mturac, @Prakash1185, @siriwatknp, @Sushantplive

View originalPermalink
How v9.2.0 went

v9.1.2

Fixed 4
  • Don't submit forms when committing freeSolo value with Enter key in autocomplete
  • Fix RTG import in ESM for transitions
  • Fix script tag warning in Next.js 16 dev mode in InitColorSchemeScript
  • Fix code-block copy button broken on direct page load

A big thanks to the 5 contributors who made this release possible.

@mui/material@9.1.2
  • [autocomplete] Don't submit forms when committing freeSolo value with Enter key (#48679) @mj12albert
  • [transitions] Fix RTG import in ESM (#48645) @mj12albert
@mui/system@9.1.2
  • [InitColorSchemeScript] Fix script tag warning in Next.js 16 dev mode (#48671) @siriwatknp
Docs
  • Fix typos in release instructions (#48687) @brijeshb42
  • Update @mui/x-* packages to latest (#48661) @Janpot
Core
  • [code-infra] Convert leaf @mui/system .js+.d.ts pairs to TypeScript (part 1) (#48578) @Janpot
  • [code-infra] Bump to latest code-infra packages (#48672) @brijeshb42
  • [code-infra] Resolve remaining minimatch advisory (#48662) @Janpot
  • [code-infra] Bump nx to resolve minimatch advisory (#48658) @Janpot
  • [core] Drop @babel/* pnpm overrides (#48710) @Janpot
  • [docs-infra] Revert "Pin StackBlitz demo vite to v7 and plugin-react to v5" (#48709) @Janpot
  • [docs-infra] Fix code-block copy button broken on direct page load (#48653) @brijeshb42
  • [test] Stabilize Data Grid demo data in Argos screenshots (#48654) @LukasTy

All contributors of this release in alphabetical order: @brijeshb42, @Janpot, @LukasTy, @mj12albert, @siriwatknp

View originalPermalink
How v9.1.2 went

v9.1.1

Added 1
  • Support turbopack for docs
Changed 6
  • Update Autocomplete fullWidth prop documentation
  • Server-render InitColorSchemeScript in tests for React 19.3
  • Update dependencies to resolve Dependabot security alerts
  • Pin StackBlitz demo vite to v7 and plugin-react to v5
  • Port codebase to use tsgo
  • Run link checker during docs build instead of as separate CI step
Fixed 4
  • Fix focus ripple lingering after blur in ButtonBase
  • Mount child in Transition in same commit when opening from unmounted
  • Prevent enableCssLayer styles from being overridden by unlayered styles in styled-engine
  • Fix immutable cache headers for /_next/static assets in docs-infra

A big thanks to the 9 contributors who made this release possible.

@mui/material@9.1.1
  • [Autocomplete] Update fullWidth prop documentation (#48626) @vipin8797
  • [ButtonBase] Fix focus ripple lingering after blur (#48650) @siriwatknp
  • [InitColorSchemeScript] Server-render in tests for React 19.3 (#48604) @Janpot
  • [Transition] Mount child in same commit when opening from unmounted (#48649) @siriwatknp
@mui/styled-engine@9.1.1
  • [styled-engine] Prevent enableCssLayer styles from being overridden by unlayered styles (#48603) @Janpot
Docs
  • Send SOURCE to Brevo on newsletter subscribe (#48633) @aemartos
  • fix TypeScript heading capitalization (#48619) @ifer47
  • Remove outdated security section (#48628) @oliviertassinari
  • [legal] Update EULA links on website (#48642) @rluzists1
Core
  • Update dependencies to resolve Dependabot security alerts (#48641) @Janpot
  • [core-docs] Pin StackBlitz demo vite to v7 and plugin-react to v5 (#48643) @Janpot
  • [code-infra] Port codebase to use tsgo (#48616) @brijeshb42
  • [docs-infra] Fix immutable cache headers for /_next/static assets (#48655) @brijeshb42
  • [docs-infra] Run link checker during docs build instead of as separate CI step (#48634) @Janpot
  • [docs-infra] Support turbopack for docs (#48569) @brijeshb42
  • [test] Cover docs landing-page composites with Argos (#48589) @LukasTy

All contributors of this release in alphabetical order: @aemartos, @brijeshb42, @ifer47, @Janpot, @LukasTy, @oliviertassinari, @rluzists1, @siriwatknp, @vipin8797

View originalPermalink
How v9.1.1 went

v9.1.0

Added 3
  • Support for the prefers-reduced-motion setting
  • Improved support for Windows High Contrast mode with the enhanceHighContrast theme wrapper
  • Custom Transition component support in transitions
Changed 6
  • Badge now uses inline CSS variables for anchorOrigin and overlap positioning
  • StepConnector is now included inside Step element
  • Stepper now has proper support for vertical alternativeLabel
  • Select now allows spacebar to select elements
  • Select now supports typeahead when closed
  • StepButton now chooses higher contrast ripple color for dark mode focus
Fixed 11
  • Autocomplete now clears highlight when mouse leaves popup
  • Autocomplete freeSolo controlled values no longer cleared by initial null
  • Autocomplete item removal when it receives focus from VoiceOver before using Backspace
  • Autocomplete guard against null inputRef during unmount
  • Button customized flex gap styles
  • Dialog unwanted DialogPaper focus ring
Security 1
  • Prevent prototype pollution in fastDeepAssign

A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:

@mui/material@9.1.0
  • [autocomplete] Enable clearing highlight when mouse leaves popup (#48354) @mj12albert
  • [autocomplete] Fix freeSolo controlled values cleared by initial null (#48611) @mj12albert
  • [autocomplete] Fix item removal when it receives focus from VoiceOver before using Backspace (#48572) @silviuaavram
  • [autocomplete] Fix resetHighlightOnMouseLeave JSdoc (#48536) @mj12albert
  • [autocomplete] Guard against null inputRef during unmount (#48617) @noam3127
  • [badge] Add aria-hidden to badge content and polish docs demos (#48471) @mj12albert
  • [badge] Use inline CSS variables for anchorOrigin/overlap positioning (#48549) @siriwatknp
  • [button] Fix customized flex gap styles (#48542) @mj12albert
  • [dialog] Fix unwanted DialogPaper focus ring (#48535) @mj12albert
  • [focus trap] Fix incorrect tab order when tabIndex >= 1 (#48546) @mj12albert
  • [progress] Show runtime errors only once (#48591) @silviuaavram
  • [select] Allow spacebar to select elements (#48615) @silviuaavram
  • [select] Support typeahead when closed (#48563) @mj12albert
  • [step button] Choose higher contrast ripple color for dark mode focus (#48612) @silviuaavram
  • [stepper] Include StepConnector inside Step element (#48492) @silviuaavram
  • [stepper] Proper support for vertical alternativeLabel (#48485) @silviuaavram
  • [tabs] Fix React 18 roving tabindex and dedupe invalid-value warning (#48605) @Janpot
  • [theme] Add HighContrast theme enhancer (#48319) @silviuaavram
  • [timeline item] Fix extra ::before spacing when TimelineOppositeContent is present (#46663) @tyalau
  • [tooltip] Prevent stuck-open tooltip when child becomes disabled (#48606) @Janpot
  • [transitions] Custom Transition component (#48325) @mj12albert
  • [transitions] Support prefers-reduced-motion (#48357) @mj12albert
@mui/utils@9.1.0
  • [utils] Prevent prototype pollution in fastDeepAssign (#48580) @Janpot
Docs
  • [docs] Add function slotProps documentation (#48574) @mj12albert
  • [docs] Clarify styled-components version compatibility (#48533) @nightt5879
  • [docs] Fix broken URLs (#48520) @oliviertassinari
  • [docs] Fix invalid JSON in Zed MCP setup example (#48490) @pavan-sh
  • [docs] Mention release version for enhanceHighContrast (#48609) @silviuaavram
  • [docs] Remove outdated MUI X v8 notification (#48600) @cherniavskii
  • [docs] Remove redundant enhanceHighContrast information (#48632) @silviuaavram
  • [docs-infra] Decrease loaded bundle size on docs (#48584) @brijeshb42
  • [docs-infra] Drop multi-locale plumbing from API pages (#48370) @brijeshb42
  • [docs-infra] Fix Cookie banner heading (#48529) @oliviertassinari
  • [docs-infra] Infinitely cache all static assets (#48627) @brijeshb42
  • [docs-infra] Remove outdated noSEOadvantage entries (#48527) @oliviertassinari
  • [docs-infra] Restore build-only invariant throws via NEXT_RUNTIME guard (#48475) @Janpot
  • [docs-infra] Test HTML validation in broken links checker (#48088) @Janpot
  • [docs][icons] Fix Font Awesome Chip demo in dark mode (#48576) @siriwatknp
  • [docs][icons] Remove redundant font awesome demo (#48493) @ZeeshanTamboli
  • [docs][modal] Add nested modal guidance (#46507) @JakeSaterlay
  • [docs][stepper] Fix focus management in examples (#48494) @silviuaavram
Core
  • Eslint markdown (#48371) @Janpot
  • [agents] Fix some docs links (#48561) @silviuaavram
  • [blog] Copy editing improvement on v9 announcement blog posts (#48543) @joserodolfofreitas
  • [code-infra] Cleanup unused jss packages (#48590) @brijeshb42
  • [code-infra] Collapse canary workflows into nightly and nightly-cron (#48556) @Janpot
  • [code-infra] Convert @mui/private-theming to TypeScript (#48565) @Janpot
  • [code-infra] Convert @mui/styled-engine to TypeScript (#48544) @Janpot
  • [code-infra] Convert @mui/styled-engine-sc to TypeScript (#48577) @Janpot
  • [code-infra] Fix duplicate resource_class in test_regressions CI job (#48601) @LukasTy
  • [code-infra] Make @mui/internal-docs-utils compatible with TypeScript 6 (#48594) @Janpot
  • [code-infra] Migrate CircleCI jobs to Gen2 resource classes (#48593) @LukasTy
  • [code-infra] Parallelize visual regression screenshots (#48557) @Janpot
  • [code-infra] Run nightly-cron on v7.x (#48579) @Janpot
  • [core] Fix typescript@next typecheck (#48587) @Janpot
  • [pnpm] Add security settings to pnpm-workspace.yaml (#48582) @Janpot
  • [styled-engine-sc] Fix compatibility with Vite and Vitest (#48558) @mj12albert
  • [test] Add axe-core tests for mui-material (#48341) @siriwatknp
  • [test] Configure Tailwind CSS in the visual-regression app (#48575) @Janpot

All contributors of this release in alphabetical order: @brijeshb42, @cherniavskii, @JakeSaterlay, @Janpot, @joserodolfofreitas, @LukasTy, @mj12albert, @nightt5879, @noam3127, @oliviertassinari, @pavan-sh, @silviuaavram, @siriwatknp, @tyalau, @ZeeshanTamboli

View originalPermalink
How v9.1.0 went

v9.0.1

Added 1
  • Add internal useFormControlState hook
Fixed 18
  • Fix highlight sync and scroll preservation in Autocomplete
  • Fix input value and clear in Autocomplete
  • Fix iOS group scrollbar overflow in Autocomplete
  • Fix popper rendering issues in Autocomplete
  • Improve highlight tracking and selection state in Autocomplete
  • Fix startIcon alignment in Button
Removed 1
  • Remove IE 11-specific focus safety check from FocusTrap cleanup

A big thanks to the 25 contributors who made this release possible.

@mui/material@9.0.1
  • [accessibility] HighContrast mode on Avatar, Badge, Slider and Switch (#48320) @silviuaavram
  • [autocomplete] Fix highlight sync and scroll preservation (#48322) @mj12albert
  • [autocomplete] Fix input value and clear (#48263) @mj12albert
  • [autocomplete] Fix iOS group scrollbar overflow (#48400) @oliviertassinari
  • [autocomplete] Fix popper rendering issues (#48327) @mj12albert
  • [autocomplete] Improve highlight tracking and selection state (#48219) @mj12albert
  • [button] Fix startIcon alignment (#48332) @mj12albert
  • [button][button base] Document type attribute (#48146) @mj12albert
  • [button][fab][menu item][list item button] Remove duplicated className entries (#48213) @silviuaavram
  • [checkbox] Set aria-checked=mixed when indeterminate (#48147) @mj12albert
  • [circularprogress][linearprogress] Improve accessibility (#48172) @silviuaavram
  • [dialog][drawer][focus trap] Fix initial focus target (#48280) @mj12albert
  • [drawer] Fix swipe close flicker (#48372) @mj12albert
  • [drawer] Fix transition jump (#48308) @mj12albert
  • [focus trap] Remove IE 11-specific focus safety check from FocusTrap cleanup (#48368) @ZeeshanTamboli
  • [form controls] Add internal useFormControlState hook (#48344) @mj12albert
  • [icon button] Remove unused color palette mapping in styles (#48353) @sai6855
  • [icons] Revert to using wildcard export paths (#48381) @brijeshb42
  • [input] Fix layout shift with display: flex (#43839) @oliviertassinari
  • [input] Prevent notched prop leaking into DOM (#48281) @mj12albert
  • [input base] Place aria-label on the input element (#48283) @silviuaavram
  • [inputs] Fix autofocus in SSR environment (#48290) @mj12albert
  • [List] Fix sticky subheader overlapping iOS scrollbar (#48375) @sandeshdamkondwar
  • [popper] Persist positioning styles when popperOptions changes reference (#48121) @mj12albert
  • [select] Stop using combobox element for labeling (#48251) @silviuaavram
  • [select] Support single-pointer-cycle selection and pointer cancellation (#48328) @mj12albert
  • [switch] Fix incorrect role with slotProps.input (#48469) @mj12albert
  • [tabs] Fix scrollable tabs blocking pointer events (#48166) @mj12albert
  • [textfield] Fix autofill styles always in dark mode when CSS variables is used (#48244) @ZeeshanTamboli
  • [tooltip] Simplify RTL styles using CSS logical properties (#48351) @sai6855
  • [tooltip] Close Tooltip when its child becomes disabled (#44507) @chudesno
  • [typography] Fix h4 variant when using responsiveFontSizes() (#48314) @mj12albert
  • [useMediaQuery] Fix crash in Firefox extension (#45196) @Mr-Quin
@mui/system@9.0.1
  • [system] Fix theme mutation when using responsive typography shorthand in sx (#48266) @tomups
@mui/codemod@9.0.1
  • [codemod] Add --jsx option to v9.0.0/system-props codemod (#48315) @siriwatknp
  • [codemod] Add packageName support to the v9 system props codemod (#48253) @franco-dias
@mui/utils@9.0.1
  • [utils] Add shadow dom utils (#48256) @mj12albert
  • [utils] Fix resolveProps receiving empty string className (#48289) @SAY-5
  • [utils] Remove unnecessary excludeKeys from extractEventHandlers (#48481) @ZeeshanTamboli
Docs
  • [docs][autocomplete] Add demo with Tanstack Query useInfiniteQuery (#48356) @mj12albert
  • [docs] Add agent skills for styling, theming, Next.js, and Tailwind CSS integrations (#48187) @mapache-salvaje
  • [docs] Cleanup @mui/base (#48278) @mj12albert
  • [docs] Fix create-playground script (#48380) @imazizbohra
  • [docs] Fix date range calendar demo after MUI X v9 update (#48262) @LukasTy
  • [docs] Fix icon search modal (#48255) @mj12albert
  • [docs] Fix Material UI and MUI system "Upgrade to v9" docs (#48245) @ZeeshanTamboli
  • [docs] Fix Popover JSdoc (#48310) @nitzan-treg
  • [docs] Fix RTL toggle highlight in docs settings drawer (#48476) @sai6855
  • [docs] Fix typos (#48155) @ayushshukla1807
  • [docs] Fix typos (#48270) @pavan-sh
  • [docs] Fix versions page (#48261) @mnajdova
  • [docs] Fix vision grammar (#48477) @pavan-sh
  • [docs] Improve accessibility for select examples (#48250) @silviuaavram
  • [docs] Improve CSP guide with required directives (#48258) @Janpot
  • [docs] Link to agent skills in relevant docs (#48387) @mapache-salvaje
  • [docs] Make NumberField described by helper text (#48257) @silviuaavram
  • [docs] Remove esm.sh references and endorsement (#44649) (#48330) @starboyvarun
  • [docs] Remove generated CSS utility component doc (#48383) @mj12albert
  • [docs] Remove incorrect message from experiments page and hide /experiments from crawlers (#48297) @ZeeshanTamboli
  • [docs] Remove outdated references of .ttf and .woff (#48399) @oliviertassinari
  • [docs] Restore wider maxWidth for disableToc pages (#48260) @LukasTy
  • [docs] Show v9 announcement banner (#48242) @mnajdova
  • [docs] Sync team members from frontend-public endpoint (#48273) @Janpot
  • [docs] Update AGENTS.md testing section (#48392) @mj12albert
  • [docs] Update e2e test README and test error message (#48285) @ZeeshanTamboli
  • [docs] Update menu examples to always have aria-expanded (#48211) @silviuaavram
  • [docs] Update MUI Treasury links (#47760) @siriwatknp
  • [docs] Update MUI X dependencies to v9.0.0 (#48231) @siriwatknp
  • [docs] Update MUI X roadmap section (#48316) @siriwatknp
  • [docs] Update WCAG links and version from 2.1 to 2.2 (#48379) @mj12albert
  • [docs] Use React.useId() for demo IDs (#48300) @Janpot
Core
  • [blog] Introducing Material UI and MUI X v9 (#48157) @joserodolfofreitas
  • [code-infra] bundle size check internal core docs (#48390) @Janpot
  • [code-infra] Deduplicate vale script (#48385) @brijeshb42
  • [code-infra] Fix type shadowing (#48389) @Janpot
  • [code-infra] Migrate to vite from webpack for e2e tests (#48248) @brijeshb42
  • [code-infra] Remove a few ts-ignore comments (#43265) @Janpot
  • [code-infra] Remove no longer needed eslint-import-resolver-webpack package (#48207) @ZeeshanTamboli
  • [code-infra] Remove references to @mui/base and @mui/joy (#48358) @brijeshb42
  • [code-infra] Use vale rules from code-infra package (#48173) @brijeshb42
  • [core] Remove next.mui.com links (#48240) @mnajdova
  • [core-docs] Use type-only imports for type-only references (#48386) @JCQuintas
  • [docs-infra] Add x-chat to MuiProductId type and product switcher (#48209) @hasdfa
  • [docs-infra] Fix duplicate JSDoc in proptypes generation (#48304) @brijeshb42
  • [docs-infra] Fix duplicate JSDoc in proptypes generation for merged declarations (#48296) @brijeshb42
  • [docs-infra] Fix import of cjs react-simple-code-editor in esm (#48349) @brijeshb42
  • [docs-infra] Fix tab index on Base UI tab (#48345) @brijeshb42
  • [docs-infra] Migrate docs app container/frame components (#48182) @brijeshb42
  • [docs-infra] Migrate MarkdownDocs component to docs package (#48227) @brijeshb42
  • [docs-infra] Re-apply changes from previous revert (#48243) @brijeshb42
  • [docs-infra] Remove infra around the i18n setup (#48360) @brijeshb42
  • [docs-infra] Rename package to @mui/internal-api-docs-builder (#48230) @brijeshb42
  • [docs-infra] Revert JSDoc in proptypes generation for merged declarations (#48301) @brijeshb42
  • [docs-infra] Revert Migrate docs app container/frame components (#48239) @brijeshb42
  • [docs-infra] Revert Migrate MarkdownDocs component to docs package (#48238) @brijeshb42
  • [internal] Add missing #host-reference (#48226) @silviuaavram
  • [internal] Move changelog and update security page for post v9 release (#48298) @siriwatknp
  • [internal] Remove outdated .woff files (#48398) @oliviertassinari
  • [test] Fix autocomplete test description (#48395) @ZeeshanTamboli

All contributors of this release in alphabetical order: @ayushshukla1807, @brijeshb42, @chudesno, @franco-dias, @hasdfa, @imazizbohra, @Janpot, @JCQuintas, @joserodolfofreitas, @LukasTy, @mapache-salvaje, @mj12albert, @mnajdova, @Mr-Quin, @nitzan-treg, @oliviertassinari, @pavan-sh, @sai6855, @sandeshdamkondwar, @SAY-5, @silviuaavram, @siriwatknp, @starboyvarun, @tomups, @ZeeshanTamboli

View originalPermalink
How v9.0.1 went

v7.3.11

Added 1
  • Add shadow dom utils
Changed 2
  • Improve highlight tracking and selection state in autocomplete
  • Set aria-checked=mixed when indeterminate in checkbox
Fixed 10
  • Fix highlight sync and scroll preservation in autocomplete
  • Fix popper rendering issues in autocomplete
  • Fix startIcon alignment in button
  • Remove duplicated className entries in button
  • Fix initial focus target in dialog, drawer, and focus trap
  • Fix transition jump in drawer

A big thanks to the 5 contributors who made this release possible.

@mui/material@7.3.11
  • [autocomplete] Fix highlight sync and scroll preservation (#48350) @mj12albert
  • [autocomplete] Fix popper rendering issues (#48343) @mj12albert
  • [autocomplete] Improve highlight tracking and selection state (#48318) @mj12albert
  • [button] Fix startIcon alignment (#48339) @mj12albert
  • [button] Remove duplicated className entries (#48284) @silviuaavram
  • [checkbox] Set aria-checked=mixed when indeterminate (#48286) @mj12albert
  • [dialog][drawer][focus trap] Fix initial focus target (#48324) @mj12albert
  • [drawer] Fix transition jump (#48340) @mj12albert
  • [input] Fix layout shift with display: flex (#48359) @oliviertassinari
  • [inputs] Fix autofocus in SSR environment (#48307) @mj12albert
  • [popper] Persist positioning styles when popperOptions changes reference (#48302) @mj12albert
  • [switch] Fix incorrect role with slotProps.input (#48472) @mj12albert
  • [utils] Add shadow dom utils (#48309) @mj12albert
Docs
  • [docs] Update banner to announce v9 (#48299) @siriwatknp
  • [docs] Add v9 in the versions select in v7.mui.com (#48233) @alexfauquette
Core
  • [internal] Update some host-reference entries (#48225) @silviuaavram

All contributors of this release in alphabetical order: @alexfauquette, @mj12albert, @oliviertassinari, @silviuaavram, @siriwatknp

View originalPermalink
How v7.3.11 went

v9.0.0

Added 1
  • Add border to switch component to make it visible in high contrast mode
Changed 2
  • Use pointer events instead of mouse events in slider component
  • Improve transitions performance and apply miscellaneous fixes
Removed 1
  • Remove unnecessary overridesResolvers from styled components

🥳 We're excited to announce the stable release of Material UI v9.0! This major release focuses on accessibility improvements, sx prop performance, and cleanup of deprecated APIs. See the Material UI v9.0 announcement blog posts for more details. Also see the MUI v9 announcement blog posts for the broad ecosystem updates.

Check out the upgrade guide to see how you can move to this version.

@mui/material@9.0.0
  • [slider] Use pointer events instead of mouse events (#48164) @mj12albert
  • [switch] Add border to make it visible in high contrast mode (#48180) @silviuaavram
  • [transitions] Performance improvements & misc fixes (#48151) @mj12albert
  • Remove unnecessary overridesResolvers from styled components (#48204) @sai6855
Core
  • [code-infra] Setup workflow to publish internal packages (#47952) @brijeshb42
  • [core-docs] Add x-scheduler to MuiProductId type (#48185) @rita-codes
  • [docs-infra] Add scheduler to product switcher (#48208) @rita-codes
  • [internal] Prepare libraries for v9 stable release (#48206) @siriwatknp

🙇‍♂️ We'd like to extend a big thank you to everyone involved who made this major release possible.

View originalPermalink
How v9.0.0 went

v7.3.10

Added 4
  • Add root slot to Autocomplete component
  • Support full slots for clearIndicator and popupIndicator in Autocomplete
  • Add missing classes export to Popper
  • Add border to Switch to make it visible in high contrast mode
Changed 4
  • Revert cleanup of duplicated CSS rules in ListItemText and CardHeader
  • Accept readonly array for the value prop in Slider
  • Do not create channel tokens for custom colors when nativeColor is used in theme
  • Performance improvements and miscellaneous fixes in transitions
Fixed 7
  • Fix Autocomplete helper text focusing input when clicked
  • Fix Autocomplete popup reopening on window focus regain with openOnFocus
  • Optimize Autocomplete selected option lookup
  • Fix native button detection in ButtonBase
  • Fix high contrast cutoff on first character in Input
  • Fix focus visible always set on menu item in Select
  • Improve accessibility in Alert and Dialog components

A big thanks to the 15 contributors who made this release possible. A few highlights ✨:

  • 📖 Added the Menubar component page to the docs.
@mui/material@7.3.10
  • [alert][dialog] Accessibility improvements (#48161) @silviuaavram
  • [autocomplete] Add root slot (#47916) @GerardasB
  • [autocomplete] Fix helper text focusing input when clicked (#48162) @mj12albert
  • [autocomplete] Fix popup reopening on window focus regain with openOnFocus (#47914) @aman44444
  • [autocomplete] Optimize selected option lookup (#48027) @anchmelev
  • [autocomplete] Support full slots for clearIndicator and popupIndicator (#47913) @silviuaavram
  • [button-base] Fix native button detection (#47994) @mj12albert
  • [input] Fix high contrast cutoff on first character (#48160) @silviuaavram
  • [list item text][card header] Revert cleanup of duplicated CSS rules (#47938) @sai6855
  • [popper] Add missing classes export (#48033) @mj12albert
  • [select] Fix focus visible always set on menu item (#48022) @silviuaavram
  • [slider] Accept readonly array for the value prop (#47961) @pcorpet
  • [switch] Add border to make it visible in high contrast mode (#48210) @silviuaavram
  • [theme] Do not create channel tokens for custom colors when nativeColor is used (#48144) @ZeeshanTamboli
  • [transitions] Performance improvements & misc fixes (#48217) @mj12albert
Docs
  • [codemod] Add v7 migration docs for deprecated Autocomplete APIs and Autocomplete codemod (#47954) @ZeeshanTamboli
  • [menubar] Add Menubar component page (#47942) @siriwatknp
  • [progress] Label all demo components (#48168) @mj12albert
  • [system] Update styled API docs for easier understanding (#47969) @olivier-lxo
  • Fix the dark mode footer row shadow for the Data Grid on the advanced components page (#48152) @arminmeh
  • Fix MUI X redirects (#47917) @cherniavskii
  • Use direct palette vars in Tailwind v4 snippet (#47955) @Ahmad-Alaziz
Core
  • [blog] Blogpost for upcoming price changes for MUI X (#47820) @DanailH
  • [blog] Update the 2026 price changes blogpost (#47944) @DanailH
  • [code-infra] Add pkg-pr-new as dev dependency (#48023) @silviuaavram
  • [docs-infra] Update Release Instructions and Search Index v7 (#48109) @dav-is

All contributors of this release in alphabetical order: @Ahmad-Alaziz, @aman44444, @anchmelev, @arminmeh, @cherniavskii, @DanailH, @dav-is, @GerardasB, @mj12albert, @olivier-lxo, @pcorpet, @sai6855, @silviuaavram, @siriwatknp, @ZeeshanTamboli

View originalPermalink
How v7.3.10 went
View all

Discussion