Skip to content
This repository was archived by the owner on Dec 11, 2025. It is now read-only.

v60.0.0

Choose a tag to compare

@jverkoey jverkoey released this 13 Aug 20:29
· 4651 commits to stable since this release

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: c:objc(cy)MDCActivityIndicatorColorThemer@ToBeDeprecated

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: c:objc(cy)MDCAppBarColorThemer@ToBeDeprecated

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: c:objc(cy)MDCBottomAppBarColorThemer@ToBeDeprecated

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: c:objc(cy)MDCBottomNavigationBarColorThemer@ToBeDeprecated

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: c:objc(cy)MDCButtonBarColorThemer@ToBeDeprecated

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: c:objc(cy)MDCButtonColorThemer@ToBeDeprecated

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

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

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

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

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

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

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

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

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: c:objc(cy)MDCChipViewColorThemer@ToBeDeprecated

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: c:objc(cy)MDCAlertColorThemer@ToBeDeprecated

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: c:objc(cy)MDCFeatureHighlightColorThemer@ToBeDeprecated

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: c:objc(cy)MDCFlexibleHeaderColorThemer@ToBeDeprecated

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

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

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: c:objc(cy)MDCHeaderStackViewColorThemer@ToBeDeprecated

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: c:objc(cy)MDCInkColorThemer@ToBeDeprecated

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: c:objc(cy)MDCNavigationBarColorThemer@ToBeDeprecated

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: c:objc(cy)MDCPageControlColorThemer@ToBeDeprecated

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: c:objc(cy)MDCProgressViewColorThemer@ToBeDeprecated

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: c:objc(cy)MDCSliderColorThemer@ToBeDeprecated

modified class method: +defaultSliderLightColorScheme in MDCSliderColorThemer(ToBeDeprecated)

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

modified class method: +defaultSliderDarkColorScheme in MDCSliderColorThemer(ToBeDeprecated)

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

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: c:objc(cy)MDCSnackbarColorThemer@Deprecated

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: c:objc(cy)MDCTabBarColorThemer@ToBeDeprecated

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: c:objc(cy)MDCTextFieldColorThemer@ToBeDeprecated

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

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

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