New in 3.11.1
v3.11.1 is a bug-fix release for bounds-driven transitions. It does not add or change any public APIs.
Reliable pairing across complex routes
Matching boundaries now pair through their concrete screen and route identities instead of relying only on neighboring screens in one navigator.
Bounds transitions pair a source screen with a destination screen; they should not be limited by the provider, ancestor, or navigator that happens to render either boundary. A source boundary inside a nested navigator can now transition to a matching destination boundary in the root navigator.
This fixes bounds transitions whose source and destination live in nested or otherwise non-adjacent route layouts. During rapid or repeated navigation, a screen that is already closing can finish its existing transition, but it is not selected as the source of a newly opening bounds pair. This prevents incorrect links when navigation actions overlap.
Existing Transition.Boundary, bounds(), and navigation setup remains unchanged.
Stable initial destination measurement
Initial destination measurement now completes once after a usable source and destination handshake succeeds. Later React or provider updates do not restart the completed measurement or reclaim the transition gate.
Provider rerenders can occur while a route remains mounted; without a terminal completion state, those updates can restart measurement that already finished.
Destinations whose source or layout is not ready still use the existing retry path and bounded fallback, so temporarily unresolved measurements can settle normally without leaving the screen blocked.
Reliable escape clipping
escapeClipping now treats escaping as behavior local to the source screen. When the source boundary animates, it can leave that screen's clipped layout without needing to know about or depend on the destination layout.
This matters because clipping belongs to the layout that currently contains the source, not the layout the transition is moving toward. Clipped, scrollable, and nested source layouts can also place a valid host outside the viewport even though it is still the correct coordinate space for the transition.
Valid nonzero host layouts can participate even when the host itself is outside the viewport. This fixes sources that stayed clipped or expanded incorrectly in nested trays, scrollable layouts, and other constrained route structures.
No migration is required. Existing bounds and escapeClipping usage keeps the same public shape.
More Updates
July 2026
New in 3.11
v3.11 tightens transition lifecycle timing, improves transformed Boundary measurement, and makes live handoff more reliable.
July 2026
New in 3.10
v3.10 makes Boundary handoff, escape clipping, navigation zoom, and gesture-driven transitions more reliable and much lighter to mount.
July 2026
New in 3.9
v3.9 makes bounds measurement more deterministic, improves retargeting, introduces the simplified Boundary API, and adds contentComponent.
June 2026
New in 3.8
A simplification release for gesture progress, default gesture reset, transitionProgress, bounds progress, and gesture handoff.
June 2026
New in 3.7
What changed in v3.7 across native-stack integration, blank-stack lifecycle, reveal, transition scopes, and nested gesture correctness.
May 2026
New in 3.6
What changed in v3.6 across gestures, snap points, bounds, reveal, and migration compatibility.
April 2026
New in 3.4
Move older setups onto the 3.4-era layered transition surface.