v54.0.0
Breaking changes
MDCMaskedTransition has been removed and replaced with MDCMaskedTransitionController. You may
now use MDCMaskedTransitionController as a standard UIKit transitioning delegate.
New features
Many components now expose new public APIs for configuring typography, color, and shapes.
API changes
Cards
MDCCardCollectionCell
new property: shapeGenerator in MDCCardCollectionCell
MDCCard
new property: shapeGenerator in MDCCard
Dialogs
MDCAlertController
new property: titleColor in MDCAlertController
new property: titleFont in MDCAlertController
new property: messageFont in MDCAlertController
new property: buttonTitleColor in MDCAlertController
new property: buttonFont in MDCAlertController
new property: messageColor in MDCAlertController
MaskedTransition
MDCMaskedTransition
removed class: MDCMaskedTransition
removed method: -init in MDCMaskedTransition
removed method: -initWithSourceView: in MDCMaskedTransition
removed property: calculateFrameOfPresentedView in MDCMaskedTransition
MDCMaskedTransitionController
new property: sourceView in MDCMaskedTransitionController
new method: -initWithSourceView: in MDCMaskedTransitionController
new method: -init in MDCMaskedTransitionController
new property: calculateFrameOfPresentedView in MDCMaskedTransitionController
new class: MDCMaskedTransitionController
NavigationBar
MDCNavigationBar
new property: titleFont in MDCNavigationBar
new property: titleTextColor in MDCNavigationBar
Snackbar
MDCSnackbarManager
new class method: +buttonTitleColorForState: in MDCSnackbarManager
new property: mdc_adjustsFontForContentSizeCategory in MDCSnackbarManager
new property: snackbarMessageViewBackgroundColor in MDCSnackbarManager
new property: shouldApplyStyleChangesToVisibleSnackbars in MDCSnackbarManager
new property: buttonFont in MDCSnackbarManager
new class method: +setButtonTitleColor:forState: in MDCSnackbarManager
new property: snackbarMessageViewShadowColor in MDCSnackbarManager
new property: messageTextColor in MDCSnackbarManager
new property: messageFont in MDCSnackbarManager
modified class method: +setPresentationHostView: in MDCSnackbarManager
| Type of change: | Declaration |
|---|---|
| From: | + (void)setPresentationHostView:(UIView *)hostView; |
| To: | + (void)setPresentationHostView:(nullable UIView *)hostView; |
modified class method: +dismissAndCallCompletionBlocksWithCategory: in MDCSnackbarManager
| Type of change: | Declaration |
|---|---|
| From: | + (void)dismissAndCallCompletionBlocksWithCategory:(NSString *)category; |
| To: | + (void)dismissAndCallCompletionBlocksWithCategory: (nullable NSString *)category; |
modified class method: +suspendMessagesWithCategory: in MDCSnackbarManager
| Type of change: | Swift declaration |
|---|---|
| From: | class func suspendMessages(withCategory category: Any!) -> MDCSnackbarSuspensionToken! |
| To: | class func suspendMessages(withCategory category: Any!) -> MDCSnackbarSuspensionToken? |
modified class method: +suspendMessagesWithCategory: in MDCSnackbarManager
| Type of change: | Declaration |
|---|---|
| From: | + (id<MDCSnackbarSuspensionToken>)suspendMessagesWithCategory: (NSString *)category; |
| To: | + (nullable id<MDCSnackbarSuspensionToken>)suspendMessagesWithCategory: (nullable NSString *)category; |
modified class method: +showMessage: in MDCSnackbarManager
| Type of change: | Swift declaration |
|---|---|
| From: | class func show(_ message: MDCSnackbarMessage!) |
| To: | class func show(_ message: MDCSnackbarMessage?) |
modified class method: +showMessage: in MDCSnackbarManager
| Type of change: | Declaration |
|---|---|
| From: | + (void)showMessage:(MDCSnackbarMessage *)message; |
| To: | + (void)showMessage:(nullable MDCSnackbarMessage *)message; |
modified class method: +suspendAllMessages in MDCSnackbarManager
| Type of change: | Swift declaration |
|---|---|
| From: | class func suspendAllMessages() -> MDCSnackbarSuspensionToken! |
| To: | class func suspendAllMessages() -> MDCSnackbarSuspensionToken? |
modified class method: +suspendAllMessages in MDCSnackbarManager
| Type of change: | Declaration |
|---|---|
| From: | + (id<MDCSnackbarSuspensionToken>)suspendAllMessages; |
| To: | + (nullable id<MDCSnackbarSuspensionToken>)suspendAllMessages; |
modified class method: +resumeMessagesWithToken: in MDCSnackbarManager
| Type of change: | Swift declaration |
|---|---|
| From: | class func resumeMessages(with token: MDCSnackbarSuspensionToken!) |
| To: | class func resumeMessages(with token: MDCSnackbarSuspensionToken?) |
modified class method: +resumeMessagesWithToken: in MDCSnackbarManager
| Type of change: | Declaration |
|---|---|
| From: | + (void)resumeMessagesWithToken:(id<MDCSnackbarSuspensionToken>)token; |
| To: | + (void)resumeMessagesWithToken:(nullable id<MDCSnackbarSuspensionToken>)token; |
Themes
MDCFontScheme
Moved to schemes/Typography.
MDCTonalPalette
Moved to schemes/Color.
MDCTonalColorScheme
Moved to schemes/Color.
MDCColorScheme
Moved to schemes/Color.
MDCBasicColorScheme
Moved to schemes/Color.
MDCBasicFontScheme
Moved to schemes/Typography.
schemes/Typography
New component.
Component changes
Tabs
Changes
- Disable TabBar test throwing an exception (#3221) (ianegordon)
- Revert "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3256) (featherless)
- [Typography] Migrate from FontScheme to TypographyScheming (#3219) (ianegordon)
MaskedTransition
Changes
- Convert MaskedTransition from a MotionTransitioning Transition type to a vanilla UIKit type (#3070) (featherless)
schemes/Color
Changes
- [Color] Implement a swift-friendly API for color scheme defaults. (#3246) (featherless)
- [Color] Reduce the public API contract for MDCSemanticColorScheme. (#3234) (featherless)
- [Color] Remove straggling reference to NSCoding. (#3237) (featherless)
- [Themes] Add new semantic color scheme (#3216) (featherless)
schemes/Typography
Changes
- Partial roll-forward of "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3258) (featherless)
- Revert "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3256) (featherless)
- [Typography] Fix build breakage due to missing implementation of MDCBasicFontScheme. (#3242) (featherless)
- [Typography] Migrate from FontScheme to TypographyScheming (#3219) (ianegordon)
FeatureHighlight
Changes
- Adding Color Themer. (#3260) (Mohammad Cazi)
- Revert "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3256) (featherless)
- [Typography] Migrate from FontScheme to TypographyScheming (#3219) (ianegordon)
AppBar
Changes
- Color Themer now composes to the FlexibleHeader and NavigationBar color themers. (#3210) (featherless)
Ink
Changes
- [Cards] Added Shapes support for MDCCard and MDCCardCollectionCell + 2 Examples (#3215) (Yarden Eitan)
ButtonBar
Changes
- Implement new semantic color scheme themer APIs. (#3252) (featherless)
- Update documentation for the themer. (#3265) (featherless)
TextFields
Changes
- Adding Color Themer. (#3255) (Mohammad Cazi)
- Revert "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3256) (featherless)
- [Typography] Migrate from FontScheme to TypographyScheming (#3219) (ianegordon)
Chips
Changes
- Revert "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3256) (featherless)
- [Typography] Migrate from FontScheme to TypographyScheming (#3219) (ianegordon)
Snackbar
Changes
- Removed dependency on UIAppearance entirely for color/font customization/theming. (#3223) (Yarden Eitan)
- Revert "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3256) (featherless)
- [Typography] Migrate from FontScheme to TypographyScheming (#3219) (ianegordon)
Cards
Changes
NavigationBar
Changes
- Add an API for customizing the title label's text color. (#3266) (featherless)
- [MDCNavigationBar] Exposing typography API. (#3217) (Mohammad Cazi)
Dialogs
Changes
- Expose typography and color API. (#3218) (Mohammad Cazi)
FlexibleHeader
Changes
- Implement a color themer API with the new MDCColorScheming type. (#3236) (featherless)
- Revert "Fix bug where shadow layer's opacity wouldn't be set without a tracking scroll view. (#3201)" (#3225) (Robert Moore)
- Revert "Revert "Fix bug where shadow layer's opacity wouldn't be set without a tracking scroll view. (#3201)" (#3225)" (#3229) (Robert Moore)
Themes
Changes
- Add new semantic color scheme (#3216) (featherless)
- Partial roll-forward of "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3258) (featherless)
- Revert "[Typography] Migrate from FontScheme to TypographyScheming (#3219)" (#3256) (featherless)
- [Catalog] Remove the global theme change notifications. (#3213) (featherless)
- [Typography] Migrate from FontScheme to TypographyScheming (#3219) (ianegordon)