2.6.0

This minor release increases test coverage, fixes a variety of bugs related to beginFromCurrentState, and generally improves the stability and robustness of the underlying implementation.

New features

The following key paths are now officially supported: MDMKeyPathBounds, MDMKeyPathShadowOffset, MDMKeyPathShadowOpacity, and MDMKeyPathShadowRadius.

Source changes

API changes

MDMAnimatableKeyPaths

new supported key paths: MDMKeyPathBounds, MDMKeyPathShadowOffset, MDMKeyPathShadowOpacity, and MDMKeyPathShadowRadius.

Non-source changes

2.5.0

This minor release makes CALayer implicit animation support more robust while simplifying the internal animator implementation.

New deprecations

MDMMotionAnimator's +sharedLayerDelegate API has been deprecated and is no longer needed to animate headless CALayer instances.

New features

The animator now supports additive animations on CALayer's shadowOffset property.

Source changes

API changes

MDMMotionAnimator

deprecated method: +sharedLayerDelegate

2.4.0

This minor release introduces support for implicitly animating CALayers that have been created
independently of a UIView. To use this new functionality, consider the following example:

let layer = CALayer()
layer.delegate = MotionAnimator.sharedLayerDelegate()
animator.animate(with: timing) {
  layer.opacity = 0.5
}

New features

Added support for adding implicit animations to headless CALayer instances.

Source changes

API changes

MDMMotionAnimator

new method: +sharedLayerDelegate

Non-source changes

2.3.0

This minor release introduces new features for working with gestural interactions.

New features

Added two new methods for removing and stopping running animations.

Source changes

API changes

MDMMotionAnimator

new method: removeAllAnimations

new method: stopAllAnimations

2.2.1

This patch release fixes a bug where CGPoint and CGSize spring animations would not properly extract
initial velocity from their motion timings.

Source changes

Non-source changes

2.2.0

This minor release introduces support for the new initial velocity spring curve value in
MotionInterchange v1.3.0. This release also includes additional public and internal documentation.

Dependency changes

The minimum MotionInterchange version has been increased to v1.3.0.

New features

MDMMotionAnimator now supports initial velocity for spring curves.

Source changes

Non-source changes

2.1.1

This patch release fixes issues with downstream bazel builds.

Source changes

Non-source changes

2.1.0

This minor release introduces new implicit animation APIs. These APIs provide a migration path from
existing UIView animateWithDuration:... code.

New features

New APIs for writing implicit animations in UIView style:

animator.animate(with: timing) {
  view.alpha = 0
}

Source changes

API changes

MDMMotionAnimator

new method: animateWithTiming:animations:

new method: animateWithTiming:animations:completion:

Non-source changes

2.0.2

This patch release includes minor fixes for CocoaPods unit tests.

CocoaPods Swift modules require that header dependencies be imported using <> notation.

Source changes

2.0.1

This patch release includes minor fixes for bazel + kokoro continuous integration.

Source changes

2.0.0

This major release includes several new APIs, bug fixes, and internal cleanup.

Breaking changes

The animator now adds non-additive animations with the keyPath as the animation key. This is a
behavioral change in that animations will now remove the current animation with the same key.

Bug fixes

Implicit animations are no longer created when adding animations within a UIView animation block.

New features

New keypath constants:

New APIs on CATransaction for setting a transaction-specific timeScaleFactor:

CATransaction.begin()
CATransaction.mdm_setTimeScaleFactor(0.5)
animator.animate...
CATransaction.commit()

Source changes

API changes

CATransaction

new method: mdm_timeScaleFactor.

new method: mdm_setTimeScaleFactor:.

Animatable key paths

new constant: MDMKeyPathBackgroundColor

new constant: MDMKeyPathPosition

new constant: MDMKeyPathRotation

new constant: MDMKeyPathStrokeStart

new constant: MDMKeyPathStrokeEnd

MDMCoreAnimationTraceable

new protocol: MDMCoreAnimationTraceable

1.1.3

This patch release resolves an Xcode 9 build warning.

Source changes

Non-source changes

1.1.2

Added support for Xcode 7 builds.

Source changes

1.1.1

Bug fix release due to compiler warnings.

Breaking changes

New deprecations

New features

Source changes

1.1.0

This minor change resolves some Xcode 9 warnings and introduces the ability to speed up or slow down animations.

New features

Source changes

1.0.1

This is a patch fix release to address build issues within Google's build environment.

Source changes

1.0.0

Initial release.

Includes MDMMotionAnimator and a small set of pre-defined animatable key paths.

Source changes

Non-source changes