❗ Important changes
- feat: Adopt AGP v9 by @hurali97 in #4263
- Implement
Pressablebased onTouchableby @m-bert in #4411 - [Android] Add hover callbacks to Touchable by @j-piasecki in #4396
- [iOS] Add hover callbacks to Touchable by @j-piasecki in #4397
- [Web] Add hover callbacks to Touchable by @j-piasecki in #4398
- [Web] Refactor
Touchablenot to rely onGestureDetectorby @j-piasecki in #4344 - [iOS] Refactor
Touchablenot to rely onGestureDetectorby @j-piasecki in #4343 - [Android] Refactor
Touchablenot to rely onGestureDetectorby @j-piasecki in #4342 - Fix fatal crash
Cannot read property 'translationX' of undefinedwhen a touch event is serialized withoutallTouchesby @huextrat in #4316
👍 Improvements
- [Android] Skip the underlay drawable when it can never be visible by @j-piasecki in #4359
- [Android] Apply the button's managed handler config once per prop transaction by @j-piasecki in #4357
- [Android] Configure the button's handler directly instead of through a
ReadableMapby @j-piasecki in #4358
🐛 Bug fixes
- [Android] Guard update events to only be dispatched in ACTIVE state by @j-piasecki in #4332
- Pass empty callbacks to UI when
runOnJSistrueby @m-bert in #4326 - [Web] Fix incorrectly calculated
timeDeltaby @m-bert in #4329 - [Web] Fix incorrect
Tapoffset by @m-bert in #4330 - Fix
minVelocityprops behavior by @m-bert in #4327 - [Android] Fix
minDistancebeing reset by partial config updates by @m-bert in #4347 - Move Interceptor on
ScrollView, not its content by @m-bert in #4331 - [iOS] Re-sync layer opacity and transform from retained props when recycling buttons by @m-bert in #4360
- [Android] Properly handle
requestDisallowInterceptTouchEventfor v3 by @j-piasecki in #4367 - Fix
Touchablenot respectingkeyboardShouldPersistTaps="handled"by @m-bert in #4372 - [macOS] Fix touch events never being delivered by @m-bert in #4390
- fix: crash when mount listener fires after GestureDetector unmount by @kosmydel in #4268
- [macOS] Fix
Panactivation criteria being ignored by @m-bert in #4387 - [macOS] Fix
manualActivationnever blocking gesture activation by @m-bert in #4389 - [iOS] Fix touch events never being delivered to
VirtualDetectorhandlers by @m-bert in #4392 - [iOS] Fix gestures attached via
VirtualGestureDetectornever recognizing continuous gestures by @m-bert in #4393 - [macOS] Fix
Flingnot sending touch events and begin/end states consistently by @m-bert in #4395 - [Android] Fix handlers cancelled while awaiting leaking in the orchestrator by @m-bert in #4402
- [iOS] Fix gesture callback guarantees when view is detached mid-gesture by @m-bert in #4321
- [General] Default GestureDetector moduleId to -1 by @kosmydel in #4412
- Clear pending timers on unmount in StatefulPressable by @m-bert in #4413
🔢 Miscellaneous
- Update types to respect Strict TS API by @m-bert in #4319
- Export
PressableEventtype by @m-bert in #4324 - [Docs] Improve docs by @m-bert in #4325
- [Docs] Uncover banner by @m-bert in #4338
- Update
AGENTS.mdby @m-bert in #4339 - Don't dispatch orphaned touch events by @m-bert in #4341
- [Docs] Fix TopbarBanner not refilling content after navigation by @p-malecki in #4348
- Get
uiRuntimedirectly from react-native-worklets by @coado in #4276 - [iOS] Check if
enableTrackpadTwoFingerGestureisnilbefore applying by @m-bert in #4349 - [Docs] Update sponsors section by @m-bert in #4355
- [General] Pass
nullhitSlop instead of coercing it to zero by @j-piasecki in #4356 - [Docs] Reintroduce states flow chart by @m-bert in #4352
- [Docs] Add callbacks flow charts by @m-bert in #4354
- [Docs] Do not highlight wrong
onBegintransition by @m-bert in #4361 - [Docs] Add "Getting Started" page by @m-bert in #4362
- Add Imperative Gesture Handler Testing API by @coado in #4309
- [Docs] Add announcement
Chipby @m-bert in #4366 - [Docs] Restructure SideBar by @m-bert in #4365
- [Docs] Add
Touchablesection to landing page by @m-bert in #4368 - Chore: Wrap FC with ref forwarding for virtualdetector by @tshmieldev in #4369
- [Docs] Add platform circles by @m-bert in #4370
- [Android] Fix basic-example
hermescpath by @j-piasecki in #4371 - Extract
CALLBACK_TYPEto shared module by @m-bert in #4374 - Don't evaluate
__DEV__orReanimatedat module scope by @m-bert in #4375 - Replace React Native type imports in
EventTypes/eventUtilswith structural equivalents by @m-bert in #4377 - De-couple the web handlers from React Native by @m-bert in #4381
- Use
globalThisinstead of bareglobalin utils by @m-bert in #4380 - Extract the RN-free half of
ScrollViewinterop fromScrollViewResponderInterceptorby @m-bert in #4376 - Extract
HoverEffectto a standalone module by @m-bert in #4379 - Lift
ButtonEventout of the codegen spec into shared types by @m-bert in #4382 - Chore: ref forwarding to child in wrap v2 by @tshmieldev in #4385
- Stub the Windows module's
Gesturesmap by @m-bert in #4383 - [General] Align
pointerTypeacross native and JS by @j-piasecki in #4403 - [CI] Upload application artifacts by @j-piasecki in #4378
- [Apple] Remove trailing semicolons from
RNGHGestureRecognizerState*macros by @m-bert in #4391 - [General] Fix stale deprecation messages pointing to
Clickableby @j-piasecki in #4394 - [Docs] Document Touchable hover callbacks by @j-piasecki in #4399
- refactor: replace makeMutable with createShareable by @tjzel in #4406
- chore: update deprecated Reanimated API use with Worklets by @tjzel in #4407
- [macOS] Downgrade
react-native-workletsby @m-bert in #4410 - Move hitSlop normalization to JS by @coado in #4388
- Derive
Pressablepressed state fromtestOnly_pressedby @m-bert in #4414 - [Android] Resolve the button event dispatcher by react tag by @m-bert in #4415
- Bump fast-uri from 3.1.2 to 3.1.4 in /packages/docs-gesture-handler by @dependabot[bot] in #4334
- Bump webpack-dev-server from 5.2.5 to 5.2.6 in /packages/docs-gesture-handler by @dependabot[bot] in #4333
- Bump body-parser from 1.20.4 to 1.20.6 in /packages/docs-gesture-handler by @dependabot[bot] in #4335
- Bump shell-quote from 1.8.4 to 1.10.0 in /packages/docs-gesture-handler by @dependabot[bot] in #4336
- Bump svgo from 3.3.3 to 3.3.4 in /packages/docs-gesture-handler by @dependabot[bot] in #4337
- Bump to React Native 0.87 by @m-bert in #4310
- Bump nanoid from 3.3.15 to 3.3.18 by @dependabot[bot] in #4409
- Bump json from 2.11.1 to 2.19.9 in /apps/macos-example by @dependabot[bot] in #4345
- Bump json from 2.12.2 to 2.19.9 in /apps/basic-example by @dependabot[bot] in #4346
- Bump tar from 7.5.19 to 7.5.22 by @dependabot[bot] in #4351
- Bump websocket-driver from 0.7.4 to 0.7.5 in /packages/docs-gesture-handler by @dependabot[bot] in #4317
- Bump postcss from 8.5.16 to 8.5.25 by @dependabot[bot] in #4384
- Bump undici from 8.7.0 to 8.10.0 by @dependabot[bot] in #4373
- Bump js-yaml from 3.15.0 to 3.15.1 by @dependabot[bot] in #4405
New Contributors
- @tshmieldev made their first contribution in #4369
- @hurali97 made their first contribution in #4263
Full Changelog: v3.1.0...v3.2.0