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.
- Drop support for iOS 8 (#43) (featherless)
- Remove the xcode_select logic. (#42) (featherless)
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.
- Update .travis.yml (#35) (featherless)
- 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)
This patch release introduces a compatibility initializer for creating Objective-C animation traits from C-style motion timings.
- Add a legacy initializer for animation traits. (#34) (featherless)
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. |
- 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)
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
- 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. (Jeff Verkoeyen)
- Update README.md (featherless)
- Fix minor typo. (Jeff Verkoeyen)
- Initial pass at fleshing out the readme (#24) (featherless)
- Fix travis. (Jeff Verkoeyen)
- Add missing Info.plist. (#20) (Sylvain Defresne)
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
- Add sdk_frameworks dependencies to the BUILD file. (#18) (featherless)
- Add jazzy yaml. (Jeff Verkoeyen)
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
.
- 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)
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.
- Add a unit test for MDMModalMovementTiming. (#12) (featherless)
- Add MDMMotionCurveReversed for reversing timing curves. (#11) (featherless)
new function: MDMMotionCurveReversedBezier
.
- Standardize the kokoro and bazel files. (#13) (featherless)
- Use the v1.0.0 tag for bazel_ios_warnings. (#10) (featherless)
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.
- Replace arc with bazel and Kokoro continuous integration. (#9) (featherless)
- Fix warning in unit tests. (#8) (featherless)
- Add missing import. (Jeff Verkoeyen)
This minor release introduces two new APIs for working with timing curves.
MDMMotionCurveFromTimingFunction
can create a timing curve from aCAMediaTimingFunction
.MDMModalMovementTiming
is the iOS timing curve for modal presentation movement.
- Add MDMMotionCurveFromTimingFunction for creating motion curves from timing functions. (#7) (featherless)
- Add system timing constant for movement during modal presentation. (#4) (featherless)
new function: MDMMotionCurveFromTimingFunction
.
new macro: MDMModalMovementTiming
.
- Update Xcode project settings. (Jeff Verkoeyen)
- Update Podfile.lock. (Jeff Verkoeyen)
Added a missing framework header for Objective-C support.
- Add missing framework header. (Jeff Verkoeyen)
- Fix links in readme. (Jeff Verkoeyen)
Initial release.
Includes MotionTiming structure for representing cubic bezier and spring animations.
- Initial commit of motion interchange format. (#1) (featherless)