Releases: material-motion/motion-interchange-objc
v4.0.1
v4.0.0
v3.0.0
This major release drops official support for iOS 8.
Non-source changes
- Drop support for iOS 8 (#43) (featherless)
- Remove the xcode_select logic. (#42) (featherless)
v2.0.0
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
- Update .travis.yml (#35) (featherless)
Non-source changes
- Update bazel workspace to latest versions. (#40) (featherless)
- Update .kokoro (featherless)
- Update .kokoro (featherless)
- Update bazel workspace and version to latest (#38) (featherless)
- Update .kokoro to build against Xcode 9.1 (featherless)
- Update .travis.yml (featherless)
v1.6.0
This minor release introduces a compatibility initializer for creating Objective-C animation traits from C-style motion timings.
Source changes
- Add a legacy initializer for animation traits. (#34) (featherless)
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
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
- Restrict subclassing on all types. (#32) (featherless)
- Re-introduce v1 APIs. (#33) (featherless)
- Extract the UIKit damping ratio APIs to their own class. (#31) (featherless)
- Add support for copying animation traits. (#30) (featherless)
- Allow writing of all properties. (#26) (featherless)
- Add support for damping ratio initializers on the spring timing curve. (#27) (featherless)
- Use UIViewAnimationCurve instead of NSString as the easing curve type. (#28) (featherless)
- Add APIs for initializing an animation trait with a named timing function. (#25) (featherless)
- Implement v2 APIs (#22) (featherless)
- Standardize the timing curve creation methods on CGFloat. (#21) (featherless)
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
- Update docs with new API. (Jeff Verkoeyen)
- Fixing travis builds. (Jeff Verkoeyen)
- Use http_archive instead of git_respository as per the bazel team's recommendations. (#29) (featherless)
- Remove unused header. (Jeff Verkoeyen)
- Iterating on the usage docs. (Jeff Verkoeyen)
- Revert "Add todo configuration" (Jeff Verkoeyen)
- Add todo configuration (featherless)
- Enable code coverage on travis (featherless)
- [Run tests on Travis.](https://git...
v1.4.0
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
- Add sdk_frameworks dependencies to the BUILD file. (#18) (featherless)
- Add jazzy yaml. (Jeff Verkoeyen)
v1.3.0
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
- Document and define the initial velocity parameter of spring curves (#17) (featherless)
- Add a linear curve constant. (#16) (featherless)
- Deprecate MDMMotionCurveTypeDefault in favor of MDMMotionCurveTypeBezier. (#15) (featherless)
API changes
MDMSpringMotionCurveDataIndexInitialVelocity
new enum: MDMSpringMotionCurveDataIndexInitialVelocity
.
MDMLinearMotionCurve
new constant/macro: MDMLinearMotionCurve
.
v1.2.0
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
- Add a unit test for MDMModalMovementTiming. (#12) (featherless)
- Add MDMMotionCurveReversed for reversing timing curves. (#11) (featherless)
API changes
MDMMotionCurveReversedBezier
new function: MDMMotionCurveReversedBezier
.
Non-source changes
- Standardize the kokoro and bazel files. (#13) (featherless)
- Use the v1.0.0 tag for bazel_ios_warnings. (#10) (featherless)
v1.1.1
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
- Replace arc with bazel and Kokoro continuous integration. (#9) (featherless)
- Fix warning in unit tests. (#8) (featherless)
- Add missing import. (Jeff Verkoeyen)