npm tamagui 2.0.0-rc.23
v2.0.0-rc.23

latest release: 2.0.0-rc.23-1773153135360
8 hours ago

Features

  • add max-height-100, max-height-200, max-200, max-100 for granular small container queries (natew)
  • use-element-layout: add flag for pre-transform onLayout dimensions (RN alignment) (natew)
  • select: move zIndex prop to root Select, add high default stacking (natew)
  • popover: move zIndex prop to root Popover component (natew)
  • floating: port interaction hooks and inner middleware from upstream floating-ui/react (natew)
  • menu: add multi-trigger support for sharing one Menu.Content across multiple Menu.Triggers (natew)
  • tamagui: expose useClientValue export (natew)

Bug Fixes

  • popover: hoverable popover getting stuck when rapidly switching between triggers (natew)
  • motion: dont animate flexBasis, slight perf on sheet views (natew)
  • popper: hoverable popover not repositioning when entering from content (natew)
  • select: migrate zIndex from Select.Content to root Select (natew)
  • compiler: dynamic eval detects esm vs cjs loading (natew)
  • popover: pass open to useFloatingRaw so isPositioned resets on close (natew)
  • web: $theme-dark/$theme-light not working with inline animation drivers (natew)
  • popover: safePolygon area now actually prevents hoverable popover closing (natew)
  • multi-trigger hover from content to sibling trigger and cleanup (natew)
  • close delay respected after safePolygon exit, add content→gap→trigger test (natew)
  • popover: multi-trigger focus return and stable registration effect deps (natew)
  • motion: guard exit completion against stale promises after re-entry (natew)
  • popper: disable layout measurements for closed tooltips — || to ?? (natew)
  • web: use static CSS rules for pointerEvents box-none/box-only instead of dynamic child selectors (natew)
  • menu: pass open prop to Popper to disable measurements when closed (natew)
  • menu: prevent flip flicker on first open near viewport edge (natew)
  • core: handle contextual changes of animation driver that could confuse resolution (natew)
  • tooltip: fix arrow displacement and stuck state on multi-trigger hover (natew)
  • popper: restore update() call after setReference in PopperAnchor (natew)
  • web: forward testID for RN animation driver on web (natew)
  • core: test fix for rare race in hover anchor (natew)
  • cli: improve tamagui check to detect lockfile duplicates, node_modules duplicates, and missing config (natew)
  • site: add core tamagui packages to vite optimizeDeps to prevent duplicate instances (natew)
  • popover: stuck tooltip fallback close + arrow flushSync + font crash guard (natew)
  • popover: respect close delay in fallback timer to avoid clobbering user config (natew)
  • popper: move LayoutMeasurementController to PopperContent so closed popovers don't disable sibling onLayout (natew)
  • popover: prevent fallback timer from racing safePolygon during slow diagonal movement (natew)
  • floating: more lenient safe polygon (natew)
  • motion: upgrade motion >=12.35.1, remove WAAPI commitStyles workaround (natew)
  • floating: fix stuck tooltip after rapid sweep, fix flash to (0,0) on position change, fix font flicker during hydration (natew)
  • motion: always stop previous animation before starting new one to eliminate gap frames (natew)
  • motion: skip inline style writes during hydration to prevent font flicker (natew)
  • motion: only stop all animations during exit, let enter animations complete on trigger switch (natew)
  • popper: prevent stuck tooltip during rapid trigger switching (natew)
  • popper: stabilize slow context to prevent all anchors re-rendering on hover (natew)
  • popper: remove useMemo on slow context that froze stale values (natew)
  • animations-react-native: prevent empty animated transform from overriding position (natew)

Documentation

  • add z-index stacking guide and component intro paragraphs (natew)
  • fix outdated instructions in CLAUDE.md, CONTRIBUTING.md, README.md, and using-ios.md (natew)
  • document flushSync reasoning and getFloatingProps wrapper (natew)

Styles

Performance Improvements

  • web: bump default TAMAGUI_LAYOUT_FRAME_SKIP from 6 to 10 (natew)
  • popper: replace floating-ui autoUpdate with tamagui's batched IO measurement loop (natew)
  • popper: freeze middleware reference when closed to skip computePosition on re-renders (natew)
  • core: optimize theme resolution with caching and early exits (natew)

Tests

  • remove obsolete snapshot entries (natew)
  • add kitchen-sink test case for theme media + animation (natew)
  • skip $theme-dark animateOnly test (fix was intentionally reverted) (natew)
  • skip ThemeMediaAnimation tests (fix was intentionally reverted) (natew)
  • popper: add regression tests for middleware-skip position glitches (natew)
  • add tooltip rapid switch and SSR stress test fixtures (natew)

Continuous Integration

  • bump playwright retries to 2 in CI, remove unused var in stress test (natew)
  • skip flaky sweep stress test on slow CI runners (natew)
  • skip ClickDuringEnter test on CSS driver (tests WAAPI-specific mid-flight behavior) (natew)
  • fix flaky MultiDriverAnimation test using rAF polling instead of waitForTimeout (natew)

Chores

  • static: move to 2022 parsing (natew)
  • canary release (natew)
  • add failing test for re-position and fix based on main (natew)
  • stronger hide scrollbars (natew)
  • format new menu/popover test files (natew)

Commits

  • b87cb72: up one (natew)
  • 4214e50: up one for better html cache (natew)
  • eb23a0b: canary2.0.0-rc.22-1772434229132 (natew)
  • 7c9cae1: canary2.0.0-rc.22-1772488529965 (natew)
  • 1c22c62: canary2.0.0-rc.22-1772525450095 (natew)
  • bd4dccb: more hoverable popover tests (natew)
  • feae06b: wip - debugging (natew)
  • 2ce9ce4: add release --into (natew)
  • 80d70ce: revert weird theme fix (natew)
  • 95400ba: 2.0.0-rc.22-1772635574473 (natew)
  • 9436289: improve multi-target handling (natew)
  • e855e29: canary2.0.0-rc.22-1772685434143 (natew)
  • 093dc80: canary2.0.0-rc.22-1772776189222 (natew)
  • e11614c: canary2.0.0-rc.22-1772785319329 (natew)
  • c3e2725: fix checks (natew)
  • f33300f: canary2.0.0-rc.22-1772824249127 (natew)
  • add StressPage profiling test and globalThis.time support (natew)
  • 035add9: add stress test for perf testing (natew)
  • 572b2a8: canary2.0.0-rc.22-1772830729468 (natew)
  • a6ae2bd: canary2.0.0-rc.22-1772836362872 (natew)
  • add TODO note for removing WAAPI workaround after motion PR #3588 ships (natew)
  • 2255990: canary2.0.0-rc.22-1772903013031 (natew)
  • dfb9488: canary2.0.0-rc.22-1772961823387 (natew)
  • a7b3f6a: fix(popover, motion): add disablePressTrigger prop, fix mid-flight transform jump on position change (natew)
  • cc12e2a: canary2.0.0-rc.22-1773048385850 (natew)
  • fix getMDXBySlug crash in SSG worker when @tamagui/demos is unresolvable (natew)
  • remove LoadCherryBomb prefetch from site layout, only needed on takeout/bento pages (natew)
  • 9dcf924: improve memo logic (natew)
  • c99d6b7: v2.0.0-rc.23 (natew)

Don't miss a new tamagui release

NewReleases is sending notifications on new releases.