diff --git a/CHANGELOG.md b/CHANGELOG.md
index d5778394845..81d75a72c04 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+# 124.0.1
+
+This patch release fixes a bug in BottomNavigation.
+
+## Component changes
+
+### BottomNavigation
+
+* [Update hidden state logic to address a race condition occurring when showing/hiding the navigation bar multiple times before the animation ends.](https://github.com/material-components/material-components-ios/commit/4f12b7da7121408e46a4ffbe09204e7a5575eabb) (German Rodriguez)
+
+---
+
# 124.0.0
In this release `MDCTextField` and its associated classes and protocols are deprecated. We also deleted the Pesto example application and cleaned up pre iOS 12 checks in the library.
diff --git a/MaterialComponents.podspec b/MaterialComponents.podspec
index 1170ab78915..0b752b8ce0e 100644
--- a/MaterialComponents.podspec
+++ b/MaterialComponents.podspec
@@ -2,7 +2,7 @@ load 'scripts/generated/icons.rb'
Pod::Spec.new do |mdc|
mdc.name = "MaterialComponents"
- mdc.version = "124.0.0"
+ mdc.version = "124.0.1"
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"
@@ -106,7 +106,7 @@ Pod::Spec.new do |mdc|
component.dependency "MDFInternationalization"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/private/Application"
- component.dependency "MotionAnimator", "~> 2.0"
+ component.dependency "MotionAnimator", "~> 4.0"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
diff --git a/MaterialComponentsEarlGreyTests.podspec b/MaterialComponentsEarlGreyTests.podspec
index 9a35519120a..3d1c99a65d8 100644
--- a/MaterialComponentsEarlGreyTests.podspec
+++ b/MaterialComponentsEarlGreyTests.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "MaterialComponentsEarlGreyTests"
- s.version = "124.0.0"
+ s.version = "124.0.1"
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."
diff --git a/MaterialComponentsExamples.podspec b/MaterialComponentsExamples.podspec
index c6db8be5920..8ea1db233c7 100644
--- a/MaterialComponentsExamples.podspec
+++ b/MaterialComponentsExamples.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "MaterialComponentsExamples"
- s.version = "124.0.0"
+ s.version = "124.0.1"
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."
diff --git a/MaterialComponentsSnapshotTests.podspec b/MaterialComponentsSnapshotTests.podspec
index 870a6671de3..04b5ec6c15d 100644
--- a/MaterialComponentsSnapshotTests.podspec
+++ b/MaterialComponentsSnapshotTests.podspec
@@ -53,7 +53,7 @@ end
Pod::Spec.new do |s|
s.name = "MaterialComponentsSnapshotTests"
- s.version = "124.0.0"
+ s.version = "124.0.1"
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"
diff --git a/VERSION b/VERSION
index f71621dd906..2c7399bd34e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-124.0.0
+124.0.1
diff --git a/catalog/MDCCatalog/Info.plist b/catalog/MDCCatalog/Info.plist
index 4a6c3d3a324..7110217ce7e 100644
--- a/catalog/MDCCatalog/Info.plist
+++ b/catalog/MDCCatalog/Info.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 124.0.0
+ 124.0.1
CFBundleSignature
????
CFBundleVersion
- 124.0.0
+ 124.0.1
LSRequiresIPhoneOS
UIAppFonts
diff --git a/catalog/MDCDragons/Info.plist b/catalog/MDCDragons/Info.plist
index bed55bf159f..d1a660cd153 100644
--- a/catalog/MDCDragons/Info.plist
+++ b/catalog/MDCDragons/Info.plist
@@ -15,9 +15,9 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 124.0.0
+ 124.0.1
CFBundleVersion
- 124.0.0
+ 124.0.1
LSRequiresIPhoneOS
UILaunchStoryboardName
diff --git a/catalog/MaterialCatalog/MaterialCatalog.podspec b/catalog/MaterialCatalog/MaterialCatalog.podspec
index 0bc8213de45..11a9296b3f0 100644
--- a/catalog/MaterialCatalog/MaterialCatalog.podspec
+++ b/catalog/MaterialCatalog/MaterialCatalog.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "MaterialCatalog"
- s.version = "124.0.0"
+ s.version = "124.0.1"
s.summary = "Helper Objective-C classes for the MDC catalog."
s.description = "This spec is made for use in the MDC Catalog."
s.homepage = "https://github.com/material-components/material-components-ios"
diff --git a/components/BottomNavigation/src/MDCBottomNavigationBarController.m b/components/BottomNavigation/src/MDCBottomNavigationBarController.m
index 78cf09dd9f4..da33c5e008f 100644
--- a/components/BottomNavigation/src/MDCBottomNavigationBarController.m
+++ b/components/BottomNavigation/src/MDCBottomNavigationBarController.m
@@ -266,19 +266,17 @@ - (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated {
self.navigationBarBottomAnchorConstraint.constant =
hidden ? CGRectGetHeight(navigationBar.frame) : 0;
- void (^completionBlock)(BOOL) = nil;
-
- if (hidden && animated) {
- // For animated hides we deffer updating the nav-bar hidden state until the animation finishes.
- completionBlock = ^(BOOL finished) {
- if (finished) {
- // Hide the view to avoid visual artifacts on rotations.
- navigationBar.hidden = hidden;
- }
- };
- } else {
- // Update `hidden` state immediately for unhide or non-animated transitions to ensure it gets
- // applied in the same run loop.
+ void (^completionBlock)(BOOL) = ^(BOOL finished) {
+ // Update the end hidden state of the navigation bar if it was not interrupted (the end state
+ // matches the current state). Otherwise an already scheduled animation will take care of this.
+ if (finished && !hidden != !self.navigationBarItemsBottomAnchorConstraint.active) {
+ navigationBar.hidden = hidden;
+ }
+ };
+
+ // Immediatelly update the navigation bar's hidden state when it is going to become visible to be
+ // able to see the animation).
+ if (!hidden) {
navigationBar.hidden = hidden;
}
diff --git a/components/LibraryInfo/src/MDCLibraryInfo.m b/components/LibraryInfo/src/MDCLibraryInfo.m
index 64a893f9e91..99bbd379927 100644
--- a/components/LibraryInfo/src/MDCLibraryInfo.m
+++ b/components/LibraryInfo/src/MDCLibraryInfo.m
@@ -19,7 +19,7 @@
// This string is updated automatically as a part of the release process and should not be edited
// manually. Do not rename this constant or change the formatting without updating the release
// scripts.
-static NSString* const kMDCLibraryInfoVersionString = @"124.0.0";
+static NSString* const kMDCLibraryInfoVersionString = @"124.0.1";
@implementation MDCLibraryInfo
diff --git a/components/LibraryInfo/tests/unit/LibraryInfoTests.m b/components/LibraryInfo/tests/unit/LibraryInfoTests.m
index 131660b3b7e..748dd4cc13b 100644
--- a/components/LibraryInfo/tests/unit/LibraryInfoTests.m
+++ b/components/LibraryInfo/tests/unit/LibraryInfoTests.m
@@ -26,7 +26,7 @@ - (void)testVersionFormat {
// Given
// This regex pattern does the following:
- // Accept: "124.0.0", etc.
+ // Accept: "124.0.1", etc.
// Reject: "0.0.0", "1.2", "1", "-1.2.3", "Hi, I'm a version 1.2.3", "1.2.3 is my version", etc.
//
// Note the major version must be >= 1 since "0.0.0" is used as the version when something goes
diff --git a/demos/supplemental/RemoteImageServiceForMDCDemos.podspec b/demos/supplemental/RemoteImageServiceForMDCDemos.podspec
index c4ddff963fb..3815555c8ff 100644
--- a/demos/supplemental/RemoteImageServiceForMDCDemos.podspec
+++ b/demos/supplemental/RemoteImageServiceForMDCDemos.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "RemoteImageServiceForMDCDemos"
- s.version = "124.0.0"
+ s.version = "124.0.1"
s.summary = "A helper image class for the MDC demos."
s.description = "This spec is made for use in the MDC demos. It gets images via url."
s.homepage = "https://github.com/material-components/material-components-ios"