This patch release resolves some missed warnings in 4.0.0 and fixes a broken test on iOS 13+14.
This major release drops official support for Bazel and iOS 9.
This major release drops official support for iOS 8.
This major release upgrades the bazel dependencies and workspace. This change is breaking for anyone using bazel to build this library. In order to use this library with bazel, you will also need to upgrade your workspace versions to match the ones now used in this library's WORKSPACE file.
This patch release introduces a compatibility initializer for creating Objective-C animation traits from C-style motion timings.
Auto-generated by running:
apidiff origin/stable release-candidate objc src/MotionInterchange.h
new method: -initWithMotionTiming: in MDMAnimationTraits(Legacy)
new category: MDMAnimationTraits(Legacy)
This minor release introduces new Objective-C APIs for creating and storing animation traits.
All of the original C-style APIs for animation timing are now informally deprecated. We will remove these APIs in the future.
New Objective-C APIs for storing animation traits.
| Old API | New API | Rationale |
|---|---|---|
| MotionTiming | AnimationTraits | This structure is intended to describe animations only, not motion in general. |
| MotionCurve | TimingCurve | This brings the API name closer to the similarly-purposed CAMediaTimingFunction. MotionCurve could also be easily confused with motion through x/y space rather than through time (e.g. ArcMove), which will be problematic as we start defining paths of motion through space. |
| MotionRepetition | RepetitionTraits | This aligns the naming with AnimationTraits. |
Auto-generated by running:
apidiff origin/stable release-candidate objc src/MotionInterchange.h
new class: MDMRepetitionOverTime
new method: -initWithDuration:autoreverses: in MDMRepetitionOverTime
new method: -init in MDMRepetitionOverTime
new property: duration in MDMRepetitionOverTime
new method: -initWithDuration: in MDMRepetitionOverTime
new protocol: MDMTimingCurve
new category: CAMediaTimingFunction()
new property: autoreverses in MDMRepetitionTraits
new protocol: MDMRepetitionTraits
modified function: MDMMotionCurveMakeSpringWithInitialVelocity
| Type of change: | Swift declaration |
|---|---|
| From: | func MotionCurveMakeSpring(mass: Float, tension: Float, friction: Float, initialVelocity: Float) -> MotionCurve |
| To: | func MotionCurveMakeSpring(mass: CGFloat, tension: CGFloat, friction: CGFloat, initialVelocity: CGFloat) -> MotionCurve |
modified function: MDMMotionCurveMakeSpringWithInitialVelocity
| Type of change: | Declaration |
|---|---|
| From: | extern MDMMotionCurve MDMMotionCurveMakeSpringWithInitialVelocity( float mass, float tension, float friction, float initialVelocity) |
| To: | extern MDMMotionCurve MDMMotionCurveMakeSpringWithInitialVelocity( CGFloat mass, CGFloat tension, CGFloat friction, CGFloat initialVelocity) |
new property: tension in MDMSpringTimingCurve
new method: -init in MDMSpringTimingCurve
new property: friction in MDMSpringTimingCurve
new property: initialVelocity in MDMSpringTimingCurve
new property: mass in MDMSpringTimingCurve
new class: MDMSpringTimingCurve
new method: -initWithMass:tension:friction: in MDMSpringTimingCurve
new method: -initWithMass:tension:friction:initialVelocity: in MDMSpringTimingCurve
new class: MDMAnimationTraits
new property: repetition in MDMAnimationTraits
new property: delay in MDMAnimationTraits
new property: duration in MDMAnimationTraits
new method: -initWithDelay:duration:animationCurve: in MDMAnimationTraits
new method: -initWithDelay:duration:timingCurve:repetition: in MDMAnimationTraits
new method: -initWithDuration:animationCurve: in MDMAnimationTraits
new method: -initWithDelay:duration: in MDMAnimationTraits
new method: -init in MDMAnimationTraits
new method: -initWithDelay:duration:timingCurve: in MDMAnimationTraits
new method: -initWithDuration: in MDMAnimationTraits
new property: timingCurve in MDMAnimationTraits
new method: -mdm_reversed in CAMediaTimingFunction(MotionInterchangeExtension)
new property: mdm_point1 in CAMediaTimingFunction(MotionInterchangeExtension)
new category: CAMediaTimingFunction(MotionInterchangeExtension)
new property: mdm_point2 in CAMediaTimingFunction(MotionInterchangeExtension)
modified function: MDMMotionCurveMakeSpring
| Type of change: | Swift declaration |
|---|---|
| From: | func MotionCurveMakeSpring(mass: Float, tension: Float, friction: Float) -> MotionCurve |
| To: | func MotionCurveMakeSpring(mass: CGFloat, tension: CGFloat, friction: CGFloat) -> MotionCurve |
modified function: MDMMotionCurveMakeSpring
| Type of change: | Declaration |
|---|---|
| From: | extern MDMMotionCurve MDMMotionCurveMakeSpring(float mass, float tension, float friction) |
| To: | extern MDMMotionCurve MDMMotionCurveMakeSpring(CGFloat mass, CGFloat tension, CGFloat friction) |
new category: MDMAnimationTraits(SystemTraits)
new property: systemModalMovement in MDMAnimationTraits(SystemTraits)
new property: initialVelocity in MDMSpringTimingCurveGenerator
new class: MDMSpringTimingCurveGenerator
new method: -init in MDMSpringTimingCurveGenerator
new method: -initWithDuration:dampingRatio:initialVelocity: in MDMSpringTimingCurveGenerator
new property: dampingRatio in MDMSpringTimingCurveGenerator
new method: -springTimingCurve in MDMSpringTimingCurveGenerator
new method: -initWithDuration:dampingRatio: in MDMSpringTimingCurveGenerator
new property: duration in MDMSpringTimingCurveGenerator
modified function: MDMMotionCurveMakeBezier
| Type of change: | Swift declaration |
|---|---|
| From: | func MotionCurveMakeBezier(p1x: Float, p1y: Float, p2x: Float, p2y: Float) -> MotionCurve |
| To: | func MotionCurveMakeBezier(p1x: CGFloat, p1y: CGFloat, p2x: CGFloat, p2y: CGFloat) -> MotionCurve |
modified function: MDMMotionCurveMakeBezier
| Type of change: | Declaration |
|---|---|
| From: | extern MDMMotionCurve MDMMotionCurveMakeBezier(float p1x, float p1y, float p2x, float p2y) |
| To: | extern MDMMotionCurve MDMMotionCurveMakeBezier(CGFloat p1x, CGFloat p1y, CGFloat p2x, CGFloat p2y) |
new method: -initWithNumberOfRepetitions:autoreverses: in MDMRepetition
new method: -initWithNumberOfRepetitions: in MDMRepetition
new class: MDMRepetition
new property: numberOfRepetitions in MDMRepetition
new method: -init in MDMRepetition
This minor release introduces new APIs for creating springs that have an initial velocity.
Added new APIs for creating springs with initial velocity: MDMMotionCurveMakeSpringWithInitialVelocity and _MDMSpringWithInitialVelocity.
new function: MDMMotionCurveMakeSpringWithInitialVelocity
new macro: _MDMSpringWithInitialVelocity
This minor releases introduces new APIs for defining motion curves.
MDMMotionCurveTypeDefault is now deprecated. Use MDMMotionCurveTypeBezier instead.
The new MDMLinearMotionCurve macro allows you to define linear easing curves in specs.
Spring curve specs can now define initial velocity. This value can be read using the new MDMSpringMotionCurveDataIndexInitialVelocity enum value for MDMSpringMotionCurveDataIndex.
new enum: MDMSpringMotionCurveDataIndexInitialVelocity.
new constant/macro: MDMLinearMotionCurve.
This minor release introduces a new API for reversing cubic beziers and a unit test for MDMModalMovementTiming.
MDMMotionCurveReversedBezier reverses cubic bezier curves. Intended for use when building mirrored bi-directional transitions.
new function: MDMMotionCurveReversedBezier.
This patch release migrates the project's continuous integration pipeline from arc to bazel and kokoro.
Continuous integration can now be run locally by executing ./.kokoro from the root of the git repo. Requires bazel.
This minor release introduces two new APIs for working with timing curves.
MDMMotionCurveFromTimingFunction can create a timing curve from a CAMediaTimingFunction.MDMModalMovementTiming is the iOS timing curve for modal presentation movement.new function: MDMMotionCurveFromTimingFunction.
new macro: MDMModalMovementTiming.
Added a missing framework header for Objective-C support.
Initial release.
Includes MotionTiming structure for representing cubic bezier and spring animations.