-
-
Notifications
You must be signed in to change notification settings - Fork 42
Releases: eds2002/react-native-screen-transitions
v3.7.1
8daea20 v3.7.0
02f47fb Assets 2
v3.6.0
2c67afc Assets 2
v3.5.2
f954300 Assets 2
Release 3.5.1
Release 3.5.0
Release 3.5.0-beta.0
3.5.0-beta.0 (2026εΉ΄04ζ21ζ₯)
Bug Fixes
- bounds: stabilize grouped zoom measurements (0ed8b82)
- deep linking bug fix (1464618)
- docs: include docs helpers and netlify config (#88) (403cff5)
- docs: ship docs as static netlify site (#89) (e91472a)
- group bounds retargetting bug (319d965)
- history: keep v3 close tracking on reanimated (7f6dcf8)
- isolate scroll axis writes in useScrollRegistry (#85) (88e6589)
- lifecycle: align close and history flow with next (f7f8ba7)
- previous screen not animating during flight (#74) (071512c)
Features
Assets 2
Release 3.4.0
v3.4.0
v3.4 is a major step forward for react-native-screen-transitions.
This release sharpens the library around a clearer transition model: blank stack for advanced flows, layered interpolator output, explicit bounds ownership, real snap sheets, and stack-relative overlays.
Highlights
Blank stack is now the recommended path for advanced flows
createBlankStackNavigator() is now the default recommendation for custom transitions, snap sheets, overlays, bounds-driven motion, and embedded or independent flows.
createComponentStackNavigator() still exists, but new embedded work should prefer blank stack.
Snap points are now a first-class screen model
v3.4 adds a much stronger sheet/drawer surface:
- numeric detents and
"auto"content-sized detents initialSnapIndex- animated
current.snapIndex current.layouts.contentfor measured content heightsheetScrollGestureBehaviorgestureSnapLockedgestureReleaseVelocityScalegestureReleaseVelocityMax
This makes it much easier to build real bottom sheets, drawers, and detented flows directly in the navigator model.
Bounds transitions and navigation zoom got a stronger API
v3.4 formalizes bounds-driven transitions around explicit boundary ownership:
Transition.Boundary.TriggerTransition.Boundary.ViewTransition.Boundary.Targetbounds({ id }).navigation.zoom()- grouped and retargeted bounds flows
navigationMaskEnabledfor masked zoom reveals
For new bounds work, Transition.Boundary.* is now the preferred path.
Interpolators are now layer-based and screen-scoped
Interpolators now fit the actual screen container model more cleanly:
- return
content,backdrop, andsurface - target individual elements with
styleId - read
previous,current,next,active, andinactive - prefer
current.layoutsandcurrent.snapIndex - use
willAnimateandlogicallySettledfor better choreography
This gives custom animations a clearer and more composable surface.
Overlays are now a clearer stack-relative feature
Use overlay and overlayShown to define floating UI owned by a screen and carried upward through the rest of that stack.
This works with blank stack, native stack when transitions are enabled, and component stack.
Migration notes
For older setups moving onto 3.4:
- prefer
Transition.Boundary.*oversharedBoundTagfor new bounds flows - replace flat interpolator keys with
content,backdrop, andsurface - rename
maskEnabledtonavigationMaskEnabled - rename
expandViaScrollViewtosheetScrollGestureBehavior - move
background/backgroundComponentnaming tosurface/surfaceComponent - prefer blank stack over component stack for new embedded flows
Older aliases still exist in a few places for compatibility, but 3.4 establishes the current API direction.
Stability and polish
This cycle also included a large amount of stabilization work across bounds transitions, navigation zoom, masking, scroll handoff, gesture behavior, pointer-event handling, and release-candidate fixes.
Docs
The docs were rebuilt around the 3.4 model, with dedicated guides for migration, custom animations, snap points, overlays, bounds transitions, navigation zoom, stack types, and Expo Router.
Thanks to everyone who tested the alpha, beta, and rc builds and helped shape the API.