react-native-gesture-handler
3.4.0 · 16 Oct 2026MIT5.9M / weekRepositoryHomepagenpmAtom feed
Latest releases
All 128 releases- 3.x · latest line
3.4.0
16 Oct 2026[iOS] add SPM build support
[Android] Add
pressOutAfterAnimationprop toTouchable[iOS] Implement
pressOutAfterAnimationonTouchable
Important changes
[iOS] add SPM build support
[Android] Add
pressOutAfterAnimationprop toTouchable[iOS] Implement
pressOutAfterAnimationonTouchableRename
pressOutAfterAnimationtoimmediatePressOut[Android] Dispatch
onPressInwhen the native press starts
Improvements
[Android] Align the alpha traversal gate with iOS
Scan mount relations directly instead of rebuilding tag arrays
[Web] Align Tap maxDelay default with native (200 ms)
[Web] Make ScrollView an intercepting detectors
Bug fixes
[Android] Cancel detector gestures when a native view above them takes over the touch
[Android] Fix NPE when a touch cancel callback finishes the handler mid-transition
Make the detector frame cover transformed children
[Android] Allow
GestureStateManager.activatefrom the firstonTouchesDown[iOS] Allow
GestureStateManager.activatefrom the firstonTouchesDown[Web] Allow
GestureStateManager.activatefrom the firstonTouchesDown[Web] Introduce key pointer in KeyboardEventManager
[iOS] Fix
manualActivationbeing ignored after a config update mid-gesture[iOS] Skip hidden and transparent buttons in hit testing
[Web] Keep detector-owned DOM props across a full config replace
Follow the sign of a SharedValue pan offset on every update
[Web] Detect composed gesture changes in the detector
[Android] Prevent Touchable presses when stopping ScrollView flings
[Android] Don't change state of handlers that haven't received any touches
[Web] Fix view relative coordinates of trackpad pan events
[Web] Map event coordinates through the view's full transform
[General] Link late-mounted gesture objects and skip mount reactions without external relations
[Android] Fix crash when a Text inside a detector gets an inline View
[Android] Reset the native DOWN flag for unmanaged buttons
android: respect pointer events on gesture root views
Expose animatable ref from legacy
GestureDetectorWrap[Android] Clear the pending HOVER_EXIT finish when the hover handler is reset
[Android] Stop nested scroll when the root starts intercepting
Re-send SharedValue config values from the UI thread after binding
[Android] Cancel gestures on native ACTION_CANCEL
[iOS] Keep NativeViewGestureHandler flags across a partial config update
[Android] Check the overflow ancestor pass against the detector child's bounds
Miscellaneous
Bump to React Native 0.88
Expose the module id through a sync TurboModule method instead of a JSI global
Bump proxy-addr from 2.0.7 to 2.0.8 in /packages/docs-gesture-handler
Bump joi from 17.13.7 to 17.13.8 in /packages/docs-gesture-handler
Bump fast-uri from 3.1.7 to 3.1.8 in /packages/docs-gesture-handler
[GitHub] Remove
Architecturefrom the issue template[E2E] Update flows to await console to hide
[Android] Register all component descriptors in react-native.config.js
[General] Hide non-serializable gesture fields from enumeration
[Web] Register the wheel listener as passive and only for Pan
Allow opt-out from
pressOutAfterAnimationinPressableReport a
VirtualGestureDetectorchild that swallows therefKeep the pointerEvents ts-expect-error in emitted spec declarations
Stop
react-native-pager-viewfrom entering the web bundle of the example app
3.3.0
11 Sep 2026- removed
Remove
REACT_NATIVE_MINOR_VERSIONbuild flag - removed
[iOS] Remove a stale TODO in
State.tsand the unused constants export Keep ReanimatedSwipeable native handlers stable when event callbacks change
Bug fixes
Keep ReanimatedSwipeable native handlers stable when event callbacks change
Forward press handlers as
testOnly_*inPressableWithTouchablePass
reanimatedEventHandleronly when the Reanimated detector is used[Android] Fix buttons firing press events when a scroll takes over the touch
[Android] Fix native handlers attaching to a nested button instead of the detector's child
Fix ReanimatedDrawerLayout animation speed after rerender
Fix dead presses in
"never"mode when the keyboard belongs to a native fieldDon't pass dependencies to Reanimated hooks on native
[Web] Activate ScrollView's native gesture on real scroll instead of pointer distance
[iOS] Detach handlers when the detector view is recycled
Forward
borderlessandforegroundfromandroid_ripple[Android] Don't let an awaiting parent handler cancel the child it is waiting for
[Web] Reset NativeViewGestureHandler config on a full config replace
[Web] Restore enabled on a full config replace
[Web] Refresh the DOM after a full config replace
Default
shouldCancelWhenOutsidetotrueinuseTapGestureReset
numberOfPointersinLongPressGestureHandlerReset
enableTrackpadTwoFingerGesturein webPanGestureHandler[iOS] Keep button hit testing within its own subtree
[iOS] Cancel an in-progress press when the button gets disabled
[Android] Release the press when the button gets disabled
[Web] Drop a handler from the orchestrator when it gets disabled mid-gesture
[Web] Drop handlers that never began from the orchestrator
stop circular GestureStateManagerType import on web
[iOS] Preserve disabled button targets under box-none parents
Reset accumulated wheel delta in web
WheelEventManager[Android] Stop nested scroll when a native handler's gesture ends
Miscellaneous
[Android] Remove old Reanimated check
[Android] Initialize the
Handlerfields eagerlyUse stable Reanimated and Worklets
Fix Errors.test.tsx failing with Reanimated 4.6.0
[Web] Fix
delayTimeouttypeFlingGestureHandlerEscape the JSON-LD against early script termination
Remove stale TODOs
- removed
Remove
REACT_NATIVE_MINOR_VERSIONbuild flag Add issue triage comments workflow
Remove stale todo
Flatten same-type nested compositions in
useComposedGesture- removed
[iOS] Remove a stale TODO in
State.tsand the unused constants export Remove the
@ts-ignore TODOfrom the event pipeline injestUtilsResolve
DrawerLayoutAndroidlazily to avoid RN deprecation warning on importUpdate
PressablepropsFix v3 CI path filter case and remove stale files entry
[Example] Keep "Basic" in example names, add test ids
Bump joi from 17.13.4 to 17.13.7 in /packages/docs-gesture-handler
Bump svgo from 3.3.4 to 3.3.5 in /packages/docs-gesture-handler
Bump colord from 2.9.3 to 2.10.0 in /packages/docs-gesture-handler
Bump nanoid from 3.3.16 to 3.3.18 in /packages/docs-gesture-handler
Bump fast-uri from 3.1.5 to 3.1.7 in /packages/docs-gesture-handler
3.2.1
14 Aug 2026Forward press handlers as
testOnly_*inPressableWithTouchableUpdate
Pressableprops
3.2.0
13 Aug 2026Adopt AGP v9
Implement
Pressablebased onTouchable[Android] Add hover callbacks to Touchable
Important changes
Adopt AGP v9
Implement
Pressablebased onTouchable[Android] Add hover callbacks to Touchable
[iOS] Add hover callbacks to Touchable
[Web] Add hover callbacks to Touchable
[Web] Refactor
Touchablenot to rely onGestureDetector[iOS] Refactor
Touchablenot to rely onGestureDetector[Android] Refactor
Touchablenot to rely onGestureDetectorFix fatal crash
Cannot read property 'translationX' of undefinedwhen a touch event is serialized withoutallTouches
Improvements
[Android] Skip the underlay drawable when it can never be visible
[Android] Apply the button's managed handler config once per prop transaction
[Android] Configure the button's handler directly instead of through a
ReadableMap
Bug fixes
[Android] Guard update events to only be dispatched in ACTIVE state
Pass empty callbacks to UI when
runOnJSistrue[Web] Fix incorrectly calculated
timeDelta[Web] Fix incorrect
TapoffsetFix
minVelocityprops behavior[Android] Fix
minDistancebeing reset by partial config updatesMove Interceptor on
ScrollView, not its content[iOS] Re-sync layer opacity and transform from retained props when recycling buttons
[Android] Properly handle
requestDisallowInterceptTouchEventfor v3Fix
Touchablenot respectingkeyboardShouldPersistTaps="handled"[macOS] Fix touch events never being delivered
crash when mount listener fires after GestureDetector unmount
[macOS] Fix
Panactivation criteria being ignored[macOS] Fix
manualActivationnever blocking gesture activation[iOS] Fix touch events never being delivered to
VirtualDetectorhandlers[iOS] Fix gestures attached via
VirtualGestureDetectornever recognizing continuous gestures[macOS] Fix
Flingnot sending touch events and begin/end states consistently[Android] Fix handlers cancelled while awaiting leaking in the orchestrator
[iOS] Fix gesture callback guarantees when view is detached mid-gesture
[General] Default GestureDetector moduleId to -1
Clear pending timers on unmount in StatefulPressable
Miscellaneous
Update types to respect Strict TS API
Export
PressableEventtypeUpdate
AGENTS.mdDon't dispatch orphaned touch events
Get
uiRuntimedirectly from react-native-worklets[iOS] Check if
enableTrackpadTwoFingerGestureisnilbefore applying[General] Pass
nullhitSlop instead of coercing it to zeroAdd Imperative Gesture Handler Testing API
[Android] Fix basic-example
hermescpathExtract
CALLBACK_TYPEto shared moduleDon't evaluate
__DEV__orReanimatedat module scopeReplace React Native type imports in
EventTypes/eventUtilswith structural equivalentsDe-couple the web handlers from React Native
Use
globalThisinstead of bareglobalin utilsExtract the RN-free half of
ScrollViewinterop fromScrollViewResponderInterceptorExtract
HoverEffectto a standalone moduleLift
ButtonEventout of the codegen spec into shared typesStub the Windows module's
Gesturesmap[General] Align
pointerTypeacross native and JS[Apple] Remove trailing semicolons from
RNGHGestureRecognizerState*macros[General] Fix stale deprecation messages pointing to
Clickable[macOS] Downgrade
react-native-workletsMove hitSlop normalization to JS
Derive
Pressablepressed state fromtestOnly_pressed[Android] Resolve the button event dispatcher by react tag
Bump fast-uri from 3.1.2 to 3.1.4 in /packages/docs-gesture-handler
Bump webpack-dev-server from 5.2.5 to 5.2.6 in /packages/docs-gesture-handler
Bump body-parser from 1.20.4 to 1.20.6 in /packages/docs-gesture-handler
Bump shell-quote from 1.8.4 to 1.10.0 in /packages/docs-gesture-handler
Bump svgo from 3.3.3 to 3.3.4 in /packages/docs-gesture-handler
Bump to React Native 0.87
Bump json from 2.11.1 to 2.19.9 in /apps/macos-example
Bump json from 2.12.2 to 2.19.9 in /apps/basic-example
Bump websocket-driver from 0.7.4 to 0.7.5 in /packages/docs-gesture-handler
3.1.0
17 Jul 2026
Notes older than 90 days are read on the Releases tab.
Dependency tracking · free for 3 projects
Know when your own dependencies move
react-native-gesture-handler shipped a new major in the last 12 months, among 18 releases. Inlinr shows which of your projects are behind, and what the upgrade breaks.
Advisories reach you
An email when a critical or high advisory affects a project, before the next install.
Upgrades checked first
Peer ranges, Node, ESM-only and types changes read before you bump.
Only what matters
Majors and breaking notes stay; patches and sibling bumps fold into one line.
Registry facts last checked 21 Oct 2026. Releases and advisories last read 21 Oct 2026.