Releases: DorianMazur/react-native-screen-choreography
Releases · DorianMazur/react-native-screen-choreography
Release list
0.6.4
0.6.3
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
0.6.1
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
Features
- Add
useRevealStyleand scoped declarativeEnter/Exitreveals, 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
presentationProgresstouseSharedElementPresentation: an owner-specific progress value that remains stable during unrelated transitions. - Add
screenFadeandkeepVisibletoChoreographyScreenfor configurable screen crossfades and persistent backdrops. - Support duration-based springs with
durationanddampingRatio, including return and interactive settlement. - Add
useInteractiveGestureLifecycleto 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
useStaggeredRevealand itsgetItemStylecallback have been removed. UseuseRevealStyleinside each item component, or declarativeEnter/Exitwithindexandcount.
See the reveal migration guide and interactive-back guide.
0.5.2
Fixes
- Fix iOS transition window ownership while keeping the Fabric anchor in its React parent and preserving accessibility.
0.5.1
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
Features
- Add
defineTransitionfor typed shared-element roles and companion enter/exit motion, with reusable navigation options. - Add
useSharedElementPresentationso 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.LivewithSharedElementandSharedElement.LiveTargetwithSharedElement.Target. Existing stand-in uses ofSharedElementmust migrate to this live-owner model. - Replace
makeLiveTransitionwithmakeTransition,StandInContainerwithTransitionSurface, andStandInElementwithTransitionFrame. - Update renamed types:
LiveSharedElementProps→SharedElementProps,LiveSharedElementTargetProps→SharedElementTargetProps,MakeLiveTransitionOptions→MakeTransitionOptions,LiveTransition→Transition,LiveTransitionRendererProps→TransitionRendererProps, andLiveTransitionSide→TransitionEndpoint. createSharedElementComponent,makeSurfaceTransition,makeStretchTransition, andtextMorphTransitionhave been removed. UsedefineTransitionrecipes or custom renderers created withmakeTransition.- Transition presentations no longer carry copied React content or a stand-in/live mode. Custom renderers must render the supplied library-owned portal host
childrenexactly 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
Features
- Add custom motion for live shared elements through
makeLiveTransition, with typed source and target metadata and exports from all integration entries. - Add
portalStyleonSharedElement.LiveandhostStyleonSharedElement.LiveTargetto 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
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.Livepayloads 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.