npm tamagui 2.3.3-1782533722506
v2.3.3-1782533722506

5 hours ago

Bug Fixes

  • core: stop nested group notify loops when pseudo state is unchanged (natew)
  • resolve bento even if not same relative distance (natew)
  • animations-motion: gate explicit transform keyframe to torn-down animations so plain transitions (logo dot) stay smooth on rapid interruption (natew)
  • build: fix race condition when fully specifying native imports (natew)
  • build: un-shim esbuild __require to a real require in native esm so require()-behind-TAMAGUI_TARGET works on metro (fixes toast PanResponder crash) (natew)
  • sheet: reduce js work during drag release (natew)
  • sheet: reduce locked scroll churn during gesture handoff (natew)
  • select: SelectViewportFrame extends ThemeableStack so elevate/bordered resolve (natew)
  • use-window-dimensions: lazy-subscribe to dodge hermes early-eval (natew)
  • core: type the "safe" first-class value for safe-area-aware style props (natew)
  • fix perf regression on parent theme matching (natew)
  • web: don't throw on transient missing parent theme state (natew)
  • core: enter animations stuck at opacity 0 on motion driver — hoisted base setStateShallow collided with the avoidReRenders emitter wrapper field, so the unmounted 'should-enter'→false transition never reached React (natew)
  • portal: repropagate theme across native gorhom portal boundary (natew)
  • sheet: let fit scroll views shrink-wrap (natew)
  • sheet: stabilize web scroll handoff (natew)

Styles

  • core/web: normalize component-state comments (natew)

Performance Improvements

  • core: compare group pseudo fields directly before notifying (natew)
  • core: reuse group pseudo objects across notifications (natew)
  • core/web: stabilize useThemeState/useMedia closures, one Proxy per component (natew)
  • theme: drop useId in per-component theme path; counter-based ids instead (natew)
  • core: manual subscribe (useReducer+useEffect) for theme+media; merge keys/schemeKeys useRefs (natew)
  • theme: skip cascade-effect for leaf components (forThemeView flag) (natew)
  • media: swap Proxy for shared getter prototype (Hermes-fast) (natew)
  • core: lazy theme/media subscription — skip listener setup when no tracked keys read (natew)
  • native: skip dead hover work in getSplitStyles (natew)
  • native: extend dead-hover skip to group-hover media keys in getSplitStyles (natew)
  • native: trim leaf hook count — skip NativeMenuContext on iOS, collapse pointer refs 3→1, early-skip data-* in split loop (natew)
  • component-state: hoist setStateShallow onto stateRef; drop useCallback hook (natew)

Tests

  • fix group prop typecheck in nested group case by registering its group names (natew)
  • update webpack styleExpansions snapshot for inset→t/r/b/l atomic expansion (natew)
  • core: guard theme/media granular re-render (catches over-render regression) (natew)
  • portal: pin native theme repropagation against DynamicColorIOS de-opt (natew)
  • portal: prove web .get() absorbs sub-theme name changes with no re-render (natew)

Chores

  • core/web: rebuild generated types for theme/media perf chain (natew)
  • select: rebuild generated types for ThemeableStack viewport (natew)
  • core/web: refresh useComponentState generated type (natew)

Commits

  • pause /takeout 3D box off-screen + drop preserveDrawingBuffer/Stage (natew)
  • 59d93cf: upgrade one (natew)
  • 3158d2d: canary2.3.2-1782110552417 (natew)
  • 163567c: v2.3.3 (natew)
  • b0ea81d: canary2.3.3-1782462397214 (natew)
  • e3af8a3: canary2.3.3-1782465561627 (natew)
  • 507b696: canary2.3.3-1782495782270 (natew)
  • c8c7f13: canary2.3.3-1782530413169 (natew)
  • 6339cb6: v2.3.3-1782533722506 (natew)

Don't miss a new tamagui release

NewReleases is sending notifications on new releases.