Open Collective
Open Collective
Loading
3.0.0
Published on October 1, 2018 by James Friedman

3.0.0 upgrades MDC to 0.40.0 and contains new features, lots of bug fixes, and minimal breaking changes


Special thanks this release to the following contributors:

  • @tstirrat
  • @deilv


New Features:

  • You can now `wrap` the ThemeProvider, allowing you to override themes without creating the extra div
  • Performance improvements: The underlying components are being converted over to a new pattern that should be both faster and more memory efficient.
  • TextFields, Radios, and Checkboxes have been refactored to use the recommended MDC foundation pattern which should result in better performance and fix any syncronicity issues.
  • There is a new Dialog component
  • Components props in RMWC are now deprecated with notices whenever possible to avoid breaking changes
  • New Dark theme example in the docs
  • New integrations page in the docs


Bugfixes:

RMWC specific, there are lots more upstream fixes from MDC web.

  • Theme component no longer cannibalizes the className of its child component when wrapping
  • A fix has been put in for Menu ListItems to allow them to be anchor links. A fix has also been submitted upstream to MDC web.
  • Select no longer complains about the defaultValue and honors any defaultValue that has been passed.
  • classNames on the Switch component are now applied to the components root element.


Breaking Changes:

  • Box TextFields and Selects have been removed (MDC Change)
  • The new Dialog had to be completely rewritten and could not be handled as a deprecation. Please update your Dialogs accordingly.
  • The Shape system has been completely change in MDC web and is now only supported in SASS. They have also removed angled corner features. For the time being, the Shape api has been removed from RMWC, although you're free to continue to use the previously published version if it was working for you.
  • Possible breaking change: The internals of components like Checkbox were all previously exported (think of them as the building blocks of the component). This was done early on with the idea that they could be re-composed for other use cases. To make the code easier to maintain this is being phased out. If this impacts you in any way, please report an issue.