React 15 compatibility 🎉 🎉
This release is compatible with React 15. You should update to this version if you need it.
Simplify import statements 🎉
This release changes how components are imported. You will need to update every import statement from (for example):
import RaisedButton from 'material-ui/lib/raised-button';
import Tabs from 'material-ui/tabs/tabs';
import Tab from 'material-ui/tabs/tab';
to:
import RaisedButton from 'material-ui/RaisedButton';
import {Tabs, Tab} from 'material-ui/Tabs';
The exact import statement for each component can be found in the examples in their respective documentation page.
Have a ton of imports? Almost had a heart attack? Worry not, we also made a tool to ease your pain.
Check out the README.
Breaking Changes
- [Core] Improve import path for published lib (#3921)
- [Core] PascalCase component names, reorganise directory structure (#3749)
- [Core] Remove default theme handling from components (#3820)
As of this release, you will need to provide a theme on context, see:
Themes.
- [Core] Removed redundant default export from the main library
index.js
.
If you are importing the entire library, you will probably need to change:
import Mui from 'material-ui';
to:
import * as Mui from 'material-ui';
(Although we discourage you from using this library like that unless you also use tree-shaking to remove redundant code.)
- [LeftNav] Rename to Drawer (#3799)
- [GridList] Replace
rootClass
withcontainerElement
(#3783) (rootClass
was broken before this change) - [Core] These changes are for internal modules and will affect you only if they were directly required in your code:
General
- [Core] Update to React v15 (#3941) 🎉 🎉
- [Core] Remove dependency on lodash.flowright (#3955)
- [Core] update components to es6 classes (#3843) 🎉 🎉
- [Core] Add a
material-ui-codemod
package (#3782) - [Core] Update export syntax, move unit tests, update test dependencies (#3785)
- [Core] Use .js extension instead of .jsx (#3765)
- [Themes] colorManipulator cleanup (#3966)
- [SvgIcon] Add the new Material Icons (#3747)
- [Docs] Add example for slider showing how to access value (#3892)
- [Docs] Document callback signatures ( Thanks to @theosherry )
- Added the following eslint rules:
Component Fixes / Enhancements
- [AutoComplete] Add
onKeyDown
property (#3853) - [AutoComplete] Fix the regressions (#3858)
- [Avatar] Use semi-transparent border (#3859)
- [DatePicker] ok/cancel labels in date pickers should be of PropTypes.node (#3869)
- [DropDownMenu] Fix support for autoWidth and custom width (#3823)
- [DropDownMenu] Slightly improve performance (#3707)
- [FloatingActionButton] fixed an error when element gets focus via tab (#3885)
- [IconButton] Fix tooltip on hover (#3878)
- [IconMenu] Removed props.ref call (#3913)
- [LinearProgress] Prevent instances from sharing state (#3763)
- [ListItem] Change color of rightIcon from
grey400
togrey600
(#3938) - [ListItem] Fix duplicate prepareStyles with primaryText element (#3174)
- [ListItem] Use the new icons to follow the material spec (#3899)
- [MenuItem] Revert flex props from #3597, fixes #3845, reopens #3531 (#3928)
- [Overlay] Split out AutoLockScrolling (#3690)
- [Popover] Fix rendering for nested Menus (#3806)
- [RaisedButton] Fix for Uncaught
TypeError
when tabbing onto button (#3897) - [Stepper] Refactor Stepper (#3903)
- [Tab] Change the ripple color to follow the spec (#3857)
- [Tab] Fix centering for label with SvgIcon (#3697)
- [TableHeaderColumn] Remove props.key calls (#3918)
- [TableRowColumn] Remove props.key calls (#3918)
- [Tabs] Better type checking on Tab children (#3750)
- [TextField] Fix incorrect state in getStyles() (#3972)
- [TimePicker] Add disabled property with example (#3778)
- [TimePicker] Fix label for 12AM as per material spec (#3781)
- [TimePicker] ok/cancel labels in time pickers should be of PropTypes.node (#3869)