Skip to content

Releases: material-components/material-components-ios

v55.0.0

03 May 16:00
Compare
Choose a tag to compare

This major release introduces breaking changes to CocoaPods dependencies. Please read the breaking changes section for more details.

This release also includes a significant amount of documnetation polish and some accessibility bug fixes.

Breaking changes

CocoaPods +Extension targets have been removed and replaced with more specific targets for the
individual extensions. For example, if you were importing a component's extensions like this before:

pod 'MaterialComponents/Buttons+Extensions'

You'll now need to depend on the individual Button extension targets that you're making use of:

pod 'MaterialComponents/Buttons+ButtonThemer'

To see a full list of available extensions for a given component, read the
MaterialComponents.podspec file.

API changes

Component changes

Tabs

Changes

schemes/Color

Changes

schemes/Typography

Changes

FeatureHighlight

Changes

AppBar

Changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Read more

v54.13.0

01 May 18:04
Compare
Choose a tag to compare

This release focused on documentation across all of our componentry and introduced new outlined
themes for components. There have also been significant improvements to theming in the MDCCatalog
app.

New features

Buttons, Cards, and Chips now support outlined themes.

// Buttons:
[MDCOutlinedButtonThemer applyScheme:buttonScheme toButton:outlinedButton];

// Cards:
[MDCCardThemer applyOutlinedVariantWithScheme:cardScheme toCard:component];

// Chips:
[MDCChipViewThemer applyOutlinedVariantWithScheme:cardScheme toChipView:component];

Chip hit areas can now be modified using the new hitAreaInsets API:

chip.hitAreaInsets = UIEdgeInsetsMake(chipVerticalInset, 0, chipVerticalInset, 0);

API changes

Chips

MDCChipView

new property: hitAreaInsets in MDCChipView

Component changes

Tabs

Changes

MaskedTransition

Changes

schemes/Color

Changes

schemes/Typography

Changes

FeatureHighlight

Changes

AppBar

Changes

Ink

Changes

CollectionCells

Changes

Buttons

Changes

Read more

v54.12.0

26 Apr 15:25
Compare
Choose a tag to compare

This release introduces umbrella headers for all themer targets. We encourage you to start using the
new umbrella headers for all themer APIs.

For example, Swift imports would change like so:

// Before
import MaterialComponents.MDCActivityIndicatorColorThemer
// After
import MaterialComponents.MaterialActivityIndicator_ColorThemer

While Objective-C imports would change like so:

// Before
#import "MDCAppBarColorThemer.h"
// After
#import "MaterialAppBar+ColorThemer.h"

We are focused on polishing the Catalog with the new theming systems and updating our component
documentation accordingly. Few new features, if any, will be added over the next few releases.

API changes

Component changes

Tabs

Changes

schemes/Color

Changes

FeatureHighlight

Changes

AppBar

Changes

Ink

Changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Chips

Changes

Read more

v54.11.1

24 Apr 14:34
Compare
Choose a tag to compare

Component changes

ButtonBar

Changes

v54.11.0

23 Apr 18:31
Compare
Choose a tag to compare

This release is the final push towards supporting themers on our components.

We will now shift focus to polishing APIs, documentation, and examples and to fixing bugs.

New features

It is now possible to configure colors on BottomNavigation, ButtonBar, NavigationBar, and Tabs
statefully.

TextFields now allows customization of the active floating placeholder color.

MDCTabBar now allows the display of a bottom divider using the bottomDividerColor API.

API changes

BottomNavigation

MDCBottomNavigationBar

new property: selectedItemTitleColor in MDCBottomNavigationBar

ButtonBar

MDCButtonBar

new method: -buttonsTitleColorForState: in MDCButtonBar

new method: -setButtonsTitleColor:forState: in MDCButtonBar

Buttons

MDCButton

new method: -imageTintColorForState: in MDCButton

new method: -setImageTintColor:forState: in MDCButton

NavigationBar

MDCNavigationBar

new method: -setButtonsTitleColor:forState: in MDCNavigationBar

new method: -buttonsTitleColorForState: in MDCNavigationBar

Tabs

MDCTabBarItemState

new typedef: MDCTabBarItemState

new enum value: MDCTabBarItemStateSelected in MDCTabBarItemState

new enum: MDCTabBarItemState

new enum value: MDCTabBarItemStateNormal in MDCTabBarItemState

MDCTabBar

new method: -imageTintColorForState: in MDCTabBar

new method: -titleColorForState: in MDCTabBar

new method: -setImageTintColor:forState: in MDCTabBar

new property: bottomDividerColor in MDCTabBar

new method: -setTitleColor:forState: in MDCTabBar

TextFields

MDCTextInputControllerFloatingPlaceholder

new property: floatingPlaceholderActiveColorDefault in MDCTextInputControllerFloatingPlaceholder

new property: floatingPlaceholderActiveColor in MDCTextInputControllerFloatingPlaceholder

Component changes

Tabs

Changes

AppBar

Changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Snackbar

Changes

NavigationBar

Changes

BottomNavigation

Changes

v54.10.0

20 Apr 18:38
Compare
Choose a tag to compare

This release continues to increase coverage of themers across our components.

New features

ButtonBar now has a Typography themer.

NavigationBar now has APIs for customizing title button fonts.

API changes

NavigationBar

MDCNavigationBar

new method: -setButtonsTitleFont:forState: in MDCNavigationBar

new method: -buttonsTitleFontForState: in MDCNavigationBar

Component changes

Buttons

Changes

ButtonBar

Changes

Chips

Changes

NavigationBar

Changes

v54.9.0

19 Apr 16:32
Compare
Choose a tag to compare

This release continues to improve the support for our themer APIs across all components.

New features

Button Bar now allows button typography to be configured.

Floating buttons and contained buttons now have themers.

AppBar and Tabs now have a surface variant color themer API.

Slider now has a color themer.

API changes

ButtonBar

MDCButtonBar

new method: -setButtonsTitleFont:forState: in MDCButtonBar

new method: -buttonsTitleFontForState: in MDCButtonBar

Component changes

Tabs

Changes

AppBar

Changes

Ink

Changes

Buttons

Changes

ButtonBar

Changes

Chips

Changes

Slider

Changes

ShadowLayer

Changes

v54.8.0

18 Apr 14:39
Compare
Choose a tag to compare

This new release introduces shapes support to buttons and a variety of new themer APIs for many
components.

New features

Buttons can now be styled with different shape outlines. Example usage:

MDCRectangleShapeGenerator *raisedShapeGenerator =
    [[MDCRectangleShapeGenerator alloc] init];
[raisedShapeGenerator setCorners:[[MDCCutCornerTreatment alloc] initWithCut:8.f]];
button.shapeGenerator = raisedShapeGenerator;

There is a new Text Button API for theming an MDCButton to make complete use of typography, color,
and other configurable properties of a button's design. A button themed as a text button is closely
equivalent to the MDCFlatButton class, MDCFlatButton will soon be deprecated as a result in
favor of the following pattern:

// Define your button's scheme somewhere centrally in your app.
let buttonScheme = MDCButtonScheme()
buttonScheme.colorScheme = myAppColorScheme

// Apply the button scheme to an MDCButton to give it the appearance of a text button.
// button: MDCButton
MDCTextButtonThemer.applyScheme(buttonScheme, to: button)

NavigationBar and FlexibleHeader now both have a surface variant themer.

Chips and Tabs have updated color themers.

API changes

Buttons

MDCButton

new property: shapeGenerator in MDCButton

Component changes

Tabs

Changes

Buttons

Changes

Chips

Changes

NavigationBar

Changes

FlexibleHeader

Changes

v54.7.0

17 Apr 13:31
Compare
Choose a tag to compare

This release introduces a new API for compositing colors for use by color themers.

API diff

schemes/Color

new method: MDCSemanticColorScheme +blendColor:withBackgroundColor:

Component changes

schemes/Color

Changes

ButtonBar

Changes

Cards

Changes

v54.6.1

16 Apr 20:34
Compare
Choose a tag to compare

This is a hotfix release fixing a bug in ButtonBar that was introduced in 54.6.0.

Component changes

ButtonBar

Changes