npm / @mui/material
@mui/material
What changed in @mui/material 9, from its official release notes, upgrade guides and advisories. Also covers @mui/icons-material. Sources checked 2026-10-19.
45 breaking1 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@mui/material 946 changes
Breaking changes 45
The legacy icon export was removed; use AddCircleOutlined instead.
The params shape passed to TextField from Autocomplete changed to match the new TextField API, including slotProps.htmlInput.
The legacy icon export was removed; use ChatBubbleOutlined instead.
The legacy icon export was removed; use CheckCircleOutlined instead.
The deprecated Tooltip prop was removed; use slots instead.
The deprecated Tooltip prop was removed; use slotProps instead.
The legacy icon export was removed; use DeleteOutlined instead.
The legacy icon export was removed; use DoneOutlined instead.
The legacy icon export was removed; use DriveFileMoveOutlined instead.
The legacy icon export was removed; use ErrorOutlined instead.
The deprecated Tabs CSS class was removed; use the list class instead.
The deprecated Tabs CSS class was removed; combine the list and vertical classes instead.
The deprecated TextField prop was removed; use slotProps.formHelperText instead.
The deprecated ToggleButtonGroup CSS class was removed; use the horizontal and grouped class combination instead.
The deprecated ToggleButtonGroup CSS class was removed; use the vertical and grouped class combination instead.
The legacy icon export was removed; use HelpOutlined instead.
The deprecated TableSortLabel CSS class was removed; combine MuiTableSortLabel-directionAsc and MuiTableSortLabel-icon instead.
The deprecated TableSortLabel CSS class was removed; combine MuiTableSortLabel-directionDesc and MuiTableSortLabel-icon instead.
The deprecated Tab CSS class was removed; use the icon class instead.
The legacy icon export was removed; use InfoOutlined instead.
The deprecated TextField prop was removed; use slotProps.inputLabel instead.
The deprecated TextField prop was removed; use slotProps.input instead.
The deprecated TextField prop was removed; use slotProps.htmlInput instead.
The legacy icon export was removed; use LabelImportantOutlined instead.
The legacy icon export was removed; use LightbulbOutlined instead.
The legacy icon export was removed; use LockOutlined instead.
The legacy icon export was removed; use MailOutlined instead.
The legacy icon export was removed; use ModeEditOutlined instead.
The deprecated Typography CSS class and prop were removed; style paragraph elements with .MuiTypography-root:where(p), and use sx for margin bottom.
The legacy icon export was removed; use PauseCircleOutlined instead.
The legacy icon export was removed; use PeopleOutlined instead.
The legacy icon export was removed; use PersonOutlined instead.
The legacy icon export was removed; use PieChartOutlined instead.
The legacy icon export was removed; use PlayCircleOutlined instead.
The legacy icon export was removed; use RemoveCircleOutlined instead.
The deprecated Tabs prop was removed; use slots.scrollButtons instead.
The deprecated TextField prop was removed; use slotProps.select instead.
The deprecated Tabs slot name was removed; use slots.endScrollButtonIcon instead.
The deprecated Tabs slot name was removed; use slots.startScrollButtonIcon instead.
The legacy icon export was removed; use StarOutlined instead.
Deprecated system props were removed from Box, DialogContentText, Grid, Link, Stack, Typography, TimelineContent, and TimelineOppositeContent; use sx instead.
The deprecated Tabs prop was removed; use slotProps.indicator instead.
The deprecated Tabs prop was removed; use slotProps.scrollButtons instead.
The legacy icon export was removed; use WorkOutlined instead.
The legacy icon export was removed; use WorkspacesOutlined instead.
Fixes and other changes 1
When a system prop such as color is supplied with the component prop, it is now correctly forwarded to the rendered element instead of being consumed.