Skip to content

Commit

Permalink
Merge branch 'release-candidate' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
Robert Moore committed Aug 21, 2019
2 parents 795a3ae + c4e97e3 commit 3d4b955
Show file tree
Hide file tree
Showing 92 changed files with 1,652 additions and 7,367 deletions.
208 changes: 208 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,211 @@
# 88.0.0

This major release removes the `mdc_legacyFontScaling` API from Chips and
Buttons. Ripple's colors when combining `.highlighted` with the `.selected`
or `.dragged` states fall-back to the color for the `.normal` state rather
than for the `.selected` or `.dragged` state. Snackbar allows disabling the
legacy font scaling behavior when no attached Material scaling curves are
found on its fonts. TextFields fully supports Material Elevation, ActionSheet
fixed a bug with dynamic color support, and Banner received a Theming
Extension. Several experimental examples were removed from TextFields.

## Breaking changes

Buttons and Chips removed the `mdc_legacyFontScaling` API. It can be replaced
with `adjustsFontForContentSizeCategoryWhenScaledFontIsUnavailable` in all
instances without any change in behavior.

## New deprecations

Typography's API `mdc_adjustsFontForContentSizeCategory` is now deprecated and
will be replaced with `useCurrentContentSizeCategoryWhenApplied`. It will be
removed in a future release.

## New features

### Ripple State Management

Unless a color is explicitly set for the combination state,
`MDCStatefulRippleView` now falls-back to the `.normal` color when either the
`.selected` or `.dragged` states are combined with the `.highlighted` state.
This more closely matches the behavior of `UIControl` subclasses.

### Snackbar Dynamic Type

`MDCSnackbarManager` and `MDCSnackbarMessageView` both allow disabling of the
fall-back Material Typography behavior for Dynamic Type support. When the
`adjustsFontForContentSizeCategoryWhenScaledFontIsUnavailable` property is
`YES` and no Material scaling curves are found attached to the fonts, then no
automatic Dynamic Type scaling will take place for the manager's or view's
fonts. This effectively disables the pre-2019 behavior for Dynamic Type.

### TextFields Support Material Elevation

`MDCMultilineTextField` now supports Material Elevation. Clients can assign a
value for `mdc_overrideBaseElevation` or an `elevationDidChangeBlock` to
ensure that both the Text Field and any subviews can react to elevation
changes.

### Banner Theming

`MDCBannerView` now supports a Theming Extension. Please note that Banner is
still in Beta and not published to CocoaPods.

```objc
MDCBannerView *banner = [[MDCBannerView alloc] init];
id<MDCContainerScheming> containerScheme = [[MDCContainerScheme alloc] init];
[banner applyThemeWithScheme:containerScheme];
```

## API changes

### Banner+Theming

**New extension.**

### Buttons

#### MDCButton

*removed* property: `mdc_legacyFontScaling` in `MDCButton`

### Snackbar

#### MDCSnackbarManager

*new* property: `adjustsFontForContentSizeCategoryWhenScaledFontIsUnavailable` in `MDCSnackbarManager`

#### MDCSnackbarMessageView()

*new* category: `MDCSnackbarMessageView()`

*removed* category: `MDCSnackbarMessageView()`

*modified* property: `snackbarMessageViewTextColor` in `MDCSnackbarMessageView()`

| Type of change: | parent.usr |
|---|---|
| From: | `c:objc(ext)[email protected]@4029` |
| To: | `c:objc(ext)[email protected]@4574` |

#### MDCSnackbarMessageView

*new* property: `adjustsFontForContentSizeCategoryWhenScaledFontIsUnavailable` in `MDCSnackbarMessageView`

### TextFields

#### MDCMultilineTextField

*modified* class: `MDCMultilineTextField`

| Type of change: | Declaration |
|---|---|
| From: | `@interface MDCMultilineTextField : UIView <MDCTextInput, MDCMultilineTextInput>` |
| To: | `@interface MDCMultilineTextField : UIView` |

*modified* class: `MDCMultilineTextField`

| Type of change: | Swift declaration |
|---|---|
| From: | `class MDCMultilineTextField : UIView, MDCTextInput, MDCMultilineTextInput` |
| To: | `class MDCMultilineTextField : UIView` |

### TypographyScheme

#### MDCTypographyScheming

*modified* property: `mdc_adjustsFontForContentSizeCategory` in `MDCTypographyScheming`

| Type of change: | Deprecation |
|---|---|
| From: | `0` |
| To: | `1` |

*modified* property: `mdc_adjustsFontForContentSizeCategory` in `MDCTypographyScheming`

| Type of change: | Deprecation message |
|---|---|
| From: | `` |
| To: | `Use useCurrentContentSizeCategoryWhenApplied instead.` |

## Component changes

## Changes

### ActionSheet

* [Update cells when the background is set. (#8341)](https://github.com/material-components/material-components-ios/commit/841bfc6948ded0a5ba77791f0377f4b2abd07156) (Cody Weaver)

### Banner

* [Refactor theming extension to use new color method for elevation.(#8332)](https://github.com/material-components/material-components-ios/commit/2d0bf3d5c967a23901f607acc60a711a47e6d566) (Wenyu Zhang)

### Buttons

* [Add theming extension. (#8285)](https://github.com/material-components/material-components-ios/commit/68f5b9d1e491b7764adf582353757891ae93652b) (Wenyu Zhang)
* [Clarify docs for accessibilityTraitsIncludesButton. (#8328)](https://github.com/material-components/material-components-ios/commit/46a38b50718cbc4761f3af159ae6a5a52ebd3045) (Robert Moore)
* [Delete deprecated mdc_legacyFontScaling API. (#8306)](https://github.com/material-components/material-components-ios/commit/a703c2359420c6af2c38987ee24c4ee59b116155) (Wenyu Zhang)

### Chips

* [delete deprecated mdc_legacyFontScaling. (#8305)](https://github.com/material-components/material-components-ios/commit/ffd8a84fc110ff61dda2d5123e01da78b36eb161) (Wenyu Zhang)

### Elevation

* [Add a convenience method to resolve dynamic color only when traitCollection's color appearance has changed. (#8315)](https://github.com/material-components/material-components-ios/commit/ba2336c38e2a3877f1579c6cb771dfcc0516320d) (Wenyu Zhang)
* [Fix spelling error (#8336)](https://github.com/material-components/material-components-ios/commit/614820316af915429e22342c98ec6740f8e16e9b) (Cody Weaver)

### Ink

* [Remove use of `NS_ASSUME_NONNULL_BEGIN`. (#8298)](https://github.com/material-components/material-components-ios/commit/1ca983726f5e1200c5c5610136cd009af0aa3b57) (Robert Moore)

### List

* [Fix docs markdown. (#8294)](https://github.com/material-components/material-components-ios/commit/ea2f2ca2ebc52a514cd690e50ef498fb950cbfc9) (Robert Moore)
* [Fix missing images on material.io. (#8310)](https://github.com/material-components/material-components-ios/commit/63ce18bfb337152cd337a27f84a1cca04c2f8167) (Robert Moore)
* [Fix remaining code blocks. (#8313)](https://github.com/material-components/material-components-ios/commit/39bcd3e651829ae09d4a2a296e556872a0011fd7) (Robert Moore)
* [Fix typo in README (#8302)](https://github.com/material-components/material-components-ios/commit/70bb5995e7cdaa68ea673e29fd26fa2ca60f8e72) (Robert Moore)

### Ripple

* [Fixing selection state in Ripple (#7609)](https://github.com/material-components/material-components-ios/commit/87cc5aa535a3e9821488fd917d5588716d672aa1) (Galia Kaufman)

### Shapes

* [Update border color to support dynamic color (#8308)](https://github.com/material-components/material-components-ios/commit/a18d6e6b412375ecca86ea0d43da16b821d6f2f8) (Cody Weaver)

### Slider

* [Remove use of `NS_ASSUME_NONNULL_BEGIN`. (#8300)](https://github.com/material-components/material-components-ios/commit/efdbb44938da11a8f155bb5f86613fd7d2dbee62) (Robert Moore)

### Snackbar

* [Add dynamic type M2 support. (#8303)](https://github.com/material-components/material-components-ios/commit/ab552b1ae07ad2b21dd6fe3c86a259fe60f0d595) (Wenyu Zhang)
* [Adding traitCollection and elevationDidChange blocks of the messageView in the manager. (#8330)](https://github.com/material-components/material-components-ios/commit/b00771afb7c4b6c4b8c2425b7ba7fd02a4e6ea7f) (Yarden Eitan)

### TextFields

* [Add MDCBaseTextFieldLayout object with leading/trailing view behavior (#8292)](https://github.com/material-components/material-components-ios/commit/74c2f3f962636d15a5bfdeb7af6f61db20ea7179) (Andrew Overton)
* [Add MaterialElevation support. (#8325)](https://github.com/material-components/material-components-ios/commit/5ce079eca870b4bc22fc8f213482d2199c118a24) (Cody Weaver)
* [Add MaterialElevation support. (#8333)](https://github.com/material-components/material-components-ios/commit/81729e13e313b1921f4e78f73f0319a4ebd3dfb2) (Cody Weaver)
* [Remove Experimental BUILD targets. (#8322)](https://github.com/material-components/material-components-ios/commit/64bc79daebc06420079140964f5735884e64ec99) (Robert Moore)
* [Remove use of `NS_ASSUME_NONNULL_BEGIN`. (#8301)](https://github.com/material-components/material-components-ios/commit/f14a71f02fcd6af13c44c6ed2728e6dce6b1c877) (Robert Moore)
* [Revert "Revert "[TextFields] Add MDCBaseTextFieldLayout object with leading/trailing view behavior (#8292)" #8316" (#8320)](https://github.com/material-components/material-components-ios/commit/b531792527bb286044a7b40e38012ddbb539c135) (Andrew Overton)
* [Revert "[TextFields] Add MDCBaseTextFieldLayout object with leading/trailing view behavior (#8292)" (#8316)](https://github.com/material-components/material-components-ios/commit/a80df6dbd092f3d4498d8c60d8bafde71c0e36e9) (Robert Moore)
* [Delete experimental textfields (#8317)](https://github.com/material-components/material-components-ios/commit/fecd9092639c19b8127ec495355aa9e2f5326702) (Andrew Overton)

### private/Color

* [Add a method for MDC to call resolveColorWithTraitCollection on pre-iOS 13 (#8307)](https://github.com/material-components/material-components-ios/commit/a1d1296884a3158ed1c32c04cd437ee2b11ef278) (Cody Weaver)
* [Remove use of `NS_ASSUME_NONNULL_BEGIN`. (#8299)](https://github.com/material-components/material-components-ios/commit/e6389754e155c1d97fbb1d8b48773ebf86e9c4a4) (Robert Moore)

### schemes/Typography

* [Add deprecation flag to mdc_adjustsFontForContentSizeCategory. (#8312)](https://github.com/material-components/material-components-ios/commit/cd4098cb65b6a6117b3bdff1a24574eea1be44bf) (Wenyu Zhang)
* [add doc to clarify useCurrentContentSizeCategoryWhenApplied. (#8311)](https://github.com/material-components/material-components-ios/commit/14aa5b9ac6f237056eb7c00a9044dafdee5711db) (Wenyu Zhang)

---

# 87.1.1

This patch release corrects issues with Git-LFS on the `stable` branch.
Expand Down
2 changes: 1 addition & 1 deletion MaterialComponents.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ load 'scripts/generated/icons.rb'

Pod::Spec.new do |mdc|
mdc.name = "MaterialComponents"
mdc.version = "87.1.1"
mdc.version = "88.0.0"
mdc.authors = "The Material Components authors."
mdc.summary = "A collection of stand-alone production-ready UI libraries focused on design details."
mdc.homepage = "https://github.com/material-components/material-components-ios"
Expand Down
24 changes: 23 additions & 1 deletion MaterialComponentsBeta.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |mdc|
mdc.name = "MaterialComponentsBeta"
mdc.version = "87.1.1"
mdc.version = "88.0.0"
mdc.authors = "The Material Components authors."
mdc.summary = "A collection of stand-alone alpha UI libraries that are not yet guaranteed to be ready for general production use. Use with caution."
mdc.homepage = "https://github.com/material-components/material-components-ios"
Expand Down Expand Up @@ -71,6 +71,28 @@ Pod::Spec.new do |mdc|
end
end

mdc.subspec "Banner+Theming" do |extension|
extension.ios.deployment_target = '9.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponentsBeta/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/Buttons"
extension.dependency "MaterialComponents/Buttons+Theming"
extension.dependency "MaterialComponents/Elevation"
extension.dependency "MaterialComponents/Typography"
extension.dependency "MaterialComponents/schemes/Container"

extension.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{extension.base_name.split('+')[0]}/tests/unit/#{extension.base_name.split('+')[1]}/*.{h,m,swift}"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end

mdc.subspec "BottomNavigation" do |component|
component.ios.deployment_target = '9.0'
component.public_header_files = "components/#{component.base_name}/src/MDCBottomNavigationBarController.h", "components/#{component.base_name}/src/MaterialBottomNavigationBeta.h"
Expand Down
2 changes: 1 addition & 1 deletion MaterialComponentsEarlGreyTests.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "MaterialComponentsEarlGreyTests"
s.version = "87.1.1"
s.version = "88.0.0"
s.authors = "The Material Components authors."
s.summary = "This spec is an aggregate of all the Material Components EarlGrey tests."
s.description = "This spec is made for use in the MDC Catalog."
Expand Down
23 changes: 4 additions & 19 deletions MaterialComponentsExamples.podspec
Original file line number Diff line number Diff line change
@@ -1,21 +1,6 @@
experimental_sources = [
'components/*/examples/experimental/supplemental/*.{h,m,swift}',
'components/*/examples/experimental/*.{h,m,swift}',
]

experimental_headers = [
'components/*/examples/experimental/supplemental/*.h',
'components/*/examples/experimental/*.h',
]

experimental_resources = [
'components/*/examples/experimental/resources/*'
]


Pod::Spec.new do |s|
s.name = "MaterialComponentsExamples"
s.version = "87.1.1"
s.version = "88.0.0"
s.authors = "The Material Components authors."
s.summary = "This spec is an aggregate of all the Material Components examples."
s.description = "This spec is made for use in the MDC Catalog. Used in conjunction with CatalogByConvention we create our Material Catalog."
Expand All @@ -24,10 +9,10 @@ Pod::Spec.new do |s|
s.source = { :git => "https://github.com/material-components/material-components-ios.git", :tag => "v#{s.version}" }
s.platform = :ios, '9.0'
s.requires_arc = true
s.source_files = experimental_sources + ['components/*/examples/*.{h,m,swift}', 'components/*/examples/supplemental/*.{h,m,swift}', 'components/private/*/examples/*.{h,m,swift}', 'components/schemes/*/examples/*.{h,m,swift}', 'components/schemes/*/examples/supplemental/*.{h,m,swift}']
s.source_files = ['components/*/examples/*.{h,m,swift}', 'components/*/examples/supplemental/*.{h,m,swift}', 'components/private/*/examples/*.{h,m,swift}', 'components/schemes/*/examples/*.{h,m,swift}', 'components/schemes/*/examples/supplemental/*.{h,m,swift}']

s.resources = experimental_resources + ['components/*/examples/resources/*', 'components/private/*/examples/resources/*', 'components/schemes/*/examples/resources/*']
s.resources = ['components/*/examples/resources/*', 'components/private/*/examples/resources/*', 'components/schemes/*/examples/resources/*']
s.dependency 'MaterialComponents'
s.dependency 'MaterialComponentsBeta'
s.public_header_files = experimental_headers + ['components/*/examples/*.h', 'components/*/examples/supplemental/*.h', 'components/private/*/examples/*.h', 'components/schemes/*/examples/*.h']
s.public_header_files = ['components/*/examples/*.h', 'components/*/examples/supplemental/*.h', 'components/private/*/examples/*.h', 'components/schemes/*/examples/*.h']
end
2 changes: 1 addition & 1 deletion MaterialComponentsSnapshotTests.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ end

Pod::Spec.new do |s|
s.name = "MaterialComponentsSnapshotTests"
s.version = "87.1.1"
s.version = "88.0.0"
s.authors = "The Material Components authors."
s.summary = "This spec is an aggregate of all the Material Components snapshot tests."
s.homepage = "https://github.com/material-components/material-components-ios"
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
87.1.1
88.0.0
Original file line number Diff line number Diff line change
Expand Up @@ -82,24 +82,8 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "NO"
codeCoverageEnabled = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "664524B21C6BA62A001ADBF8"
BuildableName = "MDCCatalog.app"
BlueprintName = "MDCCatalog"
ReferencedContainer = "container:MDCCatalog.xcodeproj">
</BuildableReference>
</MacroExpansion>
<EnvironmentVariables>
<EnvironmentVariable
key = "FB_REFERENCE_IMAGE_DIR"
value = "$(SOURCE_ROOT)/../snapshot_test_goldens/goldens"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
codeCoverageEnabled = "YES"
shouldUseLaunchSchemeArgsEnv = "NO">
<Testables>
<TestableReference
skipped = "NO">
Expand Down Expand Up @@ -801,7 +785,35 @@
ReferencedContainer = "container:Pods/Pods.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "417F4BB5FA07D3B5C1A334F54B8555C5"
BuildableName = "MaterialComponentsBeta-Unit-Banner+Theming-UnitTests.xctest"
BlueprintName = "MaterialComponentsBeta-Unit-Banner+Theming-UnitTests"
ReferencedContainer = "container:Pods/Pods.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "664524B21C6BA62A001ADBF8"
BuildableName = "MDCCatalog.app"
BlueprintName = "MDCCatalog"
ReferencedContainer = "container:MDCCatalog.xcodeproj">
</BuildableReference>
</MacroExpansion>
<EnvironmentVariables>
<EnvironmentVariable
key = "FB_REFERENCE_IMAGE_DIR"
value = "$(SOURCE_ROOT)/../snapshot_test_goldens/goldens"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
Expand All @@ -823,6 +835,8 @@
ReferencedContainer = "container:MDCCatalog.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand Down
Loading

0 comments on commit 3d4b955

Please sign in to comment.