# What changed in react-native-gesture-handler

> 211 changes in react-native-gesture-handler 2 to 3 from its official release notes, upgrade guides and advisories: 31 breaking, 2 deprecations, 21 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/react-native-gesture-handler/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## react-native-gesture-handler 3

### Breaking changes

- Touchable supports immediate press-out behavior, with the prop renamed from pressOutAfterAnimation; Pressable can opt out of the behavior. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- shouldCancelWhenOutside now defaults to true. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Adopts AGP v9, which may affect Android build compatibility for developers using the package. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Buttons no longer call onPress while the keyboard is being dismissed. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Opacity is removed from Swipeable action panels. (3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2)
- Removes dispatchesReanimatedEvent from the initial config. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- The package no longer emits CommonJS output. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Renames the Swipeable dragOffsetFrom*Edge prop. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- gestureHandlerRootHOC is removed; update applications that still use it. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Detectors now throw an error if they are not placed inside GestureHandlerRootView. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- The prop is renamed to effect; update existing component props. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- InterceptingGestureDetector now throws when it is not rendered under GHRootView. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Moves the end flag to the event passed to onDeactivate and onFinalize. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- The callback is renamed to onDeactivate; update gesture callback usage. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- The callback is renamed to onActivate; update gesture callback usage. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- The callback is renamed to onTouchesCancel; update existing callback usage. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Support for the old Paper architecture is removed; Gesture Handler 3 is rebuilt for the New Architecture. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- RNGestureHandlerEnabledRootView is removed; update applications that still use it. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Changes SwipeableProps ref types from RefObject to Ref. (2.31.2, 3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.2)
- The field is renamed to handlerTag; update code that reads or supplies tag. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Removes `createNativeWrapper` from Touchable. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Uses a `disabled` prop instead of `enabled` on the button component. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Removes the `onActiveStateChange` callback from Touchable. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Adds the Touchable component, renamed from Clickable, as a button component for application code. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Changes the order in which Touchable callbacks are invoked. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Button activation timing changes; buttons no longer activate on start, and iOS activates them on pointer up. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- The hook is renamed to useCompetingGestures; update existing imports and calls. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Adds the renamed native-gesture relation property for yielding to continuous gestures. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)

### Deprecations

- The builder API is deprecated. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)

### New APIs and options

- The legacy GestureDetector Wrap now exposes an animatable ref. (2.33.1, 3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- Adds an imperative API for testing gesture handlers. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Pressable is implemented based on Touchable. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Exports the PressableEvent type for consumers to use. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Touchable gains hover callbacks on Android, iOS, and Web. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Adds delaysChildPressedState to the native gesture. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Adds the rootContainerStyle prop to ReanimatedDrawerLayout. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Adds a prop to gesture handlers for cancelling the JS responder. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- The missing cancelsTouchesInView option is added. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Handlers gain a changeEventCalculator option. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Gesture relations are introduced, with relation support also added for the web. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Gesture Handler 3 introduces a new hook-based API for defining gestures. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Adds a way to customize the out-animation duration for long press. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- A manualActivation prop is added for gestures. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- iOS Native gesture events now include numberOfPointers. (2.31.0, 3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- runOnJS is added to gesture configuration. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- A StateManager API is introduced for gesture state management. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Adds a prop to control cancellation when the pointer leaves the button. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- A new Touchable component is introduced. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)

### Behavior and default changes

- Can now be called from the first onTouchesDown on Android, iOS, and Web. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Web, ScrollView now intercepts detectors. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- The Web maxDelay default now matches native at 200 ms. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Android, nested scrolling stops when a native handler's gesture ends. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- On web, the native gesture activates when a real scroll occurs rather than when pointer distance passes a threshold. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- GestureDetector now defaults moduleId to -1. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Derives Pressable's pressed state from testOnly_pressed. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Adds coordinates to Hover events on macOS. (2.33.0, 3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Native gesture events now emit coordinates. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Touchable handles hover on Android and Apple platforms. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- The testID property is ignored in production environments. (3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2)
- Uses v3 detectors in ReanimatedDrawerLayout. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Gestures can now be created without configuration. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- GestureDetector can now have multiple children. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Web Pinch and Rotation gestures are continuous. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Changes Touchable's default underlay props. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Adds hover effects for Touchable on the web. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Button animations support reduced-motion preferences and animation scale. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- VirtualDetector is made part of the public API. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)

### Tooling

- iOS builds now support Swift Package Manager. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- Type definitions now support TypeScript's exactOptionalPropertyTypes option. (2.31.0, 3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)

### Fixes and other changes

- On Web, changes to composed gestures are detected by the detector. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Android, detector gestures are cancelled when a native view above them takes over the touch. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Web, detector-owned DOM props are preserved across a full config replacement. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Web, event coordinates are mapped through the view's full transform. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- Late-mounted gesture objects are linked, and mount reactions without external relations are skipped. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- Detector frames now cover transformed children. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- Hidden and transparent buttons are skipped during hit testing. (2.33.1, 3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- On iOS, manualActivation is no longer ignored after a config update during a gesture. (2.33.1, 3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- Android gestures are cancelled on native ACTION_CANCEL. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On iOS, flags are preserved across a partial config update. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- Android nested scrolling stops when the root starts intercepting. (2.33.1, 3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- On Android, onPressIn is dispatched when the native press starts. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Android, the overflow ancestor pass is checked against the detector child's bounds. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- Android gesture root views now respect pointer events. (2.33.1, 3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- Config values are resent from the UI thread after binding. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- Pan offset updates now follow the sign of the SharedValue on every update. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Android, Touchable presses are prevented when stopping ScrollView flings. (3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0)
- On Web, view-relative coordinates are corrected for trackpad pan events. (2.33.1, 3.4.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- The ripple now forwards the borderless and foreground options. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- On Android, a parent handler waiting for a child no longer cancels that child. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Keeps button hit testing within its own subtree on iOS. (2.33.0, 3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Preserves disabled button targets under box-none parents on iOS. (2.33.0, 3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- On iOS, handlers detach when the detector view is recycled. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- An in-progress press is canceled on iOS and released on Android when the button is disabled. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Resolves DrawerLayoutAndroid lazily to avoid an RN deprecation warning on import. (2.33.0, 3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Resets enableTrackpadTwoFingerGesture in the web PanGestureHandler. (2.33.0, 3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- On web, replacing the full configuration resets NativeViewGestureHandler config, restores enabled, and refreshes the DOM. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- On web, handlers are removed from the orchestrator when disabled mid-gesture or when they never began. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- On Android, native handlers attach to the detector's child rather than a nested button. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Presses no longer become unresponsive when the keyboard belongs to a native field. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Resets numberOfPointers in LongPressGestureHandler. (2.33.0, 3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- On Android, buttons no longer fire press events when a scroll takes over the touch. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Fixes animation speed after rerender. (2.33.0, 3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Keeps native handlers stable when event callbacks change. (2.33.0, 3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Accumulated wheel delta is reset. (3.3.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0)
- Pressable props were updated; the notes do not specify which props changed. (3.2.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.1)
- Forwards press handlers as testOnly_* in PressableWithTouchable. (3.2.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.1)
- Fixes Fling touch event delivery and consistent begin/end states on macOS. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Touchable now respects keyboardShouldPersistTaps="handled". (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Fixes manualActivation failing to block gesture activation on macOS. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Prevents minDistance from being reset by partial configuration updates on Android. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Fixes the behavior of the minVelocity props. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Fixes Pan activation criteria being ignored on macOS. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Aligns pointerType behavior between native and JavaScript. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Fixes handling of requestDisallowInterceptTouchEvent for v3 on Android. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Passes empty callbacks to the UI when runOnJS is true. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Corrects the Tap offset on Web. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Corrects the calculation of timeDelta on Web. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Prevents a fatal crash when a touch event is serialized without allTouches. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Fixes touch events not being delivered on macOS. (2.33.0, 3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Orphaned touch events are no longer dispatched. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Fixes iOS touch events not being delivered to VirtualDetector handlers. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Continuous gestures attached through VirtualGestureDetector now recognize on iOS. (3.2.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0)
- Android buttons no longer delay the child pressed state. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Prevents gestures from being detached from other detectors on Web. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Ensures a gesture is not used across multiple detectors. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- RootHelper no longer blocks the JS responder. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Fixes js responder cancelation in iOS modals. (2.33.0, 3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Fixes handling of keyboardShouldPersistTaps so taps persist as expected while the keyboard is shown. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Fixes a crash when updating SharedValue. (3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- Fixes text being selected during gestures on Android. (2.33.0, 3.1.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.1.0)
- On Android, the detector now accounts for child transforms. (3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2)
- Native GestureDetector now handles zIndex correctly. (3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2)
- On iOS, the hooks API now cancels JS Responder as expected. (3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2)
- Android now applies numberOfPointers config to the pointer requirement in LongPressGestureHandler. (2.32.0, 3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0)
- Fixes mouse interactions on Android. (2.33.0, 3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2)
- Hidden action containers no longer receive pointer events on Android and Web. (2.33.0, 3.0.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.2)
- Fixes a crash when Android Pressable is used with Reanimated animations. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Fixes invalid react-native/../react-native resolution for aliases in pods. (2.32.0, 3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Gesture relations are fixed after freeze. (2.33.1, 3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Fixes Android hover events recording gestures other than HoverGestureHandler. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Fixes the number of pointers reported on Android. (2.32.0, 3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- react-native-gesture-handler adds support for React Native 0.86. (2.32.0, 3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Fixes an iOS build issue with React Native 0.87-nightly. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Fixes an Android crash with RN Screens FormSheet. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Improves TalkBack support on Android. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Fixes a build error on tvOS. (2.31.1, 3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.1)
- Fixes buttons that could not be pressed on tvOS. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- Fixes the wrong coordinate space on web. (3.0.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.1)
- avgTouches is correctly exposed. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- The onUpdate callback is restored for Native gestures. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Adds support for React Native 0.85. (2.31.1, 3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0), [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.1)
- Gesture Handler adds support for React Native 0.84. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)
- Corrects Android Rotation handling and aligns it with iOS. (3.0.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0)

## react-native-gesture-handler 2

### Breaking changes

- Removes opacity from Swipeable action panels. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- GestureDetector now throws when no gesture is passed. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Incorrectly exposed ReanimatedSwipeable props are now hidden. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)

### Deprecations

- The 2.x line supports React Native 0.87; newer React Native releases are supported in Gesture Handler 3. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)

### New APIs and options

- Forwards the borderless and foreground options from android_ripple. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Forwards the borderless and foreground options from android_ripple. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)

### Performance

- Memoizes the Text component. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)

### Behavior and default changes

- On Web, the wheel listener is passive and registered only for Pan. (2.33.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- iOS distinguishes mouse and stylus input when hovering. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)

### Fixes and other changes

- Android alpha traversal now uses the same gate as iOS. (2.33.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- Android clears a pending HOVER_EXIT finish when the hover handler is reset. (2.33.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- Android avoids a null pointer exception if a touch cancel callback finishes the handler mid-transition. (2.33.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.1)
- Fixes gesture callback guarantees when a view is detached mid-gesture on iOS. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Prevents a crash when a mount listener fires after GestureDetector unmounts. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Updates Pressable props. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Clears pending timers on unmount. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Stops nested scrolling when a native handler's gesture ends on Android. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Moves Tap cancelation to dispatch_after on iOS. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Removes UIPointerInteraction from the view when the hover handler is unbound. (2.33.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.33.0)
- Fixes mismatched coordinate space on iOS. (2.32.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0)
- Fixes handler retrieval on iOS. (2.32.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0)
- Discrete gestures on Android now trigger onFinalize correctly. (2.32.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0)
- Fixes the RNRenderer import for React Native 0.86 and later. (2.32.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0)
- Fixes duplicated testID values on iOS. (2.32.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0)
- Fixes Pinch on the web. (2.31.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.2)
- Fixes TalkBack behavior on Android for Pressable. (2.31.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.2)
- Worklets are no longer checked for when the Babel plugin was not used. (2.31.2) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.2)
- Fixes TypeScript errors in Touchables. (2.31.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.1)
- Android clears blocking relations when a gesture handler is dropped. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- iOS handles FullWindowOverlay as the native root. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Fixes GestureDetector becoming unresponsive after a display:none toggle in the New Architecture. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Fixes compilation of RNGestureHandlerModule with Kotlin 2.3. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Fixes a missing onFinalize callback in the Tap gesture on iOS. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Android now checks all pointers in move events. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Fixes the incorrect pointerType in the iOS Hover gesture. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Handles pointerEvents for Pressable on iOS and Android. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Guards +load with an #ifdef for RCT_DYNAMIC_FRAMEWORKS. (2.31.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0)
- Fixed the React 19 error caused by accessing element.ref on Web. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed experimental pointers breaking after a pan on Android. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- The GestureRef type now accepts null. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed a crash involving manual activation on iOS. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- On iOS, pan gestures blocked from activating now trigger onFinalize. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed onFinalize callbacks on iOS 26. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed the number of touches becoming 0 for pan gestures on Apple trackpads. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed press out behavior on Web. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Added support for react-native 0.83. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed buttons not receiving onPress. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed a memory leak when ReanimatedSwipeable is closed programmatically. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixed Android scroll actions being interpreted as touch. (2.30.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.30.0)
- Fixes the ripple effect on Android. (2.29.1) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.29.1)
- Fixes gestures not activating due to an outdated handler tag. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
- Fixes gestures not ending properly on iOS 26. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
- Fixes gestures on iOS 26. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
- Excludes libfbjni.so. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
- Prevents onPress from being called when Pressable is cancelled. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
- Adds support for react-native 0.82. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
- Fixes the grabbing delegate in setPressed. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
- Ensures SwipeDirection is imported as a value in ReanimatedSwipeable. (2.29.0) — [release notes](https://github.com/software-mansion/react-native-gesture-handler/releases/tag/2.29.0)
