v9.1.0
v9.1.0
View on GitHubView PackagePublished: Jun 8, 2026

Release Notes

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

@mui/[email protected]

  • [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/[email protected]

  • [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