Bug Fixes
- core: remove responder claims from RNGH press path to fix startup freeze (natew)
- core: hoist rngh responder claim to outer display:contents wrapper (natew)
- core: fire orphan pressOut when rngh gesture loses ownership mid-drag (natew)
- core: move gestureState into objects to avoid workletization causing stale references (natew)
- core: stop clearing nextState before React commits so press-out in same JS task isn't bailed (natew)
- site: recover from stuck OAuth popup instead of alert+stranding #3994 (natew)
- site: bypass navigator.lock on /auth so OAuth never hangs on tab contention (natew)
- vite-plugin: auto-dedupe tamagui packages to prevent duplicate instances from split sub-entry bundles (natew)
- starters/expo-router: align deps with SDK 55 to fix "Couldn't find a LinkingContext" (#3991) (natew)
- core: freeze native gesture mode after first render (natew)
- site: drop /auth timeout to 3s with auto-redirect, prevent popup login loop (natew)
- compiler: match monorepo disk paths and pass through whitelisted package internals in dynamic eval (natew)
- compiler: drive web/native resolution from platform arg, inline TAMAGUI_TARGET/EXPO_OS in bundled config (natew)
- core: avoid display:contents wrapper on Fabric to prevent crash in mount transactions (natew)
- core: only attach RNGH press gesture for real user handlers, not synthesized pressStyle events (natew)
- core: use non-arbitrating Manual gesture for pressStyle-only components (natew)
- list-item: fix regression making spacing much smaller after icon (in february) (natew)
Performance Improvements
- core: replace O(categories) for-in scan in hot path for token resolution (natew)
Tests
- stabilize NestedPressExclusive, TabsOnInteraction, PressStyleScrollStuck for iOS Detox CI (natew)
- drop invalid justifyContent='stretch' from GroupPressTransitionMatrix (natew)
- dedupe react-native-web in kitchen-sink webpack so Sheet PanResponder fires on macOS (natew)
- format webpack alias addition with oxfmt (natew)
Continuous Integration
- fix maestro retry path doubling working directory (natew)
- detox: default-disable KeyboardProvider in tests to fix sync hangs (natew)
- detox: add settle delays to avoid reload-after-launch hang (natew)
- detox: move metro to port 9034 to avoid foreign dev server collisions (natew)
- fix android detox launch hang and ios shard 3 hook timeouts #4002 (natew)
- detox: skip Expo SplashScreen registration under Detox to fix Android launch hang #4002 (natew)
- detox: retry safeLaunchApp on transient FBSOpenApplicationService errors #4003 (natew)
- detox: bump compiler-test hook timeouts and home-title wait for slow CI runners #4004 (natew)
Chores
- remove old v2 toast experiment (natew)
- remove all react-native peer dependencies from tamagui as pnpm is a massive headache (natew)
- remove more peerdeps, because pnpm is a bad bundler (natew)
- starters/expo-router: revert version range deviations to match monorepo common ranges, bump kitchen-sink expo-splash-screen to match (natew)
- oxfmt formatting (natew)
Commits
- 4bf7515: canary2.0.0-rc.41-1776298929157 (natew)
- 3090bb3: canary2.0.0-rc.41-1776470906478 (natew)
- bc1f8bc: canary2.0.0-rc.41-1776501875026 (natew)
- bf683e1: canary2.0.0-rc.41-1776626066745 (natew)
- 31a88a0: canary2.0.0-rc.41-1776717758781 (natew)
- 9872e62: canary2.0.0-rc.41-1776739748773 (natew)
- 9881182: canary2.0.0-rc.41-1776811998898 (natew)
- 58be682: canary2.0.0-rc.41-1776813063972 (natew)
- 8cc8304: fix(button, input): add unstyled: true styling that resets browser default styles for button and input (natew)
- 2f6b5e6: improve detox shard (natew)
- 569a03a: update one (natew)
- 9c86bcb: up one again (natew)
- 7a1ea4a: canary2.0.0-rc.41-1777420450440 (natew)
- f8e3353: canary2.0.0-rc.41-1778092764335 (natew)
- cb6fd05: canary2.0.0-rc.41-1778104426158 (natew)
- 4c48c33: upgrade one (natew)
- fe6f9ad: give detox more headroom (natew)
- 5eefe49: remove old main (natew)
- 3df55a9: v2.0.0-rc.42 (natew)