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

Latest commit

 

History

History
345 lines (197 loc) · 14 KB

CHANGELOG.md

File metadata and controls

345 lines (197 loc) · 14 KB

8.0.0

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

7.0.1

This patch release fixes a bug on iOS 13 where the presented view controller would not be added to the view hierarchy.

Source changes

7.0.0

This major release drops official support for iOS 8.

Non-source changes

6.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

Non-source changes

5.0.0

This major change introduces a breaking API change for Swift clients.

Breaking changes

Swift only: The UIViewController extension property transitionController has been renamed to mdm_transitionController.

Source changes

API changes

UIViewController

renamed (swift) method: transitionController to mdm_transitionController.

4.0.2

This patch release fixes a bug where the frames of custom presented views would be incorrectly set to the view controller's frame.

Source changes

Non-source changes

4.0.1

This patch release resolves a build warning and migrates the project's continuous integration to bazel and kokoro.

Source changes

4.0.0

This major release adds support for composable transitions. See the catalog app for a variety of examples making use of this new functionality.

Fixed issues

Breaking changes

  • MDMTransitionWithFallback's return value is now nonnull. If you depended on the nil behavior, you must now conform to the new protocol MDMTransitionWithFeasibility and return NO for canPerformTransitionWithContext:.
  • MDMTransitionDirection has been renamed to TransitionDirection in Swift.

New features

MDMTransitionWithFeasibility allows a transition to indicate whether it is capable of performing the transition with a given context.

The new composeWithTransition: API on MDMTransitionContext makes it possible to build modular transition objects that delegate responsibility out to other transition objects. View the PhotoAlbumTransition example transition to see the following code in action:

context.compose(with: FadeTransition(target: .foreView, style: .fadeIn))
context.compose(with: SpringFrameTransition(target: .target(snapshotContextView),
                                            size: fitSize))

if let toolbar = foreDelegate.toolbar(for: self) {
  context.compose(with: SlideUpTransition(target: .target(toolbar)))
}

Source changes

API changes

MDMTransitionWithCustomDuration

changed protocol MDMTransitionWithCustomDuration now conforms to MDMTransition.

MDMTransitionWithFallback

changed protocol MDMTransitionWithFallback now conforms to MDMTransition.

MDMTransitionWithFeasibility

new protocol MDMTransitionWithFeasibility.

MDMTransitionContext

new method composeWithTransition:

Non-source changes

3.3.0

This minor release deprecates some behavior and replaces it with a new API.

New deprecations

  • MDMTransitionWithFallback nil behavior is now deprecated. In order to fall back to system transitions you must now conform to MDMTransitionWithFeasibility and return NO.

Source changes

API changes

MDMTransitionWithFeasibility

new protocol MDMTransitionWithFeasibility.

3.2.1

This patch release resolves Xcode 9 compiler warnings.

Source changes

3.2.0

This minor release introduces new features for presentation, view snapshotting, and defered transition work. There is also a new photo album example demonstrating how to build a contextual transition in which the context may change.

New features

Transition context now has a deferToCompletion: API for deferring work to the completion of the transition.

// Example (Swift):
foreImageView.isHidden = true
context.defer {
  foreImageView.isHidden = false
}

MDMTransitionPresentationController is a presentation controller that supports presenting view controllers at custom frames and showing an overlay scrim view.

The new MDMTransitionViewSnapshotter class can be used to create and manage snapshot views during a transition.

let snapshotter = TransitionViewSnapshotter(containerView: context.containerView)
context.defer {
  snapshotter.removeAllSnapshots()
}

let snapshotView = snapshotter.snapshot(of: view, isAppearing: context.direction == .forward)

Source changes

API changes

MDMTransitionContext

new method: deferToCompletion:. Defers execution of the provided work until the completion of the transition.

MDMTransitionPresentationController

new class: MDMTransitionPresentationController. A transition presentation controller implementation that supports animation delegation, a darkened overlay view, and custom presentation frames.

MDMTransitionViewSnapshotter

new class: MDMTransitionViewSnapshotter. A view snapshotter creates visual replicas of views so that they may be animated during a transition without adversely affecting the original view hierarchy.

Non-source changes

3.1.0

This minor release resolves a build warning and introduces the ability to customize navigation controller transitions.

New features

  • MDMTransitionNavigationControllerDelegate makes it possible to customize transitions in a UINavigationController.

Source changes

API changes

MDMTransitionNavigationControllerDelegate

new class: MDMTransitionNavigationControllerDelegate.

3.0.1

Fixed the umbrella header name to match the library name.

3.0.0 (MotionTransitioning)

The library has been renamed to MotionTransitioning.


Prior releases under the library name MaterialMotionTransitioning.

2.0.0 (MaterialMotionTransitioning)

The library has been renamed to MaterialMotionTransitioning.

New features

  • TransitionContext now exposes a presentationController property.

Source changes

API changes

Auto-generated by running:

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

MDMTransitionContext

new property: presentationController in MDMTransitionContext

Non-source changes


Prior releases under the library name Transitioning.

1.1.1

This is a patch fix release to address build issues within Google's build environment.

Source changes

Non-source changes

1.1.0

This minor release introduces two new features to the Transition protocol family.

New features

API changes

MDMTransitionWithFallback

new protocol: MDMTransitionWithFallback

new method: -fallbackTransitionWithContext: in MDMTransitionWithFallback

MDMTransitionWithCustomDuration

new protocol: MDMTransitionWithCustomDuration

new method: -transitionDurationWithContext: in MDMTransitionWithCustomDuration

MDMTransitionController

new property: activeTransition in MDMTransitionController

1.0.0

Initial release.

Includes support for building simple view controller transitions and transitions that support custom presentation.

Source changes

Non-source changes