Changelog History
Page 9
-
v96.0.0 Changes
December 10, 201996.0.0
π In this major release we deleted and deprecated a bunch of APIs in BottomAppBar, Snackbar,
TextField, ActionSheet, BottomNavigation, ButtonBar, Cards, Feature highlight, Ink, Page control,
0οΈβ£ and Tabs. We also enables ripple by default on Action Sheet. It was using a legacy ink animation.π₯ Breaking changes
BottomAppBar
β Delete deprecated MDCBottomAppBarColorThemer
Snackbar
β Delete snackbarMessageViewTextColor
TextField
β Delete MDCTextFieldColorThemer
π New deprecations
ActionSheet
π Deprecated inkColor. Use the ripple APIs.
BottomNavigation
π Deprecate MDCBottomNavigationTypography themer
ButtonBar
π Deprecate MDCButtonBarColorThemer
Button
π Deprecate MDCFloatingButtonShapeThemer
Cards
π Deprecate MDCCardThemer
π Feature highlight
π Deprecate MDCFeatureHighlightFontThemer
Ink
π Deprecate MDCInkColorThemer
Page Control
π Deprecate-MDCPageControlColorThemer-applyColorScheme-toPageContro
Snackbar
π Deprecate MDCSnackbarColorThemer
Tabs
π Deprecate MDCTabBarColorThemer
TextFields
π Deprecate MDCTextFieldFontThemer
π New features
Chips
ChipFieldShouldBeginEditing method to MDCChipFieldDelegate to control if editing is allowed.
- (BOOL)chipFieldShouldBeginEditing:(MDCChipField *)chipField { return YES; }
Snackbar
β Adds elementToFocusOnDismiss to MDCSnackbarMessage so a client can specify a view to focus on after the snackbar message is dismissed.
snackBarMessage.elementToFocusOnDismiss = view;
API changes
ActionSheet
π deprecated property:
inkColor
inMDCActionSheetController
. Use rippleColor instead.π deprecated property:
enableRippleBehavior
inMDCActionSheetController
. Use ripple.BottomAppBar
π deprecated class:
MDCBottomAppBarColorThemer
. No replacement exists. Please comment on #7172 in order to indicate interest in a replacement API.BottomNavigationBar
π deprecated class:
MDCBottomNavigationBarTypographyThemer
. Please use the Theming extension instead.ButtonBar
π deprecated class:
MDCButtonBarColorThemer
. ButtonBar is not intended to be themed as a standalone component. Please theme it via the AppBar component's Theming extension instead.Button
π deprecated class:
MDCFloatingButtonShapeThemer
. Please use [MDCFloatingButton applySecondaryThemeWithScheme:] instead. (Note: Shape theming is no longer available as an independent API.Cards
π deprecated protocol:
MDCCardScheming
. MDCCardScheming was made obsolete by theming with MDCContainerSchemes.π deprecated class:
MDCCardScheme
. MDCCardScheming was made obsolete by theming with MDCContainerSchemes.π deprecated class:
MDCCardThemer
. Please use MaterialCards+Theming instead.ChipField
π new method:
-chipFieldShouldBeginEditing:
inMDCChipFieldDelegate
. Asks the delegate if editing should begin in the specified chip field.π FeatureHighlight
π deprecated class:
MDCFeatureHighlightFontThemer
. No replacement exists. Please comment on #7172 in order to indicate interest in a replacement API.Ink
π deprecated class:
MDCInkColorThemer
. Please use Ripple instead.Page Control
π deprecated class:
MDCPageControlColorThemer
. No replacement exists. Please comment on #7172 in order to indicate interest in a replacement API.Snackbar
β removed property:
snackbarMessageViewTextColor
inMDCSnackbarMessageView
. Use messsageTextColor instead.π deprecated class:
MDCSnackbarColorThemer
. No replacement exists. Please comment on #7172 in order to indicate interest in a replacement API.π new property:
elementToFocusOnDismiss
inMDCSnackbarMessage
. Element to focus on snackbar message dismiss. Focuses the first element on screen after dismiss by default. The focus will change to the element only if the focus is on the snackbar message.Tabs
π deprecated class:
MDCTabBarColorThemer
. Please use the Theming extension instead.Component changes
ActionSheet
- Action sheet enable ripple (#9135) (Bryan Oltman)
- π Deprecate MDCActionSheetAction inkColor (#9127) (Bryan Oltman)
Banner
- Add a Swift example. (#9173) (Wenyu Zhang)
- β‘οΈ Update Readme to document the latest APIs. (#9100) (Wenyu Zhang)
BottomNavigation
- β‘οΈ Deprecate MDCBottomNavigationTypography themer and update docs (#9156) (Andrew Overton)
- Migrate MDCBottomNavigationBarColorThemer use to theming extension (#9142) (Bryan Oltman)
ButtonBar
- π Deprecate MDCButtonBarColorThemer (#9155) (Andrew Overton)
Buttons
- π Deprecate MDCFloatingButtonShapeThemer (#9101) (Galia Kaufman)
- π Removing deprecated MDCFloatingButtonShapeThemer from theming extension (#9102) (Galia Kaufman)
Cards
- π Delete old docs (#9163) (Andrew Overton)
- π Deprecate MDCCardThemer (#9054) (Andrew Overton)
- π Deprecate MDCCardThemer (#9108) (Bryan Oltman)
- Migrate MDCCardsColorThemer to theming extensions (#9141) (Bryan Oltman)
Chips
- β Add RTL snapshot tests. (#9131) (Robert Moore)
- Add chipFieldShouldBeginEditing method to MDCChipFieldDelegate (#9157) (Bryan Oltman)
- Fix calculation of accessory frame. (#9167) (Robert Moore)
- π Remove Themer references from README (#9149) (Bryan Oltman)
π Dialogs
- β Snapshot tests for long action titles. (#9154) (Robert Moore)
π FeatureHighlight
- π deprecate MDCFeatureHighlightFontThemer (#9115) (Andrew Overton)
Ink
- π Deprecate MDCInkColorThemer (#9113) (Andrew Overton)
List
- π removing use of MDCListColorThemer before deprecating it. (#9145) (Galia Kaufman)
PageControl
- β‘οΈ Update read me for MDCPageControlColorThemer (#9153) (Andrew Overton)
- π deprecate-MDCPageControlColorThemer-applyColorScheme-toPageControl (#9123) (Andrew Overton)
Snackbar
- Adds elementToFocusOnDismiss to MDCSnackbar (#9148) (Yarden Eitan)
- π Deprecate MDCSnackbarColorThemer (#9152) (Andrew Overton)
- delete snackbarMessageViewTextColor (#9056) (Andrew Overton)
Tabs
- π Deprecate MDCTabBarColorThemer (#9103) (Andrew Overton)
- Disable Ripple while scrolling TabBarView (#9144) (Robert Moore)
- π
Document
MDCTabBarViewLayoutStyle
(#9132) (Robert Moore)
TextFields
- Delete MDCTextFieldColorThemer (#9109) (Bryan Oltman)
- π Deprecate MDCTextFieldFontThemer (#9169) (Andrew Overton)
- π Remove references to MDCTextFieldColorThemer from README (#9151) (Bryan Oltman)
Multi-component changes
- π Delete deprecated MDCBottomAppBarColorThemer (#9166) (Bryan Oltman)
-
v95.0.1 Changes
December 09, 201995.0.1
π In this hotfix we revert c83333f to address issue where dialog messages are not properly displayed
during rotation while VoiceOver is on.Component changes
π Changes
π Dialogs
-
v95.0.0 Changes
December 06, 201995.0.0
π In this major release we deleted a bunch of APIs already marked deprecated in the Button Bar,
Button, Ink, Chip componnts.π₯ Breaking changes
Button
π
MDCButton
removedcornerRadius
.Chips
π We removed a bunch of themer classes and protocols that are not part of our latest theming offering.
π New deprecations
Navigation Bar
π We deprecated the color themer in preperation of deleting it. Use theming instead.
Outlined Button
π We deprecated the color themer in preperation of deleting it. Use theming instead.
Text Button
π We deprecated the color themer in preperation of deleting it. Use theming instead.
Cards
π We deprecated the color themer in preperation of deleting it. Use theming instead.
Tab Bar
π We deprecated the color themer in preperation of deleting it. Use theming instead.
Text Field
π We deprecated the color themer in preperation of deleting it. Use theming instead.
Thumb Track
π We deprecated the private thumbtrack component's
thumbMaxRippleRadius
.API changes
MDCButton
β removed property:
cornerRadius
inMDCButton
Chips
β removed protocol:
MDCChipViewScheming
. Use Chips+Theming instead.β removed class:
MDCChipViewThemer
. Use Chips+Theming instead.β removed class:
MDCChipViewColorThemer
. Use Chips+Theming instead.β removed class:
MDCChipViewFontThemer
. Use Chips+Theming instead.β removed class:
MDCChipViewShapeThemer
. Use Chips+Theming instead.β removed class:
MDCChipViewTypographyThemer
. Use Chips+Theming instead.Navigation Bar
π deprecated class: MDCBottomNavigationBarColorThemer. Use MaterialBottomNavigation+Theming instead.
Outlined Button
π deprecated class: MDCOutlinedButtonColorThemer. Please use
[MDCButton applyOutlinedThemeWithScheme:] instead. (Note: Color theming is no longer available as an
independent API.Text Button
π deprecated class: MDCTextButtonColorThemer. Please use [MDCButton applyTextThemeWithScheme:]
instead. (Note: Color theming is no longer available as an independent API.)")Cards
π deprecated class: MDCCardsColorThemer. Please use MaterialCards+Theming instead.
Tab Bar
π deprecated class: MDCTabBarFontThemer. Please use the theming extension instead.
Text Field
π deprecated class: MDCTextFieldColorThemer. Please use the MaterialTextFields+Theming instead.
Thumb Track
π deprecated property:
thumbMaxRippleRadius
inMDCThumbTrack
. Opt-in to Ripple by setting
enableRippleBehavior to YES, and then use thumbRippleMaximumRadius instead. Learn more at
https://github.com/material-components/material-components-ios/tree/develop/components/Ink#migration-guide-ink-to-rippleComponent changes
π Changes
Banner
- β Add unit test to test background color change when user interface changes. (#9073) (Wenyu Zhang)
- Implement UIAccessibilityContainer informal protocol to correct accessibility order. (#9116) (Wenyu Zhang)
- Post accessibility notification when Banner shows on the screen in examples. (#9111) (Wenyu Zhang)
BottomNavigation
- π Deprecate MDCBottomNavigationBarColorThemer (#9126) (Bryan Oltman)
ButtonBar
- delete-MDCButtonBarTypographyThemer (#9117) (Andrew Overton)
Buttons
- Delete MDCButton cornerRadius (#9121) (Bryan Oltman)
- π Deprecate MDCOutlinedButtonColorThemer (#9048) (Galia Kaufman)
- π Deprecating MDCTextButtonColorThemer (#9049) (Galia Kaufman)
Cards
- π Deprecate MDCCardsColorThemer (#9078) (Bryan Oltman)
Chips
- π Move themer code to MDCChipView+MaterialTheming (#9110) (Bryan Oltman)
Ink
- π Delete deprecated MDCInkTouchControllerLegacyDelegate (#9077) (Bryan Oltman)
Tabs
- π Deprecate MDCTabbarFontThemer (#9114) (Andrew Overton)
- Don't use MDCTabBarColorThemer in examples (#9125) (Andrew Overton)
TextFields
- π Mark MDCTextFieldColorThemer as deprecated (#9076) (Bryan Oltman)
private/ThumbTrack
- π deprecate-MDCThumbTrack-thumbMaxRippleRadius (#9120) (Andrew Overton)
Multi-component changes
- Delete Themers (#9028) (Bryan Oltman)
-
v94.5.0 Changes
December 05, 2019π This minor release introduces new APIs to AppBar, FlexibleHeader and Dialogs. AppBar and FlexibleHeader adds behavior to mimic the behavior of UINavigationController's π
setNavigationBarHidden:
. Dialogs exposes transition APIs to customize the presentation animations. π We also deprecated some themers for Chips and Buttons.π New deprecations
Chips
MDCChipViewColorThemer
π Use Chips+Theming to theme the ChipView instead.
MDCChipViewShapeThemer
π Use Chips+Theming to theme the ChipView instead.
Buttons
MDCFloatingButtonColorThemer
Please use [MDCFloatingButton applySecondaryThemeWithScheme:] instead.
MDCContainedButtonColorThemer
Please use [MDCButton applyContainedThemeWithScheme:] instead.
π New features
AppBar
The new
shouldSetNavigationBarHiddenHideAppBar
flag allows view controllers to control the visibility of their app bar via the standard UINavigationController setNavigationBarHidden: APIslet contentViewController = PresentedViewController() let navigationController = MDCAppBarNavigationController() navigationController.shouldSetNavigationBarHiddenHideAppBar = true navigationController.delegate = self navigationController.pushViewController(contentViewController, animated: false)
FlexibleHeader
This new shift behavior mode enables the flexible header to mimic the behavior of UINavigationController's
setNavigationBarHidden:
.Swift
headerViewController.headerView.shiftBehavior = .hideable // You can now toggle visibility of the header view using the following invocations: headerViewController.headerView.shiftHeaderOffScreen(animated: true) headerViewController.headerView.shiftHeaderOnScreen(animated: true) override func childViewControllerForStatusBarHidden() -> UIViewController? { return headerViewController }
Objective-C
headerViewController.headerView.shiftBehavior = MDCFlexibleHeaderShiftBehaviorHideable; // You can now toggle visibility of the header view using the following invocations: [headerViewController.headerView shiftHeaderOffScreenAnimated:YES]; [headerViewController.headerView shiftHeaderOnScreenAnimated:YES]; - (UIViewController *)childViewControllerForStatusBarHidden { return _headerViewController; }
API changes
AppBar
π new property:
navigationBarHidden
in MDCAppBarNavigationController π new property: `shouldSetNavigationBarHiddenHideAppBar;Chips
π deprecated class: MDCChipViewColorThemer. Use Chips+Theming instead. π deprecated class: MDCChipViewShapeThemer. Use Chips+Theming instead.
π Dialogs
π new property:
dialogTransform
in MDCDialogPresentationControllerπ new property:
opacityAnimationDuration
in MDCDialogTransitionController π new property:scaleAnimationDuration
in MDCDialogTransitionController π new property:dialogInitialScaleFactor
in MDCDialogTransitionControllerFlexible header
π new enum value:
MDCFlexibleHeaderShiftBehaviorHideable
in MDCFlexibleHeaderShiftBehaviorRipple
π new property:
usesSuperviewShadowLayerAsMask
in MDCRippleViewComponent changes
π Changes
ActionSheet
- π¨ Refactor edge insets API snapshot tests. (#9035) (Robert Moore)
AppBar
- Add a shouldSetNavigationBarHiddenHideAppBar behavior flag. (#9001) (featherless)
- β Rename test cases to match component conventions. (#9038) (featherless)
Banner
Buttons
- π Deprecating MDCContainedButtonColorThemer (#9051) (Galia Kaufman)
- π Deprecating MDCFloatingButtonColorThemer (#9050) (Galia Kaufman)
Chips
- π Mark MDCChipViewColorThemer and MDCChipViewShapeThemer as deprecated (#9040) (Bryan Oltman)
π Dialogs
- π§ Add configuration options to MDCDialogTransitionController (#9033) (Bryan Oltman)
FlexibleHeader
- Add MDCFlexibleHeaderShiftBehaviorHideable. (#9026) (featherless)
- β Add test that validates all defaults. (#9036) (featherless)
- 0οΈβ£ Document the default value of shiftBehavior. (#9037) (featherless)
Ripple
- Add usesSuperviewShadowLayerAsMask flag. (#8822) (featherless)
-
v94.4.0 Changes
November 27, 2019π This minor release introduces new APIs to ActionSheet, BottomSheet and FlexibleHeader. Additionally, it includes new theming extensions for TextControls component.
π New features
TextControls component now has theming extensions.
MDCFilledTextField *filledTextField = [[MDCFilledTextField alloc] init]; MDCContainerScheme *containerScheme = [[MDCContainerScheme alloc] init]; [filledTextField applyThemeWithScheme:containerScheme];
let filledTextField = MDCFilledTextField() let scheme = MDCContainerScheme() filledTextField.applyTheme(withScheme: scheme)
API changes
ActionSheet
MDCActionSheetController
π new property:
contentEdgeInsets
inMDCActionSheetController
BottomSheet
MDCBottomSheetController
π new property:
dismissOnDraggingDownSheet
inMDCBottomSheetController
MDCBottomSheetPresentationController
π new property:
dismissOnDraggingDownSheet
inMDCBottomSheetPresentationController
MDCBottomSheetTransitionController
π new property:
dismissOnDraggingDownSheet
inMDCBottomSheetTransitionController
FlexibleHeader
MDCFlexibleHeaderView(ShiftBehavior)
π new property:
shiftedOffscreen
inMDCFlexibleHeaderView(ShiftBehavior)
Component changes
π Changes
ActionSheet
- Add
contentEdgeInsets
API. (#9008) (Robert Moore) - Align title/image to their leading edges directly. (#9013) (Robert Moore)
- β Correct RTL snapshot tests. (#9011) (Robert Moore)
- β Name unit tests to match class. (#9003) (Robert Moore)
- π¨ Refactor snapshot tests. (#8999) (Robert Moore)
- β Split "insets" API snapshot tests to separate file. (#9020) (Robert Moore)
BottomSheet
Buttons
- Fix dynamic type example. (#8992) (Cody Weaver)
π FeatureHighlight
- β Fix accessibility tests. (#9018) (Robert Moore)
FlexibleHeader
- β Add FlexibleHeaderShiftedOffscreenWithShiftBehaviorDisabledTests. (#9023) (featherless)
- Expose a shiftedOffscreen property. (#9014) (featherless)
ShadowElevations
TextControls
- Add Outlined theming extension (#9002) (Andrew Overton)
- Add MDCFilledTextField theming extension (#8993) (Andrew Overton)
- Add
-
v94.3.0 Changes
November 25, 2019π This minor release primarily consists of accessibility improvements. A number of components now provide increased support for VoiceOver and Dynamic Type, and many components have been audited to make sure minimum touch target requirements and minimum color contrast requirements are met. Additionally, many examples in our Catalog and Dragons apps have been improved from an accessibility standpoint.
π New deprecations
adjustsFontForContentSizeCategoryWhenScaledFontIsUnavailable
inMDCSnackbarManager
adjustsFontForContentSizeCategoryWhenScaledFontIsUnavailable
inMDCSnackbarMessageView
Component changes
ActionSheet
- π Allow Swift example to support dynamic type (#8946) (Cody Weaver)
ActivityIndicator
- Add a voiceover layout change notification⦠(#8909) (Yarden Eitan)
AppBar
- AppBar example has low-contrast text (#8966) (Galia Kaufman)
- Make example titles more accurate. (#8828) (Robert Moore)
Banner
- Add a snapshot for banner with no action case. (#8968) (Wenyu Zhang)
- Fix Banner positioning in example for iOS 10 (#8829) (Bryan Oltman)
- π Support use case where no button appears on Banner. (#8951) (Wenyu Zhang)
BottomNavigation
- Add accessibility value for badge (#8920) (Cody Weaver)
- β Clean up badge value test example (#8921) (Cody Weaver)
BottomSheet
- π Add VoiceOver support to BottomSheetShortCollectionExample (#8849) (Bryan Oltman)
- Add accessibility elements to BottomSheetExamples (#8923) (Bryan Oltman)
- Make bottom sheet be in extended state when voiceover is on (#8787) (Andrew Overton)
- π Remove scrim accessibility logic from BottomSheetUIControlExample (#8848) (Bryan Oltman)
ButtonBar
- Darken ButtonBarIconExample icon colors (#8826) (Bryan Oltman)
- Delete the Theming extension. (#8696) (featherless)
Buttons
- Fix a11y issues in Buttons (Content Edge Insets) exam⦠(#8900) (Yarden Eitan)
- Improve accessibility of Shaped Buttons. (#8964) (Robert Moore)
- β‘οΈ Update accessibility label for FABs (#8911) (Cody Weaver)
Cards
- Fix bug in the "Typical use" example where the image would not appear. (#8943) (featherless)
- Make the "Typical use" example title label an a11y heading. (#8945) (featherless)
- Make the Shaped Edit/Reorder example class/files match the name of the example. (#8899) (featherless)
- Make the shaped collection cell an accessibility button. (#8901) (featherless)
Chips
- Fix layout of ChipsSizingExampleViewController. (#8940) (featherless)
- Give the ChipsSizing example's sliders a11y labels and values. (#8942) (featherless)
- Set UIAccessibilityTraitButton on MDCChipView's accessibilityTraits. (#8792) (featherless)
π Dialogs
- Allow clients to customize message accessibility label (#8801) (Cody Weaver)
- Allow clients to customize title accessibilityLabel. (#8799) (Cody Weaver)
- π Fix bug in "Dismissing Dialogs" dialogs where the buttons were not themed. (#8967) (featherless)
- π Implement the a11y escape gesture on all custom dialogs in the "Dismissing Dialogs" example. (#8965) (featherless)
- π Make all "Dismissing Dialogs" cells a11y buttons. (#8956) (featherless)
- π Make the "Dialogs with accessory view" example's cells accessibility buttons. (#8939) (featherless)
- Make the "View with corner radius" example's dialog escapable in VoiceOver. (#8950) (featherless)
- More Material Alerts examples is more accessible. (#8960) (Robert Moore)
- Provide accessibility traits for Input Field example (#8958) (Robert Moore)
- π Remove usage of
buttonFont
in example (#8772) (Cody Weaver) - Set dialog message accessibilityFrame based on visible message text (#8786) (Bryan Oltman)
π FeatureHighlight
- Add a voiceover dismissal affordance for the feature highlight. (#8959) (Yarden Eitan)
- Make "Color" example accessible. (#8957) (Robert Moore)
- Positions label not hidden behind nav bar. (#8969) (Yarden Eitan)
Ink
- Consolidate example code into a single file. (#8890) (featherless)
- Make the ink views accessibility elements. (#8891) (featherless)
List
- Fix MDCBaseCell Example to work with Voice Over (#8953) (Galia Kaufman)
- Fix accessibility labels and layout in CollectionListCellExampleTypicalUse (#8944) (Bryan Oltman)
- Fix catalog compile issue (#8974) (Cody Weaver)
- Make Base Cell example more accessible. (#8947) (Robert Moore)
- Make Base Cell example more accessible. (#8982) (Robert Moore)
NavigationDrawer
- Add close button to bottom drawer example header (#8963) (Bryan Oltman)
- π Remove container view when dismiss transitioβ¦ (#8660) (Jonathan Willing)
PageControl
- π Fixes contrast ratio and button interactivity forβ¦ (#8922) (Yarden Eitan)
- Improve contrast ratio in PageControlSwiftExampleViewController (#8938) (Bryan Oltman)
- Improve contrast ratio in PageControlTypicalUseViewController (#8941) (Bryan Oltman)
- π adds a11y support for page control with next button example (#8932) (Yarden Eitan)
ProgressView
- Add accessibilityLabel (#8775) (Bryan Oltman)
Ripple
- β Add tests demonstrating unexpected layer.mask behavior. (#8808) (featherless)
- Ripple typical example now can be used with Voice Over (#8924) (Yarden Eitan)
- make card with ripple example a5able (#8929) (Yarden Eitan)
ShadowElevations
- Delete non-functional ShadowElevationsTypicalUseViewController.swift (#8955) (Bryan Oltman)
- Provide semantic VoiceOver labels when interacting with the typical use example. (#8930) (featherless)
- Delete swift example target since there is no input file. (#8955) (Wenyu Zhang)
ShadowLayer
Slider
- π Update documentation to match behavior. (#8782) (Robert Moore)
Snackbar
- Add invisible hit target for legacy snackbar (#8807) (Bryan Oltman)
- π Deprecate adjustsFontForContentSizeCategoryWhenScaledFontIsUnavailable (#8728) (Bryan Oltman)
Tabs
- Add newlines after all Swift doc headers. (#8931) (featherless)
- Improve accessibility for TabBar example. (#8983) (Robert Moore)
- π Improve custom view documentation. (#8813) (Robert Moore)
- Mark TabBarView as accessibility tab bar. (#8811) (Robert Moore)
- Use built-in "tabs" behavior on iOS 10+ (#8812) (Robert Moore)
TextControls
- Add adjusts content size category behavior (#8802) (Andrew Overton)
- Add dynamic type functionality to text controls example (#8847) (Andrew Overton)
- β Snapshot test with AXXXL sizes (#8781) (Andrew Overton)
- 0οΈβ£ Use system dynamic colors for sensible defaults in iOS 13 (#8818) (Andrew Overton)
TextFields
- β Added accessibility label tests for MDCMultilineTextFields (#8902) (Randall Li)
- Added header comment: placeholder APIs are for
label text
(#8803) (Randall Li) - β Added tests for accessibilityLabel (#8830) (Randall Li)
- Check if placeholder is hidden before verbalizing it in voice over. (#8804) (Randall Li)
- Convert clear button to MDCButton (#8784) (Bryan Oltman)
- Correction to the accessibility label (#8976) (Randall Li)
- Fix spelling mistake (#8910) (Randall Li)
- β‘οΈ Update announcement text for fields with a character limit (#8777) (Bryan Oltman)
- β‘οΈ Update character count announcement in MDCTextInputControllerFullWidth (#8789) (Bryan Oltman)
- β simplify test names since the name of the file already gives context. (#8952) (Randall Li)
- Add accessibilityLabel override to MDCBaseTextField (#8773) (Andrew Overton)
Typography
- β Using safeSharedApplication in test (#8815) (Randall Li)
schemes/Typography
- Separate protocol target. (#8798) (Robert Moore)
Multi-component changes
- π Annotate all catalogShouldHideNavigation invocations with @objc. (#8791) (featherless)
-
v94.2.0 Changes
November 14, 2019π This minor release introduces new APIs to MDCAppBarViewController and MDCSlider. Additionally, it includes some fixes for Banner constraints.
π New Features
AppBar
MDCAppBarViewController
allows automatically adjust the height of the app bar based on itsheaderStackView
.Objective-C
MDCAppBarViewController *appBar= [[MDCAppBarViewController alloc] init]; appBar.shouldAdjustHeightBasedOnHeaderStackView = YES;
Swift
let appBar = MDCAppBarViewController() appBar.shouldAdjustHeightBasedOnHeaderStackView = true
Slider
MDCSlider
allows having a continuous Slider that shows track tick marks.Objective-C
MDCSlider *slider = [[MDCSlider alloc] init]; slider.discrete = NO; slider.numberOfDiscreteValues = 5;
Swift
let slider = MDCSlider() slider.discrete = false slider.numberOfDiscreteValues = 5;
API changes
AppBar
MDCAppBarViewController
π new property:
shouldAdjustHeightBasedOnHeaderStackView
inMDCAppBarViewController
Slider
MDCSlider
π new property:
discrete
inMDCSlider
Component changes
AppBar
Banner
- Add an example to show how Banner can be used as bottom bar in AppBar. (#8785) (Wenyu Zhang)
- β‘οΈ Deactivate custom constraints when there is a need to update constraints.(#8793) (Wenyu Zhang)
- β‘οΈ update constraint when frame is changed. (#8765) (Wenyu Zhang)
Slider
- Fix event handling. (#8759) (Robert Moore)
-
v94.1.0 Changes
November 13, 2019π This minor release introduces new APIs to FlexibleHeader and Ripple, and updates the appearance of
MDCSnackbar
to the latest style. The release also includes bug fixes for multiple components.π New Features
FlexibleHeader
FlexibleHeader can now inform the receiver that its view's tracking scroll view has changed through the
flexibleHeaderView:didChangeTrackingScrollViewAnimated:
API. Example:Swift
class MyAnimationDelegate: NSObject, MDCFlexibleHeaderViewAnimationDelegate { func flexibleHeaderView(_ flexibleHeaderView: MDCFlexibleHeaderView, didChangeTrackingScrollViewAnimated animated: Bool) { if animated { // ... } }
Objective-C
-(BOOL)flexibleHeaderView:(MDCFlexibleHeaderView *)flexibleHeaderView didChangeTrackingScrollViewAnimated:(BOOL)animated { if (animated) { // ... } }
β Additionally, you can now animate your own changes alongside the default animations of the flexible header, by passing an animation sequence and a completion block to
animateWithAnimations:completion:
. Example:Swift
myHeaderView.animate(animations: { scrollView.contentOffset = CGPoint(x: 0, y: -100) myHeaderView.maximumHeight = 100 })
Objective-C
[myHeaderView animate:^{ scrollView.contentOffset = CGPointMake(0, -100.f); myHeaderView.maximumHeight = 100.f; }];
Component changes
ActionSheet
- Fix crash in example (#8734) (Cody Weaver)
- π Move layout code to
viewDidLayoutSubviews
(#8735) (Cody Weaver) - Use anchor-based constraints. (#8731) (Robert Moore)
Banner
- Use lastBaseLineAnchor to align buttons if they are on the same line. (#8752) (Wenyu Zhang)
- β‘οΈ stop updating custom constraints before bound size is set. (#8749) (Wenyu Zhang)
FlexibleHeader
- Add a flexibleHeaderView:didChangeTrackingScrollViewAnimated: event to MDCFlexibleHeaderViewAnimationDelegate. (#8757) (featherless)
- Add an animateWithAnimations:completion: API. (#8739) (featherless)
Ripple
- Improve MDCRippleTouchController (#8631) (Michael Schneider)
Snackbar
- π Update documentation on default. #8736 (Yarden Eitan)
TextFields
- Capture snapshots outside of view (#8718) (Andrew Overton)
-
v94.0.0 Changes
November 08, 2019π This major release adds a new configuration block to MDCSnackBarMessage and moves the currently in development MDCTextControl based TextFields from the TextFields component directory to their own TextControls directory. While there are no API changes associated with this move, it does have the potential to break anyone importing these textfields from their old location, hence the major version bump.
π New features
π§ MDCSnackBarMessage now provides a block that is called before the message is presented. This allows clients to perform last minute configurations.
Objective-C
MDCSnackbarMessage *message = [[MDCSnackbarMessage alloc] init]; message.snackbarMessageWillPresentBlock = ^(MDCSnackbarMessage *snackbarMessage, MDCSnackbarMessageView *messageView) { // Configure snackbar message. }; [MDCSnackbarManager showMessage:message];
Swift
let message = MDCSnackbarMessage() message.snackbarMessageWillPresentBlock = { snackbarMessage, messageView in // Configure snackbar message. } MDCSnackbarManager.showMessage(message)
Component changes
TextControls
- π Move new TextFields into TextControls directory. (#8726) (Andrew Overton)
Snackbar
Fix MDCSnackbarMessage convenience class methods (#8746) (Yarden Eitan)
Fix MDCSnackbarMessage convenience class methods (#8751) (Yarden Eitan)
-
v93.5.0 Changes
November 07, 2019π This minor release introduces new APIs for Slider. The track height and the visibility of track tick marks can be customized.
π New features
MDCSlider
allows customization of the track height.Objective-C
MDCSlider *slider = [[MDCSlider alloc] init]; slider.trackHeight = 4;
Swift
let slider = MDCSlider() slider.trackHeight = 4
MDCSlider
also allows controlling the display of the track tick marks for continuous and discrete sliders. Setting this property disables the automatic conversion of a slider to "discrete" when settingnumberOfDiscreteValues
.Objective-C
MDCSlider *slider = [[MDCSlider alloc] init]; // Track tick marks are always shown. Remains a continuous slider. slider.trackTickVisibility = MDCSliderTrackTickVisibilityAlways; slider.minimumValue = 0; slider.maximumValue = 100; // Show tick marks at 0, 10, 20, ..., 100 slider.numberOfDiscreteValues = 11;
Swift
let slider = MDCSlider() // Track tick marks are always shown. Remains a continuous slider. slider.trackTickVisibility = .always slider.minimumValue = 0; slider.maximumValue = 100; // Show tick marks at 0, 10, 20, ..., 100 slider.numberOfDiscreteValues = 11;
Component changes
ThumbTrack
- Discrete dots scale slowly with track height. (#8744) (Robert Moore)
Multi-component changes
- Add API to control showing tick marks. (#8743) (Robert Moore)
- Add trackHeight property (#8740) (Bryan Oltman)
- Continuous sliders show tick marks. (#8745) (Robert Moore)