Material Components v60.0.0 Release Notes
-
๐ This major release introduces a breaking change for Swift libraries using FlexibleHeader. This ๐ change also introduces a migration guide for color schemes along, changes to the Snackbar's โก๏ธ singleton pattern, and updated button theming in Dialogs.
๐ฅ Breaking changes
FlexibleHeader
- ๐ฅ Breaking Make preferredStatusBarStyle settable. (#4750) (featherless)
This breaking change only affects Swift code and requires the following changes.
// Before .preferredStatusBarStyle() // After .preferredStatusBarStyle
๐ New features
๐ FlexibleHeader has a new
inferPreferredStatusBarStyle
API that allows you to set an explicity ๐preferredStatusBarStyle
on theMDCFlexibleHeaderViewController
.๐ An example of setting an explicit
preferredStatusBarStyle
:flexibleHeaderViewController.inferPreferredStatusBarStyle = false flexibleHeaderViewController.preferredStatusBarStyle = .lightContent
๐ Upcoming deprecations
๐
MDCColorScheme
andMDCBasicColorScheme
will both be deprecated on the following timeline:- ๐ October 10, 2018: Both APIs and any corresponding themer API will be deprecated.
- November 10, 2018: Both APIs and any corresponding themer API will be deleted.
๐ Learn more by reading the migration guide.
API changes
ActivityIndicator+ColorThemer
๐ MDCActivityIndicatorColorThemer(ToBeDeprecated)
๐ new category:
MDCActivityIndicatorColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toActivityIndicator:
inMDCActivityIndicatorColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCActivityIndicatorColorThemer
๐ To: AppBar+ColorThemer
๐ MDCAppBarColorThemer(ToBeDeprecated)
๐ new category:
MDCAppBarColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toAppBar:
inMDCAppBarColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCAppBarColorThemer
๐ To: BottomAppBar+ColorThemer
๐ MDCBottomAppBarColorThemer(ToBeDeprecated)
๐ new category:
MDCBottomAppBarColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toBottomAppBarView:
inMDCBottomAppBarColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCBottomAppBarColorThemer
๐ To: BottomNavigation+ColorThemer
๐ MDCBottomNavigationBarColorThemer(ToBeDeprecated)
๐ new category:
MDCBottomNavigationBarColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toBottomNavigationBar:
inMDCBottomNavigationBarColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCBottomNavigationBarColorThemer
๐ To: ButtonBar+ColorThemer
๐ MDCButtonBarColorThemer(ToBeDeprecated)
๐ new category:
MDCButtonBarColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toButtonBar:
inMDCButtonBarColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCButtonBarColorThemer
๐ To: Buttons+ColorThemer
๐ MDCButtonColorThemer(ToBeDeprecated)
๐ new category:
MDCButtonColorThemer(ToBeDeprecated)
modified class method:
+applySemanticColorScheme:toRaisedButton:
inMDCButtonColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCButtonColorThemer
๐ To: modified class method:
+applySemanticColorScheme:toFlatButton:
inMDCButtonColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCButtonColorThemer
๐ To: modified class method:
+applyColorScheme:toButton:
inMDCButtonColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCButtonColorThemer
๐ To: modified class method:
+applySemanticColorScheme:toButton:
inMDCButtonColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCButtonColorThemer
๐ To: modified class method:
+applySemanticColorScheme:toFloatingButton:
inMDCButtonColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCButtonColorThemer
๐ To: Chips+ColorThemer
๐ MDCChipViewColorThemer(ToBeDeprecated)
๐ new category:
MDCChipViewColorThemer(ToBeDeprecated)
modified class method:
+applySemanticColorScheme:toStrokedChipView:
inMDCChipViewColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCChipViewColorThemer
๐ To: ๐ Dialogs+ColorThemer
๐ MDCAlertColorThemer(ToBeDeprecated)
๐ new category:
MDCAlertColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:
inMDCAlertColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCAlertColorThemer
๐ To: ๐ FeatureHighlight+ColorThemer
๐ MDCFeatureHighlightColorThemer(ToBeDeprecated)
๐ new category:
MDCFeatureHighlightColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toFeatureHighlightView:
inMDCFeatureHighlightColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCFeatureHighlightColorThemer
๐ To: FlexibleHeader+ColorThemer
๐ MDCFlexibleHeaderColorThemer(ToBeDeprecated)
๐ new category:
MDCFlexibleHeaderColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toFlexibleHeaderView:
inMDCFlexibleHeaderColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCFlexibleHeaderColorThemer
๐ To: modified class method:
+applyColorScheme:toMDCFlexibleHeaderController:
inMDCFlexibleHeaderColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCFlexibleHeaderColorThemer
๐ To: FlexibleHeader
MDCFlexibleHeaderViewController
๐ new property:
preferredStatusBarStyle
inMDCFlexibleHeaderViewController
๐ new property:
inferPreferredStatusBarStyle
inMDCFlexibleHeaderViewController
โ removed method:
-preferredStatusBarStyle
inMDCFlexibleHeaderViewController
HeaderStackView+ColorThemer
๐ MDCHeaderStackViewColorThemer(ToBeDeprecated)
๐ new category:
MDCHeaderStackViewColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toHeaderStackView:
inMDCHeaderStackViewColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCHeaderStackViewColorThemer
๐ To: Ink+ColorThemer
๐ MDCInkColorThemer(ToBeDeprecated)
๐ new category:
MDCInkColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toInkView:
inMDCInkColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCInkColorThemer
๐ To: NavigationBar+ColorThemer
๐ MDCNavigationBarColorThemer(ToBeDeprecated)
๐ new category:
MDCNavigationBarColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toNavigationBar:
inMDCNavigationBarColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCNavigationBarColorThemer
๐ To: PageControl+ColorThemer
๐ MDCPageControlColorThemer(ToBeDeprecated)
๐ new category:
MDCPageControlColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toPageControl:
inMDCPageControlColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCPageControlColorThemer
๐ To: ProgressView+ColorThemer
๐ MDCProgressViewColorThemer(ToBeDeprecated)
๐ new category:
MDCProgressViewColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toProgressView:
inMDCProgressViewColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCProgressViewColorThemer
๐ To: Slider+ColorThemer
๐ MDCSliderColorThemer(ToBeDeprecated)
๐ new category:
MDCSliderColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toSlider:
inMDCSliderColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCSliderColorThemer
๐ To: modified class method:
+defaultSliderLightColorScheme
inMDCSliderColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCSliderColorThemer
๐ To: modified class method:
+defaultSliderDarkColorScheme
inMDCSliderColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCSliderColorThemer
๐ To: Snackbar+ColorThemer
๐ MDCSnackbarColorThemer(Deprecated)
๐ new category:
MDCSnackbarColorThemer(Deprecated)
modified class method:
+applyColorScheme:toSnackbarMessageView:
inMDCSnackbarColorThemer(Deprecated)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarColorThemer
๐ To: Snackbar
MDCSnackbarManager
๐ new property:
defaultManager
inMDCSnackbarManager
๐ new property:
messageTextColor
inMDCSnackbarManager
๐ new method:
-suspendMessagesWithCategory:
inMDCSnackbarManager
๐ new property:
buttonFont
inMDCSnackbarManager
๐ new property:
snackbarMessageViewShadowColor
inMDCSnackbarManager
๐ new method:
-buttonTitleColorForState:
inMDCSnackbarManager
๐ new property:
alignment
inMDCSnackbarManager
๐ new method:
-showMessage:
inMDCSnackbarManager
๐ new property:
shouldApplyStyleChangesToVisibleSnackbars
inMDCSnackbarManager
๐ new method:
-setBottomOffset:
inMDCSnackbarManager
๐ new property:
messageFont
inMDCSnackbarManager
๐ new property:
snackbarMessageViewBackgroundColor
inMDCSnackbarManager
๐ new method:
-suspendAllMessages
inMDCSnackbarManager
๐ new property:
delegate
inMDCSnackbarManager
๐ new method:
-setPresentationHostView:
inMDCSnackbarManager
๐ new method:
-resumeMessagesWithToken:
inMDCSnackbarManager
๐ new method:
-setButtonTitleColor:forState:
inMDCSnackbarManager
๐ new method:
-hasMessagesShowingOrQueued
inMDCSnackbarManager
๐ new method:
-dismissAndCallCompletionBlocksWithCategory:
inMDCSnackbarManager
๐ new property:
mdc_adjustsFontForContentSizeCategory
inMDCSnackbarManager
MDCSnackbarManager(LegacyAPI)
๐ new category:
MDCSnackbarManager(LegacyAPI)
modified property:
snackbarMessageViewBackgroundColor
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+hasMessagesShowingOrQueued
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
shouldApplyStyleChangesToVisibleSnackbars
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
delegate
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+setButtonTitleColor:forState:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
alignment
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
messageTextColor
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+suspendAllMessages
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+resumeMessagesWithToken:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+showMessage:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+setBottomOffset:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
messageFont
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
mdc_adjustsFontForContentSizeCategory
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+dismissAndCallCompletionBlocksWithCategory:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+setPresentationHostView:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+buttonTitleColorForState:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified class method:
+suspendMessagesWithCategory:
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
snackbarMessageViewShadowColor
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
modified property:
buttonFont
inMDCSnackbarManager(LegacyAPI)
Type of change: parent.usr From: c:objc(cs)MDCSnackbarManager
To: c:objc(cy)MDCSnackbarManager@LegacyAPI
Tabs+ColorThemer
๐ MDCTabBarColorThemer(ToBeDeprecated)
๐ new category:
MDCTabBarColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toTabBar:
inMDCTabBarColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCTabBarColorThemer
๐ To: TextFields+ColorThemer
๐ MDCTextFieldColorThemer(ToBeDeprecated)
๐ new category:
MDCTextFieldColorThemer(ToBeDeprecated)
modified class method:
+applyColorScheme:toAllTextInputControllersOfClass:
inMDCTextFieldColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCTextFieldColorThemer
๐ To: modified class method:
+applyColorScheme:toTextInputController:
inMDCTextFieldColorThemer(ToBeDeprecated)
Type of change: parent.usr From: c:objc(cs)MDCTextFieldColorThemer
๐ To: Component changes
Tabs
๐ Changes
- [automated] Regenerate all readmes. (Jeff Verkoeyen)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
schemes/Color
๐ Changes
- Add a color scheme migration guide. (#4737) (featherless)
๐ FeatureHighlight
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
AppBar
๐ Changes
- ๐ Move more app bar logic back to the init phase. (#4749) (featherless)
- ๐ Move shadow layer initialization back to the init phase. (#4746) (featherless)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
Ink
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
Buttons
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
ButtonBar
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
TextFields
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
Chips
๐ Changes
- [automated] Regenerate all readmes. (Jeff Verkoeyen)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
Snackbar
๐ Changes
- Create explicit singleton (#4742) (Robert Moore)
- Make examples accessible to Switch Control (#4745) (Robert Moore)
- [automated] Regenerate all readmes. (Jeff Verkoeyen)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
Cards
๐ Changes
- [automated] Regenerate all readmes. (Jeff Verkoeyen)
BottomAppBar
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
Slider
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
NavigationBar
๐ Changes
- [automated] Regenerate all readmes. (Jeff Verkoeyen)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
ActivityIndicator
๐ Changes
- [automated] Regenerate all readmes. (Jeff Verkoeyen)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
๐ Dialogs
๐ Changes
- ๐ Remove use of MDCFlatButton for MDCButton and MDCTextButtonThemer (#4739) (Cody Weaver)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
BottomNavigation
๐ Changes
- โก๏ธ Fix accessibilityValue for badgeValue updates (#4734) (Robert Moore)
- [automated] Regenerate all readmes. (Jeff Verkoeyen)
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
PageControl
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
HeaderStackView
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
FlexibleHeader
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)
ProgressView
๐ Changes
- ๐ [schemes/Color] Formally mark all to-be-deprecated APIs as "ToBeDeprecated". (#4738) (featherless)