Major Changes
-
#850
9b388e6Thanks @dohooo! - Add v5 support for Expo 54 and dynamic sizing with optionalwidth/heightand layout-based measurement (PR #850). -
#938
ff552acThanks @dohooo! - Redesign the v5 API around named exports, logical progress, and explicit navigation behavior.- Add unified Pagination, stable item identity, horizontal RTL normalization, and package exports.
- See the v5 migration guide for required prop, ref, layout, and behavior changes.
- Cap the gesture-handler peer at >=2.9.0 <3.0.0 while keeping types compatible with the RNGH 3 legacy builder for a 5.0.x range expansion.
Migrate with your AI agent
Read https://rn-carousel.dev/migration-v5.md and upgrade react-native-reanimated-carousel to v5 in this project, then summarize what changed for my review.The agent only edits files in your working tree — nothing is committed, and it stops for your review.
Minor Changes
-
#853
c595958Thanks @dohooo! - AdditemWidth/itemHeightto define snap step explicitly (for example, multi-card pages) (PR #853).- Keep backward compatibility by falling back to container size or legacy
width/height(PR #853).
- Keep backward compatibility by falling back to container size or legacy
-
#853
c595958Thanks @dohooo! - Refresh style API sostylecontrols outer container sizing/positioning (PR #853). -
#873
ffb59aaThanks @dohooo! - Deprecatewidthandheight; preferstyle={{ width, height }}sizing (PR #873).
Patch Changes
-
#933
4561a8bThanks @dohooo! - Exclude test files from published package tarballs while keeping the React Native source entry intact. -
#927
0763d35Thanks @dohooo! - Recognize percentage and flex container styles in development sizing warnings. -
#878
79ae0e6Thanks @dohooo! - Fix gesture blocking withstyle={{ flex: 1 }}by readingresolvedSize.valueon the UI thread (PR #878).- Fix
itemWidth/itemHeightprecedence overstyle.widthinItemLayout(PR #878).
- Fix
-
#924
e4fa56fThanks @dohooo! - Keep every item rendered in loop mode whenwindowSizeis equal to or greater than the data length (Issue #918).- Add unit and Maestro regression coverage for small looped data sets.
-
#931
a5f22a6Thanks @dohooo! - Remove the nestedGestureHandlerRootViewso correctly configured apps no longer log the Android parent-root warning (Issue #921).- Preserve carousel navigation and gestures by relying on the application-level Gesture Handler root required during installation.
-
#872
12c1a63Thanks @dohooo! - Clamp visible ranges during non-loop overdrag so the first item stays visible when dragging right at page start (PR #872).- Add regression test coverage for non-loop overdrag boundary behavior (PR #872).
-
#871
bc7daafThanks @dohooo! - Fix non-loop overscroll direction so tiny positive offsets at the first page no longer wrap to the last page (PR #871).- Add integration tests for
next()andscrollTo()boundary behavior (PR #871).
- Add integration tests for
-
#891
73d066dThanks @notsuhas! - Fix non-loopscrollTo()so backward jumps keep the correct negative offset instead of briefly rendering a blank frame.- Add regression tests for non-loop backward
scrollTo()and returning to index0.
- Add regression tests for non-loop backward
-
#866
566bf52Thanks @hennessyevan! - Fix pagination selected-state syncing viascheduleOnRNinstead of render-time reads from reanimated values (PR #866).- Add tests to prevent accessibility regressions and warning noise (PR #866).
-
#926
578a4beThanks @dohooo! - Refresh progress reactions when the offset or size-readiness shared value instance changes (Issue #923). -
#911
da3b11bThanks @dohooo! - Avoid the React 19element.refwarning on web by removing the internal gesture child ref (Issue #857).- Preserve horizontal and vertical non-loop boundaries with layout-derived container dimensions.
-
#924
e4fa56fThanks @dohooo! - Keep automatically measured carousels responsive when their window or parent container changes size (Issue #890).- Preserve explicit style, item size, and legacy
width/heightsizing behavior.
- Preserve explicit style, item size, and legacy
-
#913
b68c803Thanks @dohooo! - Mount the reverse visible range on the first render so looped parallax items preserve their styles and props when swiping backward (Issue #899). -
#883
dd4e867Thanks @dohooo! - Fix non-loop clamping, invalid-size visible-range fallback, pagination accessibility defaults, andcustomAnimationstyle sanitization (PR #883).- Add focused regression tests for clamping, visibility fallback, accessibility labels, and animation style normalization (PR #883).
-
#875
13861acThanks @dohooo! - Upgradereact-native-workletsfrom0.5.1to0.5.2to fix web docs crash in JSWorklets serialization (PR #875). -
#924
e4fa56fThanks @dohooo! - Require React Native Reanimated 4.1 or newer to avoid incompatible Reanimated 4.0 and React Native Worklets 0.5 combinations.