yarn react-native-reanimated-carousel 5.0.0
v5.0.0

6 hours ago

Major Changes

  • #850 9b388e6 Thanks @dohooo! - Add v5 support for Expo 54 and dynamic sizing with optional width/height and layout-based measurement (PR #850).

    • Upgrade peer requirements to react-native-reanimated >=4.1.0, react-native-worklets >=0.5.0, and react-native-gesture-handler >=2.9.0 (PR #850).
    • Replace deprecated runOnJS usage with scheduleOnRN, plus expanded tests and migration docs for v4 to v5 (PR #850).
  • #938 ff552ac Thanks @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 c595958 Thanks @dohooo! - Add itemWidth/itemHeight to 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).
  • #853 c595958 Thanks @dohooo! - Refresh style API so style controls outer container sizing/positioning (PR #853).

    • Replace containerStyle with contentContainerStyle for scroll content styling (PR #853).
    • Deprecate width and height props in favor of style-based sizing while keeping backward compatibility (PR #853).
  • #873 ffb59aa Thanks @dohooo! - Deprecate width and height; prefer style={{ width, height }} sizing (PR #873).

    • Deprecate defaultScrollOffsetValue; prefer scrollOffsetValue (PR #873).
    • Prioritize style dimensions when both new and legacy props are provided (PR #873).
    • Keep legacy props functional in v5 with migration warnings (PR #873).

Patch Changes

  • #933 4561a8b Thanks @dohooo! - Exclude test files from published package tarballs while keeping the React Native source entry intact.

  • #927 0763d35 Thanks @dohooo! - Recognize percentage and flex container styles in development sizing warnings.

  • #878 79ae0e6 Thanks @dohooo! - Fix gesture blocking with style={{ flex: 1 }} by reading resolvedSize.value on the UI thread (PR #878).

    • Fix itemWidth/itemHeight precedence over style.width in ItemLayout (PR #878).
  • #924 e4fa56f Thanks @dohooo! - Keep every item rendered in loop mode when windowSize is equal to or greater than the data length (Issue #918).

    • Add unit and Maestro regression coverage for small looped data sets.
  • #931 a5f22a6 Thanks @dohooo! - Remove the nested GestureHandlerRootView so 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 12c1a63 Thanks @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 bc7daaf Thanks @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() and scrollTo() boundary behavior (PR #871).
  • #891 73d066d Thanks @notsuhas! - Fix non-loop scrollTo() 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 index 0.
  • #866 566bf52 Thanks @hennessyevan! - Fix pagination selected-state syncing via scheduleOnRN instead of render-time reads from reanimated values (PR #866).

    • Add tests to prevent accessibility regressions and warning noise (PR #866).
  • #926 578a4be Thanks @dohooo! - Refresh progress reactions when the offset or size-readiness shared value instance changes (Issue #923).

  • #911 da3b11b Thanks @dohooo! - Avoid the React 19 element.ref warning on web by removing the internal gesture child ref (Issue #857).

    • Preserve horizontal and vertical non-loop boundaries with layout-derived container dimensions.
  • #924 e4fa56f Thanks @dohooo! - Keep automatically measured carousels responsive when their window or parent container changes size (Issue #890).

    • Preserve explicit style, item size, and legacy width/height sizing behavior.
  • #913 b68c803 Thanks @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 dd4e867 Thanks @dohooo! - Fix non-loop clamping, invalid-size visible-range fallback, pagination accessibility defaults, and customAnimation style sanitization (PR #883).

    • Add focused regression tests for clamping, visibility fallback, accessibility labels, and animation style normalization (PR #883).
  • #875 13861ac Thanks @dohooo! - Upgrade react-native-worklets from 0.5.1 to 0.5.2 to fix web docs crash in JSWorklets serialization (PR #875).

  • #924 e4fa56f Thanks @dohooo! - Require React Native Reanimated 4.1 or newer to avoid incompatible Reanimated 4.0 and React Native Worklets 0.5 combinations.

Don't miss a new react-native-reanimated-carousel release

NewReleases is sending notifications on new releases.