Material Components v79.0.0 Release Notes
-
๐ This major release introduces breaking changes for Swift code that makes use of the MDCContainerScheme and MDCContainerScheming types. It also includes breaking changes for Shapes header files and completes the graduation of Shapes to a production-ready state.
๐ฅ Breaking changes
MDCContainerScheming's and MDCContainerScheme's colorScheme and typographyScheme are now both nonnull. This change will require changes in Swift code that make use of these APIs.
All Shapes headers have been renamed, dropping their
New
suffix where applicable.๐ New features
BottomNavigation
BottomNavigation has two new properties:
sizeThatFitsIncludesSafeArea
andbarItemsBottomAnchor
.๐ See [components/BottomNavigation/README.md](components/BottomNavigation/README.md#deprecations) for more details on the
sizeThatFitsIncludesSafeArea
property.barItemsBottomAnchor
allows anchoring the Bottom Navigation bar to the safe area layout guide. This API is available on iOS 9.0 and above. Example usage:if (@available(iOS 11.0, *)) { [navigationBar.barItemsBottomAnchor constraintEqualToAnchor:view.safeAreaLayoutGuide.bottomAnchor] .active = YES; }
FlexibleHeader
MDCFlexibleHeaderViewController
introduces a newsafeAreaDelegate
that can be used to change which view controller is used when extracting top safe area insets.API changes
BottomNavigation
MDCBottomNavigationBar
๐ new property:
sizeThatFitsIncludesSafeArea
inMDCBottomNavigationBar
๐ new property:
barItemsBottomAnchor
inMDCBottomNavigationBar
FlexibleHeader
MDCFlexibleHeaderSafeAreaDelegate
๐ new method:
-flexibleHeaderViewControllerTopSafeAreaInsetViewController:
inMDCFlexibleHeaderSafeAreaDelegate
๐ new protocol:
MDCFlexibleHeaderSafeAreaDelegate
MDCFlexibleHeaderViewController
๐ new property:
safeAreaDelegate
inMDCFlexibleHeaderViewController
ContainerScheme
MDCContainerScheming
modified property:
colorScheme
inMDCContainerScheming
Type of change: Swift declaration From: var colorScheme: Any? { get }
To: var colorScheme: Any { get }
modified property:
colorScheme
inMDCContainerScheming
Type of change: Declaration From: @property (readonly, nonatomic, nullable) id colorScheme;
To: @property (readonly, nonatomic, nonnull) id colorScheme;
modified property:
typographyScheme
inMDCContainerScheming
Type of change: Swift declaration From: var typographyScheme: Any? { get }
To: var typographyScheme: Any { get }
modified property:
typographyScheme
inMDCContainerScheming
Type of change: Declaration From: @property (readonly, nonatomic, nullable) id typographyScheme;
To: @property (readonly, nonatomic, nonnull) id typographyScheme;
MDCContainerScheme
modified property:
colorScheme
inMDCContainerScheme
Type of change: Swift declaration From: var colorScheme: UnsafeMutablePointer<Int32>? { get set }
To: var colorScheme: UnsafeMutablePointer<Int32> { get set }
modified property:
colorScheme
inMDCContainerScheme
Type of change: Declaration From: @property(nonatomic, nullable, readwrite) MDCSemanticColorScheme *colorScheme
To: @property (assign, readwrite, nonatomic, nonnull) int *colorScheme;
modified property:
shapeScheme
inMDCContainerScheme
Type of change: Declaration From: @property(nonatomic, nullable, readwrite) MDCShapeScheme *shapeScheme
To: @property (assign, readwrite, nonatomic, nullable) int *shapeScheme;
modified property:
typographyScheme
inMDCContainerScheme
Type of change: Swift declaration From: var typographyScheme: UnsafeMutablePointer<Int32>? { get set }
To: var typographyScheme: UnsafeMutablePointer<Int32> { get set }
modified property:
typographyScheme
inMDCContainerScheme
Type of change: Declaration From: @property(nonatomic, nullable, readwrite) MDCTypographyScheme *typographyScheme
To: @property (assign, readwrite, nonatomic, nonnull) int *typographyScheme;
Component changes
๐ Changes
BottomAppBar
- hide swift example from Catalog. (#6725) (Wenyu Zhang)
BottomNavigation
- Make Controller available on iOS 8. (#6719) (Robert Moore)
- ๐ Remove deprecation notice from sizeThatFitsIncludesSafeArea (#6727) (featherless)
- sizeThatFits: ignores safe area (#6717) (Robert Moore)
๐ Dialogs
- Fix presented corner radius in custom view controllers (#6696) (Galia Kaufman)
FlexibleHeader
- FlexibleHeader changes (#6748) (Andrew Overton)
NavigationDrawer
- ๐ remove beta references from navigation drawer (#6742) (Yarden Eitan)
PageControl
- ๐ Fixes MDCPageControl not properly revealing page indicators. (#6714) (Yarden Eitan)
Multi-component changes
- ๐ Add autolayout support (#6612) (Robert Moore)
- Fix colorScheme and typographyScheme to be nonnull. (#6699) (Cody Weaver)
- ๐ Move shapes from components/private to components/ - Part 3 (last part) (#6734) (Yarden Eitan)
- Slight changes to Cards targets + rewrite rules (#6749) (Andrew Overton)
- ๐ Support titlePositionAdjustment (#6721) (Robert Moore)
- โก๏ธ updated jazzy yaml files to include framework root (#6750) (Yarden Eitan)