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

    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 the MDCFlexibleHeaderViewController.

    ๐Ÿ’… An example of setting an explicit preferredStatusBarStyle:

    flexibleHeaderViewController.inferPreferredStatusBarStyle = false
    flexibleHeaderViewController.preferredStatusBarStyle = .lightContent
    

    ๐Ÿ—„ Upcoming deprecations

    ๐Ÿ—„ MDCColorScheme and MDCBasicColorScheme 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: in MDCActivityIndicatorColorThemer(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: in MDCAppBarColorThemer(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: in MDCBottomAppBarColorThemer(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: in MDCBottomNavigationBarColorThemer(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: in MDCButtonBarColorThemer(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: in MDCButtonColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCButtonColorThemer
    ๐Ÿ—„ To:

    modified class method: +applySemanticColorScheme:toFlatButton: in MDCButtonColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCButtonColorThemer
    ๐Ÿ—„ To:

    modified class method: +applyColorScheme:toButton: in MDCButtonColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCButtonColorThemer
    ๐Ÿ—„ To:

    modified class method: +applySemanticColorScheme:toButton: in MDCButtonColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCButtonColorThemer
    ๐Ÿ—„ To:

    modified class method: +applySemanticColorScheme:toFloatingButton: in MDCButtonColorThemer(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: in MDCChipViewColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCChipViewColorThemer
    ๐Ÿ—„ To:

    ๐Ÿ”Š Dialogs+ColorThemer

    ๐Ÿ—„ MDCAlertColorThemer(ToBeDeprecated)

    ๐Ÿ†• new category: MDCAlertColorThemer(ToBeDeprecated)

    modified class method: +applyColorScheme: in MDCAlertColorThemer(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: in MDCFeatureHighlightColorThemer(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: in MDCFlexibleHeaderColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCFlexibleHeaderColorThemer
    ๐Ÿ—„ To:

    modified class method: +applyColorScheme:toMDCFlexibleHeaderController: in MDCFlexibleHeaderColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCFlexibleHeaderColorThemer
    ๐Ÿ—„ To:

    FlexibleHeader

    MDCFlexibleHeaderViewController

    ๐Ÿ†• new property: preferredStatusBarStyle in MDCFlexibleHeaderViewController

    ๐Ÿ†• new property: inferPreferredStatusBarStyle in MDCFlexibleHeaderViewController

    โœ‚ removed method: -preferredStatusBarStyle in MDCFlexibleHeaderViewController

    HeaderStackView+ColorThemer

    ๐Ÿ—„ MDCHeaderStackViewColorThemer(ToBeDeprecated)

    ๐Ÿ†• new category: MDCHeaderStackViewColorThemer(ToBeDeprecated)

    modified class method: +applyColorScheme:toHeaderStackView: in MDCHeaderStackViewColorThemer(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: in MDCInkColorThemer(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: in MDCNavigationBarColorThemer(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: in MDCPageControlColorThemer(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: in MDCProgressViewColorThemer(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: in MDCSliderColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCSliderColorThemer
    ๐Ÿ—„ To:

    modified class method: +defaultSliderLightColorScheme in MDCSliderColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCSliderColorThemer
    ๐Ÿ—„ To:

    modified class method: +defaultSliderDarkColorScheme in MDCSliderColorThemer(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: in MDCSnackbarColorThemer(Deprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarColorThemer
    ๐Ÿ—„ To:

    Snackbar

    MDCSnackbarManager

    ๐Ÿ†• new property: defaultManager in MDCSnackbarManager

    ๐Ÿ†• new property: messageTextColor in MDCSnackbarManager

    ๐Ÿ†• new method: -suspendMessagesWithCategory: in MDCSnackbarManager

    ๐Ÿ†• new property: buttonFont in MDCSnackbarManager

    ๐Ÿ†• new property: snackbarMessageViewShadowColor in MDCSnackbarManager

    ๐Ÿ†• new method: -buttonTitleColorForState: in MDCSnackbarManager

    ๐Ÿ†• new property: alignment in MDCSnackbarManager

    ๐Ÿ†• new method: -showMessage: in MDCSnackbarManager

    ๐Ÿ†• new property: shouldApplyStyleChangesToVisibleSnackbars in MDCSnackbarManager

    ๐Ÿ†• new method: -setBottomOffset: in MDCSnackbarManager

    ๐Ÿ†• new property: messageFont in MDCSnackbarManager

    ๐Ÿ†• new property: snackbarMessageViewBackgroundColor in MDCSnackbarManager

    ๐Ÿ†• new method: -suspendAllMessages in MDCSnackbarManager

    ๐Ÿ†• new property: delegate in MDCSnackbarManager

    ๐Ÿ†• new method: -setPresentationHostView: in MDCSnackbarManager

    ๐Ÿ†• new method: -resumeMessagesWithToken: in MDCSnackbarManager

    ๐Ÿ†• new method: -setButtonTitleColor:forState: in MDCSnackbarManager

    ๐Ÿ†• new method: -hasMessagesShowingOrQueued in MDCSnackbarManager

    ๐Ÿ†• new method: -dismissAndCallCompletionBlocksWithCategory: in MDCSnackbarManager

    ๐Ÿ†• new property: mdc_adjustsFontForContentSizeCategory in MDCSnackbarManager

    MDCSnackbarManager(LegacyAPI)

    ๐Ÿ†• new category: MDCSnackbarManager(LegacyAPI)

    modified property: snackbarMessageViewBackgroundColor in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +hasMessagesShowingOrQueued in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: shouldApplyStyleChangesToVisibleSnackbars in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: delegate in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +setButtonTitleColor:forState: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: alignment in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: messageTextColor in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +suspendAllMessages in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +resumeMessagesWithToken: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +showMessage: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +setBottomOffset: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: messageFont in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: mdc_adjustsFontForContentSizeCategory in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +dismissAndCallCompletionBlocksWithCategory: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +setPresentationHostView: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +buttonTitleColorForState: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified class method: +suspendMessagesWithCategory: in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: snackbarMessageViewShadowColor in MDCSnackbarManager(LegacyAPI)

    Type of change: parent.usr
    From: c:objc(cs)MDCSnackbarManager
    To: c:objc(cy)MDCSnackbarManager@LegacyAPI

    modified property: buttonFont in MDCSnackbarManager(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: in MDCTabBarColorThemer(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: in MDCTextFieldColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCTextFieldColorThemer
    ๐Ÿ—„ To:

    modified class method: +applyColorScheme:toTextInputController: in MDCTextFieldColorThemer(ToBeDeprecated)

    Type of change: parent.usr
    From: c:objc(cs)MDCTextFieldColorThemer
    ๐Ÿ—„ To:

    Component changes

    Tabs

    ๐Ÿ”„ Changes

    schemes/Color

    ๐Ÿ”„ Changes

    ๐Ÿ”‹ FeatureHighlight

    ๐Ÿ”„ Changes

    AppBar

    ๐Ÿ”„ Changes

    Ink

    ๐Ÿ”„ Changes

    Buttons

    ๐Ÿ”„ Changes

    ButtonBar

    ๐Ÿ”„ Changes

    TextFields

    ๐Ÿ”„ Changes

    Chips

    ๐Ÿ”„ Changes

    Snackbar

    ๐Ÿ”„ Changes

    Cards

    ๐Ÿ”„ Changes

    BottomAppBar

    ๐Ÿ”„ Changes

    Slider

    ๐Ÿ”„ Changes

    NavigationBar

    ๐Ÿ”„ Changes

    ActivityIndicator

    ๐Ÿ”„ Changes

    ๐Ÿ”Š Dialogs

    ๐Ÿ”„ Changes

    BottomNavigation

    ๐Ÿ”„ Changes

    PageControl

    ๐Ÿ”„ Changes

    HeaderStackView

    ๐Ÿ”„ Changes

    FlexibleHeader

    ๐Ÿ”„ Changes

    ProgressView

    ๐Ÿ”„ Changes