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

Commit

Permalink
Merge branch 'release-candidate' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeff Verkoeyen committed Dec 13, 2017
2 parents 26d91bf + a5531c5 commit c52f732
Show file tree
Hide file tree
Showing 36 changed files with 1,811 additions and 121 deletions.
4 changes: 2 additions & 2 deletions .jazzy.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
module: MotionInterchange
module_version: 1.4.0
module_version: 1.5.0
sdk: iphonesimulator
umbrella_header: src/MotionInterchange.h
objc: true
github_url: https://github.com/material-motion/motion-interchange-objc
github_file_prefix: https://github.com/material-motion/motion-interchange-objc/tree/v1.4.0
github_file_prefix: https://github.com/material-motion/motion-interchange-objc/tree/v1.5.0

4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
language: objective-c
osx_image: xcode8.1
osx_image: xcode8.3
sudo: false
before_install:
- gem install cocoapods --no-rdoc --no-ri --no-document --quiet
- pod install --repo-update
script:
- set -o pipefail
- xcodebuild build -workspace MotionInterchange.xcworkspace -scheme MotionInterchangeCatalog -sdk "iphonesimulator10.1" -destination "name=iPhone 6s,OS=10.1" ONLY_ACTIVE_ARCH=YES | xcpretty -c;
- xcodebuild test -workspace MotionInterchange.xcworkspace -scheme MotionInterchangeCatalog -sdk "iphonesimulator10.3" -destination "name=iPhone SE,OS=10.3" -enableCodeCoverage YES ONLY_ACTIVE_ARCH=YES | xcpretty -c;
after_success:
- bash <(curl -s https://codecov.io/bash)
1 change: 1 addition & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ strict_warnings_objc_library(
"CoreGraphics",
"Foundation",
"QuartzCore",
"UIKit",
],
enable_modules = 1,
includes = ["src"],
Expand Down
218 changes: 218 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,221 @@
# 1.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)](https://github.com/material-motion/motion-interchange-objc/commit/0530ba355d8af640fd9fd51df137c6aed494f63c) (featherless)
* [Re-introduce v1 APIs. (#33)](https://github.com/material-motion/motion-interchange-objc/commit/4a857a0393d55e01d1b282d12a814cec197111c0) (featherless)
* [Extract the UIKit damping ratio APIs to their own class. (#31)](https://github.com/material-motion/motion-interchange-objc/commit/e9226a45892cf1a3f783232e6e7fc81751aaeb1d) (featherless)
* [Add support for copying animation traits. (#30)](https://github.com/material-motion/motion-interchange-objc/commit/f7fb09546d034fcdf8e57509aa157a760aebd398) (featherless)
* [Allow writing of all properties. (#26)](https://github.com/material-motion/motion-interchange-objc/commit/4f74d24b6d66503fed71af36482665814e10a3a4) (featherless)
* [Add support for damping ratio initializers on the spring timing curve. (#27)](https://github.com/material-motion/motion-interchange-objc/commit/9d7352cec750b8c00fe300708647ebb01189b6c2) (featherless)
* [Use UIViewAnimationCurve instead of NSString as the easing curve type. (#28)](https://github.com/material-motion/motion-interchange-objc/commit/d94246c2b5286d20f92dfc7569b39798394d9422) (featherless)
* [Add APIs for initializing an animation trait with a named timing function. (#25)](https://github.com/material-motion/motion-interchange-objc/commit/72e75e44a940e815a06ee516237451be0646b688) (featherless)
* [Implement v2 APIs (#22)](https://github.com/material-motion/motion-interchange-objc/commit/3a28e221cfe9fccc2c46523adbb817334e7e918a) (featherless)
* [Standardize the timing curve creation methods on CGFloat. (#21)](https://github.com/material-motion/motion-interchange-objc/commit/75f0d3515bda6cb9770c96ddb787a3da50a2b7c6) (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.](https://github.com/material-motion/motion-interchange-objc/commit/c30d90457c7bf6901e684ba932a5dd3b8ecd5fe5) (Jeff Verkoeyen)
* [Fixing travis builds.](https://github.com/material-motion/motion-interchange-objc/commit/a4301e2eb55594408452446b37dec9a13d93ca53) (Jeff Verkoeyen)
* [Use http_archive instead of git_respository as per the bazel team's recommendations. (#29)](https://github.com/material-motion/motion-interchange-objc/commit/0730f1a905421f9a5d75e6015e1bf4d242a76988) (featherless)
* [Remove unused header.](https://github.com/material-motion/motion-interchange-objc/commit/e8af0592da1aa244867089532381f6dbdd801a77) (Jeff Verkoeyen)
* [Iterating on the usage docs.](https://github.com/material-motion/motion-interchange-objc/commit/dcca85ea152d83cbdcf88d74916a228f40c8c2e1) (Jeff Verkoeyen)
* [Revert "Add todo configuration"](https://github.com/material-motion/motion-interchange-objc/commit/41588742c057d79a3a3a7338f867a9622d84e143) (Jeff Verkoeyen)
* [Add todo configuration](https://github.com/material-motion/motion-interchange-objc/commit/d2e1450ac327ebfba49c7489375bd635e9cfc1bb) (featherless)
* [Enable code coverage on travis](https://github.com/material-motion/motion-interchange-objc/commit/111d91ea2da6ee2a8acd73c89664f4b10b6232c1) (featherless)
* [Run tests on Travis.](https://github.com/material-motion/motion-interchange-objc/commit/f56f8a7a75e93a087aadc0f0d5759be13fd43cb7) (Jeff Verkoeyen)
* [Update README.md](https://github.com/material-motion/motion-interchange-objc/commit/3f9405eac1445d0f12cb4fad4ad0a89631ded920) (featherless)
* [Fix minor typo.](https://github.com/material-motion/motion-interchange-objc/commit/671ab1d579fd1d1c228ec266396145bbaf70f996) (Jeff Verkoeyen)
* [Initial pass at fleshing out the readme (#24)](https://github.com/material-motion/motion-interchange-objc/commit/4e0a2e7ad5f258bc450a9dde3281fa7c3752bae6) (featherless)
* [Fix travis.](https://github.com/material-motion/motion-interchange-objc/commit/866ec18cf2353c2682f89d1350af57c05ce25839) (Jeff Verkoeyen)
* [Add missing Info.plist. (#20)](https://github.com/material-motion/motion-interchange-objc/commit/0080128a6846d2eda8538cab260cbecbbe32b9a1) (Sylvain Defresne)

# 1.4.0

This minor release introduces new APIs for creating springs that have an initial velocity.
Expand Down
2 changes: 1 addition & 1 deletion MotionInterchange.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "MotionInterchange"
s.summary = "Motion interchange format."
s.version = "1.4.0"
s.version = "1.5.0"
s.authors = "The Material Motion Authors"
s.license = "Apache 2.0"
s.homepage = "https://github.com/material-motion/motion-interchange-objc"
Expand Down
4 changes: 2 additions & 2 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
PODS:
- CatalogByConvention (2.1.1)
- MotionInterchange (1.4.0)
- MotionInterchange (1.5.0)

DEPENDENCIES:
- CatalogByConvention
Expand All @@ -12,7 +12,7 @@ EXTERNAL SOURCES:

SPEC CHECKSUMS:
CatalogByConvention: c3a5319de04250a7cd4649127fcfca5fe3322a43
MotionInterchange: 35e0fd286ceab53dd4ee03494b3fcafa6a70637a
MotionInterchange: 27bef5bbb1e7a59242c38cf2f1ccab83ca569f55

PODFILE CHECKSUM: 09090d12db5aab00a13fe82da94f338ebd03f5dc

Expand Down
Loading

0 comments on commit c52f732

Please sign in to comment.