Skip to content
This repository has been archived by the owner on Aug 30, 2023. It is now read-only.

Releases: material-motion/motion-interchange-objc

v4.0.1

06 Apr 00:47
Compare
Choose a tag to compare

This patch release resolves some missed warnings in 4.0.0 and fixes a broken test on iOS 13+14.

v4.0.0

05 Apr 22:47
Compare
Choose a tag to compare

This major release drops official support for Bazel and iOS 9.

v3.0.0

08 Mar 17:41
Compare
Choose a tag to compare

This major release drops official support for iOS 8.

Non-source changes

v2.0.0

06 Dec 14:32
Compare
Choose a tag to compare

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.

Source changes

Non-source changes

v1.6.0

13 Dec 18:31
Compare
Choose a tag to compare

This minor release introduces a compatibility initializer for creating Objective-C animation traits from C-style motion timings.

Source changes

API changes

Auto-generated by running:

apidiff origin/stable release-candidate objc src/MotionInterchange.h

MDMAnimationTraits(Legacy)

new method: -initWithMotionTiming: in MDMAnimationTraits(Legacy)

new category: MDMAnimationTraits(Legacy)

v1.5.0

13 Dec 17:17
Compare
Choose a tag to compare

This minor release introduces new Objective-C APIs for creating and storing animation traits.

New deprecations

All of the original C-style APIs for animation timing are now informally deprecated. We will remove these APIs in the future.

New features

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.

Source changes

API changes

Auto-generated by running:

apidiff origin/stable release-candidate objc src/MotionInterchange.h

MDMRepetitionOverTime

new class: MDMRepetitionOverTime

new method: -initWithDuration:autoreverses: in MDMRepetitionOverTime

new method: -init in MDMRepetitionOverTime

new property: duration in MDMRepetitionOverTime

new method: -initWithDuration: in MDMRepetitionOverTime

MDMTimingCurve

new protocol: MDMTimingCurve

CAMediaTimingFunction()

new category: CAMediaTimingFunction()

MDMRepetitionTraits

new property: autoreverses in MDMRepetitionTraits

new protocol: MDMRepetitionTraits

MDMMotionCurveMakeSpringWithInitialVelocity

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)

MDMSpringTimingCurve

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

MDMAnimationTraits

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

CAMediaTimingFunction(MotionInterchangeExtension)

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)

MDMMotionCurveMakeSpring

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)

MDMAnimationTraits(SystemTraits)

new category: MDMAnimationTraits(SystemTraits)

new property: systemModalMovement in MDMAnimationTraits(SystemTraits)

MDMSpringTimingCurveGenerator

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

MDMMotionCurveMakeBezier

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)

MDMRepetition

new method: -initWithNumberOfRepetitions:autoreverses: in MDMRepetition

new method: -initWithNumberOfRepetitions: in MDMRepetition

new class: MDMRepetition

new property: numberOfRepetitions in MDMRepetition

new method: -init in MDMRepetition

Non-source changes

Read more

v1.4.0

13 Nov 16:41
Compare
Choose a tag to compare

This minor release introduces new APIs for creating springs that have an initial velocity.

New features

Added new APIs for creating springs with initial velocity:
MDMMotionCurveMakeSpringWithInitialVelocity and _MDMSpringWithInitialVelocity.

Source changes

API changes

MDMMotionCurveMakeSpringWithInitialVelocity

new function: MDMMotionCurveMakeSpringWithInitialVelocity

_MDMSpringWithInitialVelocity

new macro: _MDMSpringWithInitialVelocity

Non-source changes

v1.3.0

08 Nov 18:58
Compare
Choose a tag to compare

This minor releases introduces new APIs for defining motion curves.

New deprecations

MDMMotionCurveTypeDefault is now deprecated. Use MDMMotionCurveTypeBezier instead.

New features

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.

Source changes

API changes

MDMSpringMotionCurveDataIndexInitialVelocity

new enum: MDMSpringMotionCurveDataIndexInitialVelocity.

MDMLinearMotionCurve

new constant/macro: MDMLinearMotionCurve.

v1.2.0

26 Oct 20:08
Compare
Choose a tag to compare

This minor release introduces a new API for reversing cubic beziers and a unit test for
MDMModalMovementTiming.

New features

MDMMotionCurveReversedBezier reverses cubic bezier curves. Intended for use when building mirrored
bi-directional transitions.

Source changes

API changes

MDMMotionCurveReversedBezier

new function: MDMMotionCurveReversedBezier.

Non-source changes

v1.1.1

19 Oct 20:22
Compare
Choose a tag to compare

This patch release migrates the project's continuous integration pipeline from arc to bazel and
kokoro.

New features

Continuous integration can now be run locally by executing ./.kokoro from the root of the git
repo. Requires bazel.

Source changes