❗ Important changes
- [iOS] add SPM build support by @kacperzolkiewski in #4510
- [Android] Add
pressOutAfterAnimationprop toTouchableby @m-bert in #4568 - [iOS] Implement
pressOutAfterAnimationonTouchableby @m-bert in #4570 - Rename
pressOutAfterAnimationtoimmediatePressOutby @m-bert in #4594 - [Android] Dispatch
onPressInwhen the native press starts by @m-bert in #4575
👍 Improvements
- [Android] Align the alpha traversal gate with iOS by @m-bert in #4513
- Scan mount relations directly instead of rebuilding tag arrays by @teoarjun in #4546
- [Web] Align Tap maxDelay default with native (200 ms) by @Shexter in #4557
- [Web] Make ScrollView an intercepting detectors by @m-bert in #4528
🐛 Bug fixes
- [Android] Cancel detector gestures when a native view above them takes over the touch by @JacquesLeupin in #4582
- [Android] Fix NPE when a touch cancel callback finishes the handler mid-transition by @m-bert in #4584
- Make the detector frame cover transformed children by @m-bert in #4532
- [Android] Allow
GestureStateManager.activatefrom the firstonTouchesDownby @m-bert in #4534 - [iOS] Allow
GestureStateManager.activatefrom the firstonTouchesDownby @m-bert in #4535 - [Web] Allow
GestureStateManager.activatefrom the firstonTouchesDownby @m-bert in #4537 - [Web] Introduce key pointer in KeyboardEventManager by @m-bert in #4519
- [iOS] Fix
manualActivationbeing ignored after a config update mid-gesture by @m-bert in #4520 - [iOS] Skip hidden and transparent buttons in hit testing by @m-bert in #4512
- [Web] Keep detector-owned DOM props across a full config replace by @m-bert in #4522
- Follow the sign of a SharedValue pan offset on every update by @m-bert in #4533
- [Web] Detect composed gesture changes in the detector by @m-bert in #4526
- [Android] Prevent Touchable presses when stopping ScrollView flings by @janicduplessis in #4548
- [Android] Don't change state of handlers that haven't received any touches by @m-bert in #4549
- [Web] Fix view relative coordinates of trackpad pan events by @giaBaoJS in #4531
- [Web] Map event coordinates through the view's full transform by @m-bert in #4566
- [General] Link late-mounted gesture objects and skip mount reactions without external relations by @m-bert in #4562
- [Android] Fix crash when a Text inside a detector gets an inline View by @gigobyte in #4588
- [Android] Reset the native DOWN flag for unmanaged buttons by @m-bert in #4590
- fix(android): respect pointer events on gesture root views by @huytdps13400 in #4565
- Expose animatable ref from legacy
GestureDetectorWrapby @mikael-karlsson-weapp in #4554 - [Android] Clear the pending HOVER_EXIT finish when the hover handler is reset by @m-bert in #4593
- [Android] Stop nested scroll when the root starts intercepting by @m-bert in #4592
- Re-send SharedValue config values from the UI thread after binding by @m-bert in #4538
- [Android] Cancel gestures on native ACTION_CANCEL by @m-bert in #4589
- [iOS] Keep NativeViewGestureHandler flags across a partial config update by @m-bert in #4527
- [Android] Check the overflow ancestor pass against the detector child's bounds by @m-bert in #4605
🔢 Miscellaneous
- Bump to React Native 0.88 by @m-bert in #4517
- Expose the module id through a sync TurboModule method instead of a JSI global by @m-bert in #4525
- [Docs] Update compatibility table (3.3.0) by @m-bert in #4511
- Bump proxy-addr from 2.0.7 to 2.0.8 in /packages/docs-gesture-handler by @dependabot[bot] in #4577
- Bump joi from 17.13.7 to 17.13.8 in /packages/docs-gesture-handler by @dependabot[bot] in #4576
- Bump compression from 1.8.1 to 1.8.2 by @dependabot[bot] in #4580
- Bump shell-quote from 1.10.0 to 1.12.0 by @dependabot[bot] in #4578
- Bump source-map-js from 1.2.1 to 1.2.2 by @dependabot[bot] in #4579
- Bump fast-uri from 3.1.7 to 3.1.8 in /packages/docs-gesture-handler by @dependabot[bot] in #4558
- Bump joi from 17.13.6 to 17.13.8 by @dependabot[bot] in #4560
- Bump brace-expansion from 1.1.18 to 1.1.21 by @dependabot[bot] in #4559
- Bump undici from 8.10.0 to 8.11.2 by @dependabot[bot] in #4552
- [GitHub] Remove
Architecturefrom the issue template by @j-piasecki in #4543 - [E2E] Update flows to await console to hide by @j-piasecki in #4524
- [CI] Add the Argent Cloud issue reproduction workflow by @j-piasecki in #4544
- [CI] Retry failed e2e flows before failing the job by @j-piasecki in #4550
- [CI] Read the Node version from
.nvmrcby @j-piasecki in #4542 - [Android] Register all component descriptors in react-native.config.js by @m-bert in #4521
- [General] Hide non-serializable gesture fields from enumeration by @m-bert in #4556
- [CI] Update argent cloud workflow by @j-piasecki in #4569
- [Web] Register the wheel listener as passive and only for Pan by @m-bert in #4583
- Allow opt-out from
pressOutAfterAnimationinPressableby @m-bert in #4572 - [Docs] Add
pressOutAfterAnimationdocs by @m-bert in #4573 - docs: fix broken heading anchors by @SatvikMishra08 in #4586
- [Docs] Add migration example for relations with wrapped components by @m-bert in #4595
- Report a
VirtualGestureDetectorchild that swallows therefby @m-bert in #4596 - Keep the pointerEvents ts-expect-error in emitted spec declarations by @m-bert in #4601
- Stop
react-native-pager-viewfrom entering the web bundle of the example app by @m-bert in #4604
New Contributors
- @teoarjun made their first contribution in #4546
- @Shexter made their first contribution in #4557
- @SatvikMishra08 made their first contribution in #4586
- @JacquesLeupin made their first contribution in #4582
- @gigobyte made their first contribution in #4588
- @huytdps13400 made their first contribution in #4565
- @mikael-karlsson-weapp made their first contribution in #4554
Full Changelog: v3.3.0...v3.4.0