Skip to content

Releases: DorianMazur/react-native-screen-choreography

0.6.4

Choose a tag to compare

@DorianMazur DorianMazur released this 25 Sep 20:10

Fixes

  • Add support for 16KB page size

0.6.3

Choose a tag to compare

@DorianMazur DorianMazur released this 23 Sep 16:13

Fixes

  • Respect reduced motion by skipping shared transitions when system animations are disabled. Forward and back navigation transfer shared content directly to its endpoint without an animated overlay. (#17)

0.6.2

Choose a tag to compare

@DorianMazur DorianMazur released this 22 Sep 19:05

Fixes

  • Stabilize Android back transitions and route removal. (#15)
  • Composite overlapping native content before fading on Android. (#16)

0.6.1

Choose a tag to compare

@DorianMazur DorianMazur released this 21 Sep 10:56

Fixes and improvements

  • Improve transition layout capture performance using shared C++ Fabric bindings on iOS and Android. Layout capture uses completed Fabric mounts and bounded retries for pending mounts. (#14)
  • Position shared transitions using translations and improve transition surface geometry. (#13)
  • Fix reveal behavior and reduce React context propagation during transitions.

0.6.0

Choose a tag to compare

@DorianMazur DorianMazur released this 17 Sep 14:29

Features

  • Add useRevealStyle and scoped declarative Enter/Exit reveals, with safe staggering for dynamic lists, horizontal/vertical translation, scaling, and reduced-motion support. Presentation-scoped reveals follow their retained owner, including its resting endpoint.
  • Add presentationProgress to useSharedElementPresentation: an owner-specific progress value that remains stable during unrelated transitions.
  • Add screenFade and keepVisible to ChoreographyScreen for configurable screen crossfades and persistent backdrops.
  • Support duration-based springs with duration and dampingRatio, including return and interactive settlement.
  • Add useInteractiveGestureLifecycle to buffer movement and early releases during preparation, plus session-bound interactive handles and abortable preparation.
  • Supply matched session geometry anchors to custom transition renderers.

Fixes

  • Harden transition interruption, interactive gesture cancellation and settlement, and input handoff.
  • Let Android transition overlays pass touches through to the underlying screen.
  • Retain animation completion callbacks until delivery.

Breaking changes and migration from 0.5.x

  • useStaggeredReveal and its getItemStyle callback have been removed. Use useRevealStyle inside each item component, or declarative Enter/Exit with index and count.

See the reveal migration guide and interactive-back guide.

0.5.2

Choose a tag to compare

@DorianMazur DorianMazur released this 15 Sep 14:52

Fixes

  • Fix iOS transition window ownership while keeping the Fabric anchor in its React parent and preserving accessibility.

0.5.1

Choose a tag to compare

@DorianMazur DorianMazur released this 14 Sep 19:41

Fixes and improvements

  • Remove an extra JavaScript → UI → JavaScript round trip when completing reverse transitions (#5).
  • Skip dismissal snapshots for empty Android overlay hosts, avoiding unnecessary bitmap allocation and drawing.

0.5.0

Choose a tag to compare

@DorianMazur DorianMazur released this 10 Sep 18:45

Features

  • Add defineTransition for typed shared-element roles and companion enter/exit motion, with reusable navigation options.
  • Add useSharedElementPresentation so retained content can adapt its internal layout using collapsed/expanded endpoints and transition progress.
  • Add native forward preparation on iOS and Android, including destination layout stability checks and batched target measurement.
  • Add preparation tracing and Android performance benchmarks with CI reporting.

Fixes and improvements

  • Improve transition startup, retained-content layout, and reverse-navigation coordination.
  • Harden native preparation cancellation, pending destination visibility, and interrupted transitions.
  • Refresh the Gallery, Wallet, and Wallet Setup examples and integration documentation.

Breaking changes and migration from 0.4.x

This release uses live shared content throughout. Keep one content owner and an empty receiving endpoint.

  • Replace SharedElement.Live with SharedElement and SharedElement.LiveTarget with SharedElement.Target. Existing stand-in uses of SharedElement must migrate to this live-owner model.
  • Replace makeLiveTransition with makeTransition, StandInContainer with TransitionSurface, and StandInElement with TransitionFrame.
  • Update renamed types: LiveSharedElementProps → SharedElementProps, LiveSharedElementTargetProps → SharedElementTargetProps, MakeLiveTransitionOptions → MakeTransitionOptions, LiveTransition → Transition, LiveTransitionRendererProps → TransitionRendererProps, and LiveTransitionSide → TransitionEndpoint.
  • createSharedElementComponent, makeSurfaceTransition, makeStretchTransition, and textMorphTransition have been removed. Use defineTransition recipes or custom renderers created with makeTransition.
  • Transition presentations no longer carry copied React content or a stand-in/live mode. Custom renderers must render the supplied library-owned portal host children exactly once.
  • Rebuild your native app after upgrading to enable native forward preparation; on iOS, reinstall pods. Older binaries retain the existing readiness fallback.

0.4.3

Choose a tag to compare

@DorianMazur DorianMazur released this 09 Sep 17:02

Features

  • Add custom motion for live shared elements through makeLiveTransition, with typed source and target metadata and exports from all integration entries.
  • Add portalStyle on SharedElement.Live and hostStyle on SharedElement.LiveTarget to control content layout independently from measured endpoint geometry.

Fixes

  • Start reverse navigation alongside the finishing transition, retaining outgoing screen content in a native snapshot on iOS and Android while shared elements continue animating in the overlay.
  • Harden reverse-transition navigation commits and cleanup across React Navigation, Expo Router, and interactive dismissal.

0.4.2

Choose a tag to compare

@DorianMazur DorianMazur released this 07 Sep 20:13

Fixes

  • Hand ordinary transition stand-ins back to their real elements on the UI thread when animation completes, avoiding delayed handoff when the JavaScript thread is busy.
  • Keep SharedElement.Live payloads visible at their endpoint in the overlay until React reparents the single mounted instance into its destination host, preventing a blank frame during delayed cleanup.
  • Re-hide reused real elements when a completed session is replaced before its JavaScript cleanup finishes.
  • Correct the music example's interactive dismissal handle position.