Jan 17, 2022
A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
- 🛠 @siriwatknp added support for callbacks in styleOverrides (#30524)
- 🧩 @ZeeshanTamboli and @VicHofs improved customization of components (#30515, #30212)
- 🛠 @hbjORbj fixed the use of ResizeObserver in Masonry component (#29896)
- 📄 @danilo-leal and @siriwatknp created our own blog home page (#30121)
- [Autocomplete] Add ability to pass props to
Paper
component (#30515) @ZeeshanTamboli - [Select] Add defaultOpen prop (#30212) @VicHofs
- [system][box, grid, typography]
textTransform
prop should work directly on component (#30437) @hbjORbj - [system] Support callback value in
styleOverrides
slot (#30524) @siriwatknp
- [Masonry] Observe every masonry child to trigger computation when needed (#29896) @hbjORbj
- [MobileDatePicker] Fix calling onOpen when readOnly is true (#30561) @alisasanib
- [codemod] Bump
jscodeshift
to removecolors
dependency (#30578) @siriwatknp
- [styled-engine-sc] Add the withConfig API to enable using the babel plugin for styled-comonents (#30589) @mnajdova
- [Joy] Add
SvgIcon
component (#30570) @hbjORbj
- [SliderUnstyled] Add useSlider hook and polish (#30094) @mnajdova
- [docs] End code block in test/README.md (#30531) @yaboi
- [docs] Remove redundant grouping in /components/radio-buttons/ (#30065) @eps1lon
- [docs] Update migration scripts and e2e tests (#30583) @siriwatknp
- [docs] Fix migration guides for versions older than v4 (#30595) @kkirsche
- [docs] Inform about specific files for DataGrid locales (#30411) @alexfauquette
- [docs] jss-to-tss migration advise to drop clsx in favor of cx (#30527) @garronej
- [docs] Fix integration with MUI X (#30593) @oliviertassinari
- [docs] Adding peer dependencies explanation on @mui/lab README.md (#30532) @glaucoheitor
- [docs] Add missing quote in migration docs (#30587) @Atralbus
- [docs] Update link to Doit sponsor (#30586) @oliviertassinari
- [docs] Add products identifier and drawer (#30283) @siriwatknp
- [website] Fix code button with installation command (#30622) @danilo-leal
- [website] Add a Blog index page (#30121) @danilo-leal
- [website] Migrate Twitter from @MaterialUI to @MUI_hq @oliviertassinari
- [website] Add Andrii to the About Us page (#30581) @cherniavskii
- [core] Revert changes to peer dependencies (#30662) @oliviertassinari
- [core] Renovate should not try to update node (#30659) @oliviertassinari
- [core] Remove dead files (#30663) @oliviertassinari
- [core] Fix outdated TypeScript template (#30596) @oliviertassinari
- [core] Remove extra
</p>
from header of README.md (#30530) @yaboi - [core] Fix
docs:api
script for Windows OS (#30533) @ZeeshanTamboli
All contributors of this release in alphabetical order: @alexfauquette, @alisasanib, @Atralbus, @cherniavskii, @danilo-leal, @eps1lon, @garronej, @glaucoheitor, @hbjORbj, @kkirsche, @mnajdova, @oliviertassinari, @siriwatknp, @VicHofs, @yaboi, @ZeeshanTamboli
Jan 10, 2022
A big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
- A meaningful number of 🐛 bug fixes and 📚 documentation improvements.
- [TextField][inputlabel] Remove
pointer-events: none
property (#30493) @hbjORbj - [Slider] Add
input
slot to components and componentsProps (#30362) @alexandre-lelain
- [Joy] Add
Typography
component (#30489) @siriwatknp - [Joy] Add functional
Switch
component (#30487) @siriwatknp
- [docs] Update markdown parser to remove backticks from description (#30495) @aefox
- [docs] Fix the crash when applying custom colors (#30563) @siriwatknp
- [docs] Location change of Sebastian (#30528) @eps1lon
- [docs] Lint markdown in the CI (#30395) @oliviertassinari
- [docs] Fix
componentsProps
API docs and PropTypes (#30502) @ZeeshanTamboli - [docs] Codemod doc for overriding styles using tss (#30499) @garronej
- [docs] fix edge case when replacing data-grid url for migration (#30505) @siriwatknp
- [docs] fix replace url for migration (#30503) @siriwatknp
- [docs] Prepare scripts for migrating to new structure (#30386) @siriwatknp
- [docs] Adjust RTL Guide demos to fully support RTL (#30387) @noam-honig
- [docs] Move @eps1lon to community (#30473) @oliviertassinari
- [docs] Fix typo and spelling in the-sx-prop.md (#30482) @aefox
- [docs] More general docs polishing (#30371) @danilo-leal
- [website] Add José on the /about page (#30492) @danilo-leal
All contributors of this release in alphabetical order: @aefox, @alexandre-lelain, @danilo-leal, @eps1lon, @garronej, @hbjORbj, @noam-honig, @oliviertassinari, @siriwatknp, @ZeeshanTamboli
Jan 3, 2022
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
- 📓 Improvements on the Vietnamese (vi-VN) and Finnish (fi-FI) locales (#30426, #30442) @hckhanh @Certificate
- And more 🐛 bug fixes and 📚 documentation improvements.
- [Autocomplete] Fix calling onChange for duplicate values (#30374) @alisasanib
- [Avatar] Fix TypeScript error on imgProps (#30255) @ahmad-reza619
- [Badge] Fix
classes
prop TypeScript type (#30427) @ZeeshanTamboli - [SvgIcon] Allow viewBox to inherit from Component through inheritViewBox prop (#29954) @alex-dikusar
- [SvgIcon] Correct API docs and code style (#30470) @michaldudak
- [blog] 2021 (#30425) @oliviertassinari
- [docs] Fix typo on the Grid docs page (#30446) @abhi45
- [docs] Fix
useMediaQuery
SSR example to v5 theme API (#30454) @ValentinH - [docs] Improve the migration guide and add examples for transforming to
tss-react
(#30388) @mnajdova - [docs] Make the reference to the select clearer (#30460) @boazrymland
- [docs] Sync translations with Crowdin (#30385) @l10nbot
- [example] Avoid double rendering in the Remix example (#30366) @mnajdova
- [i18n] improve viVN locale (#30426) @hckhanh
- [l10n] Improve fiFI locale (#30442) @Certificate
- [website] Add new batch of open roles (#30282) @oliviertassinari
- [website] Refactor page context with next router (#30020) @siriwatknp
- [core] Automatically close issues that are incomplete and inactive (#30459) @oliviertassinari
- [core] Remove contrib tweet (#30455) @oliviertassinari
All contributors of this release in alphabetical order: @abhi45, @ahmad-reza619, @alex-dikusar, @alisasanib, @boazrymland, @Certificate, @hckhanh, @l10nbot, @michaldudak, @mnajdova, @oliviertassinari, @siriwatknp, @ValentinH, @ZeeshanTamboli
Dec 27, 2021
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
- 📓 The Norwegian Bokmål (nb-NO) locale was added (#27520) @wogsland
- 🛠 Introduced a new
useBadge
hook in the@mui/base
package (#30246) @mnajdova - And more 🐛 bug fixes and 📚 documentation improvements.
- [ButtonGroup] Fix typo in ButtonGroupContext's interface (#30376) @kealjones-wk
- [l10n] Add Norwegian Bokmål (nb-NO) locale (#27520) @wogsland
- [BadgeUnstyled] Add useBadge hook (#30246) @mnajdova
- [Joy] Button API (#29962) @siriwatknp
- [docs] Fix color coercion (#30319) @Janpot
- [blog] Fix file import conflict resolution (#30391) @oliviertassinari
- [docs] Fix crash on Safari because of unsupported lookahead feature (#30345) @cherniavskii
- [docs] Update to new website domain (#30396) @ryota-murakami
- [docs] Fix text from material-ui to @mui to reflect v5 name changes (#30393) @pupudu
- [docs] Fix a11y in Menu demos (#30378) @ZeeshanTamboli
- [docs] Document how to unmount transition child (#30382) @oliviertassinari
- [docs] The current standard for quotes is QUOTATION MARK @oliviertassinari
- [docs] Fix 404 links (#30380) @oliviertassinari
- [docs] Fix Breadcrumb description (#30307) @jamesmelzer
- [docs] Modify injection order for Gatsby and SSR examples (#30358) @ShuPink
- [docs] Improve the translation experience (#30373) @oliviertassinari
- [docs] Sync translations with Crowdin (#30176) @l10nbot
- [docs] Fix link to /size-snapshot (#30363) @oliviertassinari
- [docs] Fix incorrect aria label in SpeedDial demo (#30354) @chwallen
- [docs] Fix incorrect number of breakpoint helpers (#30353) @chwallen
- [docs] Update outdated links (#30260) @oliviertassinari
- [docs] Support redirects from old urls to /material/* (#30286) @siriwatknp
- [examples] Fix CSS modules integration (#30381) @oliviertassinari
- [website] Fix SEO issues (#30372) @oliviertassinari
- [website] Sync sponsors (#30259) @oliviertassinari
- [core] Rename Material-UI to MUI (#30338) @ZeeshanTamboli
- [core] Fix warning in dev mode (#30368) @oliviertassinari
- [core] Update
buildApi
script to support new structure (#30245) @siriwatknp
All contributors of this release in alphabetical order: @cherniavskii, @chwallen, @jamesmelzer, @Janpot, @kealjones-wk, @l10nbot, @mnajdova, @oliviertassinari, @pupudu, @ryota-murakami, @ShuPink, @siriwatknp, @wogsland, @ZeeshanTamboli
Dec 20, 2021
A big thanks to the 16 contributors who made this release possible. Here are some highlights ✨:
- 🛠 This release mostly improves what's behind the scenes: infrastructure and tests
- 📓 Danish (da-DK) locale was added (#29485) @mikk5829
- 🖌 Polished the design of Base components (#30149) and the docs in general (#29994) @danilo-leal
- 📚 Many additions and improvements to the documentation were made
- [l10n] Add Danish (da-DK) locale (#29485) @mikk5829
- [LoadingButton] Label progressbar by the LoadingButton (#30002) @eps1lon
- [Tabs] Remove unnecessary
Partial<>
type around TabIndicatorProps type (#30254) @ZeeshanTamboli
- [system] Use
useEnhancedEffect
to prevent flicker (#30216) @hbjORbj
- [pickers] Fix the wrong MuiClockPicker's ArrowSwitcher slot name (#30226) @rejetto
- [docs] Run JS compiler on markdown output (#29732) @Janpot
- [Badge] Add tests for
anchorOrigin
prop (#30147) @daniel-sachs - [docs] Add cssmodule injection order comments to Nextjs example (#30213) @ShuPink
- [docs] Remove extra word in Select component code example comments (#30281) @KThompso
- [docs] Improve the description of the Accordion (#30253) @jamesmelzer
- [docs] Heading capitalization convention @oliviertassinari
- [docs] Rename remaining 'unstyled' references to 'base' (#30206) @michaldudak
- [docs] Add to migration doc about ref type specificity (#30114) @hbjORbj
- [docs] Add script to clone pages (#30107) @siriwatknp
- [docs] Correct colors in breakpoints documentation (#30219) @michaldudak
- [docs] Sync icon search UI state with the url (#30075) @Janpot
- [docs] Base components demos design polish (#30149) @danilo-leal
- [docs] General documentation polish (#29994) @danilo-leal
- [examples] Fix typo in the remix example's README (#30289) @lemol
- [website] Remove expired gold sponsor (#30222) @oliviertassinari
- [website] Remove broken showcase links (#30217) @mnajdova
- [test] Reduce bundle size comparison memory consumption (#30195) @Janpot
- [core] make snapshot comparison more resilient (#30183) @Janpot
- [core] update formatted ts demo to support new structure (#30248) @siriwatknp
- [core] cache dependencies in github actions (#30211) @siriwatknp
- [core] fix root package version (#30204) @siriwatknp
- [core] Fail the build when the dangerjs script errors (#30186) @Janpot
- [test] Add E2E website tests (#30128) @siriwatknp
All contributors of this release in alphabetical order: @daniel-sachs, @danilo-leal, @eps1lon, @hbjORbj, @jamesmelzer, @Janpot, @KThompso, @lemol, @michaldudak, @mikk5829, @mnajdova, @oliviertassinari, @rejetto, @ShuPink, @siriwatknp, @ZeeshanTamboli
Dec 14, 2021
A big thanks to the 16 contributors who made this release possible. Here are some highlights ✨:
-
✨ Add
not
operator totheme.breakpoints
(#29311) @Philipp000const styles = (theme) => ({ root: { backgroundColor: 'blue', // Match [xs, md) and [md + 1, ∞) // [xs, md) and [lg, ∞) // [0px, 900px) and [1200px, ∞) [theme.breakpoints.not('md')]: { backgroundColor: 'red', }, }, });
-
And many more 🐛 bug fixes and 📚 improvements.
- [esm] Correct a styles imports (#29976) @Janpot
- [GlobalStyles] Fix
theme
type (#30072) @mnajdova - [Grid] Fix grid items to respond to the container's responsive columns (#29715) @kkorach
- [TextField] Fix missing space before asterisk in
OutlinedInput
's label (#29630) @alisasanib - [Transition] Allow any valid HTML attribute to be passed (#29888) @Janpot
- [types] Fix discrepancy between core and system
ThemeOptions
(#30095) @fmeum - [InputBase] Add prop for disabling global styles (#29213) @bryan-hunter
- [Select] Improve multiple logic (#30135) @ladygo93
- [system] Don't transition when re-appearing (#30108) @eps1lon
- [system] Add
not
operator tobreakpoints
(#29311) @Philipp000
- [BadgeUnstyled] Make it conformant with other base components (#30141) @mnajdova
- [icons] Correct location of icon download folder (#29839) @yaboi
- [docs] Explain the use of Select's label in FormControl (#30189) @michaldudak
- [docs] Don't run nprogress on shallow routing (#30087) @Janpot
- [docs] Add Data Driven Forms to related projects (#30078) @rvsia
- [docs] Sync translations with Crowdin (#30067) @l10nbot
- [docs] Fix link on "Custom variables" section in the Theming page #30100 @danilo-leal
- [docs] Fix justifyContent option in the Grid interactive demo (#30117) @danilo-leal
- [docs] Add tip to help access the docs of a previous version when finding answers in StackOverflow (#30101) @danilo-leal
- [docs] Fix import example inside Unstyled Backdrop section (#30098) @TheodosiouTh
- [website] Column pinning and Tree data are out (#30136) @oliviertassinari
- [survey] Remove survey promotion items (#30122) @danilo-leal
- [core] Fix link to Open Collective @oliviertassinari
- [core] Update snapshots and s3 fallback (#30134) @Janpot
- [ci] Update CI bucket (#30080) @Janpot
- [fix] size:snapshot for mui-material-next and mui-joy components (#30106) @Janpot
All contributors of this release in alphabetical order: @alisasanib, @bryan-hunter, @danilo-leal, @eps1lon, @fmeum, @Janpot, @kkorach, @l10nbot, @ladygo93, @michaldudak, @mnajdova, @oliviertassinari, @Philipp000, @rvsia, @TheodosiouTh, @yaboi
Dec 6, 2021
A big thanks to the 25 contributors who made this release possible. Here are some highlights ✨:
-
✨ We have introduced a new unstyled component in
@mui/base
:TablePagination
(#29759) @mnajdovaYou can follow our progress with unstyled components at https://github.com/mui-org/material-ui/issues/27170.
-
🎉 We have added an example of how to use MUI with Remix (#29952) @mnajdova
-
And many more 🐛 bug fixes and 📚 improvements.
- [Accordion] Add a test for handling
square
prop (#29972) @daniel-sachs - [Alert] Fix
square
Paper prop (#30027) @ZeeshanTamboli - [AvatarGroup] Allow specifying total number of avatars (#29898) @eduardomcv
- [Button] Fix regression from context API (#29982) @siriwatknp
- [Grid] Fix generated classes for
spacing
prop when the value is object (#29880) @jayeclark - [Select] Should not crash when an empty array is passed with
multiple
enabled (#29957) @Domino987
- [system] Fix return type of
createBox
(#29989) @mnajdova - [system] Support boolean values in typescript for the
sx
prop when used as array (#29911) @tasugi
- [utils] Add typings for
@mui-material/styles/cssUtils
(#29621) @Semigradsky
- [icons] Consolidate ignored icons into one list (#29843) @chao813
- [base] Fix missing ClickAwayListener barrel index export (#30000) @oliviertassinari
- [TablePaginationUnstyled] Introduce new component (#29759) @mnajdova
- [DateRangePicker] Fix
DateRangePickerDayProps
interface (#29067) @jonathanrtuck - [Pickers] Remove propagation of custom props to the
MonthPicker
component's DOM element (#30021) @ZeeshanTamboli - [StaticDatePicker] Add className and slot to PickerStaticWrapper (#29619) @kkorach
- [Joy] Theme setup (#29846) @siriwatknp
- [docs] Fix link in TypeScript doc page (#30044) @genzyy
- [docs] Remove the 'WIP' icon from the 'Group & Pivot' page title (#30077) @flaviendelangle
- [docs] Add warning that
@mui/styled-engine-sc
does not work in SSR (#30026) @mnajdova - [docs] Add section for CSS specificity in the migration guide (#30008) @hbjORbj
- [docs] Clarify comment in migration doc (#30076) @hbjORbj
- [docs] Sync translations with Crowdin (#30041) @l10nbot
- [docs] Explain how Paper changes shade in dark mode (#30003) @michaldudak
- [docs] Update nextjs-typescript-example (#29974) @huydhoang
- [docs] Add missing global state classes to API docs generator (#29945) @michaldudak
- [docs] Fix benchmarks folder link (#29981) @fourjr
- [docs] Improve wording in StackOverflow section of support page (#29956) @ronwarner
- [docs] Remove Black Friday sale notification (#29936) @mbrookes
- [examples] Fix typos in the Remix example (#30071) @MichaelDeBoey
- [examples] Add Remix example (#29952) @mnajdova
- [examples] Fix lint issue for displayName missing in the Next.js examples (#29985) @ZeeshanTamboli
- [Stack] Document system props in Stack API (#30069) @ThewBear
- [survey] Add a banner and card for promoting the 2021 survey (#29950) @danilo-leal
- [website] Correct the Careers page description (#30073) @michaldudak
- [website] Fix 301 links (#30040) @oliviertassinari
- [core] Batch small changes (#30042) @oliviertassinari
- [core] Transition to a new StackOverflow tag (#29967) @oliviertassinari
All contributors of this release in alphabetical order: @chao813, @daniel-sachs, @danilo-leal, @Domino987, @eduardomcv, @flaviendelangle, @fourjr, @genzyy, @hbjORbj, @huydhoang, @jayeclark, @jonathanrtuck, @kkorach, @l10nbot, @mbrookes, @MichaelDeBoey, @michaldudak, @mnajdova, @oliviertassinari, @ronwarner, @Semigradsky, @siriwatknp, @tasugi, @ThewBear, @ZeeshanTamboli
Nov 29, 2021
A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
- ♿️ Improved accessibility of
Snackbar
andTextField
in@mui/material
(#29782) (#29850) (#29852) @eps1lon. - 🎉 Added support for
sx
syntax insidestyled()
utility (#29833) @mnajdova. - 🎉 Added support for more options for
createCssVarsProvider
in@mui/system
(#29845) (#29857) @hbjORbj. - And many more 🐛 bug fixes and 📚 improvements.
- [MenuList] Add component prop (#29882) @Harshikerfuffle
- [Snackbar] Interrupt auto-hide on keyboard interaction (#29852) @eps1lon
- [Snackbar] Dismiss on Escape press (#29850) @eps1lon
- [TextField] Associate accessible name and description by default (#29782) @eps1lon
- [Joy] Add
Button
- 1st iteration (#29464) @siriwatknp
- [codemod] Fix alias import for box-sx-prop (#29902) @siriwatknp
- [system] CSSVarsProvider cleans up
html[style]
when unmounting (#29946) @eps1lon - [system] Add support for
disableTransitionOnChange
increateCssVarsProvider
(#29857) @hbjORbj - [system] Add support for
enableColorScheme
increateCssVarsProvider
(#29845) @hbjORbj
- [useId] Trade random collisions for collisions on overflow (#29781) @eps1lon
- [useIsFocusVisible] Convert to TypeScript (#29779) @eps1lon
- [docs] Fix v5-beta confusing example description (#29932) @oliviertassinari
- [docs] Apply the z-index on the right DOM element (#29934) @oliviertassinari
- [docs] Improve git diff format (#29935) @oliviertassinari
- [docs] Fix typo (#29866) @sinclairity
- [docs] Fix key display (#29933) @oliviertassinari
- [docs] Fix outdated link to next/link docs (#29937) @radlinskii
- [docs] Add how to pass
sx
prop (#29905) @siriwatknp - [docs] Fix typo in notifications @mbrookes
- [docs] Black Friday sale notification @mbrookes
- [website] Fix canonical links (#29938) @oliviertassinari
- [website] Fix SEO issues (#29939) @oliviertassinari
- [website] Improvements to the /x product page (#28964) @danilo-leal
- [core] Remove dead code (#29940) @oliviertassinari
- [core] Move benchmark CI job from AZP to CircleCI (#29894) @eps1lon
- [core] Fix PR detection pattern in test_bundle_size_monitor (#29895) @eps1lon
- [test] Fix browser tests (#29929) @eps1lon
- [test] Reject shorthand properties in style matchers (#29893) @eps1lon
All contributors of this release in alphabetical order: @danilo-leal, @eps1lon, @Harshikerfuffle, @hbjORbj, @mbrookes, @oliviertassinari, @radlinskii, @sinclairity, @siriwatknp
Nov 25, 2021
A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
This is an early release to fix export 'useId' (imported as 'React') was not found in 'react'
when bundling code depending on MUI Core.
- [AppBar][docs] Add a fully responsive demo to docs (#29829) @karakib2k18
- [core] Fix PR run detection in test_bundle_size_monitor (#29879) @eps1lon
- [core] Move bundle size monitoring to CircleCI (#29876) @eps1lon
- [docs] Add keys to Responsive AppBar demo (#29884) @mbrookes
- [docs] MUI's 2021 Developer survey (#29765) @newguy-123
- [docs] Smoother image loading UX (#29858) @oliviertassinari
- [Select] Fix select display value with React Nodes (#29836) @kegi
- [system] Add
experimental_sx
utility (#29833) @mnajdova - [test] Ignore "detected multiple renderers" warning for now (#29854) @eps1lon
- [useMediaQuery][utils] Remove usage of React 18 APIs (#29870) @eps1lon
All contributors of this release in alphabetical order: @eps1lon, @karakib2k18, @kegi, @mbrookes, @mnajdova, @newguy-123, @oliviertassinari
Nov 23, 2021
A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:
- 🧪 Created another unstyled component: TabsUnstyled (#29597) @mnajdova.
- 🎉 Updated the Material Icons set with the latest changes from Google (#29328) @michaldudak / (#29818) @chao813. This update adds 200 new icons and tweaks the appearance of many more. With it, we're getting close to having 2000 icons in our set.
- 🐛 Fixed bugs and improved the infrastructure and documentation 📚.
- [IconButton] Remove on hover effect when
disableRipple
is set (#29298) @adamfitzgibbon - [i18n] Add the amharic language (#29153) @NatiG100
- [material] Fix types for
variants.style
to accept callbacks (#29610) @mnajdova - [Popper] Simplify prop types (#29680) @michaldudak
- [Select] Include aria-selected=false when option not selected (#29695) @michaldudak
- [useMediaQuery] Fix crash in Safari < 14 and IE 11 (#29776) @eps1lon
- [useMediaQuery] Ensure no tearing in React 18 (#28491) @eps1lon
- [codemod] Fix
jss-to-styled
to support multiple withStyles (#29824) @siriwatknp
- [icons] Sync new Google Material Icons (#29818) @chao813
- [icons] Sync recent Material Icons from Google (#29328) @michaldudak
- [Box] Fix
sx
prop runtime issue when used as function (#29830) @mnajdova - [system] Fix
sx
throw error when value isnull
orundefined
(#29756) @siriwatknp - [system] Fix minor CssVars issues (#29747) @siriwatknp
- [styled-engine] Fix props inference in styled-engine (#29739) @Janpot
- [FormControlUnstyled]
focused
is always false unless explicitly set totrue
@mwilkins91 - [TabsUnstyled] Introduce new component (#29597) @mnajdova
- [DatePicker][timepicker] Add missing component declarations (#29517) @longzheng
- [Masonry] exports from root package (#29754) @abhinav-22-tech
- [pickers] Widen accepted
luxon
version range (#29761) @eps1lon
- [blog] MUI X v5 blog post (#29590) @DanailH
- [blog] Polish the Benny Joo joins MUI post (#29697) @oliviertassinari
- [CHANGELOG] Explain why we do breaking changes @oliviertassinari
- [core] Update latest issue template for codesandbox CI (#29783) @eps1lon
- [core] Ensure
@mui/core
is an alias for@mui/base
(#29762) @eps1lon - [docs] Fix broken Next and Previous links (#29711) @scallaway
- [docs] Add a note that ToggleButton exclusive does not enforce selection (#29812) @mmacu
- [docs] Update the list of supported locales (#29831) @michaldudak
- [docs] Update tooltip doc to better define touch action (#29717) @gnowland
- [website] Standardize the background color from the MUI team photos (#29738) @danilo-leal
- [website] Add Bharat to the About Us Page (#29714) @bharatkashyap
- [website] Add about page entry for jan (#29701) @Janpot
- [website] Adding Prakhar to the about page (#29737) @danilo-leal
- [test] Allow debugging with Chrome and VSCode inspector (#29777) @eps1lon
- [test] Use renderer clock instead of custom useFakeTimers call (#29778) @eps1lon
- [test] Only mock Date in regression tests (#29763) @eps1lon
- [test] Disable nightly integration tests on
next
branch (#29748) @eps1lon - [test] Allow configuring clock directly from
createRenderer
(#29684) @eps1lon - [test] Accept backslashes as path separators in test CLI (#29694) @michaldudak
- [utils] Use built-in hook when available for useId (#26489) @eps1lon
All contributors of this release in alphabetical order: @abhinav-22-tech, @adamfitzgibbon, @bharatkashyap, @chao813, @DanailH, @danilo-leal, @eps1lon, @gnowland, @Janpot, @longzheng, @michaldudak, @mmacu, @mnajdova, @mwilkins91, @NatiG100, @oliviertassinari, @scallaway, @siriwatknp
Nov 16, 2021
A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
- 🛠 Renamed
@mui/core
to@mui/base
(#29585) @michaldudak. - And many more 🐛 bug fixes and 📚 improvements.
- [Breadcrumbs][divider] Replace decimal spacing values with integers and css calc (#29526) @anikcreative
- [Select][nativeselect] Add
multiple
class (#29566) @aaronholla - [Popper] Split into PopperUnstyled and Popper (#29488) @michaldudak
- [Select] Make it clear that
Select
is not a root component (#29593) @hbjORbj - [l10n] Improved Dutch (nl-NL) locale (#29592) @flipvrijn
- [Table] Improve pagination range, use "en dash" over "hyphen" (#29579) @narekmal
-
[core] Rename mui/core to mui/base (#29585) @michaldudak
Based on the results of the poll and our internal discussions, we decided to rename the
@mui/core
package to@mui/base
. The main rationale for this is the fact that we use the term "Core" to refer to the core components product family, the one that includes Material Design components, unstyled components, System utilities, etc. Therefore, @mui/core was effectively a subset of MUI Core. This was confusing.The new name better reflects the purpose of the package: it contains unstyled components, hooks, and utilities that serve as a base to build on.
-import { useSwitch } from '@mui/core/SwitchUnstyled'; +import { useSwitch } from '@mui/base/SwitchUnstyled';
- [LoadingButton] Text variant spacing fixed for both start and end (#29194) @joshua-lawrence
- [Masonry] Check if container or child exists to prevent error (#29452) @hbjORbj
- [docs] Correct bundler configuration for using legacy MUI build (#29146) @petermikitsh
- [docs] Fix typo on autocomplete.md (#29570) @netizer
- [docs] Fix dark mode on branding pages (#29611) @alexfauquette
- [docs] Do not render CSS section in API docs navbar if there are no CSS classes (#29622) @ZeeshanTamboli
- [docs] Fix link locale handling (#29624) @oliviertassinari
- [docs] Fix Search navigation (#29623) @oliviertassinari
- [docs] Fix broken link & update MUI packages explanation (#29583) @siriwatknp
- [docs] Do not repeat language snippet in url in Algolia search (#29483) @hbjORbj
- [docs] Update
ThemeProvider
API link (#29573) @siriwatknp - [docs] Remove svg logos from the Support page (#29431) @oliviertassinari
- [docs] Link UXPin integration (#29422) @oliviertassinari
- [docs] Link to the new public roadmap for the design kits (#29433) @oliviertassinari
- [docs] correct bundler configuration for using legacy MUI build (#29146) @petermikitsh
- [website] Fix premium plan release date (#29430) @oliviertassinari
- [website] Add GitHub icon button to the navbar (#29640) @danilo-leal
- [blog] Support many authors in markdown pages (#29633) @m4theushw
- [core] Add
experiments
index page (#29582) @siriwatknp - [core] Move s3 bucket ownership to mui-org (#29609) @eps1lon
- [core] Improve support request message (#29614) @mnajdova
- [core] Use support request Github Action (#29594) @mnajdova
- [core] Remove unused
getJsxPreview
util (#29586) @ZeeshanTamboli - [core] Use GitHub issue forms (#28038) @oliviertassinari
- [core] Add playground (#29423) @oliviertassinari
- [test] Correctly identify what the
raf
helper is for (#29683) @eps1lon - [test] Verify a quilted ImageList is created as test title suggests (#29565) @daniel-sachs
- [test] Replace
createServerRender
withcreateRenderer
(#29503) @eps1lon - [test] Always ignore "useLayoutEffect has no effect on the server"-warning (#29502) @eps1lon
- [test] Restore StrictMode by default (#29589) @eps1lon
- [test] createPickerRender -> createPickerRenderer (#29575) @eps1lon
- [test] Allow experimental CLI to run exact test (#29685) @eps1lon
All contributors of this release in alphabetical order: @aaronholla, @alexfauquette, @anikcreative, @daniel-sachs, @eps1lon, @flipvrijn, @hbjORbj, @joshua-lawrence, @michaldudak, @mnajdova, @netizer, @oliviertassinari, @petermikitsh, @siriwatknp, @ZeeshanTamboli
Nov 8, 2021
A big thanks to the 33 contributors who made this release possible. Here are some highlights ✨:
- 🎉 Support custom elements under
ButtonGroup
(#28645) @ZeeshanTamboli - 🛠 Add support for arrays in the
sx
prop (#29297) @siriwatknp - And many more 🐛 bug fixes and 📚 improvements.
- [Autocomplete] Fix
hiddenLabel
prop ofTextField variant={filled}
inside Autocomplete (#29234) @jatinsandilya - [Box] Support generateClassName and defaultClassName (#29347) @siriwatknp
- [ButtonGroup] Fix variant outlined always has primary color borders on hover (#29487) @ZeeshanTamboli
- [ButtonGroup] Support different elements under ButtonGroup (#28645) @ZeeshanTamboli
- [CssBaseline] Add
enableColorScheme
prop so enable usingcolor-scheme
property to deal with dark mode (#29454) @alexfauquette - [FormControlLabel] Narrow the label type (#29324) @michaldudak
- [Grid] Fix usage when columns > 12 (#29196) @tanay123456789
- [InputBase] Do not repeat the same classname (#29353) @hbjORbj
- [InputBase] Remove WebkitAppearance from search type (#29383) @nicbarajas
- [ListItem] Add missing exports (#29571) @robcaldecott
- [Pagination] Allow customization of icons (#29336) @mbeltramin
- [TextField] Fix bootstrap, normalize.css, sanitize.css conflicts (#28674) @ChrisClaude
- [TextField] Fix invisible wrap within notched inputs (#29088) @DASPRiD
- [Tooltip]
open
prop incomponentsProps.popper
can be optional (#29370) @ZeeshanTamboli - [Tooltip] Fix
className
not getting applied from PopperProps (#29023) @ZeeshanTamboli - [useRadioGroup] Convert to TypeScript (#29326) @eps1lon
- [system] Introduce
mode
to CssVarsProvider (#29418) @siriwatknp - [system] Improve breakpoints resolver function (#29300) @hbjORbj
- [system] Add array support for
sx
prop (#29297) @siriwatknp
- [codemod] Add codemod parser flag (#29059) (#29229) @ElonVolo
- [DatePicker] Fix disabled/readOnly for view components (#28815) @adamfitzgibbon
- [Masonry] Fix crash on unmount when using React 18 (#29358) @eps1lon
- [Masonry] Improve height computation and detect changes in
children
(#29351) @hbjORbj
- [Joy] Update default theme (#29478) @siriwatknp
- [Joy] Export CssVarsProvider with default theme (#29150) @siriwatknp
- [Joy] Remove
private
to leverage CodeSandbox (#29280) @siriwatknp
- [docs] Add differences between styled and sx (#28685) @eric-burel
- [docs] Track usage of dark mode in Google Analytics (#29419) @oliviertassinari
- [docs] Remove create-mui-theme as it is no longer working (#29472) @IPJT
- [docs] Fix warnings in AppSearch (#29459) @eps1lon
- [docs] Add framework example for ClassNameGenerator (#29453) @siriwatknp
- [docs] Fix layout shift when scrolling (#29436) @oliviertassinari
- [docs] Fix layout-shift on id='main-content' (#29425) @oliviertassinari
- [docs] Remove usage of
process.browser
(#29438) @oliviertassinari - [docs] Add instruction on how to use the child selector API with emotion (#29350) @mnajdova
- [docs] Fix small typos (#29424) @oliviertassinari
- [docs] Fix TOC highlighting logic (#29435) @oliviertassinari
- [docs] Fix about page flags (#29314) @mbrookes
- [docs] Fix Box JS docs (#29282) @Pablion
- [docs] Update storybook section in migration to v5 docs (#28800) @siriwatknp
- [docs] Document how to enable color on dark mode (#29340) @Wimukti
- [docs] Display search functionality in all viewports (#28819) @eps1lon
- [docs] Query heading for ToC on demand (#29204) @eps1lon
- [docs] Add next.js styled-component guide and update links to example (#29118) @Jareechang
- [docs] Fix overriding
MuiTextField
's default props in the migration guide (#29174) @tm1000 - [docs] Fix "clickable" and "deletable" typos (#28702) @jacklaurencegaray
- [docs] Update migration-v4 docs for wrong import path (#29042) @busches
- [docs] Add GitHub icon change to "Migration from v4 to v5" guide (#29182) @dan-mba
- [website] Benny Joo joining MUI (#29499) @mnajdova
- [website] Update the
Print export
feature info on the pricing page (#29484) @DanailH - [website] Improve the dev rel role description (#29477) @oliviertassinari
- [website] Add customers section on Design Kits and Templates marketing pages (#29168) @danilo-leal
- [website] Improvements to the /core product page @danilo-leal
- [website] Fix typo on the About Page (#29286) @gssakash
- [core] Handle RecordType and FieldType in generatePropDescription.ts (#29467) @flaviendelangle
- [core] Convert a named color to lowercase (#29465) @ainatenhi
- [core] Allow to reuse functions from
docs:api
(#28828) @m4theushw - [core] Commit new nextjs 12 tsconfig (#29458) @eps1lon
- [core] Settle on MUI X for the official name (#29420) @oliviertassinari
- [core] Add mui as a npm keyword (#29427) @oliviertassinari
- [core] Fix issue template redirection (#29432) @oliviertassinari
- [core] Remove unecessary destructuration (#29354) @oliviertassinari
- [core] Use cross-env to set env variables in material-icons scripts (#29327) @michaldudak
- [core] Don't bump peer dependency ranges on dependency updates (#29303) @eps1lon
- [test] Fix browser tests (#29505) @eps1lon
- [test] Fix missing act warnings in latest React 18 alpha (#29357) @eps1lon
- [test] Replace
createClientRender
with newcreateRenderer
API (#29471) @eps1lon - [test] Fix possible "missing act" warning (#29463) @eps1lon
- [test] Remove render#baseElement (#29462) @eps1lon
- [test] Expose
AbortController
on global (#29360) @eps1lon - [test] Add internal test for uniqe
name
inRating
(#29329) @eps1lon - [test] Fix browser tests (#29305) @eps1lon
All contributors of this release in alphabetical order: @adamfitzgibbon, @ainatenhi, @alexfauquette, @busches, @ChrisClaude, @dan-mba, @DanailH, @danilo-leal, @DASPRiD, @ElonVolo, @eps1lon, @eric-burel, @flaviendelangle, @gssakash, @hbjORbj, @IPJT, @jacklaurencegaray, @Jareechang, @jatinsandilya, @m4theushw, @mbeltramin, @mbrookes, @michaldudak, @mnajdova, @nicbarajas, @oliviertassinari, @Pablion, @robcaldecott, @siriwatknp, @tanay123456789, @tm1000, @Wimukti, @ZeeshanTamboli
Oct 27, 2021
A big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
- 🔧 Fix reported TypeScript issues on the
@mui/system
package because some packages were not released
- [Autocomplete] Fix
clearOnBlur
prop (#29208) @hbjORbj - [Rating] Remove z-index from decimal stars (#29295) @williamhaley
- [system] Fix various issues reported by using @mui/styled-engine-sc (#29035) @mnajdova
- [system] Fix executing server-side Emotion component as function interpolation (#29290) @Andarist
- [blog] Q3 2021 Update (#28970) @oliviertassinari
All contributors of this release in alphabetical order: @Andarist, @hbjORbj, @oliviertassinari, @williamhaley
Oct 26, 2021
A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨:
- 🔧 Implement
Masonry
using Flexbox by @hbjORbj. - 🧪 Add three components to
@mui/base
by @rebeccahongsf and @hbjORbj.
- [codemod] Support new package name in
link-underline-hover
transformer (#29214) @siriwatknp
- [ClickAwayListener] Move to the core package (#29186) @hbjORbj
- [Popper] Move from mui-material to mui-base (#28923) @rebeccahongsf
- [TextareaAutosize] Move to the core package (#29148) @hbjORbj
- [Masonry] Improve demo styles (#29218) @hbjORbj
- [Masonry] Implement Masonry using Flexbox (#28059) @hbjORbj
- [icons] Add TipsAndUpdates icon (#29004) @hbjORbj
- [CardMedia] Apply specified
img
role instead of customimage
role (#29172) @eps1lon - [CSSBaseline] Remove incorrect @deprecated annotation (#29069) @adamfitzgibbon
- [Grid] Support custom columns with nested grid (#28743) @Devesh21700Kumar
- [InputBase] Remove wrong theme overriding with MUI's default theme (#29157) @hbjORbj
- [LoadingButton] Fix
fullWidth
styling (#28652) @nikitabobers - [Popper] make Popper display:none whenever it's closed (#29233) @adamfitzgibbon
- [Menu] Reduce min-height & padding in menu-item with dense property (#29180) @jatinsandilya
- [Tab]
iconPosition
prop added in Tab (#28764) @deepanshu2506 - [Tooltip] Correct inconsistent prop precedence (#29132) @michaldudak
- [system] Allow function type for
sx
prop (#29198) @hbjORbj - [system] Fix various issues reported by using @mui/styled-engine-sc (#29035) @mnajdova
- [system] Fix
colorScheme
conflict between application (#29139) @siriwatknp - [system] Add
unstable_createCssVarsProvider
api (#28965) @siriwatknp
- [docs] Fix path to
DataGrid
CSV export options page (#29220) @DanailH - [docs] Give anonymous components a name (#29189) @eps1lon
- [docs] Add deploy context variables (#29195) @siriwatknp
- [docs] Add MUI packages explanation (#29073) @siriwatknp
- [docs] Fix typo in CSP policy (#29187) @JuliaNeumann
- [docs] Dark mode conditional content rendering (#28665) @michal-perlakowski
- [docs] Fix ClassNameGenerator introduced version #29177 @siriwatknp
- [docs] Add missing
justifyContent
values and update box styling (#29117) @omarmosid - [docs] Make landing page hero section scrollable (#29141) @waxidiotic
- [docs] Discourage importing different bundles directly (#29133) @eps1lon
- [docs] Update module augmentation reference url (#29064) @gnowland
- [pricing] Add tooltip to pricing icon (#28959) @siriwatknp
- [Team] Add Alexandre in the about page (#29289)
- [website] Fix status label overflow in AdvancedShowcase (#29143) @LorenzHenk
- [website] Update legacy logos (#28908) @michaldudak
- [core] Order repro methods by preference (#29156) @eps1lon
- [core] Remove unnecessary usages of
useEventCallback
(#28910) @NMinhNguyen - [core] add
unstable_ClassNameGenerator
API (#29051) @siriwatknp - [core] Fix issues when using styled-components (#29048) @mnajdova
- [core] replace hard-coded classname with classes (#29070) @siriwatknp
- [test] Add documentation for visual regression tests (#29154) @eps1lon
- [test] Enable "missing act" warnings using new proposal (#29167) @eps1lon
All contributors of this release in alphabetical order: @adamfitzgibbon, @DanailH, @deepanshu2506, @Devesh21700Kumar, @eps1lon, @gnowland, @hbjORbj, @jatinsandilya, @JuliaNeumann, @LorenzHenk, @michal-perlakowski, @michaldudak, @mnajdova, @nikitabobers, @NMinhNguyen, @omarmosid, @rebeccahongsf, @siriwatknp, @waxidiotic
Oct 14, 2021
A big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
- 🧪 Added
UnstyledInput
anduseInput
hook in the the first component in @mui/base package @michaldudak (#28053) - 🐛 Fixed many bugs and improved the documentation 📚.
- [Chip] disable ripple only if onDelete is present. (#29034) @mottox2
- [Pagination] Fix clicking on
...
triggeringonChange
with page valuenull
(#28884) @ZeeshanTamboli - [Tabs] Alternative way to disable ":first-child is unsafe" error (#28982) @hbjORbj
- [Tabs] Fix ":first-child is potentially unsafe" error (#28890) @hbjORbj
- [transitions] Mark
children
as required where nullishchildren
would crash at runtime (#29028) @eps1lon
- [system] Update typing for
style
function (#28744) @hbjORbj
- [InputUnstyled] Create unstyled input and useInput hook (#28053) @michaldudak
- [DesktopDatePicker] add Paper props to pass down to Paper component (#28865) @amen-souissi
- [docs] Add JSDoc to
theme.breakpoints
(#29039) @eps1lon - [docs] Rename broken package names in docs pointing to
@mui/material
(#29006) @visualfanatic - [docs] Add troubleshooting guide for unexpected styles (#28907) @mnajdova
- [docs] Fix issues reported by ahref (#28986) @mnajdova
- [docs] Remove json translations for dropped locales (#28987) @mnajdova
- [docs] Fix type signature of renderGroup in Autocomplete (#28876) @tanyabouman
- [docs] Minor typo in v4-v5 migration docs (#28995) @kgregory
- [docs] Add
mui-image
related project (#28621) @benmneb - [docs] Update Getting Started Templates' Source URIs (#28929) @epodol
- [docs] Improve search experience (#28801) @siriwatknp
- [docs] Fix demo of the responsive drawer (#28226) @goncalovf
- [docs] Fix global theme link demo (#28974) @ZeeshanTamboli
- [docs] Update box example to use 'backgroundColor' rather than 'bgColor' (#28958) @Jareechang
- [docs] corrected
Box
import forsx-prop
example (#28873) @phudekar - [docs] Fix footnote ID links in CONTRIBUTING.md (#28849) @officialpiyush
- [docs] Fix color & density playground (#28803) @siriwatknp
- [docs] Improve visibility of styled engine configuration section in installation guide (#28903) @Jareechang
- [core] Prevent yarn cache growing infinitely (#29040) @eps1lon
- [core] Update browserslist (#29025) @eps1lon
- [core] Update
peerDependencies
to requirelatest
instead ofnext
(#29007) @eps1lon - [core] Increase memory limit for size:snapshot (#29005) @eps1lon
- [core] Init
private
Joy package (#28957) @siriwatknp - [test] Remove a11y snapshot tests (#28887) @eps1lon
All contributors of this release in alphabetical order: @amen-souissi, @benmneb, @epodol, @eps1lon, @goncalovf, @hbjORbj, @Jareechang, @kgregory, @michaldudak, @mnajdova, @mottox2, @officialpiyush, @phudekar, @siriwatknp, @tanyabouman, @visualfanatic, @ZeeshanTamboli
Oct 7, 2021
A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨:
- 🧪 Created the first component in @mui/material-next - our v6 prototype package.
- 🐛 Fixed many bugs and improved the documentation 📚.
- [Stack] Add props & variants types in the theme (#28843) @mnajdova
- [InputLabel] Fix condition for applying formControl overrides (#28707) @yevheniiminin
- [Tooltip] Allow overriding internal components and their props (#28692) @michaldudak
- [transitions] Fix
addEndListener
not being called with the DOM node (#28715) @eps1lon
- [codemod] Fix
optimal-imports
to support v4 and v5-alpha, beta (#28812) @siriwatknp
- [system] Add padding/margin-block/inline to spacing (#28813) @smmoosavi
- Don't allow styled-components APIs on mui styled function (#28807) @hbjORbj
- [ButtonUnstyled] Don't set redundant role=button (#28488) @michaldudak
- [SliderUnstyled] Prevent unknown-prop error when using marks prop (#28868) @hbjORbj
- [pickers] Change view even if
onViewChange
is set (#28765) @eps1lon
- [Button-next] Create Button in material-next (#28313) @michaldudak
- [docs] Add alike v4 default button color in migration (#28881) @siriwatknp
- [docs] Use PNG instead of SVG for color preview (#28699) @eps1lon
- [docs] Use client-side navigation when activating docsearch results (#28750) @eps1lon
- [docs] Fluid icon size in icons search (#28747) @eps1lon
- [docs] Fix the wrong import in docs grid page (#28863) @taghi-khavari
- [docs] Fix typo in Pagination docs (#28864) @ZeeshanTamboli
- [docs] Fix 404 links (#28710) @mnajdova
- [docs] Fix typo in Mui CSS classname (#28725) @cacpgomes
- [docs] Match example to codesandbox demo and update ID link (#28762) @AnilSeervi
- [docs] Fix typo in system/box documentation (#28822) @iamsergo
- [docs] Use HTML standards for autocomplete attributes (#28827) @epodol
- [docs] Improve styled-components integration (#28713) @mnajdova
- [docs] Correct Select's menu placement description (#28748) @michaldudak
- [docs] AdapterDayJS -> AdapterDayjs (#28770) @veerreshr
- [docs] Theme documentation, typo fix (#28805) @saeedseyfi
- [docs] Add the last diamond sponsor (#28737) @hbjORbj
- [docs] Fix various links in CONTRIBUTING (#28751) @AnilSeervi
- [docs] Only add JSS to demos (#28698) @eps1lon
- [docs] Update v5 status in release schedule (#28700) @owais635
- [docs] Fix typo in /guides/styled-engine (#28720) @Sharry0
- [docs] Fix typo in chip documentation (#28641) @avranju94
- [docs] Fix versions page (#28682) @mnajdova
- [docs] Remove legacy team page (#28646) @mnajdova
- [website] add "React" to the hero description (#28830) @danilo-leal
- [website] Fix constantly reloading when Russian language is set (#28869) @mnajdova
- [website] Compress one avatar image on about us page (#28823) @hbjORbj
- [website] Hide 'become a diamond sponsor' box on landing page (#28814) @hbjORbj
- [website] Update Benny's profile on about us page (#28816) @hbjORbj
- [core] Remove
--exact
fromrelease:version
(#28840) @siriwatknp - [core] Neglect framer from release flow (#28680) @siriwatknp
- [test] Add a test for not allowing styled-components' APIs on mui
styled
function (#28862) @hbjORbj - [test] Fix instances where type tests were only passing due to object being part of ReactNode (#28804) @eps1lon
- [test] Move ByMuiTest to test/utils (#28509) @eps1lon
All contributors of this release in alphabetical order: @AnilSeervi, @avranju94, @cacpgomes, @danilo-leal, @epodol, @eps1lon, @hbjORbj, @iamsergo, @michaldudak, @mnajdova, @owais635, @saeedseyfi, @Sharry0, @siriwatknp, @smmoosavi, @taghi-khavari, @veerreshr, @yevheniiminin, @ZeeshanTamboli
Sep 29, 2021
A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
- 🔧 Improve
jss-to-styled
codemod to use new package names. - And many more 🐛 bug fixes and 📚 improvements.
- [Checkbox] Fix form submission with empty value (#28423) @garronej
- [Slider] Don't error on minimal changes with readonly value (#28472) @eps1lon
- [Switch] Fix style overrides on input (#28576) @praveenkumar-kalidass
- [useMediaQuery] Add types for
matchMedia
option and deprecate exported interfaces (#28413) @eps1lon
- [codemod] Add MenuItem v.1.0.0 transform for primaryText property (#28640) @dmitry-yudakov
- [codemod] Update the imports in
jss-to-styled
to match the new package names (#28667) @mnajdova
- [system] Fix types to support theme callbacks on pseudo and nested selectors (#28570) @mnajdova
- [docs] Remove languages: fr, de, ja, es, ru (#28663) @mnajdova
- [docs] Improve old doc versions discoverability (#28651) @danilo-leal
- [docs] Make the Toggle Button size demo use default icon size (#28656) @danilo-leal
- [docs] Uniformize the code's font family (#28582) @oliviertassinari
- [docs] Removed duplicate line in date-ranger-picker.md file (#28635) @naveen-bharathi
- [docs] Fix title MUI x2 (#28634) @oliviertassinari
- [docs] Polish email validation logic (#28255) @kiznick
- [docs] Improve migration-v4.md phrasing (#28253) @adamthewebguy
- [docs] Fix color in example (#28527) @alexeagleson
- [docs] Fix typo in generated class names section (#28549) @fxlemire
- [docs] Mention Premium pricing cap (#28581) @oliviertassinari
- [docs] Update examples to use latest mui #28565 @siriwatknp
- [docs] Push the fixes on Next.js's Link to the examples (#28178) @oliviertassinari
- [docs] Fix wrong name for zIndex's property example in /system/ (#28541) @chetrit
- [examples] Nextjs Link missing passHref #28588 (#28661) @Brlaney
- [website] Iteration on the pricing page (#28406) @danilo-leal
- [website] Batch fixes (#28564) @siriwatknp
- [core] Improve Renovate groups (#28642) @eps1lon
- [core] Batch small changes (#28553) @oliviertassinari
- [test] Document where the value for SwitchBase#value comes from (#28638) @eps1lon
- [test] Make
seconds
views
test pass in browsers (#28511) @eps1lon
All contributors of this release in alphabetical order: @adamthewebguy, @alexeagleson, @Brlaney, @chetrit, @danilo-leal, @dmitry-yudakov, @eps1lon, @fxlemire, @garronej, @kiznick, @mnajdova, @naveen-bharathi, @oliviertassinari, @praveenkumar-kalidass, @siriwatknp
Sep 22, 2021
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
- 🔎 Improve the search on the documentation.
- 📚 Improve the v4 to v5 migration guide.
- And many more 🐛 bug fixes and 📚 improvements.
- [Radio] Fix support for number value type (#26772) @sakura90
- [useMediaQuery] Reduce bundle size (#28412) @eps1lon
- [codemod] Cover edge case for theme-spacing #28400 @siriwatknp
- [DateTimePicker] Support
seconds
view
(#25095) @breitembach - [TimePicker] Fire change event when meridiem changes (#26600) @coder-freestyle
- [docs] Fix missing exit animation for transition Poppers (#28506) @eps1lon
- [docs] Fix migration v5 docs (#28530) @siriwatknp
- [docs] Avoid re-mounting the whole tree when switching theme direction (#28495) @eps1lon
- [docs] Fix html compliance (#28429) @oliviertassinari
- [docs] Use hyphen-case for CSS properties in /system/properties (#28489) @chetrit
- [docs] Update caret position in comments to match npm scope (#28426) @eps1lon
- [docs] Fix CONTRIBUTING to point out to master as targeted branch (#28396) @mnajdova
- [docs] Update examples to remove 'beta' (#28475) @oliviertassinari
- [docs] Fix 404 links to MUI X API (#28176) @oliviertassinari
- [docs] Fix broken/incorrect attributes links in Avatar and NativeSelect API pages (#28417) @xenostar
- [docs] Explain how
<Alert icon={false} />
behaves (#28348) @nguyenkhanhnam - [docs] Fix typo in /system/the-sx-prop (#28393) @danwoods
- [docs] Correct the migration doc (#28391) @michaldudak
- [docs] Fix the notification display logic (#28389) @oliviertassinari
- [docs] Add notification for v5 @oliviertassinari
- [docs] Fix typo (#28521) @valse
- [website] Implement algolia redesign (#28252) @hbjORbj
- [website] Update data-grid dependencies #28531 @siriwatknp
- [website] Cleanup unused files after rebranding (#28505) @siriwatknp
- [website] Update /company pages to use marketing website Header and Footer (#28498) @danilo-leal
- [website] Optimize images (#28486) @michaldudak
- [website] Add components index page (#28485) @siriwatknp
- [website] Fix typo (#28478) @oliviertassinari
- [website] Fix crash (#28474) @oliviertassinari
- [website] Close the open engineering roles (#28428) @oliviertassinari
- [website] Fix 40x links (#28401) @mnajdova
- [website] Fix SEO issues reported by moz.com (#28402) @mnajdova
- [website] Fix production issues (#28384) @siriwatknp
- [core] Fix release:changelog base branch (#28533) @mnajdova
- [core] Remove code handling JSS components (#28421) @eps1lon
- [core] Remove unused dependencies (#28468) @eps1lon
- [core] Ensure both docs bundles are analyzeable (#28410) @eps1lon
- [core] Switch to webpack 5 (#28248) @eps1lon
- [core] Batch small changes (#28177) @oliviertassinari
- [core] Update publish tag to latest (#28382) @mnajdova
- [framer] Update @mui/* dependencies (#28469) @eps1lon
- [test] Add custom queries to
screen
(#28507) @eps1lon - [test] Run listChangedFiles against master (#28504) @eps1lon
- [test] Increase BrowserStack timeout for Firefox (#28476) @oliviertassinari
- [test] Use testing-library alpha when running React 18 tests (#28267) @eps1lon
All contributors of this release in alphabetical order: @breitembach, @chetrit, @coder-freestyle, @danilo-leal, @danwoods, @eps1lon, @hbjORbj, @michaldudak, @mnajdova, @nguyenkhanhnam, @oliviertassinari, @sakura90, @siriwatknp, @valse, @xenostar
Sep 16, 2021
After over 400 days of development and over 40 canary releases, we are excited to introduce MUI Core v5.0.0!
Some statistics with the released of v5.0.0 compared to the one of v4.0.0:
- 5,832 new commits
- From 2M downloads/month to 9.5M downloads/month on npm
- From 350k users/month to 700k users/month on the documentation
A big thanks to the 600+ contributors who made the release possible!
The 5.0.0 version includes all changes done in the alpha, beta, and rc releases listed below. These are the changes done from the last release candidate version (5.0.0-rc.1):
- [Autocomplete] Fix reset value on blur for freeSolo input (#28190) @praveenkumar-kalidass
- [ButtonBase] Revert to the pre-unstyled implementation (#28225) @michaldudak
- [Checkbox] Fix color proptype typo (#28265) @sydneyjodon-wk
- [Tooltip] Ensure user-select CSS property is reverted after touch end (#28372) @tholman
- [system] Fix missing typings for createSpacing (#28361) @eps1lon
- [codemod] Fix jss-to-styled to support other export class, function etc. (#28321) @jedwards1211
- [DateTimePicker] Change bottom position of AM/PM buttons (#27534) @nikitabobers
- [pickers] Add visual regression tests for open views (#28224) @eps1lon
- [blog] Introducing MUI Core v5.0 (#27912) @oliviertassinari
- [docs] Fix quotes in font-face literal (#28260) @Aurelain
- [docs] Update redirects to X's docs (#28263) @m4theushw
- [docs] Change Material-UI to MUI in the console (#28270) @mbrookes
- [docs] Docs redesign adjustments (#28203) @mnajdova
- [docs] How to compose theme in steps (#28246) @goncalovf
- [docs] Fix DataGrid demo console warning in Table docs (#28235) @ZeeshanTamboli
- [docs] Fix typo in v4 to v5 migration guide (#28353) @zadeviggers
- [docs] Fix typo in transition docs (#28312) @tamboliasir1
- [docs] Use https for material-ui & reactcommunity links (#28304) @aghArdeshir
- [docs] Add IBM Plex font locally (#28325) @siriwatknp
- [docs] Fix failing client-side navigation for /api routes (#28356) @eps1lon
- [docs] Update the nav order (#28323) @mbrookes
- [docs] Compress images with ImageOptim @oliviertassinari
- [docs] Replace remaining unstyled package reference (#28351) @michaldudak
- [docs] No import from react-router (#28329) @eps1lon
- [website] Refine website before go-live (#28081) @siriwatknp
- [website] Update manifest to new logo (#28355) @siriwatknp
- [website] Add product-x page (#28106) @siriwatknp
- [website] Revert store URL to material-ui.com/store (#28365) @michaldudak
- [website] Rename domain to mui.com (#28332) @mnajdova
- [core] Replace Material-UI with MUI (#28243) @mnajdova
- [core] Prepare for v5 stable release (#28240) @mnajdova
- [core] Mark lines that needs to be changed with a major release (#28238) @mnajdova
- [core] Various updates to what we consider the default branch (#28328) @eps1lon
- [core] Remove experimental bundle size tracking page (#28334) @eps1lon
- [core] Support release:build with cmd.exe (#28318) @michaldudak
- [core] Remove unnecessary titleize warning (#28349) @eps1lon
- [core] Batch small fixes (#28381) @oliviertassinari
- [test] Recommend yarn t over test:watch (#28254) @eps1lon
- [test] Lazily import fixtures (#28239) @eps1lon
- [test] Assert on user-select that has the same value across browsers (#28378) @eps1lon
All contributors of this release in alphabetical order: @aghArdeshir, @Aurelain, @eps1lon, @goncalovf, @jedwards1211, @m4theushw, @mbrookes, @michald udak, @mnajdova, @nikitabobers, @praveenkumar-kalidass, @siriwatknp, @sydneyjodon-wk, @tamboliasir1, @tholman, @zadeviggers, @ZeeshanTamboli
Sep 8, 2021
A big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
- 📚 Improved the codemod and migration guide for upgrading to v5
- 🐛 Fixed some bugs and regressions
- [Autocomplete] Fix virtualization regression (#28129) @oliviertassinari
- [Button] Use deeper imports from unstyled, correct docs (#28074) @michaldudak
- [ButtonBase] Fix ripple persisting on blur (#28186) @michaldudak
- [Link] Infer
ref
type fromcomponent
(#28101) @eps1lon - [Popper] Fix bundle size regression (#27910) @oliviertassinari
- [Select] Merge
ref
ofSelect
andinput
element (#28054) @DouglasPds - [Tabs] Improve error message formatting for invalid
value
(#28172) @eps1lon
- [system] Change type of return value of overridesResolver (#28220) @hbjORbj
- [system] Fix zero value condition (#28219) @siriwatknp
- [system] Shorten class names in production (#27932) @oliviertassinari
- [codemod] Fix various reported issues on
preset-safe
(#28183) @mnajdova
- [ClockPicker] Fix to narrow hover area for am hours in am/pm clock (#28207) @eps1lon
- [Masonry] Improve the styling on the demos (#27957) @hbjORbj
- [MasonryItem] Fix crash on unmount when using React 18 (#28202) @eps1lon
- [docs] Fixes makeStyles migration example (#28213) @RomarQ
- [docs] Fix some outdated migration guide (#28222) @siriwatknp
- [docs] Update previews (#28223) @eps1lon
- [docs] Demo how to use a specific slide direction for Snackbar (#28211) @goncalovf
- [docs] Improve docs for creating dark theme (#28104) @mnajdova
- [docs] Don't use Material theme in unstyled demos (#28073) @michaldudak
- [docs] Fix api doc import example (#28199) @siriwatknp
- [docs] Remove demo for re-creating Material-UI switches (#28042) @eps1lon
- [docs] Improve legibility of CTA on landing page (#28124) @akashshyamdev
- [docs] Fix Link outdated default underline prop (#28134) @outofgamut
- [docs] Fix branding theme leaking on the templates (#28120) @mnajdova
- [docs] Fix wrong package name in codemod (#28118) @aleccaputo
- [docs] Cancelled subscription @oliviertassinari
- [docs] Remove style duplication (#28087) @oliviertassinari
- [docs] Fix migration guide typo (#28113) @paullaros
- [docs] Reorder app bar actions (#28089) @mnajdova
- [docs] Support Material design theme in MarkdownElement (#28109) @eps1lon
- [docs] Improve diamond sponsors in the navigation (#28090) @mnajdova
- [docs] Remove unnecessary comma (#28072) @michaldudak
- [website] Add new careers page (#28184) @hbjORbj
- [website] Disable Next.js font optimization (#28128) @michaldudak
- [website] Polish design-kits & templates (#28131) @siriwatknp
- [website] Update utm referral params #28040 @siriwatknp
- [core] Misc bundle size tracking improvements (#28205) @eps1lon
- [core] Ensure code preview is valid JavaScript (#28215) @eps1lon
- [core] Create @mui/material-next package (#28200) @michaldudak
- [core] Rename directories to match the new package names (#28185) @mnajdova
- [core] Remove unused include (#28187) @eps1lon
- [core] Fix PR detection mechanism for upstream PRs (#28171) @eps1lon
- [core] Simplify ResizeObserver logic (#28037) @oliviertassinari
- [core] Include TS modules in rollup import resolution (#28094) @michaldudak
- [test] Update test to consider unsuppressed double render logs in React 18 (#28068) @eps1lon
- [typescript] Make types of componentsProps consistent (#27499) @michaldudak
All contributors of this release in alphabetical order: @akashshyamdev, @aleccaputo, @DouglasPds, @eps1lon, @goncalovf, @hbjORbj, @michaldudak, @mnajdova, @oliviertassinari, @outofgamut, @paullaros, @RomarQ, @siriwatknp
Sep 1, 2021
A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:
- 🎉 Renamed packages to
@mui/*
as part of rebranding the company, following the strategy of expanding the library scope beyond Material Design. For more details about it, check the GitHub discussion. - 🛠 Added
mui-replace
codemod for migrating@material-ui/*
to new packages@mui/*
. Check out this codemod detail or head to migration guide - 🧪 Added new
<Mansory>
component to the lab, check it out. It has been crafted by our first intern, @hbjORbj 👏!
-
[core] Rename packages (#28049) @mnajdova
replace
@material-ui/*
prefix with@mui/*
:@material-ui/system -> @mui/system @material-ui/styles -> @mui/styles @material-ui/lab -> @mui/lab @material-ui/types -> @mui/types @material-ui/styled-engine -> @mui/styled-engine @material-ui/styled-engine-sc ->@mui/styled-engine-sc @material-ui/private-theming -> @mui/private-theming @material-ui/codemod -> @mui/codemod
except these 3 packages that are renamed.
@material-ui/core => @mui/material // represents Material Design components. @material-ui/icons => @mui/icons-material // represents Material Design icons. @material-ui/unstyled => @mui/base // fully functional components with minimum styles.
Note:
@mui/base
(previously@material-ui/unstyled
) is not the same as@material-ui/core
.We encourage you to use the codemod for smooth migration.
- [Autocomplete] Update warning for
value
prop (#27977) @vedadeepta - [ButtonGroup] Update PropTypes to match augmentable interface (#27944) @aaronlademann-wf
- [CardMedia] Add
image
role ifimage
prop is specified but no imagecomponent
is specified (#27676) @eps1lon - [InputBase] Fix autofill issue (#28070) @mnajdova
- [Tabs] Fix indicator position when tab size changes (ResizeObserver) (#27791) @hbjORbj
- [TextareaAutosize] Sync height when the width of the textarea changes (#27840) @hbjORbj
- [ToggleButtonGroup] Add "disabled" prop (#27998) @chetas411
- [core] Export types for module augmentation (#28078) @m4theushw
- [Button] Create ButtonUnstyled and useButton (#27600) @michaldudak
- [Masonry] Add new component (#27439) @hbjORbj
- [codemod] Add
mui-replace
codemod transform (#28060) @siriwatknp
- [docs] Fix preview for multiline JSX attributes (#28092) @eps1lon
- [docs] Add a recommendation for hoisting GlobalStyles to static constant (#28088) @mnajdova
- [docs] Update toolbar menu to behave closer to default (#28086) @oliviertassinari
- [docs] Markdown redesign polish (#27956) @mnajdova
- [docs] Fully translated /api/* pages (#28044) @eps1lon
- [docs] Fix matchSorter import path in Autocomplete (#28063) @StefanBRas
- [docs] Fix Fab demo overflow on mobile (#28033) @rajzik
- [docs] Add notistack example compatible with v5.x.x (#27881) @iamhosseindhv
- [docs] Change sign-up template autocomplete to use "new-password" (#28028) @StefanTobler
- [docs] Improve the support expectations for developers (#27999) @oliviertassinari
- [docs] Don't use nested ternary (#27986) @eps1lon
- [docs] Sync redirections from X into Core @oliviertassinari
- [docs] Fix typo '.MuiOutinedInput' -> '.MuiOutlinedInput' (#27997) @rsxdalv
- [docs] fix floating action button broken demo (#27976) @rajzik
- [docs] Update correct variable name (#27960) @bene-we
- [docs] Fix Performance typo (#27965) @tdmiller1
- [docs] Add GridExportCSVOptions page to documentation pages (#27951) @flaviendelangle
- [website] Add product core page (#27952) @siriwatknp
- [website] Make AppBar height and border consistent with nav header (#28085) @michaldudak
- [website] Fix typos in the rebranding (#28069) @oliviertassinari
- [website] Refine home, pricing and about pages (#27927) @siriwatknp
- [eslint-plugin-material-ui] Only require translation of word characters and not API (#28043) @eps1lon
- [core] Use lintable pattern for debounced callbacks (#27985) @eps1lon
- [core] Remove file-wide disables of
no-use-before-define
(#27984) @eps1lon - [core] Improve
release:changelog
script (#27941) @eps1lon - [core] Enforce curly braces for block statements (#27946) @eps1lon
- [test] Disable BrowserStack for PRs (#28041) @eps1lon
All contributors of this release in alphabetical order: @aaronlademann-wf, @bene-we, @chetas411, @eps1lon, @flaviendelangle, @hbjORbj, @iamhosseindhv, @m4theushw, @michaldudak, @mnajdova, @oliviertassinari, @rajzik, @rsxdalv, @siriwatknp, @StefanBRas, @StefanTobler, @tdmiller1, @vedadeepta
Aug 24, 2021
A big thanks to the 26 contributors who made this release possible. Here are some highlights ✨:
- 🐛 Fixed a lot of bugs and regressions to get us closer to the v5 stable release milestone
- 📚 Improved the docs and the migration guide for upgrading to v5
-
[core] Update
.browserslistrc
file (#27788) @DanailHThe targets of the default bundle have changed:
- Chrome 90 (up from 84)
- Edge 91 (up from 85)
- Safari 14 (macOS) (up from 13.1) and 12.4 (iOS) (up from 12.2)
- Opera 76 (up from 70)
-
[Autocomplete] Rename Value type to AutocompleteValue (#27804) @michaldudak
The
useAutocomplete
hook used a type calledValue
. It was a very generic name for a type specific to theAutocomplete
control, so it was removed toAutocompleteValue
.-import { Value } from '@material-ui/core/useAutocomplete'; +import { AutocompleteValue } from '@material-ui/core/useAutocomplete';
- [AppBar] Fix transparency issue on dark mode (#27281) @will-amaral
- Revert "[BottomNavigation] onClick does not fire if tapped while scrolling (#22524)" (#27690) @eps1lon
- [Autocomplete] Add verbose warning for defaultValue (#27925) @vedadeepta
- [Badge] Add missing classes to exported class object (#27943) @pvdstel
- [ButtonGroup] Allow
size
customization via module augmentation (#27834) @aaronlademann-wf - [InputBase] Preserve host state when changing
rows
from undefined to defined (#27683) @eps1lon - [InputLabel] Apply
asterisk
class whenrequired
(#27738) @alexile - [Select] Fix NativeSelect propagating classes to the DOM element (#27797) @mnajdova
- [Stack] Match the customization standard (#27777) @oliviertassinari
- [SvgIcon] Apply custom color if defined in the theme (#27923) @eps1lon
- [Switch] Add optional
track
slot to SwitchUnstyled (#27916) @michaldudak - [Tooltip] Fix broken arrow position in rtl (#27868) @mnajdova
- [transitions] Allow to run Slide into a custom container (#26623) @benny0642
-
[system] Rename
styleProps
toownerState
(#27830) @mnajdovaThe change was done in order to better reflect what they are, not what we think they will be used for.
<SomeSlotComponent - styleProps={propsAndState} + ownerState={propsAndState} />
- [system] Remove dependency on
overridesResolver
for thevariants
(#27859) @mnajdova - [system] Forward
classes
prop if no slot specified in the options (#27795) @mnajdova - [system] Fix pseudo class overridden in variants (#27847) @hbjORbj
- [icons] Improve GitHub size (#27740) @oliviertassinari
- [styled-engine] Remove unecessary aliases (#27779) @oliviertassinari
- [styled-engine] Drop withComponent support (#27780) @oliviertassinari
- [core] Utilize
CSS.supports
inSliderUnstyled
component (#27724) @DanailH
- [DatePicker] Fix click-away logic requiring second click in some cases (#24877) @eps1lon
- [lab] Use the public API for module augmentation (#27735) @oliviertassinari
- [Timeline] Fix color="inherit" on TimelineDot (#27794) @mnajdova
- [docs] Redesign on markdown page (#27860) @mnajdova
- [docs] Split changelog into current and old (#27942) @eps1lon
- [docs] Migration, emphasize theme structure change (#27935) @oliviertassinari
- [docs] Fix missing
href
for AppDrawerNavItems (#27936) @eps1lon - [docs] Pass window of iframe to framed demos (#27924) @eps1lon
- [docs] Simplify Select Chip demo styling (#27864) @LorenzHenk
- [docs] Move from Redux to React Context (#27828) @eps1lon
- [docs] Correct the useAutocomplete import path (#27805) @michaldudak
- [docs] Fix Tooltip flicker when hovering between code icon and demo (#27841) @eps1lon
- [docs] Don't log if a request was aborted in ServerRequestDatePicker demo (#27843) @eps1lon
- [docs] Fix false-positive useToolbar warning when using the demo toolbar menu (#27842) @eps1lon
- [docs] Add missing import (#27850) @nguyenyou
- [docs] Fix circular integration demo (#27856) @LorenzHenk
- [docs] A few examples is enough (#27874) @mekouar-mehdi
- [docs] Improve README.md (#27852) @surajkumar016
- [docs] Fix rtl issue on the demos (#27865) @mnajdova
- [docs] Apply the new branding theme and do the AppBar redesign (#27789) @mnajdova
- [docs] Improve grammar in 'Align list items' section (#27730) @atorenherrinton
- [docs] Make API documentation tables horizontally scrollable (#27787) @jakeanq
- [docs] Fix typo on "Customized dialogs" section (#27827) @nomanoff
- [docs] Fix Autocomplete country layout shift (#27814) @oliviertassinari
- [docs] Improve accessible labels for Card demos (#27675) @eps1lon
- [docs] Run in StrictMode by default (#27693) @eps1lon
- [docs] Display TypeScript code of demo if requested (#27691) @eps1lon
- [docs] Use country image instead of emoji (#27723) @qiweiii
- [docs] Zero runtime themeAugmentation documentation (#27706) @eps1lon
- [docs] Fix MobileTextStepper example to match description (#27682) @nolastemgarden
- [docs] Document the transfer-list limitations (#27783) @oliviertassinari
- [docs] Move TypeScript docs in context (#27782) @oliviertassinari
- [docs] Prefer linking API source TypeScript (#27781) @oliviertassinari
- [docs] Improve the Modal onClose migration (#27775) @oliviertassinari
- [docs] Fix outdated styled-engine docs (#27778) @oliviertassinari
- [docs] Improve right to left guide (#27713) @mnajdova
- [docs] Consistent line break (#27728) @oliviertassinari
- [docs] Don't dispatch ignored "reset code variant" actions (#27712) @eps1lon
- [docs] Fix sentence to be more grammatically correct (#27733) @atorenherrinton
- [examples] Add code sandbox config with node version (#27798) @qiweiii
- Revert "[examples] Fix nextjs with styled-components example (#27583)" (#27921) @mnajdova
- Revert "[examples] Update create-react-app examples with styled-components to use package aliases (#27591)" (#27917) @mnajdova
- [I10n] Add Khmer (kh-KH) locale support (#27915) @teachhay
- [website] Add templates & design-kits page (#27811) @siriwatknp
- [website] Improve rebranding homepage performance (#27838) @siriwatknp
- [website] Honest a11y value proposition (#27826) @eps1lon
- [website] Improve homepage rebranding (#27663) @siriwatknp
- [website] A few polish (#27741) @oliviertassinari
- [website] Polish homepage (#27930) @oliviertassinari
- [core] Fix various flip: false regressions (#27920) @mnajdova
- [core] Fix typo in code comment (#27818) @hamidreza-nateghi
- [core] Fix typos in repository (#27785) @JEONGJIHUN
- [test] Current behavior when disabling components variants (#27376) @noviicee
- [tests Improve test for checking if classes is forwarded to any DOM element (#27815) @mnajdova
- [tests] Replace legacy
describeConformance
withdescribeConformanceV5
(#27817) @mnajdova
All contributors of this release in alphabetical order: @aaronlademann-wf, @alexile, @atorenherrinton, @benny0642, @DanailH, @eps1lon, @hamidreza-nateghi, @hbjORbj, @jakeanq, @JEONGJIHUN, @LorenzHenk, @mekouar-mehdi, @michaldudak, @mnajdova, @nguyenyou, @nolastemgarden, @nomanoff, @noviicee, @oliviertassinari, @pvdstel, @qiweiii, @siriwatknp, @surajkumar016, @teachhay, @vedadeepta, @will-amaral
Aug 13, 2021
A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨:
- 🐛 Grid's "auto" behavior has been fixed by @aaronlademann-wf (#27514)
- ♿ An important bug with the keyboard navigation in MenuList was fixed (#27526) @ryancogswell
- [Grid] Fix "auto" behavior to match natural width of its content (#27514) @aaronlademann-wf
- [ButtonBase] Fix tabIndex type (#27684) @kylegach
- [MenuList] Fix text navigation (#27526) @ryancogswell
- [l10n] Add Arabic Sudan (ar-SD) locale (#27588) @YassinHussein
- [Radio] Fix size prop forwarding with custom icons (#27656) @DouglasPds
- [TextField] Password visibility icons ( "visibility" ⇔ "visibility-off" ) should be reversed (#27507) @tonextone
- [ToggleButton] Fix handling of color prop (#27635) @oliviertassinari
- [codemod] Fix filename case sensitive duplicate @oliviertassinari
- [StyledEngineProvider] Remove unnecessary emotion cache export (#27680) @garronej
- [system] Fix missing filterProps in compose type (#27618) @R-Bower
- [CalendarPicker] Improve contrast between enabled and disabled days (#27603) @nikitabobers
- [PickersDay] Render
children
if specified (#27462) @abriginets - [TreeView] Fix TreeItem label overflow (#27585) @LorenzHenk
- [docs] Update guides for @material-ui/styled-engine-sc installation (#27602) @mnajdova
- [docs] Document that @material-ui/styles is not strict mode compatible (#27639) @oliviertassinari
- [docs] Link to "Customization of Theme" from relevant theme interfaces (#27689) @eps1lon
- [docs] Update CSP page (#27627) @mnajdova
- [docs] Reorder and rename "enforce value" ToggleButton demo (#27678) @LorenzHenk
- [docs] Fix missing dependency in the DataGrid demo (#27597) @m4theushw
- [docs] img should have a src attribute (#27632) @oliviertassinari
- [docs] Add badges to Transfer List (#27634) @oliviertassinari
- [docs] Recommend the
direct-import
babel plugin overtransform-import
(#27335) @umidbekk - [docs] Remove unused code (#27711) @eps1lon
- [docs] Improve virtualization demo (#27340) @vedadeepta
- [examples] Include a follow-up on the example (#27620) @matiasherranz
- [website] Add about page (#27599) @siriwatknp
- [website] Add pricing page (#27598) @siriwatknp
- [core] Batch small changes (#27636) @oliviertassinari
- [core] Change range strategy to bump (#27652) @oliviertassinari
- [core] Fix visual regression example images (#27660) @eps1lon
- [core] Remove diff when running yarn docs:dev (#27720) @eps1lon
- [core] Remove mocks of require.context in markdown loader (#27406) @eps1lon
- [core] Reduce use CSS when Checkbox disableRipple is set (#27568) @oliviertassinari
- [test] Add coverage for jss-to-styled prefix from filename (#27522) @eps1lon
- [test] Add current behavior for a11y name vs visible name for PickersDay (#27661) @eps1lon
- [test] Dodge double logging in dev mode (#27653) @oliviertassinari
- [test] Enable skipped test fixed by upstream React fix (#27615) @eps1lon
- [theme] Add missed variants in Components interface (#27453) @nikitabobers
All contributors of this release in alphabetical order: @aaronlademann-wf, @abriginets, @DouglasPds, @eps1lon, @garronej, @kylegach, @LorenzHenk, @m4theushw, @matiasherranz, @mnajdova, @nikitabobers, @oliviertassinari, @R-Bower, @ryancogswell, @siriwatknp, @tonextone, @umidbekk, @vedadeepta, @YassinHussein
Aug 6, 2021
A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
- ✨
jss-to-styled
codemod has been improved to supportcreateStyles
and<React.Fragment>
usage (#27578) @mnajdova
- [Modal] Restore
overflowX
andoverflowY
styles (#27487) @PCOffline - [Modal] Remove unnecessary check for children.props.tabIndex (#27374) @noviicee
- [Select] Fix regression for icon not rotating (#27511) @mnajdova
- [system] Added top, left, right and bottom border color CSS properties to system (#27580) @R-Bower
- [codemod] Add support for
createStyles
usage injss-to-styled
(#27578) @mnajdova - [codemod] Fix
jss-to-styled
PREFIX generation on Windows (#27491) @mnajdova - [codemod] Fix
jss-to-styled
codemod to handle React.Fragment as root (#27495) @mnajdova
- [FormControl] Create FormControlUnstyled (#27240) @michaldudak
- [Autocomplete] Move useAutocomplete to the Unstyled package (#27485) @michaldudak
- [docs] Fix layout shift when opening hash anchor (#27619) @oliviertassinari
- [docs] Add TypeScript guide for the
sx
prop (#27417) @mnajdova - [docs] Hardcode listed colors in /customization/color/#playground (#27446) @eps1lon
- [docs] Bring back Select#onChange signature API (#27443) @eps1lon
- [docs] Remove backticks in the title (#27567) @oliviertassinari
- [docs] Fix 404 links (#27566) @oliviertassinari
- [docs] Use the same h2 for the customization demos (#27569) @oliviertassinari
- [docs] Fix syntax error in v5 migration
styled
api example (#27518) @kimbaudi - [docs] Improve SSR configuration with emotion (#27496) @frandiox
- [docs] Change "pseudo-classes" to "state classes" (#27570) @michaldudak
- [docs] Add StackBlitz edit demo integration (#27391) @sulco
- [docs] Remove unnecessary generic argument (#27516) @bezpalko
- [docs] Add customization demos (#27411) @siriwatknp
- [docs] Restore initial descriptionRegExp logic (#27436) @oliviertassinari
- [docs] Polish jss-to-styled docs (#27457) @oliviertassinari
- [examples] Fix nextjs with styled-components example (#27583) @mnajdova
- [examples] Update create-react-app examples with styled-components to use package aliases (#27591) @mnajdova
- [examples] Improve integration examples with Next.js (#27331) @Harshita-Kanal
- [website] Add spicefactory as gold sponsor @oliviertassinari
- [website] Homepage rebranding (#27488) @siriwatknp
- [website] Add Flavien to team and about pages (#27575) @flaviendelangle
- [website] Add Ryan to Community contributors for Stack Overflow contributions (#27529) @ryancogswell
- [website] Add references section to home (#27444) @siriwatknp
- [core] rebaseWhen=auto does not seem to work (#27565) @oliviertassinari
- [core] Improve instructions for the @material-ui/styles migration (#27466) @mnajdova
- [core] Batch small changes (#27435) @oliviertassinari
- [core] Receive patch and minor dependency updates (#27455) @eps1lon
- [test] Update coverage to include all @material-ui packages (#27521) @eps1lon
- [test] Lint codemod tests (#27519) @eps1lon
- [test] Allow tests to run for 6s before timeout (#27456) @oliviertassinari
All contributors of this release in alphabetical order: @bezpalko, @eps1lon, @flaviendelangle, @frandiox, @Harshita-Kanal, @kimbaudi, @michaldudak, @mnajdova, @noviicee, @oliviertassinari, @PCOffline, @R-Bower, @ryancogswell, @siriwatknp, @sulco
Jul 26, 2021
A big thanks to the 20 contributors who made this release possible. Here are some highlights ✨:
-
✨ We introduced new codemod for converting JSS styles to emotion (#27292) @siriwatknp It should help adoption of v5, by making possible the removal of JSS sooner.
-
🐛 The majority of other changes in this release were bug fixes, test utilities and docs.
- [Autocomplete] Explain how the loading prop works (#27416) @michaldudak
- [Autocomplete] Update input value when the input changes (#27313) @turtleseason
- [Autocomplete] Popper is not closing when the Autocomplete is disabled (#27312) @Goodiec
- [Checkbox] Skip default hover styles with
disableRipple
(#27314) @faan234 - [Dialog] Fix override paper styles (#27423) @newsiberian
- [Grid] Remove width prop for rowSpacing (#27326) @sashkopavlenko
- [Input] Merge
componentsProps
correctly (#27371) @mnajdova - [Pagination] Fixed usePagination requires @emotion in development mode (#27348) @ruppysuppy
- [Pagination] Fix :hover effect on previous/next button (#27304) @Aubrey-Li
- [Popper] Consistent timing of popper instance creation (#27233) @eps1lon
- [Select] Add
SelectChangeEvent
for accurate types for event in onChange prop (#27370) @eps1lon - [Tabs] Use theme transition duration for the Tab animation (#27303) @florianbepunkt
- [TextField] Allow custom colors in FormLabel (#27337) @oliviertassinari
- [TextField] Fix name of componentsProps (#27338) @oliviertassinari
- [transitions] Make sure inline styles used for transition values if declared (#27140) @eps1lon
- [codemod] Add
optimal-imports
for v5 (#27404) @mnajdova - [codemod] Add jss to emotion codemod (#27292) @siriwatknp
- [codemod] Fix running codemod CLI on Windows (#27395) @michaldudak
- [codemod] Fix published version (#27384) @eps1lon
- [codemod] Improve README.md (#27257) @mnajdova
- [NoSsr] Move NoSsr to the Unstyled package (#27356) @michaldudak
- [utils] Convert createChainedFunction to TypeScript (#27386) @eps1lon
- [system] Compute display name of
styled
component ifname
isn't set (#27401) @eps1lon - [system] Adds missing type for
shouldForwardProp
(#27310) @KLubin1
- [pickers] Only accept dates from adapters in min/max props (#27392) @eps1lon
- [pickers] Fallback to today if all possible dates are disabled (#27294) @eps1lon
- [pickers] Minify error when LocalizationProvider is missing (#27295) @eps1lon
- [pickers] Fix Fade animation behavior change (#27283) @oliviertassinari
- [docs] Display Popper arrow correctly (#27339) @Patil2099
- [docs] Focus pickers introduction on Material-UI (#27394) @eps1lon
- [docs] Fix wrong import path in @material-ui/styles section (#27427) @WeldonTan
- [docs] Update color imports (#27321) @siriwatknp
- [docs] Sync params of callbacks between types and JSDoc description (#27366) @eps1lon
- [docs] Add migration note for synthetic native events in onChange (#27368) @eps1lon
- [docs] Improve unstyled docs (#27382) @oliviertassinari
- [docs] Update
Transitions
page (#27319) @siriwatknp - [docs] Add Unstyled components docs page (#27158) @michaldudak
- [docs] Fix app bar regression (#27373) @mnajdova
- [docs] Update migration guide to have a section on nested classes (#27354) @mnajdova
- [docs] Convert App* components to emotion (#27150) @eps1lon
- [docs] Fix duplicate "Theme" header (#27353) @eps1lon
- [docs] Remove horizontal scrollbar in MiniDrawer (#27055) @AlvesJorge
- [docs] Add
makeStyles
explanation in troubleshooting (#27322) @siriwatknp - [docs] Fix ExpansionPanel migration notes (#27352) @eps1lon
- [docs] Transpile markdown files (#27349) @eps1lon
- [docs] Fix typo in the word typography (#27329) @tudi2d
- [docs] Use actual symbol of kilogram (#27332) @getsnoopy
- [docs] Make migration doc easier to follow (#26948) @siriwatknp
- [examples] Cleanup
gatsby
examples (#27375) @mnajdova - [examples] Create nextjs example using styled-components (#27088) @hboylan
- [examples] Update gatsby example to use custom plugin (#27357) @mnajdova
- [core] Remove obsolete styles documentation (#27350) @eps1lon
- [core] Fix GitHub language detection (#27298) @oliviertassinari
- [test] Include coverage report of browser tests (#27389) @eps1lon
- [test] Add current behavior for getDisplayName with context components (#27402) @eps1lon
- [test] Enable skipped picker tests (#27268) @eps1lon
- [website] Add hero section to homepage (#27364) @siriwatknp
All contributors of this release in alphabetical order: @AlvesJorge, @Aubrey-Li, @eps1lon, @faan234, @florianbepunkt, @g etsnoopy, @Goodiec, @hboylan, @KLubin1, @michaldudak, @mnajdova, @newsiberian, @oliviertassinari, @Patil2099, @ruppysupp y, @sashkopavlenko, @siriwatknp, @tudi2d, @turtleseason, @WeldonTan
Jul 14, 2021
A big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
-
✨ We have introduced a new unstyled component: the Switch (#26688) @michaldudak You can find two new versions of the Switch. A component without any styles:
SwitchUnstyled
, and a hook:useSwitch
.You can follow our progress at https://github.com/mui-org/material-ui/issues/27170.
-
💄 We have updated the default
info
success
warning
color to be more accessible (#26817) @siriwatknp. You can find the new default values in the documentation.
- [Fab] Remove no longer necessary span wrapper (#27112) @siriwatknp
- [ToggleButton] Remove no longer necessary span wrapper (#27111) @siriwatknp
- [Autocomplete] Add componentsProps (#27183) @michal-perlakowski
- [Avatar] Fix support for crossOrigin (#27013) @ShirasawaSama
- [ButtonBase] Correct
disableRipple
API description (#27187) @michaldudak - [ButtonGroup] Add color palette types (#27215) @ShirasawaSama
- [SwitchBase] Bring back
checked
and mark as deprecated (#27047) @siriwatknp - [TextField] Remove redundant useFormControl implementation (#27197) @michaldudak
- [theme] Add missing MuiRating types to components.d.ts (#27086) @rajzik
- [theme] Remove
createV4Spacing
fromadaptV4Theme
(#27072) @siriwatknp - [theme] Update default
info
success
warning
color (#26817) @siriwatknp - [ToggleButton] Add color palette types (#27046) @ShirasawaSama
- [ToggleButton] Fix the api page (#27164) @oliviertassinari
- [Switch] Create SwitchUnstyled and useSwitch (#26688) @michaldudak
- [codemod] Add v5 important migration (#27032) @siriwatknp
- [codemod] Fix v5 codemods on Windows (#27254) @michaldudak
- [Box] Add breakpoint value support to maxWidth prop (#26984) @ansh-saini
- [CalendarPicker] Fix slide transition regression (#27273) @eps1lon
- [CalendarPicker] Use transition components from core instead of a custom implementation (#27043) @eps1lon
- [pickers] Fix default value of text keys (#26990) @oliviertassinari
- [TimePicker] Change default minutes and seconds to zero (#27037) @michal-perlakowski
- [blog] Q2 2021 Update (#27089) @oliviertassinari
- [docs] Add information that the label prop in FormControlLabel is now @michal-perlakowski
- [docs] Don't crash page if an Ad crashes (#27178) @eps1lon
- [docs] Fix alt description of movavi backer @oliviertassinari
- [docs] Fix import source of hidden component (#27116) @vimutti77
- [docs] Fix layout regression (#27272) @oliviertassinari
- [docs] Fix syntax error in /styles/api markdown (#27176) @sahil-blulabs
- [docs] Fix the link for the sx props page (#27202) @mnajdova
- [docs] Fix theme context example code (#27053) @moshfeu
- [docs] Fix typo in CONTRIBUTING.md (#27218) Ayush Dubey
- [docs] Fix typos (#27074) @michaldudak
- [docs] Improve nav semantics (#27138) @eps1lon
- [docs] Migrate Ad* components to emotion (#27159) @mnajdova
- [docs] Migrate rest of the docs to emotion (#27184) @mnajdova
- [docs] Move versions from _app PageContext to page-specific context (#27078) @eps1lon
- [docs] Only bundle one version of the demos in production (#27020) @eps1lon
- [docs] Reduce layout shift on landing page (#27251) @eps1lon
- [docs] Remove Ethical Ads (#27173) @mbrookes
- [docs] Remove unused fs polyfill (#27069) @eps1lon
- [docs] Remove usage of
url
package (#27151) @eps1lon - [docs] Replace react-text-mask with react-imask in integration example (#27071) @michal-perlakowski
- [docs] Sort the size in a more logical order (#27186) @oliviertassinari
- [docs] Use actual link to paperbase (#27063) @eps1lon
- [docs] Use custom markdown loader for landing page (#27065) @eps1lon
- [docs] Use webpack 5 (#27077) @eps1lon
- [examples] Fix CDN warning (#27229) @oliviertassinari
- [examples] Remove
StyledEngineProvider
as JSS is not used (#27133) @mnajdova - [examples] Remove forgotten StyledEngineProvider (#27163) @oliviertassinari
- [core] Batch small changes (#26970) @oliviertassinari
- [core] Configure Renovate (#27003) @renovate[bot]
- [core] Migrate remaining mentions of Dependabot to Renovate (#27118) @eps1lon
- [core] Run yarn deduplicate on Renovate updates (#27115) @eps1lon
- [test] Document broken React 18 behavior of Autocomplete (#27242) @eps1lon
- [test] Increase BS timeout to 6min (#27179) @oliviertassinari
- [test] Migrate regressions to emotion (#27010) @vicasas
- [test] Narrow down React 18 compat issues (#27134) @eps1lon
- [test] Remove StyledEngineProvider usage from regressions and e2e test @mnajdova
- [test] Run React 18 integration tests with new createRoot API (#26672) @eps1lon
- [test] Update tests with latest state of StrictMode compatibility (#27042) @eps1lon
- [test] Use DOM events instead of mocked, partial events (#27198) @eps1lon
- [website] Open 4 new roles (#27123) @oliviertassinari
- [blog] Danilo Leal joins Material-UI (#27231) @oliviertassinari
All contributors of this release in alphabetical order: @eps1lon, @mbrookes, @michal-perlakowski, @michaldudak, @mnajdova, @moshfeu, @oliviertassinari, @rajzik, @renovate[bot], @sahil-blulabs, @ShirasawaSama, @siriwatknp, @vimutti77
Jul 01, 2021
A big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
- 🎉 This is the first beta release of v5! A huge thanks to everyone who helped to make this happen! We're targeting the 1st of September for a stable release, and will use the next two months to polish v5, and ease the migration from v4. You can follow the v5 stable milestone for more details. We now encourage any new projects to start on v5.
- 🚀 We have completed all the planned breaking changes.
- ⚒️ We added the codemod CLI to simplify migration to v5 (#26941) @eps1lon. You can find it at
@material-ui/codemod
. - 🐛 The majority of other changes in this release were bug fixes, test utilities and docs.
-
[Tabs] Remove unnecessary wrapper from Tab (#26926) @siriwatknp
span
element that wraps children has been removed.wrapper
classKey is also removed. More details about this change.<button class="MuiTab-root"> - <span class="MuiTab-wrapper"> {icon} {label} - </span> </button>
-
[BottomNavigation] Remove wrapper from BottomNavigationAction (#26923) @siriwatknp
span
element that wraps children has been removed.wrapper
classKey is also removed. More details about this change.<button class="MuiBottomNavigationAction-root"> - <span class="MuiBottomNavigationAction-wrapper"> {icon} <span class="MuiBottomNavigationAction-label"> {label} </span> - </span> </button>
- [Box] Fix TypeScript error on maxWidth prop (#26859) @ansh-saini
- [Dialog] Automatically label by its DialogTitle (#26814) @eps1lon
- [Hidden] Bring back and mark as deprecated (#26908) @siriwatknp
- [List] Add button runtime deprecation warning (#26743) @siriwatknp
- [Modal] Type BackdropProps according to styled version (#26836) @eps1lon
- [Radio] Fix
defaultValue
to match the other value types (#26945) @oliviertassinari - [Stepper] Add completed to global pseudo-classes (#26953) @michal-perlakowski
- [Stepper] Fix support for no connectors (#26874) @varandasi
- [TextField] Prevent
hiddenLabel
from spreading to DOM (#26864) @siriwatknp - [TextField] Fix label disappearing when focusing a button (#26933) @michal-perlakowski
- [codemod] Add CLI (#26941) @eps1lon
- [icons] Regenerate transpiled files (#26985) @eps1lon
-
[DatePicker] Remove helper text default value (#26866) @DouglasPds
Make the default rendered text field closer to the most common use cases (denser).
<DatePicker label="Helper text example" value={value} onChange={onChange} renderInput={(params) => ( - <TextField {...params} /> + <TextField {...params} helperText={params?.inputProps?.placeholder} /> )} >
- [lab] Fix missing dependency on unstyled (#26937) @fishyFrogFace
- [pickers] Consider TDate in ToolbarComponent types (#27035) @michal-perlakowski
- [system] Support array overridesResolver (#26824) @siriwatknp
- [docs] Add notes to Table demo about stableSort (#27025) @CarlosGomez-dev
- [docs] Add gold sponsor (#26968) @oliviertassinari
- [docs] Update unstyled demos to not depend on
@material-ui/core
(#26869) @mnajdova - [docs] Fix demo paths in windows (#27004) @eps1lon
- [docs] Export all locales (#27002) @eps1lon
- [docs] Misc CONTRIBUTING.md changes (#26925) @eps1lon
- [docs] Fix /components/hidden merge conflict (#26997) @eps1lon
- [docs] Fix 404 links (#26963) @oliviertassinari
- [docs] Remove link that points to v4 blog post (#26960) @steveafrost
- [docs] Use custom webpack loader for markdown (#26774) @eps1lon
- [docs] Fix 301 links (#26942) @oliviertassinari
- [docs] Add page for the
sx
prop (#26769) @mnajdova - [docs] pre-fill issue when a demo crashes (#27034) @eps1lon
- [docs] Move styled page under system (#26818)
- [core] Inline rollup-plugin-size-snapshot (#26986) @eps1lon
- [core] Remove unused props clone (#26992) @oliviertassinari
- [core] Fix tests on Windows (#26931) @michaldudak
- [core] Fix merge conflict between #26954 and #26874 @oliviertassinari
- [core] Upgrade issues-helper to v2 (#26955) @michal-perlakowski
- [core] Fix merge conflict (#26928) @eps1lon
- [test] Convert HiddenCSS tests to testing-library (#27019) @eps1lon
- [test] Convert NativeSelectInput tests to testing-library (#26952) @eps1lon
- [test] Add a default mount implementation to conformance tests (#26949) @eps1lon
- [test] Update tests to pass react@next (#26967) @eps1lon
- [test] Add types to describeConformanceV5 (#26954) @eps1lon
- [test] Use createPickerMount where appropriate (#26951) @eps1lon
- [test] Convert SwipeableDrawer tests to testing-library (#26916) @eps1lon
- [test] Convert Menu tests to testing-library (#26915) @eps1lon
- [test] Convert Popover tests to testing-library (#26913) @eps1lon
- [test] Convert Modal tests to testing-library (#26912) @eps1lon
- [test] Make remaining testing-library tests StrictMode compatible (#26924) @eps1lon
- [test] Only allow wrapping enzyme mount not creating (#27018) @eps1lon
- [typescript] Disallow spreading TransitionHandlerProps (#26927) @eps1lon
All contributors of this release in alphabetical order: @ansh-saini, @BC-M, @CarlosGomez-dev, @DouglasPds, @eps1lon, @fishyFrogFace, @michal-perlakowski, @michaldudak, @mnajdova, @oliviertassinari, @siriwatknp, @steveafrost, @varandasi
Jun 23, 2021
A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:
-
🚀 We have only 2 left in the breaking changes. The plan to release 5.0.0-beta.0 is on July 1st and will start to promote its usage over v4.
-
🎨 We have updated
Slider
to match current Material Design guidelines. -
💡
IconButton
now supports 3 sizes (small, medium, large
). See demo. -
♿️ We have improved the default style of the
Link
to be more accessible (#26145) @ahmed-28
-
[Menu] Use ButtonBase in MenuItem (#26591) @siriwatknp
-
Change the default value of
anchorOrigin.vertical
to follow the Material Design guidelines. The menu now displays below the anchor instead of on top of it. You can restore the previous behavior with:<Menu + anchorOrigin={{ + vertical: 'top', + horizontal: 'left', + }}
-
The
MenuItem
component inherits theButtonBase
component instead ofListItem
. The class names related to "MuiListItem-*" are removed and themingListItem
is no longer affectingMenuItem
.-<li className="MuiButtonBase-root MuiMenuItem-root MuiListItem-root"> +<li className="MuiButtonBase-root MuiMenuItem-root">
-
The prop
listItemClasses
was removed, you can useclasses
instead.-<MenuItem listItemClasses={{...}}> +<MenuItem classes={{...}}>
-
-
[theme] Improve default breakpoints (#26746) @siriwatknp
The default breakpoints were changed to better match the common use cases. They also better match the Material Design guidelines. Read more about the change.
{ xs: 0, sm: 600, - md: 960, + md: 900, - lg: 1280, + lg: 1200, - xl: 1920, + xl: 1536, }
If you prefer the old breakpoint values, use the snippet below.
import { createTheme } from '@material-ui/core/styles'; const theme = createTheme({ breakpoints: { values: { xs: 0, sm: 600, md: 960, lg: 1280, xl: 1920, }, }, });
-
[IconButton] Add size
large
and update styles (#26748) @siriwatknpThe default size's padding is reduced to
8px
which makes the default IconButton size of40px
. To get the old default size (48px
), usesize="large"
. The change was done to better match Google's products when Material Design stopped documenting the icon button pattern.- <IconButton> + <IconButton size="large">
-
[Slider] Adjust css to match the specification (#26632) @siriwatknp
Rework the CSS to match the latest Material Design guidelines and make custom styles more intuitive. See documentation.
You can reduce the density of the slider, closer to v4 with the
size="small"
prop. -
[IconButton] Remove label span (#26801) @siriwatknp
span
element that wraps children has been removed.label
classKey is also removed. More details about this change.<button class="MuiIconButton-root"> - <span class="MuiIconButton-label"> <svg /> - </span> </button>
-
[core] Remove
unstable_
prefix on theuseThemeProps
hook (#26777) @mnajdovaThe following utilities were renamed to not contain the
unstable_
prefix:@material-ui/sytstem
import { - unstable_useThemeProps, + useThemeProps, } from '@material-ui/system';
@material-ui/core
import { - unstable_useThemeProps, + useThemeProps, } from '@material-ui/core/styles';
- [Alert] Add support for custom colors (#26831) @varandasi
- [Button] Fix loading text invisible when disabled (#26857) @DanielBretzigheimer
- [ButtonBase] Consider as a link with a custom component and
to
prop (#26576) @shadab14meb346 - [ButtonBase] Derive state on render instead of in layout effects (#26762) @eps1lon
- [Drawer] Fix incorrect z-index (#26791) @michal-perlakowski
- [Drawer] Remove incorrect transition handler props (#26835) @eps1lon
- [Link] Improve accessibility support (#26145) @ahmed-28
- [Modal] Fix calculating scrollbar size when using custom scrollbar (#26816) @michal-perlakowski
- [Rating] Make input ids less predictable (#26493) @eps1lon
- [Stepper] Add componentsProps.label to StepLabel (#26807) @michal-perlakowski
- [Tabs] Show error when Tab has display: none (#26783) @michal-perlakowski
- [theme] Add base color palette type to components (#26697) @siriwatknp
-
[system] Normalize api for
createBox
(#26820) @mnajdovaimport { createBox } from '@material-ui/system'; -const styled = createBox(defaultTheme); +const styled = createBox({ defaultTheme });
- [system] Add ThemeProvider component (#26787) @mnajdova
- [docs] Fix misspelling of the word Typography (#26898) @dmrqx
- [docs] Instruct users to install @material-ui/icons with the next tag (#26873) @michal-perlakowski
- [docs] Sync translations (#26828) @l10nbot
- [docs] Improve grammar of autocomplete/autofill section (#26798) @dijonkitchen
- [docs] Explain "inherited props" better in the props table (#26778) @eps1lon
- [docs] Fix documentation for upgrading to v5 (#26812) @tungdt-90
- [docs] Improve notification color (#26796) @mnajdova
- [docs] Fix various a11y issues with /customization/color (#26757) @eps1lon
- [docs] Move custom theme to frame (#26744) @siriwatknp
- [docs] Fix small PT typo fix: inciar -> iniciar (#26775) @brunocavalcante
- [I10n] Add Chinese (Hong Kong) (zh-HK) locale (#26637) @kshuiroy
- [l10n] Add sinhalese (siLK) locale (#26875) @pavinduLakshan
- [examples] Rename nextjs typescript theme from tsx to ts (#26862) @Izhaki
- [test] Fix Drawer test API @oliviertassinari
- [test] Adjust expected useAutocomplete error messages for React 18 (#26858) @eps1lon
- [test] Convert Drawer tests to testing-library (#26837) @eps1lon
- [test] Convert remaining enzyme tests to testing-library (#26832) @eps1lon
- [test] Ignore ReactDOM.hydrate deprecation warnings (#26815) @eps1lon
- [test] Reduce flakiness (#26761) @eps1lon
- [useId] Reduce likelyhood of collisions (#26758) @eps1lon
- yarn deduplicate @oliviertassinari
- Fix running framer's prettier under pwsh (#26819) @michaldudak
- [core] Update babel-plugin-optimize-clsx (#26861) @oliviertassinari
- [core] Assume no document.all at runtime (#26821) @eps1lon
- [core] Remove dependency on
@material-ui/private-theming
(#26793) @mnajdova - [core] Remove dependency on
@material-ui/styled-engine
(#26792) @mnajdova
All contributors of this release in alphabetical order: @ahmed-28, @brunocavalcante, @DanielBretzigheimer, @dijonkitchen, @dmrqx, @eps1lon, @Izhaki, @kshuiroy, @l10nbot, @michal-perlakowski, @michaldudak, @mnajdova, @oliviertassinari, @pavinduLakshan, @shadab14meb346, @siriwatknp, @tungdt-90, @varandasi
Jun 15, 2021
A big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
-
💄 Add support for responsive props on the Grid component (#26590) @likitarai1. This fixes a longstanding issue. You can now specify different values for each breakpoint.
<Grid container spacing={{ xs: 2, md: 3 }} columns={{ xs: 1, sm: 2, md: 3 }}> <Grid item xs={2} sm={4} md={4} /> <Grid item xs={2} sm={4} md={4} /> <Grid item xs={2} sm={4} md={4} /> </Grid>
Head to the documentation for more details.
-
⚒️ We've introduced a new
useTheme
anduseThemeProps
hooks in the@material-ui/system
package. We believe that this package can be used as a standalone styling solution for building custom design systems (#26649) @mnajdova. -
💥 Made progress with the breaking changes. We have done 105 of the 109 changes planned. We are getting closer to our goal of releasing 5.0.0-beta.0 on July 1st and start to promote its usage over v4. You can also follow our milestone for more details.
-
And many more 🐛 bug fixes and 📚 improvements.
-
[Button] Remove label span (#26666) @siriwatknp
The
span
element that wraps children has been removed.label
classKey is also removed. The nested span was required for fixing a flexbox issue with iOS < 11.0.<button class="MuiButton-root"> - <span class="MuiButton-label"> children - </span> </button>
- [Button] Add missing color type (#26593) @sakura90
- [Grid] Add responsive direction and spacing props (#26590) @likitarai1
- [List] Add ListItemButton export to index (#26667) @chadmuro
- [theme] Fix missing exported Breakpoints types (#26684) @robphoenix
-
[system] Remove
theme
&isRtl
fromuseThemeProps
(#26701) @mnajdovaThe
isRtl
andtheme
props are no longer added by theuseThemeProps
hook. You can use theuseTheme
hook for this.-import { unstable_useThemeProps as useThemeProps } from '@material-ui/core/styles'; +import { unstable_useThemeProps as useThemeProps, useTheme } from '@material-ui/core/styles'; const Component = (inProps) => { - const { isRtl, theme, ...props } = useThemeProps({ props: inProps, name: 'MuiComponent' }); + const props = useThemeProps({ props: inProps, name: 'MuiComponent' }); + const theme = useTheme(); + const isRtl = theme.direction === 'rtl'; //.. rest of the code }
- [system] Add useThemeProps & useTheme hooks (#26649) @mnajdova
- [system] Add color manipulators (#26668) @mnajdova
- [system] Fix support of custom shape in createTheme (#26673) @varandasi
- [Slider] Improve TS definition (#26642) @mnajdova
- [TrapFocus] Capture nodeToRestore via relatedTarget (#26696) @eps1lon
-
Revert "[icons] Only ship ES modules (#26310)" (#26656) @eps1lon
The changes that we have tried in #26310 were breaking the integration with Next.js.
- [core] Remove unused useKeyDown (#26765) @eps1lon
- [DateTimePicker] Fix not visible selected tab icon (#26624) @nikitabobers
- [blog] Michał Dudak joins Material-UI (#26700) @oliviertassinari
- [docs] Migrate onepirate premium template to emotion part2 (#26707) @vicasas
- [docs] Fix TextField demo layout (#26710) @vicasas
- [docs] Improve Paperbase demo (#26711) @oliviertassinari
- [docs] Migrate onepirate premium template to emotion part1 (#26671) @vicasas
- [docs] Migrate paperbase premium template to emotion (#26658) @vicasas
- [List] Fix demo to have correct semantic (#26742) @siriwatknp
- [core] Monitore size of key system modules (#26712) @oliviertassinari
- [core] Batch small changes (#26738) @oliviertassinari
- [core] Batch small changes (#26628) @oliviertassinari
- [test] Ignore ReactDOM.render deprecation warning (#26683) @eps1lon
- [test] Run e2e test with React 18 on a schedule (#26690) @eps1lon
- [test] Count profiler renders not passive effects (#26678) @eps1lon
- [test] Bundling fixtures should not override source build with published build (#26657) @eps1lon
- [test] Make tests oblivious to StrictMode (#26654) @eps1lon
All contributors of this release in alphabetical order: @chadmuro, @eps1lon, @likitarai1, @mnajdova, @nikitabobers, @oliviertassinari, @robphoenix, @sakura90, @siriwatknp, @varandasi, @vicasas
Jun 8, 2021
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
-
⚒️ We've introduced a new
ListItemButton
component that should prevent common mistakes when using<ListItem button />
and help with customization and TypeScript support (#26446) @siriwatknp. -
👩🎤
experimentalStyled
is now available without theexperimental
prefix. We're confident that its API shouldn't receive any major changes until the stable release of v5 (#26558) @mnajdova. -
📦
@material-ui/icons
only ships ES modules and no longer CommonJS modules. This reduces the download size of the package from 1.7 MB to 1.2 MB and install size from 15.6 MB to 6.7 MB (#26310) @eps1lon. -
💄 Add support for row and column spacing in the Grid component (#26559) @likitarai1.
Note that this feature was already available for CSS grid users with the
rowGap
andcolumnGap
props.
-
[AppBar] Fix background color on dark mode (#26545) @siriwatknp
The
color
prop has no longer any effect in dark mode. The app bar uses the background color required by the elevation to follow the Material Design guidelines. UseenableColorOnDark
to restore the behavior of v4.<AppBar enableColorOnDark />
-
[core] Rename
experimentalStyled
tostyled
(#26558) @mnajdovaRemove the experimental prefix, this module is going stable:
-import { experimentalStyled as styled } from '@material-ui/core/styles'; +import { styled } from '@material-ui/core/styles';
-
[SwitchBase] Replace IconButton with ButtonBase (#26460) @siriwatknp
-
[theme] Improve default
primary
,secondary
anderror
theme palette (#26555) @siriwatknp
- [Box] Fix module 'clsx' not found in system (#26553) @coder-freestyle
- [Box] Fix runtime error when using styled-components without ThemeProvider (#26548) @mnajdova
- [Radio][checkbox] Don't forward
color
to DOM elements (#26625) @siriwatknp - [Dialog] Flatten DialogTitle DOM structure, remove
disableTypography
(#26323) @eps1lon - [Grid] Add rowSpacing and columnSpacing props (#26559) @likitarai1
- [List] extract button from ListItem to ListItemButton (#26446) @siriwatknp
- [Popover] Fix PaperProps.ref breaking positioning (#26560) @vedadeepta
- [Rating] onChangeActive shouldn't be fired on blur/focus (#26584) @coder-freestyle
- [Select] Fix custom font size centering arrow (#26570) @sarahannnicholson
- [styled] Convert implicit styleProps to explicit (#26461) @mnajdova@siriwatknp
- [Tabs] Fix RTL indicator (#26470) @siriwatknp
- [Tabs] Fix arrow rotation in vertical & RTL (#26527) @siriwatknp
- [TextField] Fix support for custom
size
prop value (#26585) @coder-freestyle - [Tooltip] Finish exiting once started (#26535) @eps1lon
-
[icons] Only ship ES modules (#26310) @eps1lon
The
require()
of@material-ui/icons
is no longer supported. This should not affect you if you're using a bundler likewebpack
orsnowpack
or meta frameworks likenext
orgatsby
.
-
[pickers] Remove
openPickerIcon
prop in favor ofcomponents.OpenPickerIcon
(#26223) @vedadeepta<DateTimePicker components={{ LeftArrowIcon: AlarmIcon, RightArrowIcon: SnoozeIcon, + OpenPickerIcon: ClockIcon, }} - openPickerIcon={<ClockIcon />}
- [system] Add createTheme util (#26490) @mnajdova
- [docs] Migrate templates to emotion (#26604) @vicasas
- [docs] Remove custom primary & secondary color (#26541) @siriwatknp
- [docs] Don't escape prop descriptions for markdown table context (#26579) @eps1lon
- [docs] Prepare for data grid auto-generated docs (#26477) @m4theushw
- [docs] Fix typo sx !== xs (#26596) @onpaws
- [docs] Multiple select demos moving when selecting values (#26539) @itsnorbertkalacska
- [docs] Improve migration guide for
@material-ui/styles
(#26552) @mnajdova - [docs]
Rating
value
is nullable inonChange
(#26542) @sakura90 - [example] Remove the dependency on @material-ui/styles (#26567) @garfunkelvila
- [core] Ignore latest prettier run in git-blame @eps1lon
- [core] Format @eps1lon
- [test] Add bundle fixtures (#23166) @eps1lon
- [website] Add Michał to the About Us page (#26557) @michaldudak
All contributors of this release in alphabetical order: @coder-freestyle, @eps1lon, @garfunkelvila, @itsnorbertkalacska, @likitarai1, @m4theushw, @michaldudak, @mnajdova, @onpaws, @sakura90, @sarahannnicholson, @siriwatknp, @vedadeepta, @vicasas
May 31, 2021
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 We have completed the migration to emotion of all the components (
@material-ui/core
and@material-ui/lab
) @siriwatknp, @mnajdova. - 📦 Save 10 kB gzipped by removing the dependency on
@material-ui/styles
(JSS) from the core and the lab (#26377, #26382, #26376) @mnajdova. - ⚒️ Add many new codemods to automate the migration from v4 to v5 (#24867) @mbrookes.
- And many more 🐛 bug fixes and 📚 improvements.
-
[styles] Remove
makeStyles
from@material-ui/core
(#26382) @mnajdovaThe
makeStyles
JSS utility is no longer exported from@material-ui/core
. You can use@material-ui/styles
instead. Make sure to add aThemeProvider
at the root of your application, as thedefaultTheme
is no longer available. If you are using this utility together with@material-ui/core
, it's recommended you use theThemeProvider
component from@material-ui/core
instead.-import { makeStyles } from '@material-ui/core/styles'; +import { makeStyles } from '@material-ui/styles'; +import { createTheme, ThemeProvider } from '@material-ui/core/styles'; +const theme = createTheme(); const useStyles = makeStyles((theme) => ({ background: theme.palette.primary.main, })); function Component() { const classes = useStyles(); return <div className={classes.root} /> } // In the root of your app function App(props) { - return <Component />; + return <ThemeProvider theme={theme}><Component {...props} /></ThemeProvider>; }
-
[styles] Remove
withStyles
from@material-ui/core
(#26377) @mnajdovaThe
withStyles
JSS utility is no longer exported from@material-ui/core
. You can use@material-ui/styles
instead. Make sure to add aThemeProvider
at the root of your application, as thedefaultTheme
is no longer available. If you are using this utility together with@material-ui/core
, you should use theThemeProvider
component from@material-ui/core
instead.-import { withStyles } from '@material-ui/core/styles'; +import { withStyles } from '@material-ui/styles'; +import { createTheme, ThemeProvider } from '@material-ui/core/styles'; +const defaultTheme = createTheme(); const MyComponent = withStyles((props) => { const { classes, className, ...other } = props; return <div className={clsx(className, classes.root)} {...other} /> })(({ theme }) => ({ root: { background: theme.palette.primary.main }})); function App() { - return <MyComponent />; + return <ThemeProvider theme={defaultTheme}><MyComponent /></ThemeProvider>; }
-
[styles] Merge options in
experimentalStyled
(#26396) @mnajdovaThe options inside the
experimentalStyled
module are now merged under one object. In the coming weeks, we will rename ths module:styled()
to signal that it's no longer experimental.-experimentalStyled(Button, { shouldForwardProp: (prop) => prop !== 'something' }, { skipSx: true })(...); +experimentalStyled(Button, { shouldForwardProp: (prop) => prop !== 'something', skipSx: true })(...);
-
[Tabs] Update
min
&max
width and removeminWidth
media query (#26458) @siriwatknpUpdate the implementation to better match Material Design:
- Tab
minWidth
changed from72px
=>90px
(without media-query) according to material-design spec - Tab
maxWidth
changed from264px
=>360px
according to material-design spec
- Tab
- [ButtonBase] Fix role="button" attribute (#26271) @Gautam-Arora24
- [Dialog] Fix support for custom breakpoints (#26331) @jeferson-sb
- [Select] Open popup below button (#26200) @oliviertassinari
- [TextField] Add variants support, e.g. custom sizes (#26468) @siriwatknp
- [Tooltip] Improve handling of small vs. touch screens (#26097) @oliviertassinari
- [codemod] Add multiple codemods to migrate components from v4 to v5 (#24867) @mbrookes
- [codemod] Correct path and add target placeholder (#26414) @mbrookes
-
[icons] Use array children instead of React fragments (#26309) @eps1lon
Reduce a bit the size of the package.
We are progressively moving all modules that are relevant to styling custom design systems in this package. It's meant to be complementary with @material-ui/unstyled
.
- [system] Add Box to system (#26379) @mnajdova
- [system] Add createStyled utility (#26485) @mnajdova
- [styled-engine] Fix styled() util to respect
options
(#26339) @pasDamola
-
[pickers] Remove allowKeyboardControl (#26451) @eps1lon
-
[ClockPicker] Rework keyboard implementation (#26400) @eps1lon
Remove the
allowKeyboardControl
prop from ClockPicker (and TimePicker and variants). Keyboard navigation now works by default.
- [Button] Migrate LoadingButton to emotion (#26370) @siriwatknp
- [ClockPicker] Selected option is the active descendant (#26411) @eps1lon
- [DatePicker] Migrate CalendarPicker to emotion (#26390) @siriwatknp
- [DatePicker] Migrate CalendarPickerSkeleton to emotion (#26335) @siriwatknp
- [DateRangePicker] Migrate DateRangePickerDay to emotion (#26368) @siriwatknp
- [DateRangePicker] Migrate internal components to emotion (#26326) @siriwatknp
- [pickers] Migrate PickersCalendarHeader to emotion (#26354) @siriwatknp
- [pickers] Migrate PickersModalDialog to emotion (#26355) @siriwatknp
- [pickers] Migrate PickersPopper to emotion (#26391) @siriwatknp
- [pickers] Migrate PickersTransition to emotion (#26353) @siriwatknp
- [TimePicker] Migrate ClockPicker to emotion (#26389) @siriwatknp
- [TreeView] Correctly select items in deeply nested trees (#26413) @Dru89
- [docs] Add page for
experimentalStyled()
(#26361) @mnajdova - [docs] Add TypeScript convention (#26259) @siriwatknp
- [docs] Add warning about git-blame-ignore-revs (#26487) @eps1lon
- [docs] Clarify migration from Hidden (#26348) @m4theushw
- [docs] Fix grammar for style library page (#26325) @mbrookes
- [docs] Persist copied state indefinitely or until the user moves their cursor (#26336) @eps1lon
- [docs] Typo in MultipleSelect (#26466) @wolfykey
- [docs] Update system installation for v5 (#26481) @mnajdova
- [template] Demo how to retreive form value (#26393) @akshitsuri
- [core] Batch small changes (#26434) @oliviertassinari
- [core] Fix peer dependencies declaration with yarn v2 (#26433) @oliviertassinari
- [core] Remove
@material-ui/styles
dependencies from declaration files too (#26376) @mnajdova - [core] Revert Leverage CircleCI workspaces for jobs after checkout (#26444) @eps1lon
- [test] Don't hoist constant elements (#26448) @eps1lon
- [test] Fix prop-type warning (#26432) @oliviertassinari
- [test] Flush scheduled effects before user event returns (#26447) @eps1lon
- [test] Move ClockPicker tests to ClockPicker.test (#26407) @eps1lon
- [test] setProps from createPickerRender should set props on the rendered element (#26405) @eps1lon
- [utils] Convert useId to TypeScript (#26491) @eps1lon
- [website] Add Material-UI X page (#25794) @DanailH
- [website] Add open application section (#26501) @oliviertassinari
- [website] Add Siriwat to team page (#26406) @siriwatknp
All contributors of this release in alphabetical order: @akshitsuri, @DanailH, @Dru89, @eps1lon, @Gautam-Arora24, @jeferson-sb, @m4theushw, @mbrookes, @mnajdova, @oliviertassinari, @pasDamola, @siriwatknp, @wolfykey
May 18, 2021
A big thanks to the 16 contributors who made this release possible. Here are some highlights ✨:
- 💥 Make progress with the breaking changes. We have done 89 of the 109 changes planned. We will release 5.0.0-beta.0 on July 1st and start to promote its usage over v4. You can also follow our milestone for more details.
- 🚀 Make progress with components migration to emotion. We have done 153 of the 168 components (almost there!)
- And many more 🐛 bug fixes and 📚 improvements.
-
[Select][nativeselect] Polish CSS classes (#26186) @m4theushw
Select, NativeSelect
Merge the
selectMenu
slot intoselect
. SlotselectMenu
was redundant. Theroot
slot is no longer applied to the select, but to the root.-<NativeSelect classes={{ root: 'class1', select: 'class2', selectMenu: 'class3' }} /> +<NativeSelect classes={{ select: 'class1 class2 class3' }} />
TablePagination
Move the custom class on
input
toselect
. Theinput
key is being applied on another element.<TablePagination - classes={{ input: 'foo' }} + classes={{ select: 'foo' }} />
-
[core] Move
StyledEngineProvider
to@material-ui/core/styles
(#26265) @mnajdovaChange location of
StyledEngineProvider
import.-import StyledEngineProvider from '@material-ui/core/StyledEngineProvider'; +import { StyledEngineProvider } from '@material-ui/core/styles';
-
[Autocomplete] Apply .Mui-focused instead of data-focus on the focused option (#26181) @m4theushw
The
data-focus
attribute is not set on the focused option anymore, instead, global class names are used.-'.MuiAutocomplete-option[data-focus="true"]': { +'.MuiAutocomplete-option.Mui-focused': {
-
[Radio] Make color primary default (#26180) @vicasas
-
[Switch] Make color primary default (#26182) @vicasas
-
[pickers] Drop ResponsiveWrapper usage (#26123) @eps1lon
When a responsive picker changes from mobile to desktop, it will now clear its entire state. To keep the original behavior you can implement a controlled picker:
function ResponsiveDateTimePicker(props) { const [open, setOpen] = React.useState(false); return ( <DateTimePicker open={open} onClose={() => setOpen(false)} onOpen={() => setOpen(true)} {...props} /> ); }
-
[Autocomplete] Rename getOptionSelected to isOptionEqualToValue (#26173) @m4theushw
<Autocomplete - getOptionSelected={(option, value) => option.title === value.title} + isOptionEqualToValue={(option, value) => option.title === value.title} />
Follow this link for full migration from v4 => v5
- [TextField] Fix hiddenLabel type of FilledInput (#26290) @siriwatknp
- [TextField] Fix classes forward to InputBase (#26231) @arpitBhalla
- [Autocomplete] Fix missing 'createOption' in AutocompleteCloseReason type (#26197) @Gautam-Arora24
- [Autocomplete] Reduce CSS specificity by 1 (#26238) @Gautam-Arora24
- [ButtonBase] Omit aria-disabled if not disabled (#26189) @Gautam-Arora24
- [colors] Fix A inconsistencies (#26196) @oliviertassinari
- [examples] Fix dynamic global styles & global styles leak in the ssr examples (#26177) @mnajdova
- [Slider] Fix support for non primary colors (#26285) @davidfdriscoll
- [Slider] Center value label for disabled slider (#26257) @davidfdriscoll
- [styled-engine] Fix styled-components not supporting empty style (#26098) @ruppysuppy
- [styles] Fix overrides type issues (#26228) @mnajdova
- [Container] Fix support for custom breakpoints (#26328) @alanszp
- [pickers] Migrate TimePickerToolbar to emotion (#26274) @siriwatknp
- [pickers] Migrate DatePickerToolbar to emotion (#26292) @siriwatknp
- [DateTimePicker] Migrate DateTimePickerTabs and Toolbar to emotion (#26327) @siriwatknp
- [DatePicker] Migrate PickersYear to emotion (#25949) @siriwatknp
- [DateRangePicker] Migrate PickersToolbarText to emotion (#25983) @siriwatknp
- [pickers] Migrate StaticWrapper to emotion (#26275) @siriwatknp
- [pickers] Migrate Clock to emotion (#26278) @siriwatknp
- [pickers] Migrate PickersToolbar to emotion (#26273) @siriwatknp
- [pickers] Migrate ClockNumber to emotion (#26058) @siriwatknp
- [pickers] Migrate ClockPointer to emotion (#26057) @siriwatknp
- [pickers] Migrate PickersMonth to emotion (#26021) @siriwatknp
- [pickers] Migrate MonthPicker to emotion (#26025) @siriwatknp
- [pickers] Migrate PickersDay to emotion (#25995) @siriwatknp
- [pickers] Migrate PickersToolbarButton to emotion (#25989) @siriwatknp
-
[icons] Remove extraneous React.Fragment (#26308) @eps1lon
-
[icons] Synchronize icons (#26302) @eps1lon
New DriveFileMove icon and its variants
- [NProgressBar] Fix invalid ARIA and HTML (#26234) @eps1lon
- [docs] Simplify demos slider (#26324) @oliviertassinari
- [docs] Use transpiled icons directly (#26268) @eps1lon
- [docs] Remove dependency on withStyles from @material-ui/core/styles (#26269) @mnajdova
- [docs] Add Jalali date picker demo (#26243) @smmoosavi
- [docs] Remove last dependencies on
makeStyles
from@material-ui/core/styles
(#26246) @mnajdova - [docs] Polish the pickers demo (#26094) @oliviertassinari
- [docs] Fix broken overrides link on API pages (#26244) @mnajdova
- [docs] Improve documentation for Buttons (#26184) @arpitBhalla
- [docs] Emphasize on props for screen readers (#26222) @atisheyJain03
- [docs] Link third-party routing in Bottom Navigation (#26190) @arpitBhalla
- [docs] Migrate Select, Progress demos to emotion (#26178) @mnajdova
- [docs] Add accessibility section to Badges (#26009) @likitarai1
- [docs] Migrate Popper, Drawer demos to emotion (#26183) @mnajdova
- [docs] Use public next/router events API (#26233) @eps1lon
- [docs] Remove remnants Hidden component (#26191) @vicasas
- [docs] Ensure TreeView demos don't overflow demo container (#26161) @eps1lon
- [docs] Fix a typo in the import statement of LocalizationProvider (#26226) @huyenltnguyen
- [docs] Improve react-admin coverage in the showcase (#26169) @fzaninotto
- [docs] Fix Workbox that are causing infinite loading of site (#26193) @arpitBhalla
- [core] Skip sx prop in internal components (#26235) @mnajdova
- [core] Remove
withStyles
dependencies from@material-ui/core/styles
(#26277) @mnajdova - [core] Include human readable target in the BrowserStack build (#26322) @eps1lon
- [core] Fix NotchedOutlineProps type (#26305) @gnowland
- [core] Add file for git-blame --ignore-revs-file (#26295) @eps1lon
- [core] Ensure component class keys aren't missing (#25754) @eps1lon
- [core] Drop support for blocking mode (#26262) @eps1lon
- [core] Don't download monorepo packages (#26261) @eps1lon
- [core] Batch small changes (#26199) @oliviertassinari
- [core] Extract classes descriptions from TypeScript (#25933) @eps1lon
- [styled-engine] Fix test script (#26258) @ruppysuppy
All contributors of this release in alphabetical order: @arpitBhalla, @atisheyJain03, @davidfdriscoll, @eps1lon, @fzaninotto, @Gautam-Arora24, @gnowland, @huyenltnguyen, @likitarai1, @m4theushw, @mnajdova, @oliviertassinari, @ruppysuppy, @siriwatknp, @smmoosavi, @vicas
May 9, 2021
A big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
- 💥 Make progress with the breaking changes. We have done 81 of the 109 changes planned. We will release 5.0.0-beta.0 on July 1st and start to promote its usage over v4. You can also follow our milestone for more details.
- And many more 🐛 bug fixes and 📚 improvements.
-
[core] Remove deprecated innerRef prop (#26028) @m4theushw
withStyles
Replace the
innerRef
prop with theref
prop. Refs are now automatically forwarded to the inner component.import * as React from 'react'; import { withStyles } from '@material-ui/core/styles'; const MyComponent = withStyles({ root: { backgroundColor: 'red', }, })(({ classes }) => <div className={classes.root} />); function MyOtherComponent(props) { const ref = React.useRef(); - return <MyComponent innerRef={ref} />; + return <MyComponent ref={ref} />; }
withTheme
Replace the
innerRef
prop with theref
prop. Refs are now automatically forwarded to the inner component.import * as React from 'react'; import { withTheme } from '@material-ui/core/styles'; const MyComponent = withTheme(({ theme }) => <div>{props.theme.direction}</div>); function MyOtherComponent(props) { const ref = React.useRef(); - return <MyComponent innerRef={ref} />; + return <MyComponent ref={ref} />; }
-
[theme] Rename
createMuiTheme
tocreateTheme
(#25992) @m4theushwDevelopers only need one theme in their application. A prefix would suggest a second theme is needed. It's not the case.
createMuiTheme
will be removed in v6.-import { createMuiTheme } from '@material-ui/core/styles'; +import { createTheme } from '@material-ui/core/styles'; -const theme = createMuiTheme({ +const theme = createTheme({
-
[theme] Remove MuiThemeProvider alias (#26171) @m4theushw
The
MuiThemeProvider
is no longer exported. UseThemeProvider
instead. It was removed from the documentation during v4-beta, 2 years ago.-import { MuiThemeProvider } from '@material-ui/core/styles'; +import { ThemeProvider } from '@material-ui/core/styles';
-
[Box] Remove the
clone
prop (#26031) @m4theushwIts behavior can be obtained using the
sx
prop.-<Box sx={{ border: '1px dashed grey' }} clone> - <Button>Save</Button> -</Box> +<Button sx={{ border: '1px dashed grey' }}>Save</Button>
-
[Box] Remove render prop (#26113) @m4theushw
Its behavior can be obtained using the
sx
prop directly on the child if it's a Material-UI component. For non-Material-UI components use thesx
prop in conjunction with thecomponent
prop:-<Box sx={{ border: '1px dashed grey' }}> - {(props) => <Button {...props}>Save</Button>} -</Box> +<Button sx={{ border: '1px dashed grey' }}>Save</Button>
-<Box sx={{ border: '1px dashed grey' }}> - {(props) => <button {...props}>Save</button>} -</Box> +<Box component="button" sx={{ border: '1px dashed grey' }}>Save</Box>
-
[Checkbox] Make color="primary" default (#26002) @vicasas
This better matches the Material Design guidelines.
-<Checkbox /> +<Checkbox color="secondary />
-
[Select] Remove
labelWidth
prop (#26026) @m4theushwThe
label
prop now fulfills the same purpose, using CSS layout instead of JavaScript measurement to render the gap in the outlined. The TextField already handles it by default.-<Select variant="outlined" labelWidth={20} /> +<Select label="Gender" />
-
[core] Remove
styled
JSS utility from@material-ui/core/styles
(#26101) @mnajdovaThe
styled
JSS utility is no longer exported from@material-ui/core/styles
. You can use@material-ui/styles/styled
instead. Make sure to add aThemeProvider
at the root of your application, as thedefaultTheme
is no longer available. If you are using this utility together with@material-ui/core
, it's recommended you use theThemeProvider
component from@material-ui/core/styles
instead.-import { styled } from '@material-ui/core/styles'; +import { styled } from '@material-ui/styles'; +import { createTheme, ThemeProvider } from '@material-ui/core/styles'; +const theme = createTheme(); const MyComponent = styled('div')(({ theme }) => ({ background: theme.palette.primary.main })); function App(props) { - return <MyComponent />; + return <ThemeProvider theme={theme}><MyComponent {...props} /></ThemeProvider>; }
For new components, you can instead use the
experimentalStyled()
helper powered by emotion/sc.import { experimentalStyled as styled } from '@material-ui/core/styles';
-
[Hidden] Remove component (#26135) @m4theushw
Removed in favor of using the
sx
prop or theuseMediaQuery
hook.Use the
sx
prop to replaceimplementation="css"
:-<Hidden implementation="css" xlUp><Paper /></Hidden> -<Hidden implementation="css" xlUp><button /></Hidden> +<Paper sx={{ display: { xl: 'none', xs: 'block' } }} /> +<Box component="button" sx={{ display: { xl: 'none', xs: 'block' } }} />
-<Hidden implementation="css" mdDown><Paper /></Hidden> -<Hidden implementation="css" mdDown><button /></Hidden> +<Paper sx={{ display: { xs: 'none', md: 'block' } }} /> +<Box component="button" sx={{ display: { xs: 'none', md: 'block' } }} />
Use the
useMediaQuery
hook to replaceimplementation="js"
:-<Hidden implementation="js" xlUp><Paper /></Hidden> +const hidden = useMediaQuery(theme => theme.breakpoints.up('xl')); +return hidden ? null : <Paper />;
-
[withWidth] Remove API (#26136) @m4theushw
Removed in favor of the
useMediaQuery
hook. You can reproduce the same functionality creating a custom hook as described here. -
[Autocomplete] Rename values of the reason argument (#26172) @m4theushw
Rename the values of the reason argument in
onChange
andonClose
for consistency:create-option
tocreateOption
select-option
toselectOption
remove-option
toremoveOption
-
[core] Remove
withTheme
from@material-ui/core
(#26051) @mnajdovaThe
withTheme
utility has been removed from the@material-ui/core/styles
package. You can use the@material-ui/styles/withTheme
instead. Make sure to add aThemeProvider
at the root of your application, as thedefaultTheme
is no longer available. If you are using this utility together with@material-ui/core
, it's recommended you use theThemeProvider
from@material-ui/core/styles
instead.import * as React from 'react'; -import { withTheme } from '@material-ui/core/styles'; +import { withTheme } from '@material-ui/styles'; +import { createTheme, ThemeProvider } from '@material-ui/core/styles'; +const theme = createTheme(); const MyComponent = withTheme(({ theme }) => <div>{props.theme.direction}</div>); function App(props) { - return <MyComponent />; + return <ThemeProvider theme={theme}><MyComponent {...props} /></ThemeProvider>; }
-
[core] Remove
createStyles
from@material-ui/core
(#26018) @mnajdova- The
createGenerateClassName
module is no longer exported from@material-ui/core/styles
. You should import it directly from@material-ui/styles
.
-import { createGenerateClassName } from '@material-ui/core/styles'; +import { createGenerateClassName } from '@material-ui/styles';
- The
jssPreset
object is no longer exported from@material-ui/core/styles
. You should import it directly from@material-ui/styles
.
-import { jssPreset } from '@material-ui/core/styles'; +import { jssPreset } from '@material-ui/styles';
- The
ServerStyleSheets
component is no longer exported from@material-ui/core/styles
. You should import it directly from@material-ui/styles
.
-import { ServerStyleSheets } from '@material-ui/core/styles'; +import { ServerStyleSheets } from '@material-ui/styles';
- The
-
The
StylesProvider
component is no longer exported from@material-ui/core/styles
. You should import it directly from@material-ui/styles
.-import { StylesProvider } from '@material-ui/core/styles'; +import { StylesProvider } from '@material-ui/styles';
-
The
useThemeVariants
hook is no longer exported from@material-ui/core/styles
. You should import it directly from@material-ui/styles
.-import { useThemeVariants } from '@material-ui/core/styles'; +import { useThemeVariants } from '@material-ui/styles';
-
[FormControlLabel] The
label
prop is now required.
- [Dialog] Improve support for custom breakpoints (#26092) @oliviertassinari
- [IconButton] Fix default color prop (#26064) @Jack-Works
- [Radio] Migrate RadioButtonIcon to emotion (#26068) @mnajdova
- [SwipeableDrawer] Migrate SwipeArea to emotion (#26059) @mnajdova
- [Table] Synchronize horizontal sticky header position with body (#26159) @LiKang6688
- [Tabs] Fix support for null children in TabList (#26170) @hubertokf
- [Tabs] Fix keyboard traversal over disabled tabs (#26061) @anish-khanna
- [TextField] Fix missing
standard
variant classes in types (#26115) @siriwatknp - [TextField] Allow to customize Typography in FormControlLabel (#25883) @mousemke
- [theme] Fix transition duration default value customization (#26054) @anshuman9999
-
[Timeline] Add support for position override on items (#25974) @simonecervini
Rename the
align
prop toposition
to reduce confusion.-<Timeline align="alternate"> +<Timeline position="alternate">
-<Timeline align="left"> +<Timeline position="right">
-<Timeline align="right"> +<Timeline position="left">
-
[pickers] Remove customization of deep components (#26118) @eps1lon
- [DatePicker] Migrate YearPicker to emotion (#25928) @siriwatknp
- [DateRangePicker] Fix not being opened on click (#26016) @eps1lon
- [pickers] Fix ref types (#26121) @eps1lon
- [pickers] Rely on native behavior for disabled/readOnly behavior (#26055) @eps1lon
- [pickers] Remove unused components from mobile and desktop variants (#26066) @eps1lon
- [pickers] Document readonly/disabled pickers (#26056) @eps1lon
- [pickers] Remove unused components from static variants (#26052) @eps1lon
- [pickers] Toggle mobile keyboard view in the same commit as the view changes (#26017) @eps1lon
- [pickers] Remove redundant aria-hidden (#26014) @eps1lon
- [pickers] Ensure input value is reset in the same commit as the value (#25972) @eps1lon
- [internal][pickers] Pass desktop wrapper props explicitly (#26120) @eps1lon
- [internal][pickers] Move useInterceptProps into module (#26090) @eps1lon
- [internal][pickers] Explicit default toolbar components (#26075) @eps1lon
- [internal][pickers] Move validation from config to module (#26074) @eps1lon
- [internal][pickers] Minimal types for defaultizing in useInterceptProps (#26063) @eps1lon
- [internal][pickers] Don't validate inputFormat in production (#26053) @eps1lon
- [internal][pickers] Remove unused styles (#26023) @eps1lon
- [internal][pickers] Remove
AllSharedPickerProps
andAllSharedDateRangePickerProps
(#26005) @eps1lon
- [docs] Migrate Tabs, Table, Snackbar demos to emotion (#26175) @mnajdova
- [docs] Fix dynamic global styles (#25690) @mnajdova
- [docs] Fixed React.forwardRef missing display name ESLint error (#26160) @arpitBhalla
- [docs] Migrate Tooltip, Steppers demos to emotion (#26165) @mnajdova
- [docs] Migrate Dialog demos to emotion (#26162) @vicasas
- [docs] Remove
makeStyles
from landing pages (#26130) @mnajdova - [docs] Add new customized switch examples (#26096) @DanielBretzigheimer
- [docs] Migrate Autocomplete demos (#26127) @mnajdova
- [docs] Remove
@material-ui/core/styles
from the styles pages (#26126) @mnajdova - [docs] Update templates, premium-themes to use
makeStyles
from@material-ui/styles
(#26131) @mnajdova - [docs] Migrate TreeView demos (#26146) @mnajdova
- [docs] More explicit breakpoint documentation in
sx
(#26140) @eps1lon - [docs] Explicitly describe how the media query affects the rendered version (#26129) @eps1lon
- [docs] Fix 301 link to store (#26095) @oliviertassinari
- [docs] Normalize name use for state in pickers demo (#26093) @oliviertassinari
- [docs] Consistent type name in docs (#26077) @jamesaucode
- [docs] Remove
makeStyles
dependency from core in modules (#26071) @mnajdova - [docs] Add links for demo in different deploys (#26065) @eps1lon
- [docs] Add section for useFormControl (#25927) @t49tran
- [docs] Add Styled Engine page (#25911) @mnajdova
- [docs] Migrate Timeline demos to emotion (#26036) @vicasas
- [docs] Document all the colors available (#26015) @anshuman9999
- [docs] Avoid extracting classes twice (#25973) @oliviertassinari
- [test] Add test for behavior when picker variant changes (#26128) @eps1lon
- [test] testing-library patterns for playwright tests (#25860) @eps1lon
- [test] Remove scheduler/tracing (#26062) @eps1lon
- [test] Remove duplicate property (#26011) @eps1lon
- [core] Link to experimental size-comparison page (#26179) @eps1lon
- [core] Update typings for theme's components (#26125) @mnajdova
- [core] Improve
react@experimental
compat (#26116) @eps1lon - [core] Remove more dependencies on
@material-ui/styles
(#26100) @mnajdova - [core] Batch small changes (#26083) @oliviertassinari
- [core] ComponentType -> JSXElementConstructor (#26081) @eps1lon
- [core] Create new @material-ui/private-theming package (#25986) @mnajdova
All contributors of this release in alphabetical order: @anish-khanna, @anshuman9999, @arpitBhalla, @DanielBretzigheimer, @eps1lon, @hubertokf, @Jack-Works, @jamesaucode, @LiKang6688, @m4theushw, @mnajdova, @mousemke, @oliviertassinari, @simonecervini, @siriwatknp, @t49tran, @vicasas
Apr 27, 2021
A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 We have completed the migration to emotion of all components in
@material-ui/core
. We will focus on the components in@material-ui/lab
next. - 💥 Make progress with the breaking changes plan. We have done 38 out of 41 breaking changes that can be deprecated. We have done 21 out of the 39 that can't have deprecations. Once done, we will focus on updating the component for better following material design, and to improve the aesthetic.
- 💄 Support extending the theme for custom color and size values in all components.
- And many more 🐛 bug fixes and 📚 improvements.
-
[Table] Rename padding="default" to padding="normal" (#25924) @m4theushw
-<Table padding="default" /> -<TableCell padding="default" /> +<Table padding="normal" /> +<TableCell padding="normal" />
-
[Button] Rename
pending
prop toloading
in LoadingButton (#25874) @m4theushw-<LoadingButton pending pendingIndicator="Pending..." pendingPosition="end" /> +<LoadingButton loading loadingIndicator="Pending..." loadingPosition="end" />
-
[ButtonBase] Remove buttonRef prop (#25896) @m4theushw
-<ButtonBase buttonRef={ref} /> +<ButtonBase ref={ref} />
-<Button buttonRef={ref} /> +<Button ref={ref} />
-
[Checkbox][switch] Remove checked argument from onChange (#25871) @m4theushw
function MyCheckbox() { - const handleChange = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => { + const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => { + const checked = event.target.checked; }; return <Checkbox onChange={handleChange} />; }
function MySwitch() { - const handleChange = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => { + const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => { + const checked = event.target.checked; }; return <Switch onChange={handleChange} />; }
-
[theme] Remove theme.breakpoints.width helper (#25918) @m4theushw
-theme.breakpoints.width('md') +theme.breakpoints.values.md
-
[theme] Remove theme.typography.round helper (#25914) @m4theushw
The
theme.typography.round
helper was removed because it was no longer used. If you need it, use the function below:function round(value) { return Math.round(value * 1e5) / 1e5; }
- [Container] Fix maxWidth="false" resulting in incorrect css (#25869) @mnajdova
- [core] Improve support for extended props in theme (#25934) @vicasas
- [core] Fix various too wide
classes
types (AppBar, Card, Link, LoadingButton, MenuItem) (#25917) @eps1lon - [Drawer] Fix classes forwarded to DOM node for docked drawer (#25870) @mnajdova
- [IconButton] Support custom colors and sizes (#25890) @Vikram710
- [l10n] Add Bengali (bnBD) locale (#25841) @Knoxo
- [Rating] Support custom sizes (#25922) @vicasas
- [Select] Fix classes leaking on the DOM (#25894) @siriwatknp
- [Stack] Fix support of spacing falsy values (#25937) @simonecervini
- [Table] Migrate TablePagination to emotion (#25809) @siriwatknp
- [Tabs] Migrate Tabs to emotion (#25824) @siriwatknp
- [TextField] Remove utlity class name for margin="none" (#25969) @oliviertassinari
- [TextField] Make the
position
prop required in InputAdornment (#25891) @m4theushw - [theme] Remove fade color helper (#25895) @m4theushw
- [DateTimePicker]
date
is nullable inonChange
(#25981) @eps1lon - [internal][pickers] Remove unused TView type argument (#25936) @eps1lon
- [internal][pickers] Inline some BasePickerProps usages (#25971) @eps1lon
- [internal][pickers] Entangle what Props vs AllProps means (#25938) @eps1lon
- [lab] Update slot components to use overridesResolver (#25906) @mnajdova
- [Timeline] Remove use of nth-child in favor of nth-of-type (#25915) @wellwellmissesanderson
- [Timeline] Migrate Timeline to emotion (#25838) @siriwatknp
- [TreeView] Migrate TreeItem to emotion (#25835) @siriwatknp
- [styled-engine] Skip variants resolver for non root slots by default (#25865) @mnajdova
- [system] Add missing
main
entry for styleFunctionSx (#25885) @eps1lon
This package is just re-released since version 5.1.7 had a breaking change.
- [Autocomplete] Fix tagSize class typo (#25908) @JanMisker
- [DataGrid] Update docs sections (#25980) @dtassone
- [docs] Batch small fixes (#25807) @m4theushw
- [docs] Explicitly list demos of unstyled components (#25900) @eps1lon
- [docs] Expose heading links in a11y tree (#25861) @eps1lon
- [docs] Fix minor typo (#26001) @onpaws
- [docs] Fix global styles leaking on different pages (#25855) @mnajdova
- [docs] Fix Typography api docs for
paragraph
prop (#25929) @DanailH - [docs] Fix Slider's classes wrong description (#25907) @mnajdova
- [docs] Grammar correction in autocomplete API (#25910) @gruber76
- [docs] Require documentation of demos (#25811) @eps1lon
- [docs] Update minimum required TypeScript version (#25930) @eps1lon
- [Table] Improve description of TablePagination.rowsPerPageOptions (#25982) @kevinlul
- [core] Fix wrong imports to '@material-ui/styles' (#25984) @mnajdova
- [core] Ensure props spreading works as expected (#25939) @oliviertassinari
- [core] Batch small changes (#25968) @oliviertassinari
- [core] Enable trailing comma in TypeScript files (#25931) @eps1lon
- [core] Remove @typescript-to-proptypes-generate handlers (#25909) @eps1lon
- [core] Update slots components to enable flatten specificity for overrides (#25853, #25864, #25881, #25884, #25887, #25904, #25892) @mnajdova
- [test] Add current behavior of inverleaving elements on mousedown (#25903) @eps1lon
- [test] Add test validator to improve DX (#25854) @siriwatknp
- [test] Fix duplicate key in TreeItem test (#26000) @mnajdova
All contributors of this release in alphabetical order: @DanailH, @dtassone, @eps1lon, @gruber76, @JanMisker, @kevinlul, @Knoxo, @m4theushw, @mnajdova, @oliviertassinari, @simonecervini, @siriwatknp, @vicasas, @Vikram710, @wellwellmissesanderson
Apr 20, 2021
A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 Migrate 4 components to emotion.
- 💥 Resume work on the breaking changes, aim for v5.0.0-beta.0 in the next coming months.
- And many more 🐛 bug fixes and 📚 improvements.
-
[FormControl] Change default variant from standard to outlined (#24895) @petyosi Standard has been removed from the Material Design guidelines. This codemod will automatically update your code.
-<FormControl value="Standard" /> -<FormControl value="Outlined" variant="outlined" /> +<FormControl value="Standard" variant="standard" /> +<FormControl value="Outlined" />
-
[Menu] The
selectedMenu
variant will not vertically align the selected item with the anchor anymore. (#25691) @m4theushw -
[Popover] Remove the
getContentAnchorEl
prop to simplify the positioning logic. (#25691) @m4theushw -
[Select] Change default variant from standard to outlined (#24895) @petyosi Standard has been removed from the Material Design guidelines. This codemod will automatically update your code.
-<Select value="Standard" /> -<Select value="Outlined" variant="outlined" /> +<Select value="Standard" variant="standard" /> +<Select value="Outlined" />
- [Alert] Fix action to be aligned with the text (#25768) @mnajdova
- [Avatar] Fix onload event not firing when img cached (#25793) @npandrei
- [Box] Add utility mui class (#25802) @mnajdova
- [core] Don't call noop event.persist() (#25782) @eps1lon
- [Dialog] Fix support of custom breakpoint units (#25788) @Vikram710
- [List] Fix support for list item container style overrides (#25777) @mnajdova
- [Rating] Allow clearing ratings with arrow keys (#25645) @Vikram710
- [Rating] Fix focus visible regression (#25698) @oliviertassinari
- [Select] Fix specificity of style overrides (#25766) @robphoenix
- [Select] Fix className overwritten (#25815) @siriwatknp
- [Select] Fix overrides for slots (#25796) @mnajdova
- [Snackbar] Fix hidden overlay blocking interactions regression (#25739) @MieleVL
- [TextField] Fix InputAdornment classes (#25749) @mnajdova
- [theme] Avoid mutating args in createSpacing (#25745) @eps1lon
-
[Pickers] Rename DayPicker to CalendarPicker (#25810) @eps1lon
-import DayPicker from '@material-ui/lab/DayPicker'; +import CalendarPicker from '@material-ui/lab/CalendarPicker'; createMuiTheme({ components: { - MuiDayPicker: {}, + MuiCalendarPicker: {}, } })
-
[Pickers] Rename PickersCalendarSkeleton to CalendarPickerSkeleton (#25679) @eps1lon
-import PickersCalendarSkeleton from '@material-ui/lab/PickersCalendarSkeleton'; +import CalendarPickerSkeleton from '@material-ui/lab/CalendarPickerSkeleton';
-
[Pickers] Rename
date
view
today
(#25685) @eps1lon-<DatePicker openTo="date" views={['date', 'month']} /> +<DatePicker openTo="day" views={['day', 'month']} />
- [DateRangePicker] Add DateRangePickerDay to theme augmentation list (#25758) @ifndefdeadmau5
- [Pickers] Rename internal DayPickerView to CalendarPickerView (#25817) @eps1lon
- [Pickers] Remove
TView
generic in CalendarPicker (#25818) @eps1lon - [Pickers] Use passive effect to attach close-on-escape listener (#25819) @eps1lon
- [Timeline] Migrate TimelineDot to emotion (#25830) @vicasas
- [Timeline] Migrate TimelineContent to emotion (#25781) @siriwatknp
- [Timeline] Migrate TimelineItem to emotion (#25822) @vicasas
- [Timeline] Migrate TimelineOppositeContent to emotion (#25816) @vicasas
- [TrapFocus] Make isEnabled and getDoc optional (#25784) @m4theushw
- [styled-engine] Fix shouldForwardProp on slots (#25780) @mnajdova
- [styled-engine] Improve GlobalStyles props (#25751) @mnajdova
- [unstyled] Convert generateUtilityClass(es) to TypeScript (#25753) @eps1lon
- [Avatar] Set backgroundColor from string (#25789) @Vikram710
- [docs] Add demos for public picker components (#25812) @eps1lon
- [docs] Add example with switch dark/light mode (#25823) @Vikram710
- [docs] Add package headings to 5.0.0-alpha.30 changelog (#25733) @eps1lon
- [docs] Add unstyled section to all components coming with the package (#25843) @mnajdova
- [docs] Breakdown Chip demos into smaller ones (#25750) @vicasas
- [docs] Document circular progress inherit (#25736) @oliviertassinari
- [docs] Fix /production-error crash (#25839) @eps1lon
- [docs] Fix ad duplication (#25831) @oliviertassinari
- [docs] Fix autocommplete disable event value (#25752) @oliviertassinari
- [docs] Fix inline-preview selection controls (#25834) @oliviertassinari
- [docs] Fix Horizontally centered demo (#25787) @viditrv123
- [docs] Improve pickers migration docs from v3 (#25813) @ahmed-28
- [docs] Move DataGrid editing nav link (#25769) @dtassone
- [docs] Replace Typography color values with system values (#25805) @oliviertassinari
- [docs] Remove one inline-style (#25671) @oliviertassinari
- [docs] Use gender neutral pronoun for Swipeable Drawer (#25775) @catchanuj
- [examples] Add TypeScript for styled-components engine (#25675) @jqrun
- [l10n] zhTW refinement (#25786) @shakatoday
- [Tabs] Add demo for routing with Tabs (#25827) @ahmed-28
- [website] Add Matheus Wichman (#25801) @m4theushw
- [core] Batch small changes (#25804) @oliviertassinari
- [core] Document token permissions of release:changelog (#25732) @eps1lon
- [core] Error when installing in unsupported node environments (#25795) @eps1lon
- [core] Fix rgba to hex conversion (#25825) @saeedeyvazy
- [core] Normalize usage of pseudo classes selectors (#25748) @mnajdova
- [core] Remove unused public types (#25833) @oliviertassinari
- [core] Remove incorrect overridesResolver usages (#25778) @mnajdova
- [test] Use public imports (#25686) @vicasas
- [core] Use readonly arrays where possible (#25746) @eps1lon
All contributors of this release in alphabetical order: @ahmed-28, @catchanuj, @dtassone, @eps1lon, @ifndefdeadmau5, @jqrun, @m4theushw, @MieleVL, @mnajdova, @npandrei, @oliviertassinari, @petyosi, @robphoenix, @saeedeyvazy, @shakatoday, @siriwatknp, @vicasas, @viditrv123, @Vikram710
Apr 12, 2021
A big thanks to the 21 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 Migrate 9 components to emotion.
- And many more 🐛 bug fixes and 📚 improvements.
- [Alert] Vertically align action on top (#25654) @xdshivani
- [Autocomplete] Fix text field standard visual regression (#25676) @oliviertassinari
- [CssBaseline] Fix @font-face rule broken in styleOverrides (#25583) @mnajdova
- [Grid] Support custom number of columns (#25636) @Avi98
- [InputBase] Fix autofill typo (#25651) @michal-perlakowski
- [LinearProgress] Add color="inherit" support (#25641) @itscharlieliu
- [Pagination] Allow to differentiate more item types (#25622) @ruppysuppy
- [Popover] Add popoverClasses export to type declarations (#25695) @tomasznguyen
- [Rating] Add highlight selected rating only (#25649) @Vikram710
- [Rating] Migrate to emotion (#25588) @natac13
- [Select] Migrate to emotion (#25653) @mnajdova
- [Select] Migrate NativeSelect to emotion (#24698) @duganbrett
- [SpeedDial] Fix broken aria reference issue (#25665) @RiyaNegi
- [Stepper] Migrate MobileStepper to emotion (#25589) @natac13
- [styles] Outdated warning message (#25637) @bhairavee23
- [Table] Remove legacy fix for JSS (#25692) @oliviertassinari
- [Table] Migrate TableSortLabel to emotion (#25638) @natac13
- [TabPanel] Migrate to emotion (#25646) @tomasznguyen
- [TextareaAutosize] Fix resizing bug on Firefox (#25634) @bhairavee23
- [TextField] Add textFieldClasses export to type declarations (#25696) @tomasznguyen
- [theme] Change default bgColor to white in light mode (#25730) @saleebm
- [ToggleButton] Add fullWidth prop (#25585) @hcz
- [typescript] Add muiName to declarations (#25689) @michal-perlakowski
- [Timeline] Migrate TimelineSeparator to emotion (#25666) @vicasas
- [Timeline] Migrate TimelineConnector to emotion (#25663) @vicasas
- [TimePicker] Use clock icon when editing in mobile mode (#25569) @alcwhite
- [TreeView] Migrate to emotion (#25673) @tomasznguyen
- [blog] Fix typos @oliviertassinari
- [docs] Migrate TextField demos to emotion (#25626) @vicasas
- [docs] Bump stylis-plugin-rtl requirement (#25661) @mnajdova
- [docs] Ensure old api-docs translations are cleaned (#25680) @eps1lon
- [docs] Fix typo in v4 migration doc (#25678) @thameera
- [docs] Fix useLayoutEffect warning (#25670) @oliviertassinari
- [docs] Fix a11y issue in the SpeedDial docs (#25669) @RiyaNegi
- [docs] Cover TypeScript commands in codemod readme (#25640) @StuffByLiang
- [docs] Migrate Popover demos to emotion (#25620) @vicasas
- [docs] Fix typo in switches and checkboxes doc (#25639) @dimitropoulos
- [docs] Add interoperability section for Portal (#25575) @mnajdova
- [docs] Fix side nav scroll position (#25619) @misaka3
- [website] Q1 2021 Update (#25591) @oliviertassinari
- [website] Matheus Wichman joins Material-UI (#25590) @oliviertassinari
- [test] Use public api in lab (#25682) @vicasas
- [test] Test types of .spec lab files (#25684) @eps1lon
- [core] Fix build step for unstyled package (#25672) @oliviertassinari
- [core] Ensure react-is uses v17 (#25668) @eps1lon
All contributors of this release in alphabetical order: @alcwhite, @bhairavee23, @dimitropoulos, @duganbrett, @eps1lon, @hcz, @itscharlieliu, @michal-perlakowski, @misaka3, @mnajdova, @natac13, @oliviertassinari, @RiyaNegi, @ruppysuppy, @saleebm, @StuffByLiang, @thameera, @tomasznguyen, @vicasas, @Vikram710, @xdshivani
Apr 4, 2021
A big thanks to the 26 contributors who made this release possible. Here are some highlights ✨:
-
🙌 Add support in the Grid for any spacing value (#25503) @ZakMiller. For instance:
<Grid container spacing={1.5}> <Grid container spacing="30px">
This feature was made possible by the recent migration to emotion. You can find the other issues unlocked by the migration to emotion on the Grid component that are left to be solved.
-
👩🎤 Convert 3 components to emotion (#25541, #25516, #25521) @rajzik, @praveenkumar-kalidass, @siriwatknp.
-
📚 Migrate 8 component demo pages to the
sx
,Stack
, andstyled
API @vicasas. -
And many more 🐛 bug fixes and 📚 improvements.
- [AppBar] Fix type support of overridable component (#25456) @heleg
- [Autocomplete] Fix Async demo in docs (#25536) @kanish671
- [Autocomplete] Fix TypeScript wrapper example (#25530) @JanKaczmarkiewicz
- [Backdrop] Remove z-index: -1 (#25524) @silver-snoopy
- [Card] Add component prop support (#25537) @silver-snoopy
- [CssBaseline] Migrate ScopedCssBaseline to emotion (#25541) @rajzik
- [Divider] Support middle variant with vertical orientation (#25428) @vedadeepta
- [Grid] Support decimal spacing (#25503) @ZakMiller
- [List] Remove background inheritance of ListSubheader (#25532) @tanmoyopenroot
- [Paper] Support dark mode brightening based on elevation (#25522) @m4theushw
- [Select] Fix selection of non-options (#25567) @oliviertassinari
- [Select] Set aria-expanded to false when listbox is collapsed (#25545) @Harish-Karthick
- [SpeedDial] Call focus on escape (#25509) @tanmoyopenroot
- [Stack] Add component prop (#25526) @silver-snoopy
- [Stack] Fix the :not selector (#25484) @Andarist
- [Stepper] Migrate StepButton to emotion (#25516) @praveenkumar-kalidass
- [Stepper] Migrate Stepper to emotion (#25521) @siriwatknp
- [Tabs] Don't animate scroll on first render (#25469) @manziEric
- [Tooltip] Fix forwarded classes (#25535) @silver-snoopy
- [Slider] Allow disabling the left and right thumbs swap (#25547) @michal-perlakowski
- [DateRangePicker] Fix props naming in DatePicker components (#25504) @callmeberzerker
- [DateRangePickerInput][internal] Inline makeDateRangePicker calls (#25470) @eps1lon
- [StaticDateRangePicker] Fix inconsistent name for theme props (#25483) @eps1lon
- [Pickers] Move own internals from lab internals to dedicated file (#25498) @eps1lon
- [docs] Provide an alternative to right-to-left (#25584) @dariusk
- [docs] Add note for typescript on the styled() customization guide (#25576) @mnajdova
- [docs] Replace incorrect instances of defined with define (#25572) @surajpoddar16
- [docs] Fix spelling error in roadmap.md file (#25570) @Brlaney
- [docs] Migrate Card demos to emotion (#25557) @vicasas
- [docs] Fix typo in data grid (#25561) @michael-001
- [docs] Migrate Menu demos to emotion (#25554) @vicasas
- [docs] Fix style in dark mode (#25551) @m4theushw
- [docs] Document changing skeleton color (#25542) @ZakMiller
- [docs] Improve coverage of TypeScript theme augmentation (#25489) @ashishshuklabs
- [docs] Update minimizing-bundle-size.md (#25534) @nguyenyou
- [docs] Migrate Portal demos to emotion (#25505) @vicasas
- [docs] Migrate NoSSR demos to emotion (#25506) @vicasas
- [docs] Migrate ClickAwayListener demos to emotion (#25507) @vicasas
- [docs] Cover change of React support (#25487) @oliviertassinari
- [docs] Migrate Transitions demos to emotion (#25488) @vicasas
- [docs] Fix Stack divider demo (#25491) @oliviertassinari
- [docs] Migrate Icons demos to emotion (#25412) @vicasas
- [core] Use latest TypeScript in typescript-to-proptypes (#25512) @eps1lon
- [core] Update the codesandbox issue templates (#25501) @oliviertassinari
- [test] Wait on e2e server to start before starting runner (#25476) @eps1lon
All contributors of this release in alphabetical order: @Andarist, @ashishshuklabs, @Brlaney, @callmeberzerker, @dariusk, @eps1lon, @Harish-Karthick, @heleg, @JanKaczmarkiewicz, @kanish671, @m4theushw, @manziEric, @michael-001, @michal-perlakowski, @mnajdova, @nguyenyou, @oliviertassinari, @praveenkumar-kalidass, @rajzik, @silver-snoopy, @siriwatknp, @surajpoddar16, @tanmoyopenroot, @vedadeepta, @vicasas, @ZakMiller
Mar 22, 2021
A big thanks to the 34 contributors who made this release possible. Here are some highlights ✨:
-
👩🎤 Convert 9 components to emotion (#25267, #25216, #25264, #25197, #25372, #25281, #25210, #25279, #2528) @natac13 @tomasznguyen @kayuapi. 85% of the components have been migrated so far, thanks to the help of the community.
-
📚 Migrate 18 component demo pages to the
sx
,Stack
, andstyled
API @vicasas. This was also an importunity to breakdown the existing large demos into smaller and more focuses ones. -
Add a new Stack component (#25149) @souporserious The component allows to workaround the lack of support for the CSS flexbox
gap
property across browsers.See the documentation for more details.
-
And many more 🐛 bug fixes and 📚 improvements.
- [core] Drop support for React 16 (#25464) @eps1lon
- [core] Drop support for node 10 (#25306) @eps1lon
- [Autocomplete] Warn when the input didn't resolve in time (#25311) @LaneRamp
- [Autocomplete] Fix styleOverrides support (#25276) @manziEric
- [ButtonBase] Allow to customize the link component via theme (#25331) @vedadeepta
- [ButtonBase] Fix default type attribute (submit -> button) (#25323) @RTEYL
- [ButtonGroup] Support custom colors (#25413) @oliviertassinari
- [CircularProgress] Fix animation when disableShrink={true} (#25247) @duongdev
- [Dialog] Fix typo (#25287) @aheimlich
- [Dialog] Migrate DialogContentText to emotion (#25267) @tomasznguyen
- [Dialog] Migrate Dialog to emotion (#25216) @natac13
- [Drawer] Fix RTL support (#25453) @silver-snoopy
- [Menu] Migrate to emotion (#25264) @tomasz-crozzroads
- [Paper] Fix component prop type error (#25426) @heleg
- [Popover] Migrate to emotion (#25197) @tomasznguyen
- [Radio] Fix html structure (#25398) @oliviertassinari
- [Select] Fix focus background when variant="outlined" (#25393) @christiaan
- [Slider] Add
tabIndex
prop (#25388) @johnloven - [Snackbar] Fix prop type error for 'key' prop (#25431) @jansedlon
- [SpeedDial] Reset tooltip state when the speed dial is closed (#25259) @m4theushw
- [Stack] Add new component (#25149) @souporserious
- [Stepper] Migrate StepLabel to emotion (#25372) @praveenkumar-kalidass
- [Stepper] Migrate StepIcon to emotion (#25281) @praveenkumar-kalidass
- [Stepper] Migrate StepContent to emotion (#25210) @praveenkumar-kalidass
- [SwipeableDrawer] Fix hideBackDrop support (#25275) @manziEric
- [Table] Fix duplicated keys in TablePagination rows per page (#25309) @martinfrancois
- [Table] Consistency with DataTable (#25414) @oliviertassinari
- [TextField] Size small for multiline (#25423) @julihereu
- [TextField] Migrate InputAdornment to emotion (#25279) @kayuapi
- [TextField] Migrate to emotion (#25286) @tomasznguyen
- [ToggleButton] Add color prop (#25390) @AlfredoGJ
- [Tooltip] Make
disableFocusListener
prop comment clearer (#25455) @jansedlon - [Tooltip] Fix placement regression (#25255) @oliviertassinari
- [Transition] Add easing prop to override default timing function (#25245) @jeferson-sb
- [Pickers] Follow "private by default" in makeDateRangePicker (#25424) @eps1lon
- [Pickers] Simplify internals of *Wrapper components (#25369) @eps1lon
- [Pickers] Remove
make*
HOCs (#25172) @eps1lon - [Pickers] Remove propTypes in production for exotic components (#25261) @eps1lon
- [Pickers] Unify ref behavior (#25425) @eps1lon
- [Pickers] Sort properties (#25473) @eps1lon
- [utils] Fix useForkRef typings rejecting nullish (#25468) @eps1lon
- [utils] Allow functional updates in TypeScript declaration of useControlled (#25378) @MikhailTSE
- [utils] Add a new integer propType (#25224) @fayzzzm
- [docs] Fix typo in migration-v4.md (#25384) @Tollwood
- [docs] Use defaultCodeOpen where appropriate (#25418) @eps1lon
- [docs] Support RTL with styled components (#25457) @silver-snoopy
- [docs] Improve the docs of the Grid component (#25429) @oliviertassinari
- [docs] Migrate Switch demos to emotion (#25366) @vicasas
- [docs] Use Stack in demos (#25419) @vicasas
- [docs] Migrate Checkbox demos to emotion (#25394) @vicasas
- [docs] Migrate Radio demos to emotion (#25396) @vicasas
- [docs] Update icon link to fonts.google.com (#25410) @BGehrels
- [docs] Migrate Avatar demos to emotion (#25375) @vicasas
- [docs] Fix multiline textfields docs to use minRows/maxRows (#25383) @saleebm
- [docs] Consolidate environment variables into next.config (#25386) @eps1lon
- [docs] Use
env
next config over DefinePlugin (#25373) @eps1lon - [docs] Migrate SpeedDial to emotion (#25367) @vicasas
- [docs] Refine the used prop-type to discriminate number from integer (#25334) @fayzzzm
- [docs] Migrate AppBar demos to emotion (#25335) @m4theushw
- [docs] Migrate Grid demos to emotion (#25332) @vicasas
- [docs] Migrate Toggle Button demos to emotion (#25333) @vicasas
- [docs] Migrate Links demos to emotion (#25303) @vicasas
- [docs] Migrate Breadcrumbs demos to emotion (#25302) @vicasas
- [docs] Migrate Image List demos to emotion (#25301) @vicasas
- [docs] Bring clarity about the IE 11 support policy: it's partial (#25262) @oliviertassinari
- [docs] Add the new demo page for the data grid (#25284) @DanailH
- [docs] Migrate List demos to emotion (#25266) @vicasas
- [docs] Migrate Chip demos to emotion (#25268) @vicasas
- [docs] Add missing props to *DatePicker API (#25254) @eps1lon
- [docs] Improve accessibility of the basic menu demo (#25207) @ee0pdt
- [docs] Migrate Fab demos to emotion (#25251) @vicasas
- [docs] Migrate Rating demos to emotion (#25252) @vicasas
- [docs] Migrate Transfer List demos to emotion (#25253) @vicasas
- [docs] Remove dead generatePropTypeDescription method (#25188) @fayzzzm
- [docs] Migrate Skeleton demos to emotion (#25212) @vicasas
- [docs] Migrate Paper demos to emotion (#25213) @vicasas
- [docs] Migrate Container demos to emotion (#25220) @vicasas
- [docs] Add GlobalStyles API (#25191) @eps1lon
- [benchmark] Set intended environment (#25402) @eps1lon
- [core] Remove .propTypes when the props are empty (#25193) @eps1lon
- [core] Fix allSettled usage (#25461) @eps1lon
- [core] Switch to React 17 (#25416) @eps1lon
- [core] Bump missed node versions (#25385) @eps1lon
- [core] Batch small changes (#25330) @oliviertassinari
- [core] Use Promise.allSettled over .all where appropriate (#25315) @eps1lon
- [test] Use fixture terminology in e2e and visual regression tests (#25466) @eps1lon
- [test] Create end-to-end testing CI job (#25405) @eps1lon
- [test] Transpile more similar to prod bundle (#25406) @eps1lon
- [test] Minor improvements to
describeConformance
(#25297) @eps1lon - [test] Fix warnings in the demos (#25140) @oliviertassinari
- [test] Convert createClientRender to TypeScript (#25249) @eps1lon
- [test] Increase ttp setup timeout (#25248) @eps1lon
- [test] Improve typescript-to-proptypes test suite (#25209) @eps1lon
All contributors of this release in alphabetical order: @aheimlich, @AlfredoGJ, @BGehrels, @christiaan, @DanailH, @duongdev, @ee0pdt, @eps1lon, @fayzzzm, @heleg, @jansedlon, @jeferson-sb, @johnloven, @julihereu, @kayuapi, @LaneRamp, @m4theushw, @manziEric, @martinfrancois, @MikhailTSE, @natac13, @oliviertassinari, @praveenkumar-kalidass, @RTEYL, @saleebm, @silver-snoopy, @souporserious, @Tollwood, @tomasz-crozzroads, @tomasznguyen, @vedadeepta, @vicasas
Mar 5, 2021
A big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 Convert 8 components to emotion (#25091, #25158, #25146, #25142, #25166) @natac13, @mngu, @m4theushw, @praveenkumar-kalidass.
- 📚 Convert 5 components demos to emotion (#25164, #25183, #25180, #25145, #25138) @vicasas
- And many more 🐛 bug fixes and 📚 improvements.
- [Autocomplete] Support readonly type for the options (#25155) @silver-snoopy
- [Drawer] Migrate to emotion (#25091) @natac13
- [LinearProgress] Migrate to emotion (#25158) @mngu
- [Pagination] Migrate Pagination and PaginationItem to emotion (#25146) @mngu
- [Radio] Migrate to emotion (#25152) @mngu
- [Snackbar] Migrate to emotion (#25142) @m4theushw
- [SpeedDial] Migrate to emotion (#25166) @m4theushw
- [Stepper] Migrate StepConnector to emotion (#25092) @praveenkumar-kalidass
- [styled] Fix override logic to support component without root (#25143) @niting143
- [Table] Remove default role logic in TableCell (#25105) @silver-snoopy
- [Table] Use primary cover over secondary for selected state (#25182) @beaudry
- [theme] Fix styleOverrides with nested selectors (#25156) @ruppysuppy
- [system] Fix behavior of visuallyHidden when used with
sx
prop (#25110) @niting143
- [Pickers] Remove
dateAdapter
prop (#25162) @eps1lon
The prop didn't solve any important problem better than any of its alternatives do.
-<DatePicker dateAdapter={x} />
+<LocalizationProvider dateAdapter={x}>
+ <DatePicker />
+</LocalizationProvider>
- [Pickers][internal] Use React.forwardRef instead of forwardedRef prop (#25173) @eps1lon
- [styles] Use capitalize from utils (#25136) @eps1lon
- [docs] Migrate Bottom Navigation demos to emotion (#25180) @vicasas
- [docs] Migrate Button demos to emotion (#25138) @vicasas
- [docs] Migrate Divider demos to emotion (#25145) @vicasas
- [docs] Migrate Pagination demos to emotion (#25183) @vicasas
- [docs] Migrate Typography demos to emotion (#25164) @vicasas
- [docs] Remove CircleCI from backers (#24801) @mbrookes
- [docs] Update the used testing libraries (#25144) @oliviertassinari
- [CHANGELOG] Better document breaking changes @oliviertassinari
- [core] Modernize icons
builder:src
(#25137) @eps1lon - [core] Properly use BABEL_ENV test and development (#25139) @eps1lon
- [test] Add (manual) visual regression test for icons (#25160) @eps1lon
All contributors of this release in alphabetical order: @beaudry, @eps1lon, @m4theushw, @mbrookes, @mngu, @natac13, @niting143, @oliviertassinari, @praveenkumar-kalidass, @ruppysuppy, @silver-snoopy, @vicasas
Feb 27, 2021
A big thanks to the 26 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 Convert 11 components to emotion (#24696, #24631, #24857, #25048, #24693, #24663, #25007, #24688, #24665, #24878, #24571) @praveenkuma @natac13 @xs9627 @povilass @m4theushw @natac13 @natac13 @DanailH @duganbrett @duganbrett @praveenkumar-kalidass @vinyldarkscratch. 75% of the components have been migrated so far, thanks to the help of the community.
- 🦴 Convert 4 components to the unstyled pattern (#24985, #24857, #24890, #24957) @povilass. This change doesn't introduce any breaking changes. Hence, most of the conversion effort will be done post v5-stable.
- 📚 Fix the generation of the API pages for the date pickers (#25101, #25100, #25086, #25089, #25085, #25084) @eps1lon.
This is a follow-up effort after we have merged
material-ui-pickers
. The components are written in TypeScript which required us to upgrade our infra. - 👌 Improve the Slider thumb and track animation (#24968) @remyoudemans.
The thumb is now moving with a light transition between different values unless it's dragged.
- 💅 Convert 5 components with custom colors support (#25099, #25088) @mngu. This change makes it easier to leverage custom palettes
- And many more 🐛 bug fixes and 📚 improvements.
-
[Tabs] Change the default indicatorColor and textColor prop values to "primary" (#25063) @Dripcoding
This is done to match the most common use cases with Material Design. You can restore the previous behavior with:
-<Tabs /> +<Tabs indicatorColor="primary" textColor="inherit" />
- [AppBar][circularprogress][LinearProgress] Support custom colors (#25099) @mngu
- [Autocomplete] Prevent closing on no-option text click (#25103) @silver-snoopy
- [Autocomplete] Fix ListboxComponent slot regression (#25102) @oliviertassinari
- [Autocomplete] Fix the return type of AutocompleteGetTagProps (#24950) @joemaffei
- [Autocomplete] Migrate to emotion (#24696) @natac13
- [Button] Fix ripple stuck after displaying the context menu (#25004) @DanailH
- [Button] Fix forward classes to ButtonBase (#25072) @praveenkumar-kalidass
- [Chip] Normalize Material Design States (#24915) @oliviertassinari
- [Chip] Fix focus-visible regression (#24906) @oliviertassinari
- [CircularProgress] Make source easier to read (#24893) @oliviertassinari
- [Menu] Migrate MenuItem to emotion (#24631) @xs9627
- [Paper] Fix type support of overridable component (#25059) @mngu
- [Skeleton] Fix global theme customization (#24983) @glocore
- [Slider] Improve thumb and track animation (#24968) @remyoudemans
- [Slider] Fix override of event.target when preparing change events (#24782) @praveenkumar-kalidass
- [Snackbar] Migrate SnackbarContent to emotion (#25048) @m4theushw
- [SwipeableDrawer] Fix detection of native scroll container (#24903) @oliviertassinari
- [Switch] Migrate to emotion (#24693) @natac13
- [Switch] Update to follow current MD guidelines (#24954) @hxqlin
- [Table] Migrate TableCell to emotion (#24663) @natac13
- [TextField] Support custom color and size (#25088) @mngu
- [TextField] Fix input adornment color (#25090) @manziEric
- [TextField] Fix FilledInput AA contrast issue (#25046) @Dripcoding
- [TextField] Migrate FormControlLabel to emotion (#25007) @DanailH
- [TextField] Fix label wrap, display an ellipsis instead (#25012) @NekoApocalypse
- [TextField] Migrate OutlinedInput to emotion (#24688) @duganbrett
- [TextField] Fix focused={true} disabled={true} infinite render (#24961) @oliviertassinari
- [TextField] Migrate FormLabel and InputLabel to emotion (#24665) @duganbrett
- [theme] Update theme.palette.text.secondary to match the spec (#25060) @Dripcoding
- [ToggleButton] Migrate ToggleButtonGroup to emotion (#24878) @praveenkumar-kalidass
- [Tooltip] Migrate to emotion (#24571) @vinyldarkscratch
- [Portal] Migrate to unstyled (#24890) @povilass
- [TrapFocus] Migrate to unstyled (#24957) @povilass
- [Backdrop] Migrate to unstyled (#24985) @povilass
- [Modal] Migrate to emotion + unstyled (#24857) @povilass
- [Pickers] Fix scroll-jump when opening with a selected value (#25010) @eps1lon
- [Pickers] Rework keyboard navigation implementation (#24315) @eps1lon
- [Pickers] Fix picker components not opening on click in React 17 (#24981) @eps1lon
- [Pickers] Fix outdated link to PickersDay (#24883) @oliviertassinari
-
[icons] Synchronize icons (#25055) @eps1lon
The icons were synchronized with https://material.io/resources/icons/. This change increases the number of supported icons from 1,349 to 1,781 per theme (we support 5 themes). The breaking changes:
// AmpStories -> Download -AmpStories +Download -AmpStoriesOutlined +DownloadOutlined -AmpStoriesRounded +DownloadRounded -AmpStoriesSharp +DownloadSharp -AmpStoriesTwoTone +DownloadTwoTone // Outbond -> Outbound -Outbond +Outbound -OutbondOutlined +OutboundOutlined -OutbondRounded +OutboundRounded -OutbondSharp +OutboundSharp -OutbondTwoTone +OutboundTwoTone
We are getting closer to the maximum number of icons our infrastructure can support. In the future, we might remove the least popular icons in favor of the most frequently used ones.
- [system] Fix gap, rowGap, columnGap, borderRadius reponsive support (#24994) @oliviertassinari
- [utils] Fix isMuiElement types (#24936) @oliviertassinari
- [docs] Add DateRangePickerDay, PickersDay, PickersCalendarSkeleton, MontherPicker API (#25101) @eps1lon
- [docs] Add DayPicker API (#25100) @eps1lon
- [docs] Improve description of builderbook (#25086) @klyburke
- [docs] Add API of ClockPicker (#25089) @eps1lon
- [docs] Add API of *DateRangePicker components (#25085) @eps1lon
- [docs] Add API of *DateTimePicker components (#25084) @eps1lon
- [docs] Add graphql-starter to Example Projects (#25068) @koistya
- [docs] Migrate Alert demos to emotion (#25074) @m4theushw
- [docs] Add codesandbox example for styled-components (#25050) @jony89
- [docs] Wrong link @oliviertassinari
- [docs] Improve error message when GitHub API fail (#24976) @oliviertassinari
- [docs] Separate simple and nested modal demos (#24938) @ydubinskyi
- [docs] Remove under construction icons from DataGrid feature pages (#24946) @DanailH
- [docs] Fix prefers-color-scheme switch (#24902) @oliviertassinari
- [docs] Add yarn install step, safer @oliviertassinari
- [examples] Fix code sandbox link GitHub branch (#24996) @kevbarns
- [core] Prevent out-of-memory in test_types_next (#25079) @eps1lon
- [core] Pin playwright image to known working version (#25080) @eps1lon
- [core] Remove need to reinject backdrop (#25071) @oliviertassinari
- [core] Batch small changes (#25015) @oliviertassinari
- [core] More cleanup on Pickers code (#25020) @dborstelmann
- [core] Allow running full pipeline with various React versions (#25005) @eps1lon
- [core] Fix missing codecov report (#25006) @eps1lon
- [core] Fix release:tag pushing to first push remote (#24960) @eps1lon
- [core] Fix cache miss when using playwright docker images (#24942) @eps1lon
- [core] Prevent out-of-memory when type-checking in CI (#24933) @eps1lon
- [core] Disable page size tracking (#24932) @eps1lon
- [core] Extract linting into separate CI job (#24930) @eps1lon
- [core] Only clone props if needed (#24892) @oliviertassinari
- [core] listChangedFiles returns an empty list with no changed files (#24879) @eps1lon
- [core] Remove dead code in docs:dev (#24880) @oliviertassinari
- [core] Fix a few stylelint error (#24885) @oliviertassinari
- [core] Fix name of Safari target (#24881) @oliviertassinari
- [core] Prefer return over throw in chainPropTypes (#24882) @oliviertassinari
- [core] Support /r/issue-template back (#24870) @oliviertassinari
- [core] Simplify xxxClasses types (#24736) @oliviertassinari
- [test] Improve BrowserStack configuration (#25049) @oliviertassinari
- [test] Track bundle size of unstyled components (#25047) @oliviertassinari
- [test] Make
render
required with describeConformanceV5 (#25003) @oliviertassinari - [test] Move a11y tree exclusion to appropriate document (#24998) @eps1lon
- [test] Test with ClickAwayListener mount on onClickCapture (#25001) @eps1lon
- [test] Improve various timer related issues (#24963) @eps1lon
- [test] Avoid Rate Limit Exceeded (#24931) @oliviertassinari
- [test] Remove internal icons smoke test (#24969) @eps1lon
- [test] Reduce compile time of test:karma in watchmode drastically (#24967) @eps1lon
- [test] Dedupe missing act warnings for HoC (#24949) @eps1lon
- [test] Consolidate on a single API (#24884) @oliviertassinari
- [test] Update react next patch (#24934) @eps1lon
- [test] Link CircleCI URL in BS (#24935) @oliviertassinari
- [test] Run more tests at the same time (#24886) @oliviertassinari
- [test] Dedupe missing act warnings by component name (#24871) @eps1lon
- [test] Enable type-unaware versions of disabled typed-aware lint rules (#24873) @eps1lon
- [test] Initial workspace definition (#24869) @eps1lon
- [test] Add current behavior of focus during mount in Popper (#24863) @eps1lon
- [test] Increase BrowserStack timeout to 6min (#24861) @oliviertassinari
All contributors of this release in alphabetical order: @DanailH, @dborstelmann, @Dripcoding, @duganbrett, @eps1lon, @glocore, @hxqlin, @joemaffei, @jony89, @kevbarns, @klyburke, @koistya, @m4theushw, @manziEric, @mngu, @natac13, @NekoApocalypse, @oliviertassinari, @povilass, @praveenkumar-kalidass, @remyoudemans, @silver-snoopy, @vinyldarkscratch, @xs9627, @ydubinskyi
Feb 11, 2021
A big thanks to the 30 contributors who made this release possible. Here are some highlights ✨:
-
👩🎤 Convert 32 components to emotion. Around 64% of the components have been migrated so far, thanks to the help of the community. We aim to migrate them all before the end of Q1 2021. The podium of the most active community members in the migration 🏆:
- @natac13 x17
- @vicasas x5
- @kodai3 x4
-
📐 Add a subset of the system as flattened props on
Typography
(#24496) @mnajdova. Now, you can do:<Typography padding={2} color="text.secondary" />
-
📅 Focus on the date pickers, 5 fixes and 3 docs improvements.
-
💅 Provide a new
darkScrollbar()
CSS utility to improve the native scrollbar in dark mode. The documentation uses it.
-
Increase the minimum version of TypeScript supported from v3.2 to v3.5. (#24795) @petyosi
We try to align with types released from DefinitelyTyped (i.e. packages published on npm under the
@types
namespace). We will not change the minimum supported version in a major version of Material-UI. However, we generally recommend to not use a TypeScript version older than the lowest supported version of DefinitelyTyped.
- [ImageList] Migrate to emotion (#24615) @kodai3
- [Dialog] Migrate DialogTitle to emotion (#24623) @vicasas
- [TextField] Prepare removal of labelWidth prop (#24595) @oliviertassinari
- [ImageList] Migrate ImageListItem to emotion (#24619) @kodai3
- [Card] Migrate CardMedia to emotion (#24625) @natac13
- [Card] Migrate CardHeader to emotion (#24626) @natac13
- [TextField] Migrate FilledInput to emotion (#24634) @mnajdova
- [Fab] Migrate to emotion (#24618) @natac13
- [ClickAwayListener] Fix
children
andonClickAway
types (#24565) @eps1lon - [List] Migrate ListItemIcon to emotion (#24630) @vicasas
- [Card] Migrate CardActionArea to emotion (#24636) @natac13
- [DataTable] Add example in docs for data table (#24428) @DanailH
- [CircularProgress] Migrate to emotion (#24622) @natac13
- [ImageList] Migrate ImageListItemBar to emotion (#24632) @kodai3
- [TextField] Migrate Input component to emotion (#24638) @duganbrett
- [Tab] Migrate to emotion (#24651) @natac13
- [Table] Migrate to emotion (#24657) @natac13
- [List] Migrate ListItemAvatar to emotion (#24656) @vicasas
- [TextField] Migrate FormControl to emotion (#24659) @duganbrett
- [Table] Migrate TableContainer to emotion (#24666) @natac13
- [Tab] Migrate TabScrollButton to emotion (#24654) @natac13
- [Card] Warn on raised + outlined (#24648) @sumarlidason
- [TextField] Migrate FormHelperText to emotion (#24661) @duganbrett
- [Dialog] Migrate DialogContent to emotion (#24670) @vicasas
- [Typography] Add system props (#24496) @mnajdova
- [Paper] Improve warning on invalid combinations of variant and elevation (#24667) @eps1lon
- [Chip] Migrate to emotion (#24649) @natac13
- [ToggleButton] Migrate to emotion (#24674) @natac13
- [Step] Migrate to emotion (#24678) @natac13
- [Link] Fix CSS prefix property casing with emotion (#24701) @idanrozin
- [Card] Use the default elevation (#24733) @oliviertassinari
- [Typography] Remove align inherit noise (#24717) @oliviertassinari
- [Dialog] Convert role
none presentation
topresentation
(#24500) @hallzac2 - [TextField] Improve baseline alignment with start adornment (#24742) @praveenkumar-kalidass
- [Popper] Fix usage of ownerDocument with anchorEl (#24753) @ruppysuppy
- [Table] Migrate TableBody to emotion (#24703) @natac13
- [Table] Migrate TableRow to emotion (#24687) @natac13
- [TextField] Migrate FormGroup to emotion (#24685) @vicasas
- [CssBaseline] Make dark mode scrollbar overrides an optional function (#24780) @dborstelmann
- [ButtonGroup] Migrate ButtonGroup to emotion (#24775) @mirefly
- [Checkbox] Migrate to emotion (#24702) @natac13
- [Table] Migrate TableHead to emotion (#24686) @natac13
- [Table] Migrate TableFooter to emotion (#24684) @natac13
- [Skeleton] Migrate to emotion (#24652) @kodai3
-
[system] Use spacing unit in
gap
,rowGap
, andcolumnGap
(#24794) @ruppysuppyIf you were using a number previously, you need to provide the value in
px
to bypass the new transformation withtheme.spacing
. The change was done for consistency with the Grid spacing prop and the other system spacing properties, e.g.<Box padding={2}>
.<Box - gap={2} + gap="2px" >
- [styled-engine] Fix GlobalStyles not to throw when no theme is available (#24671) @mnajdova
- [types] Rename the exported
Omit
type in@material-ui/types
. (#24795) @petyosi The module is now calledDistributiveOmit
. The change removes the confusion with the built-inOmit
helper introduced in TypeScript v3.5. The built-inOmit
, while similar, is non-distributive. This leads to differences when applied to union types. See this StackOverflow answer for further details.
-import { Omit } from '@material-ui/types';
+import { DistributiveOmit } from '@material-ui/types';
- [types] Remove implicit children from PropInjector (#24746) @eps1lon
- [Pickers] Fix role attribute (#24621) @EkaterinaMozheiko
- [Pickers] Fix
showTodayButton
not returning the current time (#24650) @anthonyraymond - [Pickers] Ensure components have a display name in DEV (#24676) @eps1lon
- [Pickers] Fix more name inconsistencies (#24734) @oliviertassinari
- [Pickers] Dismiss on clickaway when using the desktop variant (#24653) @eps1lon
- [Pickers] Add missing periods at end of some descriptions (#24791) @fulin426
- [Pickers] Enable YearPicker documentation (#24830) @oliviertassinari
- [Pickers] Fix useState related console warnings in examples (#24848) @ydubinskyi
- [docs] Add sorting section (#24637) @dtassone
- [docs] Include in docs directive to silence
eslint
erroneous warning (#24644) @silviot - [docs] Clarifying the documentation about Chip behavior (#24645) @KarimOurrai
- [docs] Update Typography in migration guide (#24662) @mbrookes
- [examples] Update examples to use StyledEngineProvider (#24489) @mnajdova
- [docs] Add API documentation for *DatePicker components (#24655) @eps1lon
- [docs] Add HoodieBees to sponsors (#24735) @mbrookes
- [docs] Fix indent @oliviertassinari
- [docs] Make responsive to font size (#24531) @eps1lon
- [docs] Follow similar demo pattern for date and time pickers (#24739) @eps1lon
- [docs] Add information about local dev environment (#24771) @plug-n-play
- [docs] Add tcespal to Showcase (#24793) @ArnaultNouvel
- [docs] Fix CssBaseline typography description (#24802) @xiaoyu-tamu
- [docs] Add 'playlist' synonym to 'menu' (#24754) @Lagicrus
- [docs] Add more similar icons (#24799) @oliviertassinari
- [docs] Fix typo in the error message generated by createMuiTheme (#24827) @mbrookes
- [examples] Align more with the v5 recommended approach (#24798) @Tejaswiangotu123
- [docs] Update ButtonGroup demos to match v5 (#24797) @SCollinA
- [docs] Fix formatting of
mask
prop description (#24842) @eps1lon - [docs] Add read synonym to drafts (#24854) @Lagicrus
- [core] Fix release:tag pushing to material-ui-docs (#24633) @eps1lon
- [core] Fix
next
using stale pages (#24635) @eps1lon - [test] Skip JSDOM in style related conformance tests (#24668) @mnajdova
- [test] Conformance to handle wrapped elements (#24679) @natac13
- [core] Batch small changes (#24705) @oliviertassinari
- [test] Run more tests in Strict Mode (#24646) @oliviertassinari
- [test] Avoid visual flakiness (#24737) @oliviertassinari
- [core] Remove deprecated SimplifiedPropsOf/Simplify types (#24750) @petyosi
- [core] Disable type-checking of .propTypes (#24747) @eps1lon
- [test] Allow setting react-dist-tag via pipeline parameter (#24755) @eps1lon
- [test] Don't run dev CI for dependabot pushes (#24833) @eps1lon
- [test] Isolate Tooltip tests more (#24834) @eps1lon
- [test] Clear emotion cache between tests (#24837) @eps1lon
- [core] Save/restore actual yarn cache folder (#24844) @eps1lon
- [test] Increase timeout to 4000ms for screenshots (#24850) @oliviertassinari
All contributors of this release in alphabetical order: @anthonyraymond, @ArnaultNouvel, @DanailH, @dborstelmann, @dtassone, @duganbrett, @EkaterinaMozheiko, @eps1lon, @fulin426, @hallzac2, @idanrozin, @KarimOurrai, @kodai3, @Lagicrus, @mbrookes, @mirefly, @mnajdova, @natac13, @oliviertassinari, @petyosi, @plug-n-play, @praveenkumar-kalidass, @ruppysuppy, @SCollinA, @silviot, @sumarlidason, @Tejaswiangotu123, @vicasas, @xiaoyu-tamu, @ydubinskyi
Jan 26, 2021
A big thanks to the 23 contributors who made this release possible. Here are some highlights ✨:
-
👩🎤 Convert 31 components to emotion. Around 40% of the components have been migrated so far thanks to the help of the community.
-
🐛 Fix two long-standing issues with the Grid. Solve the horizontal scrollbar as well as dimensions when nesting (#24332) @greguintow.
-
📚 Fix various display issues on API documentation pages (#24526, #24503, #24504. #24517, #24417).
-
📐 Add a subset of the system as flatten props on the CSS utility components (
Grid
andBox
so far,Typography
andStack
coming later) (#24485, #24499) @mnajdova.<Box m={2}>
- [Dialog] Migrate DialogActions to emotion (#24613) @vicasas
- [Toolbar] Migrate to emotion (#24567) @natac13
- [Hidden] Fix unsupported props warning when sx prop is used (#24624) @mnajdova
- [List] Migrate ListItemText to emotion (#24602) @natac13
- [List] Migrate ListItemSecondaryAction to emotion (#24593) @xs9627
- [BottomNavigation] Migrate to emotion (#24556) @vinyldarkscratch
- [CardActions] Fix wrong classes export name (#24609) @mnajdova
- [Card] Migrate CardContent to emotion (#24600) @vicasas
- [Card] Migrate to emotion (#24597) @povilass
- [TextField] Migrate InputBase to emotion (#24555) @duganbrett
- [Accordion] Allow to disable gutter/spacing (#24532) @TimonPllkrn
- [List] Migrate to emotion (#24560) @vinyldarkscratch
- [Card] Migrate CardActions to emotion (#24604) @vicasas
- [List] Migrate ListSubheader to emotion (#24561) @vinyldarkscratch
- [Breadcrumbs] Migrate to emotion (#24522) @vinyldarkscratch
- [Divider] Migrate to emotion (#24558) @vinyldarkscratch
- [Switch] Migrate SwitchBase to emotion (#24552) @vinyldarkscratch
- [Hidden] Migrate to emotion (#24544) @vinyldarkscratch
- [List] Migrate ListItem to emotion (#24543) @xs9627
- [TextField] Fix Google Translate zero-width space issue (#24563) @d3mp
- [Table] Separate classes for different labels (#24568) @tonysepia
- [Accordion] Migrate AccordionSummary to emotion (#24540) @vinyldarkscratch
- [IconButton] Migrate to emotion (#24542) @vinyldarkscratch
- [Accordion] Migrate AccordionActions to emotion (#24538) @vinyldarkscratch
- [Accordion] Migrate AccordionDetails to emotion (#24539) @vinyldarkscratch
- [Link] Migrate to emotion (#24529) @praveenkumar-kalidass
- [Accordion] Migrate to emotion (#24518) @vinyldarkscratch
- [Backdrop] Migrate to emotion (#24523) @vinyldarkscratch
- [Grid] Add system props (#24499) @mnajdova
- [Icon] Migrate to emotion (#24516) @vinyldarkscratch
- [Collapse] Migrate to emotion (#24501) @vinyldarkscratch
- [SvgIcon] Migrate to emotion (#24506) @oliviertassinari
- [Avatar] Migrate AvatarGroup to emotion (#24452) @praveenkumar-kalidass
- [Box] Add back system props (#24485) @mnajdova
- [Alert] Migrate AlertTitle to emotion (#24448) @povilass
- [Alert] Migrate to emotion (#24442) @kutnickclose
- [l10n] Improve Hebrew translation (#24449) @eladmotola
- [Checkbox][switch] Document defaultChecked (#24446) @praveenkumar-kalidass
- [AppBar] Migrate to emotion (#24439) @povilass
- [l10n] Improve German translation (#24436) @lukaselmer
- [Button][badge] Support custom colors and sizes (#24408) @mnajdova
- [Grid] Fix horizontal scrollbar and nested dimensions (#24332) @greguintow
- [Grid] Migrate to emotion (#24395) @mnajdova
- [Badge] Fix TS custom variants (#24407) @mnajdova
- [DatePicker] Remove unnecessary wrapping dom node (#24533) @mxsph
- [DateRangePicker] Remove variant prop override for Textfield (#24433) @praveenkumar-kalidass
- [lab] Reflect draft pattern of picker value in implementation (#24367) @eps1lon
- [styled-engine] Rename StylesProvider to StyledEngineProvider (#24429) @mnajdova
- [system] Fix handling of null-ish values (#24530) @oliviertassinari
- [unstyled] Convert composeClasses to TypeScript (#24396) @eps1lon
- [utils]
useEventCallback
args
defaults tounknown[]
(#24564) @eps1lon - [utils] Fix requirePropFactory to merge validators (#24423) @mnajdova
- [examples] Patch preact example not working (#24616)
- [docs] Add missing newline in component JSDoc (#24610) @eps1lon
- [docs] Add API of picker components (#24497) @eps1lon
- [examples] Add
locale
prop to the Nextjs Link component (#24596) @CyanoFresh - [docs] List required props first in /api/* (#24526) @eps1lon
- [docs] Mention the system props when available in the API pages (#24503) @mnajdova
- [docs] Improve system properties page (#24524) @mnajdova
- [docs] Fix malformed component API description (#24504) @eps1lon
- [docs] Fix ToC "Component name" fragment link on /api/* (#24517) @eps1lon
- [docs] Fix ToC on /api pages linking to api-docs (#24515) @eps1lon
- [docs] Add comment explaining specificity bump on Select (#24509) @KarimMokhtar
- [docs] Compute spreadable from tests (#24490) @eps1lon
- [docs] Fix label bug in stepper vertical demo (#24491) @artola
- [docs] Update Divjoy URL (#24447) @mbrookes
- [docs] Improve packages description (#24330) @oliviertassinari
- [docs] Fix content-layout-shift (#24418) @oliviertassinari
- [docs] Document default values of external props (#24417) @eps1lon
- [docs] Update in-house ads (#24410) @mbrookes @ewldev
- [core] Skip downloading browser binaries in codesandbox/ci (#24628) @eps1lon
- [core] Batch small changes (#24599) @oliviertassinari
- [test] Simplify DatePicker tests (#24545) @eps1lon
- [core] Improve pseudo classes overrides error (#24535) @mnajdova
- [core] Fix styleProps to always contain all props (#24505) @mnajdova
- [test] Fix AvatarGroup failing test (#24512) @mnajdova
- [pickers] Sort tests (#24481) @eps1lon
- [test] Split tests in describeConformanceV5 to isolate them (#24479) @mnajdova
- [core] Do not forward classes prop by default in experimentalStyled (#24451) @mnajdova
- [core] Pass styleProps on all slots in the styled() components (#24454) @mnajdova
- [core] Batch small changes (#24445) @oliviertassinari
- [core] Normalize generating declaration files (#24411) @eps1lon
All contributors of this release in alphabetical order: @artola, @CyanoFresh, @d3mp, @duganbrett, @eladmotola, @eps1lon, @ewldev, @greguintow, @KarimMokhtar, @kutnickclose, @lukaselmer, @mbrookes, @mnajdova, @mxsph, @natac13, @oliviertassinari, @povilass, @praveenkumar-kalidass, @TimonPllkrn, @tonysepia, @vicasas, @vinyldarkscratch, @xs9627
Jan 14, 2021
A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
-
📚 Only document public paths in module augmentation (#24267) @eps1lon
-
👩🎤 Migrate the Paper and CssBaseline to emotion (#24397, #24176) @povilass @mnajdova
We have reached a point where we feel confident that the new approach should make it to v5 stable. An issue has been created to track the progress with the migration to emotion: #24405. Your contribution to this effort and the ones from the community are welcome 🙌.
-
📅 Various improvements on the date picker components (#24301, #24309, #24275, #24298, #24319) @m4theushw @eps1lon @huzaima @praveenkumar-kalidass
-
And many more 🐛 bug fixes and 📚 improvements.
- [Container] Fix disableGutters style not applied (#24284) @povilass
- [Paper] Migrate to emotion (#24397) @povilass
- [Slider] Allow mobile VO users to interact with Sliders (#23902) @CodySchaaf
- [SwipeableDrawer] Add bleeding demo (#24268) @vicasas
- [SwipeableDrawer] Fix overflow scroll computation logic (#24225) @yann120
- [Table] Fix "more than" translation in es-ES (#24356) @vicasas
- [TextField] Fix error color for form input with secondary color (#24290) @praveenkumar-kalidass
- [Button] Fix resolution of default props (#24253) @oliviertassinari
-
[DateRangePicker] Remove DateRangDelimiter (#24298) @huzaima
You can migrate away from it with:
diff --git a/docs/src/pages/components/date-range-picker/BasicDateRangePicker.tsx b/docs/src/pages/components/date-range-picker/BasicDateRangePicker.tsx index 72a89f9a11..2742fa6811 100644 --- a/docs/src/pages/components/date-range-picker/BasicDateRangePicker.tsx +++ b/docs/src/pages/components/date-range-picker/BasicDateRangePicker.tsx @@ -3,7 +3,7 @@ import TextField from '@material-ui/core/TextField'; import DateRangePicker, { DateRange } from '@material-ui/lab/DateRangePicker'; import AdapterDateFns from '@material-ui/lab/AdapterDateFns'; import LocalizationProvider from '@material-ui/lab/LocalizationProvider'; -import DateRangeDelimiter from '@material-ui/lab/DateRangeDelimiter'; +import Box from '@material-ui/core/Box'; export default function BasicDateRangePicker() { const [value, setValue] = React.useState<DateRange<Date>>([null, null]); @@ -20,7 +20,7 @@ export default function BasicDateRangePicker() { renderInput={(startProps, endProps) => ( <React.Fragment> <TextField {...startProps} variant="standard" /> - <DateRangeDelimiter> to </DateRangeDelimiter> + <Box sx={{ mx: 2 }}>to</Box> <TextField {...endProps} variant="standard" /> </React.Fragment> )}
- [DatePicker] Fix out of range month selection (#24301) @m4theushw
- [DatePicker] Replace withDefaultProps with useThemeProps (#24309) @m4theushw
- [DatePicker] Simplify ExtendWrapper type (#24275) @eps1lon
- [DatePicker] Reduce coupling of parsing picker input value and props (#24319) @eps1lon
- [TimePicker] Add pointer cursor for clock in desktop (#24276) @praveenkumar-kalidass
- [lab] Drop usage of createStyles (#24158) @eps1lon
- [lab] Fix import paths in generated declaration files (#24380) @eps1lon
- [lab] Prevent possible null pointer in useValidation (#24318) @eps1lon
- [styled-engine] Add
GlobalStyles
component (#24176) @mnajdova
- [docs] Add example performance Stepper vertical (#24292) @vicasas
- [docs] Change Link example from JS to TS (#24291) @vicasas
- [docs] Do not show 'Add' if user input matches existing option (#24333) @ramdog
- [docs] Focus docs search input when the shortcut is clicked (#24296) @eps1lon
- [docs] Further template the CSS API descriptions (#24360) @mbrookes
- [docs] Improve Next.js Link integration (#24258) @oliviertassinari
- [docs] Misc API fixes (#24357) @mbrookes
- [docs] Prevent kbd to wrap (#24269) @oliviertassinari
- [docs] Simplify icon button docs (#24317) @baharalidurrani
- [docs] Standardize some API descriptions (#24274) @mbrookes
- [docs] Sync AppSearch.tsx with AppSearch.js (#24363) @Lagicrus
- [docs] Update CONTRIBUTING being accepted (#24306) @vicasas
- [docs] Update right to left compatibility plugin version (#24370) @mnajdova
- [docs] Widen example datetime-local picker so it's not clipped (#24324) @ramdog
- [website] Add BrandingFooter (#24095) @mnajdova
- [website] Add Discover more (#24327) @oliviertassinari
- [website] Add newsletter (#24322) @oliviertassinari
- [website] Fix regressions @oliviertassinari
- [website] Improve typography theme (#24386) @oliviertassinari
- [core] Create issue labeled (#24283) @xrkffgg
- [core] Fix eslint @oliviertassinari
- [core] Skip downloading browser binaries when building docs (#24393) @eps1lon
- [core] Small changes (#24329) @oliviertassinari
- [core] Support public paths in module augmentation (#24267) @eps1lon
- [core] Update classes generation logic (#24371) @mnajdova
- [core] Update issue mark duplicate (#24311) @xrkffgg
- [core] Update issues helper version (#24379) @xrkffgg
- [test] Add pipeline task for performance monitoring (#24289) @eps1lon
- [test] Compensate for Circle CI's low performance (#24358) @oliviertassinari
- [test] Debug expensive GH actions still runing for l10nbot (#24392) @eps1lon
- [test] Move callback args to right side of assertion (#24366) @eps1lon
- [test] Persist new declaration files in CI cache (#24313) @eps1lon
- [test] Reduce download times of playwright binaries (#24364) @eps1lon
- [test] Skip expensive GitHub actions on l10nbot commits (#24303) @eps1lon
- [test] Test declaration files in TS nightly (#24391) @eps1lon
- [styles] Define useThemeProps as unstable and fix TS issues (#24383) @mnajdova
Jan 4, 2021
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
- ♿️ Fix major accessibility issue with the Autocomplete (#24213) @inform880
- 👩🎤 Migrate the Container to emotion (#24227) @oliviertassinari
- 🐛 Fix Next.js regression and other cross-platform issues with the build (#24200, #24223)
- And many more 🐛 bug fixes and 📚 improvements.
- [Autocomplete] Fix VoiceOver not reading the correct activedescendant (#24213) @inform880
- [Autocomplete] Warn when value is invalid (#24202) @Sandeep0695
- [Button] Fix disableElevation regression (#24251) @oliviertassinari
- [Container] Migrate to emotion (#24227) @oliviertassinari
- [Pagination] Fix className forwarding when type is ellipsis (#24256) @andrelmlins
- [Select] Improve description on how it extends the Input components (#24180) @azza85
- [styled] Fix missing types for
sx
(#24211) @mnajdova - [styled] Remove unused type parameters from StyledOptions (#24255) @eps1lon
- [styled] Support components without theme (#24214) @mnajdova
- [styles] Fix classes logic (#24250) @oliviertassinari
- [styles] Improve the classes structure (#24249) @oliviertassinari
- [DatePicker] Fix year only view, hide the current month (#24205) @hyeonhong
- [DatePicker] Nested imports for better DX (#24147) @oliviertassinari
- [DatePicker] Remove unused type parameters (#24257) @eps1lon
- [TimePicker] Prevent conflicting type parameter in
ClockProps#getClockLabelText
(#24193) @eps1lon
- [docs] Accept pages written in TypeScript (#24230) @oliviertassinari
- [docs] Document emotion migration breaking changes (#24229) @luminaxster
- [docs] Fix broken benchmark link (#24210) @jalaj-k
- [docs] Fix codesandbox datagrid demo (#24218) @brno32
- [docs] Fix iframe demos with emotion (#24232) @oliviertassinari
- [docs] Sync translations (#24161) @l10nbot
- [test] More granular progress tracking of relative type imports (#24233) @eps1lon
- [core] Add missing sx typings on the components migrated to emotion (#24208) @mnajdova
- [core] Batch small changes (#24224) @oliviertassinari
- [core] Create issue mark duplicate (#24184) @xrkffgg
- [core] Fix generation of package.json (#24223) @oliviertassinari
- [core] Fix relative import of types (#24248) @oliviertassinari
- [core] Platform agnostic build script for envinfo (#24200) @eps1lon
- [core] Remove unused generics from experimentalStyled (#24192) @eps1lon
Dec 30, 2020
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 Migrate the Avatar to emotion (#24114) @oliviertassinari
- 👩🎤 Migrate the Button to emotion (#24107, #24100) @mnajdova
- ♿️ Improve TrapFocus behavior, ignore the container as a tabbable element (#23364) @gregnb
In rare cases, an element might not longer be tabbable when looping, e.g. overflow container in Firefox.
You can work around the problem by adding a
tabIndex={0}
or customizing thegetTabbable
prop. - And many more 🐛 bug fixes and 📚 improvements.
- [Avatar] Migrate to emotion (#24114) @oliviertassinari
- [ButtonBase] Migrate styles to emotion (#24100) @mnajdova
- [Button] Migrate styles to emotion (#24107) @mnajdova
- [unstyled] Add utils for generating utility classes (#24126) @mnajdova
- [TrapFocus] Fix trap to only focus on tabbable elements (#23364) @gregnb
- [Link] Improve integration with Next.js (#24121) @kelvinsanchez15
- [Select] Fix overflow showing scrollbar (#24085) @Segebre
- [Slider] Fix circular type reference in SliderValueLabel (#24190) @eps1lon
- [Skeleton] Fix default TypeScript component type (#24191) @eps1lon
- [system] Fix sx prop typings to support grid gap props (#24093) @mnajdova
- [system] Improve the SxProp typings structure, by splitting them in a separate module. (#24090) @mnajdova
- [system] Replace grid gap properties (#24094) @mnajdova
- [DatePicker] Allow to customize icons (#24017) @jackcwu
- [DatePicker] Fix missing component for theme augmentation (#24092) @rajzik
- [DatePicker] Hide outline on container (#24108) @oliviertassinari
- [DatePicker] Fix accessibility issue with heading (#24183) @gracektay
- [TimePicker] Improve the design to fit on smaller screens (#23855) @marianayap
- [TreeView] Add preventScroll for tree focus (#24105) @praveenkumar-kalidass
- [styles] Fix for supporting non string props in propsToClassKey (#24101) @mnajdova
- [styled-engine] Fix StylesProvider injectFirst with sc (#24104) @mnajdova
- [docs] Add examples for adding and removing Typography variants (#24088) @mnajdova
- [docs] Fix typo (#24123) @ajonp
- [docs] Fix warning about wrong prop type (#24117) @mnajdova
- [docs] Rename "Customization > Theme > Global" to "Customization > Theme > Components" (#24115) @mnajdova
- [docs] Rename customization/components to customization/how-to-customize (#24089) @mnajdova
- [docs] Replace process.browser with typeof navigator (#24122) @softshipper
- [docs] Sync translations (#24152) @l10nbot
- [docs] Update Fontsource install instructions (#24120) @DecliningLotus
- [docs] Add system grid page (#24119) @mnajdova
- [blog] 2020 in review and beyond (#24130) @oliviertassinari
- [docs] Improve naming and structure of the Customization and Guide pages (#24175) @mnajdova
- [core] Batch small changes (#24131) @oliviertassinari
- [core] Fix overridesResolver on the core components and added tests (#24125) @mnajdova
- [core] Reduce number of files included in language server (#24165) @eps1lon
- [core] Reduce response time of initial PR bot comment (#24168) @eps1lon
- [core] Refactor styled() components to ease out the migration process (#24124) @mnajdova
- [test] Add more packages to browser test suite (#24155) @eps1lon
- [core] Monitor progress of fixing type imports (#24188) @eps1lon
- [core] Fix build on Windows (#24187) @oliviertassinari
Dec 21, 2020
A big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
-
👩🎤 Migrate the Typography to emotion (#23841) @DanailH
This change allows to add typography variants in the theme and to use them directly:
const theme = createMuiTheme({ typography: { poster: { color: 'red', }, }, }); <Typography variant="poster">poster</Typography>;
-
📚 Add a shortcut to open the Algolia search (#23959) @hmaddisb.
-
And many more 🐛 bug fixes and 📚 improvements.
-
[CssBaseline] Change body font size to body1 (1rem) (#24018) @mbrookes
The new default matches the variant used by the Typography component. To return to the previous size, you can override it in the theme:
const theme = createMuiTheme({ typography: { body1: { fontSize: '0.875rem', }, }, });
- [Badge] Fix the classes description to reflect the correct component (#24035) @mnajdova
- [Select] Fix aria-describedby attribute (#24027) @HVish
- [Skeleton] Fix Circle border radius on Safari (#24054) @anatolzak
- [Slider][badge] Fix classes prop not working (#24034) @mnajdova
- [Typography] Migrate styles to emotion (#23841) @DanailH
- [styled-engine] Add name and slot options (#23964) @mnajdova
- [styled-engine] Add StylesProvider with injectFirst option (#23934) @mnajdova
- [system] Fix transform not firing when theme provided (#24010) @ZovcIfzm
- [docs] Add a shortcut to access the search bar (#23959) @hmaddisb
- [docs] Animate component's mounting and unmounting (#24049) @cjoecker
- [docs] Fix collapse API docs description of 'hidden' style condition (#24053) @jaiwanth-v
- [docs] Improve color demo snippet spacing (#24009) @yukinoda
- [docs] Improve displayed versions (#24051) @oliviertassinari
- [docs] Show a better file on codesandbox (#24052) @oliviertassinari
- [docs] Update customization/components and customization/global pages (#24016) @mnajdova
- [docs] Update the CSS injection guide (#24020) @mnajdova
- [core] Batch small changes (#24038) @oliviertassinari
- [core] Track size of /unstyled (#24021) @eps1lon
- [core] Use consistent naming scheme for ttp annotations (#24022) @eps1lon
Dec 13, 2020
A big thanks to the 24 contributors who made this release possible. Here are some highlights ✨:
- 👩🎤 Migrate the Badge to emotion (#23745) @mnajdova.
- 🌏 Add infrastructure to translate the API pages (#23852) @mbrookes.
- And many more 🐛 bug fixes and 📚 improvements.
-
[Icon][svgicon] Change default fontSize from default to medium (#23950) @mbrookes
The default value of
fontSize
was changed fromdefault
tomedium
for consistency. In the unlikey event that you were using the valuedefault
, the prop can be removed:-<SvgIcon fontSize="default">{iconPath}</SvgIcon> +<SvgIcon>{iconPath}</SvgIcon>
-
[TextField] Add size prop for outlined and filled input (#23832) @mayralgr
Rename
marginDense
andinputMarginDense
classes tosizeSmall
andinputSizeSmall
to match the prop.
- [Autocomplete] Document onChange last
details
param (#23942) @natac13 - [Autocomplete] Fix useAutocomplete groupedOptions type (#23854) @ZachCMP
- [Autocomplete] Improve DX/UX when getOptionLabel is not configured correctly (#23884) @marianayap
- [Autocomplete] Improve getOptionSelected description (#23817) @smartshivkat
- [Badge] Create unstyled component & move to emotion (#23745) @mnajdova
- [Grid] Improve support for nested grid (#23913) @gbrochar
- [Grid] Fix side effects when direction="column" and xs={} is used (#23900) @Kai-W
- [Select] Fix description, value is not required (#23940) @natac13
- [Slider] Remove color prop in unstyled (#23840) @mnajdova
- [Slider] Replaced inlined isHostComponent with the utils (#23880) @mnajdova
- [SwipeableDrawer] Refactor internals (#23944) @eps1lon
- [TextField] Add documentation for hidden label (#23915) @Fredestrik
- [TextField] Fix the color leak of the textbox (#23912) @szabgab
- [useMediaQuery] Fix a false return at the first call (#23806) @marthaerm
- [utils] Fix minified errors throwing with _formatMuiErrorMessage (#23828) @eps1lon
- [core] Use Lerna to publish (#23793) @oliviertassinari
-
[system] Move visually hidden helper to utils (#23974) @eps1lon
Only applies if you've installed v5.0.0-alpha.1
-import { visuallyHidden } from '@material-ui/system'; +import { visuallyHidden } from '@material-ui/utils';
- [core] Use Lerna to publish (#23793) @oliviertassinari
- [core] Use Lerna to publish (#23793) @oliviertassinari
- [core] Use Lerna to publish (#23793) @oliviertassinari
- [core] Use Lerna to publish (#23793) @oliviertassinari
- [example] Change Box to new sx prop (#23937) @natac13
- [example] Explain package choice (#23938, #23958) @mnajdova
- [example] Update nextjs examples to fix hydration (#23936) @mnajdova
- [docs] Add API tradeoff section for the sx prop (#23962) @mnajdova
- [docs] Add ELEVATOR to backers (#23977) @mbrookes
- [docs] Add eslint rule to docs (#23843) @jens-ox
- [docs] Add infrastructure to translate API pages (#23852) @mbrookes
- [docs] Add link to the sx docs page in the API description (#23967) @mnajdova
- [docs] Add prepend option on emotion caches to allow JSS style overrides (#23892) @mnajdova
- [docs] Add Vercel deploy config (#23910) @eps1lon
- [docs] Allow codesandbox deploy for demos in X (#23644) @oliviertassinari
- [docs] Copy icons to clipboard (#23850) @CodeWithGuruji
- [docs] Fix breakpoints typos (#23893) @mnajdova
- [docs] Fix color contrast of code within links (#23819) @eps1lon
- [docs] Fix duplicated styles generated from emotion (#23809) @mnajdova
- [docs] Fix icon alignment in /components/breadcrumbs (#23818) @eps1lon
- [docs] Fix production deploy (#23963) @eps1lon
- [docs] Fix source on Github links (#23821) @praveenkumar-kalidass
- [docs] Fix StickyHeaderTable round borders (#23882) @antoniopacheco
- [docs] Fix typo in date picker dayjs adapter name (#23935) @andresmrm
- [docs] Improve system properties page (#23961) @mnajdova
- [docs] Link module augmentation in TypeScript @oliviertassinari
- [docs] Make stable width of localization example (#23820) @sujinleeme
- [docs] Mention Adobe XD (#23978) @oliviertassinari
- [docs] Prefer system shorthands (#23970) @oliviertassinari
- [docs] Remove 'TODO' comment from buildApi script (#23973) @mbrookes
- [docs] Sync translations (#23742, #23842) @l10nbot
- [docs] Update Badge examples to use Box instead of makeStyles (#23927) @mnajdova
- [test] Add conformance tests for testing the
theme.components
options for the v5 components (#23896) @mnajdova - [test] Include type path mappings in language server (#23905) @eps1lon
- [test] Make Popper tests StrictMode agnostic (#23838) @eps1lon
- [test] Run benchmarks in Azure Pipelines when approved (#23895) @eps1lon
- [test] Skip tests with cascading network requests (#23823) @eps1lon
- [core] All packages are published from /build (#23886) @oliviertassinari
- [core] Batch small changes (#23853) @oliviertassinari
- [core] Fix failing CI on HEAD (#23947) @oliviertassinari
- [core] Force LF for text files (#23932) @eps1lon
- [core] Improve envinfo instructions (#23918) @eps1lon
- [core] Replace fs-extra deprecated function (exists) (#23848) @leonardopliski
- [core] Use Lerna to publish (#23793) @oliviertassinari
- [core] Use playwright instead of puppeteer (#23906) @eps1lon
- [core] Add envinfo --json flag (#23883) @eps1lon
- [core] Ask for output from envinfo in issues (#23881) @eps1lon
Dec 3, 2020
A big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
- Fix most of the issues with the system (#23716, #23635, #23737, #23733, #23700, #23688) @mnajdova.
- And many more 🐛 bug fixes and 📚 improvements.
-
[Box] Remove deprecated props (#23716) @mnajdova All props are now available under the
sx
prop. A deprecation will be landing in v4. Thanks to @mbrookes developers can automate the migration with a codemod.-<Box p={2} bgColor="primary.main"> +<Box sx={{ p: 2, bgColor: 'primary.main' }}>
- [Autocomplete] Add ability to override key down events handlers (#23487) @hessaam
- [Autocomplete] Better isolate test case (#23704) @oliviertassinari
- [Autocomplete] Fix highlight change event (#23718) @TakumaKira
- [Box] Fix TypeScript issue when component prop is used (#23686) @mnajdova
- [experimentalStyled] Make sx style fn optional (#23714) @mnajdova
- [l10n] Improve Brazilian (pt-BR) locale (#23707) @m4rcelofs
- [l10n] Improve Korean (ko-KR) locale (#23794) @sujinleeme
- [Select] Add disabled attribute in input element when disabled (#23778) @praveenkumar-kalidass
- [Switch] Add preventDefault check for state change (#23786) @praveenkumar-kalidass
- [Tabs] Remove duplicate styles (#23561) @cmfcmf
- [system] Allow values to use shorter string when the prop name is contained in the value (#23635) @mnajdova
- [system] Another round of perf improvements (#23737) @mnajdova
- [system] Fix transform return value to support CSSObject (#23733) @mnajdova
- [system] Make borderRadius multiply a theme's design token (#23700) @mnajdova
- [system] Various perf gain experiments (#23688) @mnajdova
- [styles] Small performance gain (#23749) @oliviertassinari
- [styles] Update mergeClasses types to more closely match its implementation (#23705) @etrepum
- [system] Another round of perf improvements (#23737) @mnajdova
- [DatePicker] Found one prop that was renamed (#23676) @oliviertassinari
- [DateRangePicker] Allow same date selection (#23701) @hmaddisb
- [styled-engine] Fix tagged template syntax with multiple expressions (#23269) @eps1lon
- [docs] Add settings panel to allow system mode (#23722) @mbrookes
- [docs] Add v5 peer dependencies in README (#23751) @johnrichardrinehart
- [docs] Document using codesandbox-ci (#23800) @brorlarsnicklas
- [docs] Fix link name for canadacasino (#23799) @eps1lon
- [docs] Fix various a11y issues reported by lighthouse (#23791) @eps1lon
- [docs] Improve prop descriptions (#23723) @oliviertassinari
- [docs] Improve SEO structure (#23748) @oliviertassinari
- [docs] Improve settings toggle button styling (#23754) @mbrookes
- [docs] Misc fixes (#23756) @mbrookes
- [docs] Move instructions for starting the docs earlier in the file (#23801) @brorlarsnicklas
- [docs] Prepare v5.0.0-alpha.17 (#23680) @oliviertassinari
- [docs] Remove unused abstraction (#23724) @oliviertassinari
- [docs] Sync translations (#23682) @l10nbot
- [benchmark] Improve printed results (#23729) @oliviertassinari
- [benchmark] Test styleFunctionSx vs. @styled-system/css (#23702) @mnajdova
- [benchmark] Update with latest (#23694) @oliviertassinari
- [core] Batch small changes (#23678) @oliviertassinari
- [core] Fix ci @oliviertassinari
- [core] Fix error handling on upload (#23734) @eps1lon
- [core] Fully clear composite TypeScript project state (#23805) @eps1lon
- [core] Remove unused classes (#23473) @jens-ox
- [test] Add conformance test suite for v5 (#23798) @mnajdova
- [test] Cleanup skipped tests (#23732) @eps1lon
- [test] Misc improvements to experimental and browser test runner (#23699) @eps1lon
- [test] Stay busy until document.fonts is ready (#23736) @eps1lon
Nov 23, 2020
A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:
-
📚 Improve the IntelliSense support for the
sx
prop (#23599) @mnajdova. You should now get a description for each property of the system. For instance withmx
: -
💅 Migrate the first core component to the v5 styling architecture (#23308) @mnajdova. We have spent the last few months iterating on the new styling approach in the lab, and are confident enough in the new approach to move it to the core, so we have migrated the Slider. We will wait a week or two to collect feedback on it, before scaling it to the rest of the codebase.
-
📅 Fix the first few issues on the date picker components since the migration in the lab.
-
And many more 🐛 bug fixes and 📚 improvements.
-
[Slider] Migrate to emotion (#23308) @mnajdova
By default, emotion injects its style after JSS, this breaks the computed styles. In order to get the correct CSS injection order until all the components are migrated, you need to wrap the root of your application with:
import * as React from 'react'; import ReactDOM from 'react-dom'; import { StylesProvider } from '@material-ui/core'; import App from './App'; ReactDOM.render( <StylesProvider injectFirst> <App /> </StylesProvider>, document.querySelector('#root'), );
This enforces emotion being injected first. More details in the documentation.
-
[Autocomplete] Rename
closeIcon
prop withclearIcon
to avoid confusion (#23617) @akhilmhdh.-<Autocomplete closeIcon={icon} /> +<Autocomplete clearIcon={icon} />
-
[Dialog] Remove the
disableBackdropClick
prop. It's redundant with thereason
argument (#23607) @eps1lon.<Dialog - disableBackdropClick - onClose={handleClose} + onClose={(event, reason) => { + if (reason !== 'backdropClick') { + onClose(event, reason); + } + }} />
-
[Modal] Remove the
disableBackdropClick
prop. It's redundant with thereason
argument (#23607) @eps1lon.<Modal - disableBackdropClick - onClose={handleClose} + onClose={(event, reason) => { + if (reason !== 'backdropClick') { + onClose(event, reason); + } + }} />
-
[Modal] Remove the
onEscapeKeyDown
prop. It's redundant with thereason
argument. (#23571) @eps1lon<Modal - onEscapeKeyDown={handleEscapeKeyDown} + onClose={(event, reason) => { + if (reason === "escapeKeyDown") { + handleEscapeKeyDown(event); + } + }} />;
- [CircularProgress][linearprogress] Change components from div to span (#23587) @bruno-azzi
- [Grid] Improve warning when a prop is missing (#23630) @udayRedI
- [Icon] Allow customizing the 'material-icons' base class name (#23613) @rart
- [Select] Fix focus() call on ref (#23302) @reedanders
- [Slider] Add test case for triggering a specific value (#23642) @Thehambalamba
- [Slider] General cleanup and add classes prop for unstyled (#23569) @mnajdova
- [styles] Add support for TypeScript 4.1 (#23633) @eps1lon
- [codemod] Add moved-lab-modules (#23588) @eps1lon This codemod is part of our effort to make the migration from v4 to v5 as painless as possible.
- [Grid] Improve warning when a prop is missing (#23630) @udayRedI
- [system] Improve the
sx
prop IntelliSense (#23599) @mnajdova
- [Slider] Replace core Slider with SliderStyled (#23308) @mnajdova
-
[DatePicker] Change the import path of the date adapters (#23568) @eps1lon. It better fits with the current import convention.
-import AdapterDateFns from '@material-ui/lab/dateAdapter/date-fns'; +import AdapterDateFns from '@material-ui/lab/AdapterDateFns';
- [DatePicker] Add missing exports (#23621) @havgry
- [DatePicker] Add missing TypeScript definitions (#23560) @mbrookes
- [DatePicker] Fix false-positive when validating mask in Safari (#23602) @eps1lon
- [DatePicker] Fix missing manifest for typescript packages (#23564) @eps1lon
- [TimePicker] Prevent scroll when interacting with the clock (#23563) @knightss27
- [docs] Add advanced page for the system (#23596) @mnajdova
- [docs] Add docs for typography in system (#23510) @oliviertassinari
- [docs] API pages i18n (#23214) @mbrookes
- [docs] Create pickers migration guide (#23605) @dmtrKovalenko
- [docs] Enable TS language service for docs/src (#23576) @eps1lon
- [docs] Explain the information listed on the system properties page (#23566) @mnajdova
- [docs] Fix /api client-side routing (#23586) @eps1lon
- [docs] Fix the Box section title on migration-v4 guide (#23679) @claudioldf
- [docs] Generate default values for docs from the unstyled components (#23614) @mnajdova
- [docs] Increase printWidth from 80 to 85(#23512) @eps1lon
- [docs] Prevent layout jumps from img loading in system demo (#23504) @eps1lon
- [docs] Remove controlled Tooltip example in Slider (#23625) @micsidoruk
- [docs] Remove dead demos in the system basics page (#23565) @mnajdova
- [docs] Replace emotion-server packages with @emotion/server (#23557) @numToStr
- [docs] Sync translations (#23648) @l10nbot
- [core] Add support for TypeScript 4.1 (#23633) @eps1lon
- [core] Batch small changes (#23554) @oliviertassinari
- [core] Cleanup emotion dependencies (#23556) @eps1lon
- [core] Fix formatting (#23567) @eps1lon
- [core] Fix tracked component size regression (#23516) @eps1lon
- [core] Fix transpilation target of UMD bundle (#23618) @eps1lon
- [test] Create chunks for Argos (#23518) @oliviertassinari
- [test] Debug argos-cli upload failures (#23623) @eps1lon
- [test] Enable experimental-timezone tests (#23595) @eps1lon
- [test] Misc visual regression flakiness improvements (#23619) @eps1lon
- [test] Use playwright instead of vrtest (#23500) @eps1lon
Nov 14, 2020
A big thanks to the 34 contributors who made this release possible. Here are some highlights ✨:
-
📅 Migrate the date picker to the lab (#22692) @dmtrKovalenko. We have integrated the components with the code infrastructure. Next we will migrate all the GitHub issues from material-ui-pickers and archive the repository. This migration will help provide first-class support for the date picker components. The component will stay in the lab as long as necessary to reach the high quality bar we have for core components. You can find the new documentation here.
While the source code is currently hosted in the main repository, we might move it to the x repository in the future, depending on what is easier for the commercial date range picker. The date picker will stay open source no matter what.
-
📚 Revamp the documentation for the system. The System contains CSS utilities. The documentation now promotes the use of the
sx
prop. It's ideal for adding one-off styles, e.g. padding, but when pushed to its limits, it can be used to implement quickly a complete page. -
👩🎨 Upgrade emotion to v11 (#23007) @mnajdova.
-
And many more 🐛 bug fixes and 📚 improvements.
-
[TextField] Change default variant from standard to outlined (#23503) @mbrookes Standard has been removed from the Material Design guidelines. This codemod will automatically update your code.
-<TextField value="Standard" /> -<TextField value="Outlined" variant="outlined" /> +<TextField value="Standard" variant="standard" /> +<TextField value="Outlined" />
-
[Autocomplete] Remove
debug
in favor ofopen
and dev tools (#23377) @eps1lon There are a couple of simpler alternatives:open={true}
, Chrome devtools "Emulate focused", or React devtools props.
- [Autocomplete] Use Popper when
disablePortal
(#23263) @eps1lon - [Box] Better DX for deprecated props (#23285) @eps1lon
- [codemod] Add a codemod for the Box sx prop (#23465) @mbrookes
- [CssBaseline] Add dark mode scrollbar support (#23407) @mmmols
- [Slider] Extract slots as standalone components (#22893) @mnajdova
- [Stepper] Fix the icon prop support in StepLabel (#23408) @randyshoopman
- [theme] Add htmlFontSize to Typography interface (#23412) @fergusmcdonald
- [Tooltip] Fix PopperProps popper modifiers not being merged properly (#23421) @dominique-mueller
- [Tooltip] Long press select text on iOS (#23466) @hmaddisb
- [Tooltip] Unexpected behaviour onOpen/onClose (#23482) @brorlarsnicklas
- [DatePicker] Migrate to the lab #22692 @dmtrKovalenko
- [system] Add typography prop that will pull from theme.typography (#23451) @mnajdova
- [system] Create separate margin and padding functions (#23452) @mnajdova
- [system] Export styleFunctionSx and improve signature (#23397) @mnajdova
- [system] Merge breakpoints in correct order (#23380) @mnajdova
- [system] Remove css utility in favor of sx (#23454) @mnajdova
- [system] Warn for spacing when non integer value is used with theme.spacing array (#23460) @mnajdova
- [styled-engine] Upgrade emotion to 11 RC (#23007) @mnajdova
- [Slider] Extract slots as standalone components (#22893) @mnajdova
- [TextField] Change default variant from standard to outlined (#23503) @mbrookes
- [docs] Allow to host code in a different repo (#23390) @oliviertassinari
- [docs] CHANGELOG for v5.0.0-alpha.15 (#23383) @oliviertassinari
- [docs] Fix examples download URLs to match the correct branch name (#23467) @matchatype
- [docs] Fix links being opened when dismissing context menus (#23491) @eps1lon
- [docs] Fix the Netlify proxy for localization of X (#23387) @oliviertassinari
- [docs] Fix usage of palette.type instead of palette.mode in docs (#23414) @hubgit
- [docs] Improve documentation of the system (#23294) @mnajdova
- [docs] Improve feedback a11y (#23459) @eps1lon
- [docs] Improve formatting of the system (#23509) @oliviertassinari
- [docs] Improve migration guide for theme.palette (#23416) @hubgit
- [docs] Mention delay instead of transition twice (#23393) @benmneb
- [docs] Prepare Material-UI X (#1893) @oliviertassinari
- [docs] Redirect legacy GridList pages to ImageList (#23456) @eps1lon
- [docs] Remove redundant aria-label when wrapped in Tooltip (#23455) @eps1lon
- [docs] Sync translations (#23316) @l10nbot
- [docs] Update buildAPI script to handle the "styled" components (#23370) @mnajdova
- [docs] Update new components in the roadmap (#23507) @mbrookes
- [docs] Update translations (#23501) @l10nbot
- [core] Batch small changes (#23422) @oliviertassinari
- [core] Fix skipped ignore patterns (#23474) @eps1lon
- [core] Switch to globby and fast-glob (#23382) @eps1lon
- [test] Increase timeout threshold for slow Firefox tests (#23463) @eps1lon
- [test] Make sure system properties are in the same order when generating CSS (#23388) @mnajdova
- [test] Prefer longhand properties (#23445) @eps1lon
- [test] Remove data-mui-test from tests (#23498) @eps1lon
- [test] Remove keyDown#force (#23488) @eps1lon
- [test] Use adapter instead of native Date (#23475) @eps1lon
- [test] Use fake timers in visual regression tests (#23464) @eps1lon
Nov 4, 2020
A big thanks to the 20 contributors who made this release possible. Here are some highlights ✨:
-
⚛️ Add support for React 17 (#23311) @eps1lon. React 17 release is unusual because it doesn't add any new developer-facing features. It was released a couple of days ago. You can learn more about it in the introduction post. Material-UI now supports
^16.8.0 || ^17.0.0
. -
🛠 Introduce a new
@material-ui/unstyled
package (#23270) @mnajdova. This package will host the unstyled version of the components. In this first iteration, only the Slider is available. You can find it documented under the same page as the styled version.Why an unstyled package?
While engineering teams are successfully building custom design systems by wrapping Material-UI, we occasionally hear that Material Design or our styling solution are something they don't need. Some teams prefer SASS, others prefer to customize the components starting from a pristine state. What all these teams have in common is that they value the features coming from the components, such as accessibility.
The unstyled package goes one step down in the abstraction layer, providing more flexibility. Angular Material introduced this approach two years ago. Today their unstyled components account for 25% of the usage.
Another reason for introducing this package is to prepare the groundwork for a second theme (not Material Design based).
A note on the terminology: "unstyled" means that the components have the same API as the "styled" components but come without CSS. Material-UI also contains "headless" components that exposes a hook API, e.g. useAutocomplete or usePagination.
This change is part of our strategy to iterate on the v5 architecture with the
Slider
first. In the next alpha release, we plan to replace the v4 slider with the v5 slider. Once the new approach is stress-tested and validated, we will roll it out to all the components. -
And many more 🐛 bug fixes and 📚 improvements.
-
[AppBar] Fix z-index when position="static" (#23325) @sujinleeme Remove z-index when position static and relative
-
[theme] Fix error message for augmentColor failure (#23371) @reedanders The signature of
theme.palette.augmentColor
helper has changed:-theme.palette.augmentColor(red); +theme.palette.augmentColor({ color: red, name: 'brand' });
- [Autocomplete] Fix unclickable area between text input and endAdornment (#23229) @sujinleeme
- [Autocomplete] Follow Material Design State spec (#23323) @sujinleeme
- [Avatar] Fix usage of srcset property (#23286) @matheuspiment
- [ClickAwayListener] Fix mounting behavior in Portals in React 17 (#23315) @eps1lon
- [core] Allow React 17 (#23311) @eps1lon
- [Icon] Fix translation, e.g Google Translate (#23237) @cbeltrangomez84
- [LinearProgress] Fix Safari's bug during composition of different paint (#23293) @montogeek
- [Radio] Fix dot misalignment in Safari (#23239) @anasufana
- [styled-engine] Fix tagged template syntax with multiple expressions (#23269) @eps1lon
- [Table] Fix empty row logic when displaying all (#23280) @JoaoJesus94
- [Table] Fix handling of rowsPerPage={-1} (#23299) @JoaoJesus94
- [TextareaAutosize] Fix container with no intrinsic height (#23273) @sujinleeme
- [TextField] Fix disabled color in Safari (#23375) @Morteza-Jenabzadeh
- [theme] Fix spacing string arguments (#23224) @GuilleDF
- [Tooltip] Fix excess spacing (#23233) @benneq
- [unstyled] Create package and move SliderUnstyled there (#23270) @mnajdova
- [core] Allow React 17 (#23311) @eps1lon
- [lab] Migrate Timeline to TypeScript (#23242) @oliviertassinari
- [core] Allow React 17 (#23311) @eps1lon
- [core] Allow React 17 (#23311) @eps1lon
- [core] Allow React 17 (#23311) @eps1lon
- [core] Allow React 17 (#23311) @eps1lon
- [theme] Fix spacing string arguments (#23224) @GuilleDF
- [Transition] Document default appear value (#23221) @GuilleDF
- [blog] Danail Hadjiatanasov joins Material-UI (#23223) @oliviertassinari
- [docs] Add Material-UI Builder to in-house ads (#23342) @mbrookes
- [docs] Fix a few typos and add comma (#23284) @reedanders
- [docs] Fix few propTypes in Inputs (#23331) @youknowhat
- [docs] Fix language cookie (#23324) @mbrookes
- [docs] Fix typo in
README.md
(#23329) @mtsknn - [docs] Guard against unknown value in userLanguage cookie (#23336) @mbrookes
- [docs] Make it clearer that custom router is supported (#23304) @Maxgit3
- [docs] Sync translations (#23080) @l10nbot
- [docs] Update homepage quotes (#23326) @mbrookes
- [docs] Update nav translations (#23234) @mbrookes
- [docs] Update system pages to use sx prop instead of deprecated Box props (#23368) @mnajdova
- [docs] Use present tense for bool prop descriptions (#23274) @mbrookes
- [utils] Add all @material-ui/core/utils to @material-ui/utils (#23264) @mnajdova
- [core] Batch small changes (#23327) @oliviertassinari
- [core] Fix implicit transitive 'csstype' dependency (#23301) @quinnturner
- [core] Move material-ui-benchmark into benchmark/server (#23271) @eps1lon
- [core] Replace temp package with node built-ins (#23262) @eps1lon
- [core] Restrict top level imports that target CJS modules (#23159) @eps1lon
- [test] Fix unexpected console warn/error spy swallowing unrelated messages (#23312) @eps1lon
- [test] Fix various issues with the new cli on windows (#23381) @eps1lon
- [test] Improve test debugging (#23372) @eps1lon
- [test] Introduce experimental CLI (#23369) @eps1lon
- [test] Prevent growing call stack in custom keyDown/keyUp (#23321) @eps1lon
- [test] Run with Safari 13 (#23292) @eps1lon
Oct 23, 2020
A big thanks to the 23 contributors who made this release possible. Here are some highlights ✨:
-
💄 Introduce a new
sx
prop (#23053, #23205) @mnajdova We have resumed the work on Material-UI System. This is made possible by the latest progress on the new styling solution of v5. You can read the introduction blog post that we did for the system two years ago.The system is meant to solve the following problems:
- Naming things is hard. How should a class name, JSS style rule, or styled component be named?
- Jumping between JS and CSS in the editor wastes time. This is particularly true as the complexity (LOCs/# of elements) of a component increases. It's still true when using the
styled()
API. - Introducing a
makeStyles
for the first time in a component is daunting. For example, it's why https://github.com/vscodeshift/material-ui-codemorphs#add-usestyles-hook exists. What if we had less code to type, gaining velocity when writing styles? - Pulling values out from the theme can be cumbersome. How can we make it less painful to increase the usage of design tokens?
This new iteration of the system brings two major improvements:
-
It moves from the support of a subset of CSS to the support of a superset of CSS. Learning the shorthand is optional. It's no longer necessary to moving back to styled() when the system doesn't support a specific CSS property.
-
It moves from support on Box only to any core component (starting with the slider).
import Slider from '@material-ui/lab/SliderStyled'; // Set the primary color and a vertical margin of 16px on desktop. <Slider sx={{ color: 'primary.main', my: { xs: 0, md: 2 } }} />;
-
✨ Upgrade Popper.js from v1 to v2 (#21761) @joshwooding The change reduces the bundle size (-1 kB gzipped) while fixing bugs at the same time.
-
🐛 Fix broken nested imports with the icons package (#23157) @eps1lon The revamp of the bundling strategy in #22814 has broken the nested imports. Imports such as the one below should work again with this release:
import CloseIcon from '@material-ui/icons/Close';
-
And many more 🐛 bug fixes and 📚 improvements.
-
[Popper] Upgrade to popper.js to v2 (#21761) @joshwooding This third-party library has introduced a lot of changes.
You can read their migration guide or the following summary:-
The CSS prefixes have changed:
popper: { zIndex: 1, - '&[x-placement*="bottom"] $arrow': { + '&[data-popper-placement*="bottom"] $arrow': {
-
Method names have changed.
-popperRef.current.scheduleUpdate() +popperRef.current.update()
-popperRef.current.update() +popperRef.current.forceUpdate()
-
Modifiers' API has changed a lot. There are too many changes to be covered here.
-
-
[withMobileDialog] Remove this higher-order component (#23202) @RDIL The hook API allows a simpler and more flexible solution than the HOC:
-import withMobileDialog from '@material-ui/core/withMobileDialog'; +import { useTheme, useMediaQuery } from '@material-ui/core'; function ResponsiveDialog(props) { - const { fullScreen } = props; + const theme = useTheme(); + const fullScreen = useMediaQuery(theme.breakpoints.down('sm')); const [open, setOpen] = React.useState(false); // ... -export default withMobileDialog()(ResponsiveDialog); +export default ResponsiveDialog;
- [Box] Add sx prop (#23053) @mnajdova
- [Box] Deprecate system props (#23206) @mnajdova
- [Card] Use flex display for CardHeader.avatar (#23169) @mordechaim
- [Container] Fix support of custom breakpoint units (#23191) @espipj
- [Container] Revert max-width change for xs @oliviertassinari
- [InputBase] Use ref prop instead of inputRef prop on input component (#23174) @GuilleDF
- [l10n] Add Kazakh (kz-KZ) locale (#23195) @abdulgafur24
- [Rating] Ensure hover and click are in sync (#23117) @redbmk
- [Select] Fix SelectDisplayProps className concat (#23211) @reedanders
- [styled] Add @babel/runtime dependency (#23175) @koistya
- [Box] Add sx prop (#23053) @mnajdova
- [core] Fix bundles for packages without subpackages (#23157) @eps1lon
- [core] Fix bundles for packages without subpackages (#23157) @eps1lon
-
[AvatarGroup] Move from lab to core (#23121) @mbrookes Move the component from the lab to the core. This component will become stable.
-import AvatarGroup from '@material-ui/lab/AvatarGroup'; +import AvatarGroup from '@material-ui/core/AvatarGroup';
- [Slider] Add sx prop in SliderStyled (#23205) @mnajdova
- [utils] Fix types of chainPropTypes (#23123) @oliviertassinari
- [core] Fix bundles for packages without subpackages (#23157) @eps1lon
- [types] Add LICENSE files (#23162) @lielfr
- [examples] Remove reason example project (#23158) @mnajdova
- [examples] Update cdn example to use @material-ui/core@next (#23153) @mnajdova
- [examples] Update preact to use the @material-ui/core@next (#23154) @mnajdova
- [examples] Update ssr example to use @material-ui/core@next (#23155) @mnajdova
- [examples] Updated nextjs-typescript example to use @material-ui/core@next (#23119) @numToStr
- [docs] Add Menu component example with explicit positioning prop values (#23167) @jaebradley
- [docs] Add page feedback (#22885) @mbrookes
- [docs] Add Performance section for Modal (#23168) @jaebradley
- [docs] Better document CardActionArea (#23196) @el1f
- [docs] Cleaner image of font-size equation (#23189) @CamDavidsonPilon
- [docs] Fix casing typo (#23148) @piperchester
- [docs] Fix typo in steppers (#23163) @AGDholo
- [docs] Fix typo on interoperability page (#23177) @SassNinja
- [docs] Improve migration v5 guide @oliviertassinari
- [docs] Lazy load demo toolbar (#23108) @eps1lon
- [docs] Remove unused style selectors
extendedIcon
(#23160) @MatejKastak - [docs] Use Box sx prop on all Slider examples #23217 @mnajdova
- [benchmark] Add theme-ui and chakra-ui Box scenarios (#23180) @mnajdova
- [benchmark] Create separate workspace (#23209) @eps1lon
- [benchmark] Extracted Profiler & added output in readme (#23178) @mnajdova
- [core] Batch small changes (#23116) @oliviertassinari
- [core] Improve bundle size comment (#23110) @eps1lon
- [core] Prevent unstable chunks in size snapshot (#23181) @eps1lon
Oct 17, 2020
A big thanks to the 25 contributors who made this release possible. Here are some highlights ✨:
-
📦 Ship modern bundle (#22814) @eps1lon. This is a significant update to the browsers supported by Material-UI. The previous policy was defined 2 years ago, and the landscape has evolved since then. The package now includes 4 bundles:
stable
(default, formerlyesm
) which targets a snapshot (on release) of> 0.5%, last 2 versions, Firefox ESR, not dead, not IE 11"
node
(formerly default) which targets a snapshot (on release) ofmaintained node versions
legacy
(new) which isstable
+ IE11modern
(formerlyes
) which targets the last 1 version of evergreen browsers and active node (currently that is 14
The change yields a 6% reduction in bundle size 📦 (Babel only). In the coming weeks, we will refactor the internals to take advantage of the new browser capabilities that dropping these older platforms allows. For instance, we might be able to remove the span we render inside the
<Button>
to work around Flexbug #9.Check the updated Supported platforms documentation and new "minimizing bundle size" guide.
If you target IE11, you need to use the new bundle (
legacy
). We are treating IE11 as a second class-citizen, which is a continuation of the direction taken in #22873. -
🚀 Improve the internal benchmark suite (#22923, #23058) @mnajdova. This was a prerequisite step to improve the system. We needed to be able to measure performance. After #22945, we have measured that the
Box
component is x3 faster in v5-alpha compared to v4. -
✏️ A new blog post: Q3 2020 Update (#23055) @oliviertassinari.
-
🐙 Migrate more tests to react-testing-library @deiga, @Morteza-Jenabzadeh, @nicholas-l.
-
And many more 🐛 bug fixes and 📚 improvements.
- [core] Ship modern bundle (#22814) @eps1lon
- [Autocomplete] Fix autoHighlight synchronization (#23025) @Tubaleviao
- [Autocomplete] Ignore keydown event until IME is confirmed (#23050) @jiggum
- [Card] Fix action area hover style on touch devices (#23079) @giulianovarriale
- [Slider] Align value label text center (#23075) @LorenzHenk
- [SwipeableDrawer] Decorrelate swipeAreaWidth and initial jumping amount (#23042) @omidtajik
- [Tooltip] Fix followCursor preventing onMouseMove on children (#23104) @eps1lon
- [Tooltip] Refactor event handling (#23092) @eps1lon
- [theme] Add missing types for theme overrides (#23028) @povilass
- [l10n] Add Arabic (ar_EG) locale (#23006) @GoldenWings
- [TreeView] Fix bundle size link and refactor array spreads (#22992) @joshwooding
- [TreeView] Fix
alpha
color utility instead of deprecatedfade
(#22978) @joshwooding - [core] Ship modern bundle (#22814) @eps1lon
- [core] Ship modern bundle (#22814) @eps1lon
- [core] Ship modern bundle (#22814) @eps1lon
- [core] Ship modern bundle (#22814) @eps1lon
- [core] Ship modern bundle (#22814) @eps1lon
- [core] Ship modern bundle (#22814) @eps1lon
- [core] Ship modern bundle (#22814) @eps1lon
- [blog] Allow to support card preview (#23087) @oliviertassinari
- [blog] Q3 2020 Update (#23055) @oliviertassinari
- [docs] Add a new demo to the showcase (#22949) @adonig
- [docs] Add demo for Link underline (#23074) @LorenzHenk
- [docs] Add logarithmic slider demo (#23076) @LorenzHenk
- [docs] Add react-admin in related projects page (#23097) @fzaninotto
- [docs] Change color to palette (#23046) @mockingjet
- [docs] Don't suggest putting a Switch inside a ListItemSecondaryAction (#23018) @sirlantis
- [docs] Fix docs:dev (#23023) @eps1lon
- [docs] Fix vertical alignment of Slider demo (#23059) @r0zar
- [docs] Fix wrong variable characters (#23066) @AGDholo
- [docs] Improve docs for Table sticky column grouping (#23100) @andre-silva-14
- [docs] Improve icon preview color contrast (#22974) @oliviertassinari
- [docs] Interoperability guide updates (#23030) @mnajdova
- [docs] Move outdated versions into a collapsible section (#23029) @NoNamePro0
- [docs] Point to material-ui-x/next instead of master @oliviertassinari
- [docs] Restore ButtonBases images (#23083) @eps1lon
- [docs] Slider demos clean up (#22964) @mnajdova
- [docs] Sync translations (#22888) @l10nbot
- [examples] Update gatsby example to use @material-ui/* next (#23089) @mnajdova
- [examples] Update gatsby-theme example to use @material-ui/* next #23093 @mnajdova
- [examples] Update nextjs example project to use @material-ui/* next (#23094) @mnajdova
- [benchmark] Add browser benchmark (#22923) @mnajdova
- [benchmark] Fix benchmark scripts & moved scenarios to correct benchmark project (#23058) @mnajdova
- [test] Enable failing unexpected console warn|error in browser tests (#23063) @eps1lon
- [test] Fail each test on unexpected console logs in test:unit (#23064) @eps1lon
- [test] Introduce toHaveInlineStyle and toHaveComputedStyle matcher (#23054) @eps1lon
- [test] Migrate ButtonBase to react-testing-library (#23011) @deiga
- [test] Migrate IconButton to react-testing-library (#22972) @Morteza-Jenabzadeh
- [test] Migrate InputBase to react-testing-library (#23014) @deiga
- [test] Migrate SpeedDial to react-testing-library (#23021) @nicholas-l
- [test] Migrate TableCell to react-testing-library (#23095) @nicholas-l
- [test] Migrate TableRow to react-testing-library (#23105) @deiga
- [test] Move some work out of evaluation phase (#23112) @eps1lon
- [test] Supress 404 img warnings in browser tests (#23106) @eps1lon
- [test] Throw on console.(error|warn) outside of test (#22907) @eps1lon
- [test] Use dot reporter in CI (#23026) @eps1lon
- [core] Add support for iOS Safari 12 (#23068) @eps1lon
- [core] Also format dot files & folders (#22975) @oliviertassinari
- [core] Extend yarn size:why (#22979) @eps1lon
- [core] Fix react-next test (#23027) @oliviertassinari
- [core] Lint CSS (#22976) @oliviertassinari
- [core] Misc modules/* cleanup (#22983) @eps1lon
Oct 11, 2020
A big thanks to the 45 contributors who made this release possible. Here are some highlights ✨:
- 🧪 The promotion of 4 components from the lab to core: Autocomplete, Pagination, SpeedDial, and ToggleButton. These components have been in the lab for more than 10 months @mbrookes.
- 📦 Switch the style engine of the
Box
component from JSS to @material-ui/styled-engine (use emotion by default) (#22945) @mnajdova. The early benchmark we have run shows that performance has improved. We will share more detailed results in #21657. - 🐙 Migrate a large portion of the tests from enzyme to react-testing-library @eladmotola, @baterson, @bewong89, @devrasec, @guillermaster, @itamar244, @jeferson-sb, @The24thDS. Last month, react-testing-library had more downloads than enzyme in the ecosystem!
- 🏷 Add support for tooltips following the cursor (#22876) @xtrixia.
- And many more 🐛 bug fixes and 📚 improvements.
-
[Accordion] Remove
display:flex
from AccordionDetails (#22809) @croraf The style was too opinionated. Most developers expectdisplay: block
. -
[Accordion] Replace IconButton wrapper with div (#22817) @croraf Remove IconButtonProps prop from AccordionSummary. The component renders a
<div>
element instead of an IconButton. The prop is no longer relevant. -
[Box] Add mui styled usage (#22945) @mnajdova Change the style-engine powering the Box component from JSS to the style engine adatper (emotion by default).
-
[CircularProgress] Drop IE11 wobbly workaround (#22873) @suliskh The IE11 workaround is harming performance on the latest browsers. This change is part of a best-effort strategy to keep IE11 support. We are degrading the UX and DX with IE11 where we can improve the components on modern browsers.
-
[Table] Rename onChangeRowsPerPage and onChangePage (#22900) @eladmotola The change was done to match the API convention.
<TablePagination - onChangeRowsPerPage={()=>{}} - onChangePage={()=>{}} + onRowsPerPageChange={()=>{}} + onPageChange={()=>{}}
-
[theme] Rename fade to alpha (#22834) @mnajdova Better describe its functionality. The previous name was leading to confusion when the input color already had an alpha value. The helper overrides the alpha value of the color.
- import { fade } from '@material-ui/core/styles'; + import { alpha } from '@material-ui/core/styles'; const classes = makeStyles(theme => ({ - backgroundColor: fade(theme.palette.primary.main, theme.palette.action.selectedOpacity), + backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity), }));
-
[Tooltip] Make
interactive
default (#22382) @eps1lon The previous default behavior failed success criterion 1.4.3 ("hoverable") in WCAG 2.1. To reflect the new default value, the prop was renamed todisableInteractive
. If you want to restore the old behavior (thus not reaching level AA), you can apply the following diff:-<Tooltip> +<Tooltip disableInteractive> # Interactive tooltips no longer need the `interactive` prop. -<Tooltip interactive> +<Tooltip>
- [Accordion] Remove incorrect demo which nests input in button (#22898) @croraf
- [Autocomplete] Fix filtering when value is already selected (#22935) @montelius
- [Autocomplete] Fix virtualization example in IE11 (#22940) @bearfromtheabyss
- [Autocomplete] Restrict component props in
renderInput
(#22789) @eps1lon - [Box] Add types for
ref
(#22927) @lcswillems - [Button] Fix invalid type value (#22883) @oliviertassinari
- [Button] Improve loading transition (#22884) @oliviertassinari
- [Grid] Clarify document about direction column limitation (#22871) @ThewBear
- [IconButton] Improve warning against non root onClick listeners (#22821) @pranjanpr
- [Popper] Use placement viewport instead of window (#22748) @maksimgm
- [Select] Add generic support for value (#22839) @AntoineGrandchamp
- [Skeleton] Fix importing with named export (#22879) @0prodigy
- [SpeedDial] Fix keyboard navigation when uncontrolled (#22826) @akharkhonov
- [styled] Specify emotion & styled-components as optional peer dependencies (#22808) @mnajdova
- [styled] Support default theme when none is available (#22791) @mnajdova
- [Tabs] Fix RTL scrollbar with Chrome 85 (#22830) @ankit
- [TextField] Pass minRows to InputComponent (#22831) @suliskh
- [ToggleButton] Fix vertical double border (#22825) @Avi98
- [ToggleButton] Match ToggleButtonGroup name and render function name (#22790) @jjoselv
- [Tooltip] Add placement
followCursor
(#22876) @xtrixia - [Tooltip] Improve docs and warning for custom children (#22775) @brorlarsnicklas
- [Tooltip] Use label semantics (#22729) @eps1lon
- [useAutocomplete] Fix getXProps functions type (#22749) @kentaro84207
- [styled] Support default theme when none is available (#22791) @mnajdova
-
[Autocomplete] Move from lab to core (#22715) @mbrookes Move the component from the lab to the core. This component will become stable.
-import Autocomplete from '@material-ui/lab/Autocomplete'; -import useAutocomplete from '@material-ui/lab/useAutocomplete'; +import Autocomplete from '@material-ui/core/Autocomplete'; +import useAutocomplete from '@material-ui/core/useAutocomplete';
-
[Pagination] Move from lab to core (#22848) @mbrookes Move the component from the lab to the core. This component will become stable.
-import Pagination from '@material-ui/lab/Pagination'; -import PaginationItem from '@material-ui/lab/PaginationItem'; -import { usePagination } from '@material-ui/lab/Pagination'; +import Pagination from '@material-ui/core/Pagination'; +import PaginationItem from '@material-ui/core/PaginationItem'; +import usePagination from '@material-ui/core/usePagination';
-
[SpeedDial] Move from lab to core (#22743) @mbrookes Move the component from the lab to the core. This component will become stable.
-import SpeedDial from '@material-ui/lab/SpeedDial'; -import SpeedDialAction from '@material-ui/lab/SpeedDialAction'; -import SpeedDialIcon from '@material-ui/lab/SpeedDialIcon'; +import SpeedDial from '@material-ui/core/SpeedDial'; +import SpeedDialAction from '@material-ui/core/SpeedDialAction'; +import SpeedDialIcon from '@material-ui/core/SpeedDialIcon';
-
[ToggleButton] Move from lab to core (#22784) @mbrookes Move the component from the lab to the core. This component will become stable.
-import ToggleButton from '@material-ui/lab/ToggleButton'; -import ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup'; +import ToggleButton from '@material-ui/core/ToggleButton'; +import ToggleButtonGroup from '@material-ui/core/ToggleButtonGroup';
-
[TreeView] Improve customization of tree item (#22846) @joshwooding Remove
onLabelClick
andonIconClick
.
- [AvatarGroup] Add variant prop (#22832) @hjades
- [SliderStyled] Fix mark label alignment on coarse pointer devices (#22849) @joshwooding
- [docs] Add example for using styled-components as styled-engine (#22788) @mnajdova
- [docs] Add longhand system API props to docs (#22796) @possibilities
- [docs] Box & system cleanup (#22962) @mnajdova
- [docs] CONTRIBUTING.md only yarn is supported (#22754) @Yashvirani
- [docs] Document createSvgIcon() (#22843) @mbrookes
- [docs] Document inherited props (#22318) @oliviertassinari
- [docs] Document LoadingButton behavior (#22878) @eps1lon
- [docs] Fix dark theme for input field on autocomplete (#22711) @GauravKesarwani
- [docs] Fix material icon search details view (#22793) @skr571999
- [docs] Fix type vs. mode and capitalization of createMuiTheme (#22844) @joshwooding
- [docs] Fix typo in guides/typescript (#22806) @croraf
- [docs] Fix various typos (#22842) @kkirsche
- [docs] For non-SSR language, internal search fall back to English (#22902) @bicstone
- [docs] Improve CRA example (#22967) @spursbyte
- [docs] Improve FormControl duplication warning (#22823) @talgautb
- [docs] Improve perf when opening the drawer (#22781) @eps1lon
- [docs] Improve SEO on titles (#22742) @oliviertassinari
- [docs] Improve the left side-nav (#22780) @oliviertassinari
- [docs] Include peer deps in installation steps (#22889) @numToStr
- [docs] Link all the examples in docs (#22891) @Avi98
- [docs] More robust description matcher (#22836) @eps1lon
- [docs] Reduce risk of 404 when changing the default branch (#22801) @eps1lon
- [docs] Resolve .tsx first (#22315) @oliviertassinari
- [docs] Simplify locales example (#22747) @mbrookes
- [docs] Sync translations (#22752, #22851) @l10nbot
- [docs] Update installation guide to contain peer dependencies (#22787) @mnajdova
- [docs] Update ToggleButton import (#22971) @mbrookes
- [docs] Use demo name as codesandbox name (#22926) @eps1lon
- [benchmark] Add cross-env to fix window run issue (#22895) @mnajdova
- [core] Batch small changes (#22746) @oliviertassinari
- [core] Batch small changes (#22847) @oliviertassinari
- [core] Drop babel-plugin-transform-dev-warning (#22802) @eps1lon
- [core] Misc dependency fixes (#22909) @eps1lon
- [test] Apply lazy forwardRef fix (#22904) @eps1lon
- [test] Autocomplete drop "defaultProps" pattern (#22896) @eps1lon
- [test] Fix react-next patch (#22800) @eps1lon
- [test] Migrate Accordion to react-testing-library (#22952) @bewong89
- [test] Migrate Backdrop to react-testing-library (#22931) @itamar244
- [test] Migrate Container to react-testing-library (#22919) @eladmotola
- [test] Migrate CssBaseline to react-testing-library (#22920) @eladmotola
- [test] Migrate Fab to react-testing-library (#22959) @The24thDS
- [test] Migrate Fade to react-testing-library (#22918) @eladmotola
- [test] Migrate Grow to react-testing-library (#22917) @eladmotola
- [test] Migrate List to react-testing-library (#22929) @eladmotola
- [test] Migrate MenuList and ImageListItem to react-testing-library (#22958) @eladmotola
- [test] Migrate MobileStepper to react-testing-library (#22963) @devrasec
- [test] Migrate more components to react-testing-library (#22872) @baterson
- [test] Migrate more components to react-testing-library (#22874) @baterson
- [test] Migrate more components to react-testing-library (#22892) @baterson
- [test] Migrate NativeSelect to react-testing-library (#22970) @guillermaster
- [test] Migrate NativeSelectInput to react-testing-library (#22910) @baterson
- [test] Migrate RadioGroup to react-testing-library (#22953) @eladmotola
- [test] Migrate Slide to react-testing-library (#22913) @eladmotola
- [test] Migrate SpeedDialIcon to react-testing-library (#22965) @jeferson-sb
- [test] Migrate TabIndicator to react-testing-library (#22906) @eladmotola
- [test] Migrate TextField to react-testing-library (#22944) @The24thDS
- [test] Migrate useTheme,withTheme to react-testing-library (#22928) @eladmotola
- [test] Migrate Zoom to react-testing-library (#22914) @eladmotola
- [test] Prevent nextjs build cache to grow indefinitely (#22948) @eps1lon
- [test] Simplify usage of
yarn mocha
(#22899) @eps1lon - [test] Solve 2000ms timeout (#22778) @oliviertassinari
- [test] Update react next patch (#22890) @eps1lon
- [test] Use appropriate templates for csb CI (#22943) @eps1lon
- [test] Verbose reporter in CI (#22924) @eps1lon
Sep 26, 2020
A big thanks to the 29 contributors who made this release possible. Here are some highlights ✨:
-
👩🎨 A first iteration on the new styling solution.
You can find a new version of the slider in the lab powered by emotion.
In the event that you are already using styled-components in your application, you can swap emotion for styled-components 💅. Check this CodeSandbox for a demo. It relies on aliases to prevent any bundle size overhead.
The new styling solution saves 2kB gzipped in the bundle compared to JSS, and about 14 kB gzipped if you were already using emotion or styled-components.
Last but not least, the change allows us to take advantage dynamic style props. We will use them for dynamic color props, variant props, and new style props (an improved system).
This change has been in our roadmap for more than a year. We announced it in the v4 release blog post as a direction v5 would take.
-
🛠 A first iteration on the unstyled components.
You can find a new version of the slider in the lab without any styles. The unstyled component weighs 6.5 kB gzipped, compared with 26 kB for the styled version when used standalone. The component is best suited for use when you want to fully customize the look of the component without reimplementing the JavaScript and accessibility logic.
-
⚡️ A first alpha of the DataGrid component.
It has taken 6 months of development since the initial commit (March 15th, 2020) to make the first alpha release of the grid. The component comes in two versions: @material-ui/data-grid is licensed under MIT, while @material-ui/x-grid is licensed under a commercial license.
-
🪓 Keep working on the breaking changes.
We aim to complete most of the breaking changes during the alpha stage of v5. We will move to beta once all the breaking changes we have anticipated are handled. As always, you should find a clear and simple upgrade path for each of them. You can learn more about the breaking changes left to be done in #22700.
-
And many more 🐛 bug fixes and 📚 improvements.
-
[Chip] Rename
default
variant tofilled
(#22683) @mnajdova Renamedefault
variant tofilled
for consistency.-<Chip variant="default"> +<Chip variant="filled">
-
[Tabs] Add allowScrollButtonsMobile prop for mobile view (#22700) @GauravKesarwani The API that controls the scroll buttons has been split it into two props:
- The
scrollButtons
prop controls when the scroll buttons are displayed depending on the space available. - The
allowScrollButtonsMobile
prop removes the CSS media query that systematically hides the scroll buttons on mobile.
-<Tabs scrollButtons="on" /> -<Tabs scrollButtons="desktop" /> -<Tabs scrollButtons="off" /> +<Tabs scrollButtons allowScrollButtonsMobile /> +<Tabs scrollButtons /> +<Tabs scrollButtons={false} />
- The
-
[theme] Improve breakpoints definitions (#22695) @mnajdova Breakpoints are now treated as values instead of ranges. The behavior of
down(key)
was changed to define media query less than the value defined with the corresponding breakpoint (exclusive). The behavior ofbetween(start, end)
was also updated to define media query for the values between the actual values of start (inclusive) and end (exclusive).Find examples of the changes required defined below:
-theme.breakpoints.down('sm') // '@media (max-width:959.95px)' - [0, sm + 1) => [0, md)
+theme.breakpoints.down('md') // '@media (max-width:959.95px)' - [0, md)
-theme.breakpoints.between('sm', 'md') // '@media (min-width:600px) and (max-width:1279.95px)' - [sm, md + 1) => [sm, lg)
+theme.breakpoints.between('sm', 'lg') // '@media (min-width:600px) and (max-width:1279.95px)' - [sm, lg)
-
[theme] Rename
type
tomode
(#22687) @mnajdova Renamestheme.palette.type
totheme.palette.mode
, to better follow the "dark mode" term that is usually used for describing this feature.import { createMuiTheme } from '@material-ui/core/styles'; -const theme = createMuiTheme({palette: { type: 'dark' }}), +const theme = createMuiTheme({palette: { mode: 'dark' }}),
The changes are supported by the
adaptV4Theme()
for easing the migration
- [Checkbox] Improve indeterminate UI (#22635) @oliviertassinari
- [Chip] Fix prop-type support for custom variants (#22603) @cansin
- [icons] Expose a data-test-id attribute on all svg icons (#22634) @jaebradley
- [Rating] Add form integration test suite (#22573) @eps1lon
- [Rating] Simpler customization of active "no value" styles (#22613) @eps1lon
- [Rating] Treat as input when readOnly (#22606) @eps1lon
- [Rating] Treat read-only as image (#22639) @eps1lon
- [Select] Improve docs for displayEmpty prop (#22601) @mihaipanait
- [Slider] Better tracking of mouse events (#22557, #22638) @chrisinajar, @oliviertassinari
- [Slider] Create unstyled version and migrate to emotion & styled-components (#22435) @mnajdova
- [Slider] Export components from lab and renamed to fit file names (#22723) @mnajdova
- [Slider] Fix value label display for custom value component (#22614) @NoNonsense126
- [Stepper] Add slight transition (#22654) @xtrixia
- [Tabs] Fix TabScrollButton using absolute path (#22690) @4vanger
- [Tabs] Only scroll the visible tabs (#22600) @quochuy
- [theme] convertLength does not work for fromUnit !== 'px' (#22739) @brorlarsnicklas
- [theme] Fix createSpacing.d.ts definition (#22645) @dabretin
- [theme] Fix Hidden breakpoints issues and updates the migration guide (#22702) @mnajdova
-
[Alert] Move from lab to core (#22651) @mbrookes Move the component from the lab to the core. This component will become stable.
-import Alert from '@material-ui/lab/Alert'; -import AlertTitle from '@material-ui/lab/AlertTitle'; +import Alert from '@material-ui/core/Alert'; +import AlertTitle from '@material-ui/core/AlertTitle';
-
[Rating] Move from lab to core (#22725) @mbrookes Move the component from the lab to the core. This component will become stable.
-import Rating from '@material-ui/lab/Rating'; +import Rating from '@material-ui/core/Rating';
-
[Skeleton] Move from lab to core (#22740) @mbrookes Move the component from the lab to the core. This component will become stable.
-import Skeleton from '@material-ui/lab/Skeleton'; +import Skeleton from '@material-ui/core/Skeleton';
-
[Autocomplete] Get root elements of options via renderOption (#22591) @ImanMahmoudinasab After this change, the full DOM structure of the option is exposed. It makes customizations easier. You can recover from the change with:
<Autocomplete - renderOption={(option, { selected }) => ( - <React.Fragment> + renderOption={(props, option, { selected }) => ( + <li {...props}> <Checkbox icon={icon} checkedIcon={checkedIcon} style={{ marginRight: 8 }} checked={selected} /> {option.title} - </React.Fragment> + </li> )} />
- [lab] Fix transitive dependencies in @material-ui/lab (#22671) @koistya
- [Autocomplete] Add "remove-option" to AutocompleteCloseReason type (#22672) @iansjk
- [Autocomplete] Don't close popup when Ctrl/Meta is pressed (#22696) @montelius
- [Autocomplete] Fix accessibility issue with empty option set (#22712) @tylerjlawson
- [Autocomplete] Update GitHub customization example (#22735) @hmaddisb
The new default style engine leveraging emotion.
Allows developer to swap emotion with styled-components. More documentation are coming.
- [icons] Synchronize with Google (#22680) @delewis13
- [Slider] Create unstyled version and migrate to emotion & styled-components (#22435) @mnajdova
- [core] Port createSpacing to TypeScript (#22720) @eps1lon
- [blog] New posts (#22607) @oliviertassinari
- [docs] Add additional context to Autocomplete asynchronous documentation (#22621) @jaebradley
- [docs] Add emotion dependencies in codesandbox examples (#22736) @mnajdova
- [docs] Add props from Unstyled component to Styled API page (#22733) @mnajdova
- [docs] Add ui-schema in related projects (#22644) @elbakerino
- [docs] Avoid confusion between layout grid and data grid (#22681) @oliviertassinari
- [docs] Batch small changes (#22646) @oliviertassinari
- [docs] Configuring redirects for MUI X (#22632) @dtassone
- [docs] Customized hook at Autocomplete issue in dark mode (#22605) @hmaddisb
- [docs] Encourage DataGrid in /components/tables/ over alternatives (#22637) @oliviertassinari
- [docs] Fix emotion broken in SSR (#22731) @mnajdova
- [docs] Fix markdown metadata yaml (#22629) @oliviertassinari
- [docs] Fix static asset loading with X @oliviertassinari
- [docs] Improve Dashboard template (#22647) @pak1989
- [docs] Improve DX for docs generation (#22619) @eps1lon
- [docs] Migrate templates to TypeScript (#22650) @oliviertassinari
- [docs] New Crowdin updates (#22620) @mbrookes
- [docs] Prevent toolbar tooltips overlapping demos (#22732) @eps1lon
- [docs] Reduce indirections (#22642) @Arsikod
- [docs] Reference experimental slider demos correctly (#22738) @eps1lon
- [docs] Remove minimum-scale from meta viewport in docs (#22724) @barik
- [docs] Remove wrong migration instruction (#22710) @oliviertassinari
- [docs] Use codesandbox deploy for demos created from deploy previews (#22616) @eps1lon
- [core] Port createSpacing to TypeScript (#22720) @eps1lon
- [core] Replace ChangeEvent<{}> with SyntheticEvent (#22716) @eps1lon
- [core] Use ttp sources directly (#22706) @eps1lon
- [test] Add skip ci to Crowdin commit message (#22685) @mbrookes
- [test] Only run on push for master/next (#22624) @eps1lon
- [test] Run CircleCI anytime (#22676) @eps1lon
Sep 15, 2020
A big thanks to the 16 contributors who made this release possible. Here are some highlights ✨:
- Keep working on the breaking changes before v5-beta. As always, you should find a clear and simple upgrade path for each of them.
- And many more 🐛 bug fixes and 📚 improvements.
-
[Accordion] Normalize focusVisible logic (#22567) @oliviertassinari Rename
focused
tofocusVisible
for consistency with the other components:<Accordion classes={{ - focused: 'custom-focus-visible-classname', + focusVisible: 'custom-focus-visible-classname', }} />
-
[Stepper] Remove Paper and built-in padding (#22564) @mbrookes The root component (Paper) was replaced with a
<div>
. Stepper no longer has elevation, nor inherits Paper's props. This change is meant to encourage composition.-<Stepper elevation={2}> - <Step> - <StepLabel>Hello world</StepLabel> - </Step> -</Stepper> +<Paper square elevation={2}> + <Stepper> + <Step> + <StepLabel>Hello world</StepLabel> + </Step> + </Stepper> +<Paper>
Remove the built-in 24px padding for consistency with the other components that avoid reserving space anytime it's possible.
-<Stepper> - <Step> - <StepLabel>Hello world</StepLabel> - </Step> -</Stepper> +<Stepper style={{ padding: 24 }}> + <Step> + <StepLabel>Hello world</StepLabel> + </Step> +</Stepper>
-
[theme] Always return default spacing value with px units (#22552) @mbrookes
theme.spacing
now returns single values with px units by default. This change improves the integration with styled-components & emotion (with the CSS template strings syntax).Before:
theme.spacing(2) => 16
After:
theme.spacing(2) => '16px'
-
[theme] Remove palette.text.hint key (#22537) @mbrookes
The
theme.palette.text.hint
key was available but unused in Material-UI v4 components. You can useadaptV4Theme()
to restore the previous behavior.
- [BottomNavigation] onClick does not fire if tapped while scrolling (#22524) @EliasJorgensen
- [Button] Remove dead code (#22566) @oliviertassinari
- [Chip] Fix focus visible style (#22430) @alexmotoc
- [ImageList] Refactor using CSS grid & React context (#22395) @mbrookes
- [Slider] Improve integration with form libraries (#22548) @NoNonsense126
- [StepIcon] Add className in render SvgIcon (#22559) @ZouYouShun
- [SwipeableDrawer] Avoid blocking events (#22525) @JadRizk
- [theme] Support spacing and border radius with CSS unit (#22530) @madmanwithabike
- [theme] Fix theme object global leak (#22517) @eps1lon
- [theme] Increase usage of the disabled design tokens (#22570) @LorenzHenk
-
[Rating] Use different shape for empty and filled icons (#22554) @oliviertassinari Change the default empty icon to improve accessibility (1.4.1 WCAG 2.1). If you have a custom
icon
prop but noemptyIcon
prop, you can restore the previous behavior with:<Rating icon={customIcon} + emptyIcon={null} />
- [Autocomplete] Improve TypeScript in the Google Maps demo (#22555) @L-U-C-K-Y
- [Rating] Explain some styles in code comments (#22571) @eps1lon
- [docs] Improve Font Awesome integration (#22496) @chrislambe
- [docs] Clarify SSG acronym in Next.js example (#22558) @leerob
- [docs] Add redirection for links published on npm (#22575) @oliviertassinari
- [docs] Add LightyearVPN to showcase (#22568) @lightyearvpn
- [docs] Fix typo, extra 'you' (#22560) @jedsmit
- [docs] Option to disable ads (#22574) @oliviertassinari
- [core] Remove usage of deprecated event.keyCode (#22569) @oliviertassinari
- [core] Remove references to other objects from created theme (#22523) @eps1lon
- [core] Batch small changes (#22565) @oliviertassinari
Sep 6, 2020
A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
- 💎 A new diamond sponsor: DoiT, thank you!
- 📚 Include the default value of the props in IntelliSense (#22447) @eps1lon
- ⚛️ More source migrated to TypeScript and testing-library (#22441) @baterson
- And many more 🐛 bug fixes and 📚 improvements.
- [Modal] Remove
onRendered
prop from Modal and Portal (#22464) @eps1lon Depending on your use case either use a callback ref on the child element or an effect hook in the child component.
- [Modal] Convert ModalManager to TypeScript (#22465) @eps1lon
- [Paper] Fix elevation warning when rendering (#22494) @nesso-pfl
- [Slider] Edge against swallowing of mouse up event (#22401) @motiejunas
- [Tabs] Add option to show scrollbar (#22438) @LogyLeo
- [Tabs] Document visibleScrollBar default value (#22475) @eps1lon
- [TextField] Remove excessive catching of hiddenLabel prop (#22444) @croraf
- [docs] Include default values in IntelliSense (#22447) @eps1lon
- [docs] Add DoiT diamond sponsor (#22436) @oliviertassinari
- [docs] Bump markdown-to-jsx (#22474) @eps1lon
- [docs] Change showcase approval process (#22398) @africanzoe
- [docs] Fix close context menu if repeated (#22463) @eps1lon
- [docs] Fix Next.js example (#22457) @bhati
- [docs] Fix TypeScript deps in CodeSandbox (#22346) @oliviertassinari
- [docs] Fix unresolved returntypes for props (#22459) @eps1lon
- [docs] Fix usage of overrides instead of styleOverrides (#22478) @discodanne
- [docs] Improve Backstage showcase (#22458) @stefanalund
- [docs] Improve styles basics.md section (#22440) @bxie
- [docs] Include default values in IntelliSense (#22447) @eps1lon
- [core] Batch small changes (#22461) @oliviertassinari
- [core] Fix useEventCallback type (#22448) @kodai3
- [core] Try out new JSX transform where available (#22455) @eps1lon
- [test] Migrate more components to react-testing-library (#22441) @baterson
Aug 31, 2020
A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨:
- 🎨 Inverse the customization API of the theme to be component-centric (#22347, #22293) @mnajdova.
const theme = createMuiTheme({
components: {
MuiIconButton: {
defaultProps: {
size: 'small',
},
styleOverrides: {
sizeSmall: {
marginLeft: 4,
marginRight: 4,
padding: 12,
},
},
},
},
});
-
✨ Add text in divider support (#22285) @ShehryarShoukat96
<Divider>{'CENTER'}</Divider>
-
♿️ A bunch of accessibility fixes (#22366, #22374, #22377, #22340, #22376) @fakeharahman @alexmotoc @eps1lon @oliviertassinari
-
⚛️ Increase adoption of TypeScript in the codebase (#22389, #22367, #22282) @Luchanso, @oliviertassinari
-
[theme] Rename theme keys to defaultProps and styleOverrides (#22347) @mnajdova
-
[theme] Restructure component definitions (#22293) @mnajdova The components' definition inside the theme were restructure under the
components
key, to allow people easier discoverability about the definitions regarding one component.props
import { createMuiTheme } from '@material-ui/core/styles'; const theme = createMuiTheme({ - props: { - MuiButton: { - disableRipple: true, - }, - }, + components: { + MuiButton: { + defaultProps: { + disableRipple: true, + }, + }, + }, });
overrides
import { createMuiTheme } from '@material-ui/core/styles'; const theme = createMuiTheme({ - overrides: { - MuiButton: { - root: { padding: 0 }, - }, - }, + components: { + MuiButton: { + styleOverrides: { + root: { padding: 0 }, + }, + }, + }, });
Note that if you don't have the time to upgrade the structure of the theme, you can use the
adaptV4Theme()
adapter. -
[GridList] Rename to ImageList (#22311) @mbrookes
-
[GridList] Rename Tile to Item (#22385) @mbrookes Rename the
GridList
components toImageList
to align with the current Material Design naming.-import GridList from '@material-ui/core/GridList'; -import GridListTile from '@material-ui/core/GridListTile'; -import GridListTileBar from '@material-ui/core/GridListTileBar'; +import ImageList from '@material-ui/core/ImageList'; +import ImageListItem from '@material-ui/core/ImageListItem'; +import ImageListItemBar from '@material-ui/core/ImageListItemBar'; -<GridList> - <GridListTile> +<ImageList> + <ImageListItem> <img src="file.jpg" alt="Image title" /> - <GridListTileBar + <ImageListItemBar title="Title" subtitle="Subtitle" /> - </GridListTile> -</GridList> + </ImageListItem> +</ImageList>
- [Breadcrumbs] Fix wrong role usage (#22366) @fakeharahman
- [Breadcrumbs] More robust focus capture (#22374) @eps1lon
- [ButtonBase] Reset box-sizing to border-box (#22316) @su8ru
- [Dialog] Fix unexpected close when releasing click on backdrop (#22310) @danbrud
- [Divider] Add text in divider (#22285) @ShehryarShoukat96
- [Slider] Respect disabled property when already focused (#22247) @pireads
- [Tabs] Don't fire onChange if current value (#22381) @jjoselv
- [Tabs] Improve focus management on list with no active tabs (#22377) @alexmotoc
- [theme] Add theme.mixins.gutters() in adaptV4Theme (#22396) @mnajdova
- [Tooltip] Improve readability (#22340) @oliviertassinari
- [Tooltip] Meet dismissable WCAG criterion (#22376) @eps1lon
- [l10n] Improve th-TH locale (#22350) @vimutti77
- [docs] Add IntelliSense for each class in the
classes
prop (#22312) @eps1lon
- [theme] Restructure component definitions (#22293) @mnajdova
- [core] Move utils package to TypeScript (#22367) @oliviertassinari
- [docs] Add Content Security Policy guide (#22383) @tjg37
- [docs] Add IntelliSense for each class in the
classes
prop (#22312) @eps1lon - [docs] Add links in the header (#22210) @oliviertassinari
- [docs] Fix Argos-ci 404 link (#22362) @brunocechet
- [docs] Fix test README typo @mbrookes
- [docs] Forward x data-grid (#22400) @oliviertassinari
- [docs] Transpile demo .ts files (#22388) @eps1lon
- [docs] Add Backstage to showcase (#22428) @stefanalund
- [docs] Update Fontsource installation instructions (#22431) @DecliningLotus
- [icons] Label them as vendored for GitHub (#22397) @oliviertassinari
- [test] DialogContent with testing-library (#22356) @baterson
- [test] DialogContentText with testing-library (#22357) @baterson
- [test] DialogTitle with testing-library (#22358) @baterson
- [test] Enable tests that weren't working in JSDOM (#22360) @eps1lon
- [test] Fix failing tests on Windows (#22369) @eps1lon
- [test] Update react 17 patch (#22391) @eps1lon
- [core] Add explicit dependency on
@types/yargs
(#22339) @eps1lon - [core] Add useEnhancedEffect module (#22317) @oliviertassinari
- [core] Batch small changes (#22314) @oliviertassinari
- [core] Fix setRef types (#22389) @Luchanso
- [core] Include TypeScript definitions in GitHub source (#22282) @oliviertassinari
- [core] Refactor how we ignore default values in docs (#22355) @eps1lon
- [core] Update SECURITY.md to account for v5 @oliviertassinari
Aug 22, 2020
A big thanks to the 22 contributors who made this release possible. Here are some highlights ✨:
- 💎 A new diamond sponsor: Octopus, thank you!
- ⚛️ Migrate parts of the codebase to TypeScript (#22295, #22280, #22179, #22195) @rothbart, @eps1lon, @oliviertassinari.
- 💅 Add support for custom variant to most of the components (9 new components in this release) @mnajdova
- ⚛️ Keep working on React 17 support (#22270, #22262) @eps1lon
- And many more 🐛 bug fixes and 📚 improvements.
-
[Menu] Remove transition onX props (#22212) @mbrookes The onE* transition props were removed. Use TransitionProps instead.
<Menu - onEnter={onEnter} - onEntered={onEntered}, - onEntering={onEntered}, - onExit={onEntered}, - onExited={onEntered}, - onExiting={onEntered} + TransitionProps={{ + onEnter, + onEntered, + onEntering, + onExit, + onExited, + onExiting, + }} >
-
[Popover] Remove transition onX props (#22184) @mbrookes The onE* transition props were removed. Use TransitionProps instead.
<Popover - onEnter={onEnter} - onEntered={onEntered}, - onEntering={onEntered}, - onExit={onEntered}, - onExited={onEntered}, - onExiting={onEntered} + TransitionProps={{ + onEnter, + onEntered, + onEntering, + onExit, + onExited, + onExiting, + }} />
-
[TextField] Improve line-height reset (#22149) @imnasnainaec Increase the line-height by 4px to support long descender on special alphabets. If you were overriding the input vertical padding, reduce it by 4px.
- [Accordion] Fix scroll anchoring (#22292) @brickmaker17
- [colorManipulator] Add support for CSS Color Module Level 4 (#20790) @marcosvega91
- [Divider] Custom variant (#22182) @mnajdova
- [Fab] Custom variant (#22189) @mnajdova
- [l10n] Add Thai (th-TH) locale (#22242) @smoogi
- [l10n] Improve ja-JP locale (#22287) @chelproc
- [Link] Custom variant (#22204) @mnajdova
- [Paper] Custom variant (#22216) @mnajdova
- [Slider] Improve touch passive event handling (#22269) @mikhalev-im
- [Stepper] Fix spacing without StepContent (#22199) @Floriferous
- [SwipeableDrawer] Fix prevented inner scroll (#22254) @BramKaashoek
- [Tabs] Add aria-orientation of vertical (#22291) @eps1lon
- [Tabs] Document how to make scroll icons visible (#22255) @Sorgrum
- [TextField] Add hidden label to multi-line filled textfield (#22284) @fakeharahman
- [Toolbar] Custom variant (#22217) @mnajdova
- [TrapFocus] Entangle effects (#22155) @eps1lon
- [TrapFocus] Fix compatibility issues with React 17 (#22270) @eps1lon
- [TrapFocus] Prevent possible crash in React 17 (#22262) @eps1lon
- [icons] Synchronize icons (#22186) @oliviertassinari
- [core] Change children to be optional (#22134) @suliskh
- [Alert] Custom variant (#22218) @mnajdova
- [Pagination] Custom variant (#22220, #22219) @mnajdova
- [Skeleton] Custom variant (#22243) @mnajdova
- [SpeedDial] Add support for uncontrolled open state (#22248) @akharkhonov
- [Timeline] Custom variant (#22244) @mnajdova
- [docs] Add Design resources in installation (#22209) @oliviertassinari
- [docs] Add Octopus diamond sponsor (#22177) @oliviertassinari
- [docs] Better track usage of icons (#22187) @oliviertassinari
- [docs] Change property/properties to prop/props (#22271) @mbrookes
- [docs] Document TextField helperText height (#22146) @morgan-sam
- [docs] Fix
@global
being considered a class (#22297) @eps1lon - [docs] Fix a typo on TextField components (#22300) @Renfrew
- [docs] Fix use of removed transition onE* props (#22286) @mbrookes
- [docs] Improve codesandbox generation logic (#22221) @oliviertassinari
- [docs] Migrate Onepirate to TypeScript (#22295) @rothbart
- [docs] Migrate Dashboard template to TypeScript (#22280) @oliviertassinari
- [docs] Fix minimizing-bundle-size.md (#22298) @Primajin
- [core] Batch small changes (#22183) @oliviertassinari
- [core] Change children to be optional (#22134) @suliskh
- [test] Clear fake timers only in afterEach hook (#22307) @dmtrKovalenko
- [test] Convert initMatchers to TypeScript (#22179) @eps1lon
- [test] Improve toHaveVirtualFocus error message (#22185) @eps1lon
- [test] Lint fix the custom rules plugin for useThemeVariants (#22192) @mnajdova
- [test] Make all tests runnable with React 17 (#22290) @eps1lon
- [test] Prevent swallowing errors during setup (#22196) @eps1lon
- [test] Setup infra for tests in TypeScript (#22195) @eps1lon
- [test] Update react next patch (#22260) @eps1lon
Aug 13, 2020
A big thanks to the 26 contributors who made this release possible. Here are some highlights ✨:
-
💅 Introduce a new dynamic variant API (#21648) @mnajdova. This API allows developers to add new variants on the Material-UI's components right from the theme, without having to wrap the components. For instance with the Button:
// Define the style that should be applied, for specific props. const theme = createMuiTheme({ variants: { MuiButton: [ { props: { variant: 'dashed', color: 'secondary' }, styles: { border: `4px dashed ${red[500]}`, }, }, ], }, }); // Retain type safety. declare module '@material-ui/core/Button/Button' { interface ButtonPropsVariantOverrides { dashed: true; } } // Enjoy! <Button variant="dashed" />;
More details in the documentation and RFC.
-
👮 Add documentation for the TrapFocus component (#22062) @oliviertassinari.
-
⚛️ Prepare support for React v17 (#22093, #22105, #22143, #22111) @eps1lon.
-
🚧 We have undertaken breaking changes.
-
[Avatar] Rename variant circle -> circular for consistency (#22015) @kodai3 Rename
circle
tocircular
for consistency. The possible values should be adjectives, not nouns:-<Avatar variant="circle"> +<Avatar variant="circular">
-
[Badge] Rename overlap circle -> circular and rectangle -> rectangular for consistency (#22050) @kodai3 Rename
circle
tocircular
andrectangle
torectangular
for consistency. The possible values should be adjectives, not nouns:-<Badge overlap="circle"> -<Badge overlap="rectangle"> +<Badge overlap="circular"> +<Badge overlap="rectangular">
-
[CircularProgress] Remove static variant, simplify determinate (#22060) @mbrookes The
static
variant has been merged into thedeterminate
variant, with the latter assuming the appearance of the former. The removed variant was rarely useful. It was an exception to Material Design, and was removed from the specification.-<CircularProgress variant="determinate" />
-<CircularProgress variant="static" classes={{ static: 'className' }} /> +<CircularProgress variant="determinate" classes={{ determinate: 'className' }} />
-
[Dialog] Remove transition onX props (#22113) @mbrookes The onE* transition props were removed. Use TransitionProps instead.
<Dialog - onEnter={onEnter} - onEntered={onEntered}, - onEntering={onEntered}, - onExit={onEntered}, - onExited={onEntered}, - onExiting={onEntered} + TransitionProps={{ + onEnter, + onEntered, + onEntering, + onExit, + onExited, + onExiting, + }} />
-
[Fab] Rename round -> circular for consistency (#21903) @kodai3 Rename
round
tocircular
for consistency. The possible values should be adjectives, not nouns:-<Fab variant="round"> +<Fab variant="circular">
-
[List] Improve hover/select/focus UI display (#21930) @joshwooding
-
[Pagination] Rename round -> circular for consistency (#22009) @kodai3 Rename
round
tocircular
for consistency. The possible values should be adjectives, not nouns:-<Pagination shape="round"> -<PaginationItem shape="round"> +<Pagination shape="circular"> +<PaginationItem shape="circular">
-
[RootRef] Remove component (#21974) @eps1lon This component was removed. You can get a reference to the underlying DOM node of our components via
ref
prop. The component relied onReactDOM.findDOMNode
which is deprecated inReact.StrictMode
.-<RootRef rootRef={ref}> - <Button /> -</RootRef> +<Button ref={ref} />
-
[Snackbar] Change the default position on desktop (#21980) @kodai3 The notification now displays at the bottom left on large screens. It better matches the behavior of Gmail, Google Keep, material.io, etc. You can restore the previous behavior with:
-<Snackbar /> +<Snackbar anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }} />
-
[Snackbar] Remove transition onX props (#22107) @mbrookes The onE* transition props were removed. Use TransitionProps instead.
<Snackbar - onEnter={onEnter} - onEntered={onEntered}, - onEntering={onEntered}, - onExit={onEntered}, - onExited={onEntered}, - onExiting={onEntered} + TransitionProps={{ + onEnter, + onEntered, + onEntering, + onExit, + onExited, + onExiting, + }} />
-
[TextareaAutosize] Rename rowsMax->maxRows & rowsMin->minRows (#21873) @mhayk Rename
rowsMin
/rowsMax
prop withmi Rows
/maxRows
for consistency with HTML attributes.-<TextField rowsMax={6}> -<TextareAutosize rowsMin={1}> -<TextareAutosize rowsMax={6}> +<TextField maxRows={6}> +<TextareAutosize minRows={1}> +<TextareAutosize maxRows={6}>
-
[TextField] Better isolate static textarea behavior to dynamic one (#21995) @AxartInc Better isolate the fixed textarea height behavior to the dynamic one. You need to use the
rowsMin
prop in the following case:-<TextField rows={2} rowsMax={5} /> +<TextField rowsMin={2} rowsMax={5} />
Remove the
rows
prop, use therowsMin
prop instead. This change aims to clarify the behavior of the prop.-<TextareaAutosize rows={2} /> +<TextareaAutosize rowsMin={2} />
-
[theme] Remove theme.mixins.gutters (#22109) @joshwooding The abstraction hasn't proven to be used frequently enough to be valuable.
-theme.mixins.gutters(), +paddingLeft: theme.spacing(2), +paddingRight: theme.spacing(2), +[theme.breakpoints.up('sm')]: { + paddingLeft: theme.spacing(3), + paddingRight: theme.spacing(3), +},
- [Avatar] Custom variant (#22139) @mnajdova
- [Badge] Add missing class key (#22095) @kodai3
- [Badge] Custom variant (#22140) @mnajdova
- [Button] Improved variant type names & cleanup tests (#22010) @mnajdova
- [ButtonBase] Forward type to other components than 'button' (#22172) @eps1lon
- [ButtonGroup] Custom variant (#22160) @mnajdova
- [Chip] Custom variant (#22161) @mnajdova
- [CssBaseline] Add text size adjust property (#22089) @Tolsee
- [l10n] Add Greek (el-GR) locale (#21988) @tmanolat
- [Table] Cell small's right padding is bigger than medium (#22017) @adamlaurencik
- [TrapFocus] Add documentation (#22062) @oliviertassinari
- [Typography] Add custom variants support (#22006) @mnajdova
- [useIsFocusVisible] Remove focus-visible if focus is re-targetted (#22102) @eps1lon
- [core] Fix various potential issues with multiple windows (#22159) @scottander
- [core] Improve hook dependencies in useControlled.js (#21977) @roth1002
-
[Skeleton] Rename variant circle -> circular and rect -> rectangular for consistency (#22053) @kodai3 Rename
circle
tocircular
andrect
torectangular
for consistency. The possible values should be adjectives, not nouns:-<Skeleton variant="circle"> -<Skeleton variant="rect"> +<Skeleton variant="circular"> +<Skeleton variant="rectangular">
- [Autocomplete] Add support for "{label: string}" data type as a default for "options" (#21992) @DanailH
- [TreeView] Add disabled prop (#20133) @netochaves
- [TreeView] Simplify focus logic (#22098) @eps1lon
- [TreeView] Test current behavior of active item removal (#21720) @eps1lon
- [TreeView] Test selection behavior (#21901) @joshwooding
- [core] Bump csstype to 3.0.0 (#22048) @eps1lon
- [docs] Add 'size' prop to ToggleButton API docs (#22052) @zenje
- [docs] Add ClassKeys migration description for Renaming API (#22061) @kodai3
- [docs] Add a label to the TreeView demos (#21900) @joshwooding
- [docs] Add missing JSDoc for various props (#22005) @eps1lon
- [docs] Add the services that support MUI in readme (#22137) @naineet
- [docs] Add trailingSlash: true (#22008) @oliviertassinari
- [docs] Add visibility to TypeScript examples (#22013) @esemeniuc
- [docs] Avoid using any type in Tabs examples (#22091) @tacigar
- [docs] Bump next to 9.5.0 (#21975) @eps1lon
- [docs] Disallow undefined array members at runtime where they're unexpected (#21990) @eps1lon
- [docs] Improve Autocomplete GitHub demo (#22153) @aquibbaig
- [docs] Improve draggable dialog demo wording (#22021) @Sanskar95
- [docs] Improve transition props API descriptions (#21952) @maksimgm
- [docs] Port buildApi to TypeScript (#22055) @eps1lon
- [docs] Update build instructions for component API (#21970) @eps1lon
- [docs] Update grouped instruction of autocomplete (#22056) @yfng96
- [docs] Use
import * as React from 'react';
(#22058) @mbrookes - [docs] Use pickers v4 (#22023) @eps1lon
- [core] Allow running prettier from material-ui-x (#22071) @oliviertassinari
- [core] Bump csstype to 3.0.0 (#22048) @eps1lon
- [core] Fix next and prevent future regressions (#22135) @eps1lon
- [core] Improve merge-conflict label automation (#22065) @eps1lon
- [core] Lint cleanup (#21972) @eps1lon
- [core] Resolve all dot-prop versions to 5.x (#22007) @eps1lon
- [core] Small changes (#22020) @oliviertassinari
- [Security] Bump elliptic from 6.5.0 to 6.5.3 (#21997) @dependabot-preview
- [test] Drop css-loader (#21999) @eps1lon
- [test] Lint framer workspace (#22002) @eps1lon
- [test] Lint useThemeVariants with custom rules plugin (#21963) @eps1lon
- [test] Run same tests in coverage and unit (#22092) @eps1lon
- [test] Type-check framerx package (#21868) @eps1lon
- [test] Work on React v17 (#22093, #22105, #22143, #22111) @eps1lon
July 28, 2020
A big thanks to the 18 contributors who made this release possible.
-
[Grid] Rename justify prop to justifyContent (#21845) @mnajdova
Rename
justify
prop withjustifyContent
to be aligned with the CSS property name.-<Grid justify="center"> +<Grid justifyContent="center">
- [Accordion] Add new classes key (#21920) @natac13
- [Accordion] Fix IconButtonProps spreading logic (#21850) @kgregory
- [Avatar] Fix group size (#21896) @natac13
- [Button] Custom variant (#21648) @mnajdova
- [CssBaseline] Export ScopedCssBaseline from barrel index (#21869) @mherczeg
- [Dialog] Fix body scrollbar close behavior (#21951) @maksimgm
- [Icon] Hide name placeholder while "Material Icons" font is loading (#21950) @maksimgm
- [Select] Ensure that onChange is called before onClose (#21878) @DanailH
- [Slider] Make
index
public in the ValueLabel props (#21932) @govardhan-srinivas
- [TreeView] Change focus management to aria-activedescendant (#21695) @joshwooding
- [TreeView] Fix crash when shift clicking a clean tree (#21899) @joshwooding
- [framer] Refactor as switch (#21885) @mhkasif
- [framer] Update with latest sources (#21888) @eps1lon
- [blog] Q2 2020 Update (#21822) @oliviertassinari
- [docs] Add expand all and select all to controlled tree demo (#21929) @joshwooding
- [docs] Add useRadioGroup section (#21910) @kodai3
- [docs] Autocomplete is not showing options even though they exist (#21949) @maksimgm
- [docs] Change the destination branch for PRs (#21870) @DanailH
- [docs] Fix Skeleton inline example (#21918) @ppecheux
- [docs] Fix custom Snackbar width on mobile (#21948) @ruhci28
- [docs] Fix the type of the second argument of 'createMuiTheme' function (#21859) @DanailH
- [docs] Improve ad display @oliviertassinari
- [docs] Improve documentation of theme.breakpoints (#21922) @ruhci28
- [docs] Link react-hook-form (#21886) @jeffshek
- [docs] Mention @MuiContrib in CONTRIBUTING (#21891) @eps1lon
- [docs] Replace latests tags with next in the codesandbox (#21851) @mnajdova
- [docs] Update gold sponsor to Text-Em-All (formerly Call-Em-All) (#21897) @jonmiller0
- [docs] Update testing guide (#21863) @eps1lon
- [test] Enable more StrictMode tests (#21817) @eps1lon
- [test] Lint internal typescript-to-proptypes fork (#21876) @eps1lon
- [test] Pass didWarnControlledToUncontrolled between tests (#21875) @eps1lon
- [test] Unify import to `test/utils (#21856) @eps1lon
- [core] Add warnings where ref-forwarding components/elements are required (#21883) @eps1lon
- [core] Automatically tweet about good first issues (#21879) @eps1lon
- [core] Batch small changes (#21928) @oliviertassinari
- [core] Remove /test-utils (#21855) @eps1lon
- [core] Throw on unused
typescript-to-proptypes-ignore
directives (#21867) @eps1lon
July 19, 2020
A big thanks to the 11 contributors who made this release possible.
- [core] Drop support for non-ref-forwarding class components (#21811) @eps1lon
Support for non-ref-forwarding class components in the
component
prop or as an immediatechildren
has been dropped. If you were usingunstable_createStrictModeTheme
or didn't see any warnings related tofindDOMNode
inReact.StrictMode
then you don't need to do anything. Otherwise check out the "Caveat with refs" section in our composition guide to find out how to migrate. This change affects almost all components where you're using thecomponent
prop or passingchildren
to components that requirechildren
to be elements (e.g.<MenuList><CustomMenuItem /></MenuList>
) - [Stepper] Use context API (#21613) @baterson
Rely on the context over the
React.cloneElement()
API. This change makes composition easier.
- [icons] Add Google brand icon (#21807) @bmg02
- [docs] Break up Select demos (#21792) @cjoecker
- [docs] Change RMUIF info to new version (#21812) @phoqe
- [docs] Fix Spanish translation (#21800) @adamsr123
- [docs] Fix nav color (#21780) @mbrookes
- [docs] Update advanced-de.md (#21786) @jasonericdavis
- [core] Allow dist tag as argv in use-react-dist-tag (#21810) @eps1lon
- [core] Drop support for non-ref-forwarding class components (#21811) @eps1lon
- [core] Lint with typescript-eslint parser (#21758) @oliviertassinari
- [core] One label is enough @oliviertassinari
- [core] Remove lint:fix command @oliviertassinari
- [test] Enable "missing act()"-warnings (#21802) @eps1lon
- [test] Improve stack trace for unexpected errors (#21818) @eps1lon
- [test] Update react next patch (#21746) @eps1lon
- [test] Use testing-library in withStyles (#21804) @eps1lon
July 12, 2020
A big thanks to the 14 contributors who made this release possible.
- [Avatar] Avoid usage of z-index (#21685) @nvdai2401
- [GridList] Fix crash when loading images (#21741) @paradoxxxzero
- [List] Fix secondary action position when disableGutters={true} (#21732) @kgregory
- [TablePagination] Fix broken labelling if SelectProps provided ids (#21703) @eps1lon
- [theme] Fix custom breakpoint in CSS Media Queries (#21759) @nkrivous
- [TrapFocus] Fix disableAutoFocus prop (#21612) @oliviertassinari
- [lab] Fix TypeScript theme overrides support (#21724) @cjoecker
- [Autocomplete] Fail form validation if required is filled when
multiple
(#21692, #21670) @weslenng, @eps1lon
- [examples] Include troubleshooting for next.js (#21683) @ocavue
- [docs] Add ethicalads.io (#21752) @oliviertassinari
- [docs] Apply small fixes (#21754) @jaironalves
- [docs] Batch small changes (#21669) @oliviertassinari
- [docs] Bump next to 9.4.4 (#21690) @eps1lon
- [docs] Fix custom switch ripple color (#21729) @xanderoku
- [docs] Fix text from showcase (#21755) @cjoecker
- [docs] Improve customized timeline demo (#21739) @mageprincess
- [docs] Move more prop docs into IntelliSense (#21659) @eps1lon
- [docs] Move more prop docs into IntelliSense (#21687) @eps1lon
- [docs] Recommend default branch (#21719) @eps1lon
- [docs] Remove
@document
directive from IntelliSense (#21688) @eps1lon - [docs] Track web-vitals (#21702) @eps1lon
- [test] Allow container + hydrate in render (#21747) @eps1lon
- [test] Bump url-loader (#21689) @eps1lon
- [test] Restore clock between each test (#21760) @eps1lon
- [test] Run lab unit tests in browser (#21691) @eps1lon
- [core] Allow generating markdown api docs for subset of components (#21731) @eps1lon
- [core] Batch small changes (#21756) @oliviertassinari
- [core] Don't bail out early if docs:api fails (#21726) @eps1lon
- [core] Remove dead code from docs:api (#21730) @eps1lon
- [core] Simplify debounce (#21666) @NMinhNguyen
- [core] Use common yarn version (#21779) @eps1lon
July 4, 2020
A big thanks to the 16 contributors who made this release possible.
-
[Button] Make primary the default color (#21594) @mbrookes The button
color
prop is now "primary" by default, and "default" has been removed. This makes the button closer to the Material Design specification and simplifies the API.-<Button color="default" /> -<Button color="primary" /> +<Button /> +<Button />
-
[ExpansionPanel] Remove component (#21630) @mnajdova This completes our effort on renaming the ExpansionPanel component Accordion
-
[Collapse] Add orientation and horizontal support (#20619) @darkowic The
collapsedHeight
prop was renamedcollapsedSize
to support the horizontal direction.-<Collapse collapsedHeight={40}> +<Collapse collapsedSize={40}>
- [Card] Fix vertically center header action (#21646) @kgregory
- [l10n] Update cs-CZ and sk-SK locales (#21656) @char0n
- [l10n] Update sv-SE locale (#21631) @tbz
- [Menu] Remove overflow style in MenuItem (#21644) @tj3407
- [MenuItem] Add types for ListItemClasses (#21654) @eps1lon
- [Slider] Fix cannot read property 'focus' of null (#21653) @mageprincess
- [TextField] Fix CSS isolation issue (#21665) @Codetalker777
- [TrapFocus] Fix portal support (#21610) @mnajdova
- [TypeScript] Fix version support (#21640) @jakubfiglak
- [TreeView] Improve node registration and fix other issues (#21574) @joshwooding
- [blog] Post survey results 2020 (#21555) @mnajdova
- [docs] Add new showcase (#21637) @cjoecker
- [docs] CodeFund is shutting down (#21632) @oliviertassinari
- [docs] Document next version (#21591) @oliviertassinari
- [docs] Enable docs search on v5.0.0 & fix duplicate on master @oliviertassinari
- [docs] Fix ad issues @oliviertassinari
- [docs] Move more prop docs into IntelliSense (#21655) @eps1lon
- [docs] Remove in-context translation code & files (#21633) @mbrookes
- [example] Remove dead dependency from next-typescript (#21628) @StefanWerW
- [test] Add toWarnDev() and toErrorDev() matcher (#21581) @eps1lon
June 27, 2020
A big thanks to the 33 contributors who made this release possible. Here are some highlights ✨:
- 🔄 Introduce a new
LoadingButton
component in the lab (#21389) @mnajdova. - 📍 Synchronize icons with Google, add 200 new icons (#21498) @alecananian
- 💥 Start working on breaking changes.
-
[Divider] Use border instead of background color (#18965) @mikejav. It prevents inconsistent height on scaled screens. For people customizing the color of the border, the change requires changing the override CSS property:
.MuiDivider-root { - background-color: #f00; + border-color: #f00; }
-
[Rating] Rename
visuallyhidden
tovisuallyHidden
for consistency (#21413) @mnajdova.<Rating classes={{ - visuallyhidden: 'custom-visually-hidden-classname', + visuallyHidden: 'custom-visually-hidden-classname', }} />
-
[Typography] Replace the
srOnly
prop so as to not duplicate the capabilities of System (#21413) @mnajdova.-import Typography from '@material-ui/core/Typography'; +import { visuallyHidden } from '@material-ui/utils'; +import styled from 'styled-component'; +const Span = styled('span')(visuallyHidden); -<Typography variant="srOnly">Create a user</Typography> +<Span>Create a user</Span>
-
[TablePagination] Add showFirstButton and showLastButton support (#20750) @ShahAnuj2610. The customization of the table pagination's actions labels must be done with the
getItemAriaLabel
prop. This increases consistency with thePagination
component.<TablePagination - backIconButtonText="Avant" - nextIconButtonText="Après + getItemAriaLabel={…}
-
[ExpansionPanel] Rename to Accordion (#21494) @mnajdova. Use a more common the naming convention:
-import ExpansionPanel from '@material-ui/core/ExpansionPanel'; -import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary'; -import ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails'; -import ExpansionPanelActions from '@material-ui/core/ExpansionPanelActions'; +import Accordion from '@material-ui/core/Accordion'; +import AccordionSummary from '@material-ui/core/AccordionSummary'; +import AccordionDetails from '@material-ui/core/AccordionDetails'; +import AccordionActions from '@material-ui/core/AccordionActions'; -<ExpansionPanel> +<Accordion> - <ExpansionPanelSummary> + <AccordionSummary> <Typography>Location</Typography> <Typography>Select trip destination</Typography> - </ExpansionPanelSummary> + </AccordionSummary> - <ExpansionPanelDetails> + <AccordionDetails> <Chip label="Barbados" onDelete={() => {}} /> <Typography variant="caption">Select your destination of choice</Typography> - </ExpansionPanelDetails> + </AccordionDetails> <Divider /> - <ExpansionPanelActions> + <AccordionActions> <Button size="small">Cancel</Button> <Button size="small" color="primary">Save</Button> - </ExpansionPanelActions> + </AccordionActions> -</ExpansionPanel> +</Accordion>
-
[BottomNavigation] typescript: The
event
inonChange
is no longer typed as aReact.ChangeEvent
butReact.SyntheticEvent
.-<BottomNavigation onChange={(event: React.ChangeEvent<{}>) => {}} /> +<BottomNavigation onChange={(event: React.SyntheticEvent) => {}} />
-
[Slider] typescript: The
event
inonChange
is no longer typed as aReact.ChangeEvent
butReact.SyntheticEvent
.-<Slider onChange={(event: React.ChangeEvent<{}>, value: unknown) => {}} /> +<Slider onChange={(event: React.SyntheticEvent, value: unknown) => {}} />
-
[Tabs] typescript: The
event
inonChange
is no longer typed as aReact.ChangeEvent
butReact.SyntheticEvent
.-<Tabs onChange={(event: React.ChangeEvent<{}>, value: unknown) => {}} /> +<Tabs onChange={(event: React.SyntheticEvent, value: unknown) => {}} />
-
[Accordion] typescript: The
event
inonChange
is no longer typed as aReact.ChangeEvent
butReact.SyntheticEvent
.-<Accordion onChange={(event: React.ChangeEvent<{}>, expanded: boolean) => {}} /> +<Accordion onChange={(event: React.SyntheticEvent, expanded: boolean) => {}} />
- [Badge] Fix transition flicker (#21557) @mnajdova
- [ButtonGroup] Improve contained hover style (#21532) @alecananian
- [l10n] Improve Russian translation (#21480) @AntonLukichev
- [l10n] Improve zh-CN, add zh-TW (#21493) @Jack-Works
- [LinearProgress] High frequency updates (#21416) @dnicerio
- [Stepper] Fix optional label alignment (#21420) @curtislin7
- [Table] Move prop docs into IntelliSense (#21530) @oliviertassinari
- [TablePagination] Add showFirstButton and showLastButton support (#20750) @ShahAnuj2610
- [Tabs] Fix useCallback missing arguments (#21471) @KitsonBroadhurst
- [TextField] Fix FilledInput disable hover style when disabled (#21457) @tchmnn
- [Autocomplete] Fix support for renderTags={() => null} (#21460) @matthenschke
- [LoadingButton] Introduce new component (#21389) @mnajdova
- [Pagination] Fix display when boundaryCount={0} (#21446) @guimacrf
- [Skeleton] Fix text border (#21543) @el1f
- [Timeline] Align dots with content (#21402) @mnajdova
- [TreeView] Minor styling changes (#21573) @joshwooding
- [TreeView] Simplify customization (#21514) @joshwooding
- [icons] Synchronize icons with Google (#21498) @alecananian
- [system] Introduce visuallyHidden style utility (#21413) @mnajdova
- [docs] Add CSP support section to docs (#21479) @razor-x
- [docs] Add explicit example for extending existing palette colors (#21458) @BennyHinrichs
- [docs] Add more details about breakpoint widths (#21545) @Muzietto
- [docs] Add new gold sponsor @oliviertassinari
- [docs] Add transitions customization page (#21456) @mnajdova
- [docs] Correct syntax errors to improve document readability (#21515) @AGDholo
- [docs] Document type="number" limitation (#21500) @IwalkAlone
- [docs] Entry for translations and fix grammar error (#21478) @jaironalves
- [docs] Fix broken "customization" anchor link (#21506) @connorads
- [docs] Fix typo in MultipleSelects.js (#21510) @ShiyuCheng2018
- [docs] Fix typo in SpeedDialIcon classes comment (#21398) @zachbradshaw
- [docs] Fix typo in TextField required prop (#21538) @HumbertoL
- [docs] Fix version in localized urls (#21442) @tchmnn
- [docs] Format english markdown files (#21463) @eps1lon
- [docs] Format some previously unformatted, untranslated files (#21558) @eps1lon
- [docs] Hide duplicate table borders (#20809) @marcosvega91
- [docs] Improve docs for useMediaQuery and breakpoint (#21512) @DDDDDanica
- [docs] Improve npm homepage links (#21452) @eps1lon
- [docs] Move more prop docs into IntelliSense (#21383) @eps1lon
- [docs] Restrict docs markdown and demos to 80ch (#21481) @eps1lon
- [docs] Reword palette intention and fix format (#21477) @DDDDDanica
- [docs] Update v4 migration guide (#21462) @eps1lon
- [typescript-to-proptypes] Integrate into monorepo @eps1lon
- [test] Add type test CardHeader title component (#21590) @eps1lon
- [test] Fix type tests not being type checked (#21539) @eps1lon
- [test] Ignore empty vrtests (#21450) @eps1lon
- [test] Improve makeStyles error coverage (#21568) @eps1lon
- [test] Migrate Typography to testing-library (#21534) @marcosvega91
- [test] Move size comparison details to separate page (#21504) @eps1lon
- [test] Use testing-library in MenuItem (#21391) @eps1lon
- [test] Use testing-library in StepButton (#21406) @baterson
- [test] Use testing-library in Stepper (#21400) @baterson
- [core] Batch small changes (#21419) @oliviertassinari
- [core] Batch small changes (#21553) @oliviertassinari
- [core] Disable caching for yarn proptypes permanently (#21414) @eps1lon
- [core] Extend env for build script (#21403) @eps1lon
- [core] Fix react next patch and prevent regression (#21495) @eps1lon
- [core] Fork typescript-to-proptypes (#21497) @eps1lon
- [core] Misc branch cleaning (#21459) @eps1lon
- [core] Misc prettier changes (#21484) @eps1lon
- [core] Run prettier on the JSON sources (#21556) @oliviertassinari
- [core] Type custom
onChange
implementations with a generic react event (#21552) @eps1lon
Changes before 5.x are listed in our changelog for older versions.