Features
- cross-platform backgroundImage with gradient and token support #3023 (natew)
- studio: v5 theme export + show active promo in AI bar purchase modal (#3842) #3842 (Dave Mkpa-Eke)
- build: add --swap-exports flag for publishing with src types #3023 (natew)
- element: add @tamagui/element package with useWebRef, useNativeRef, getWebElement #3023 (natew)
- element: add @tamagui/element package for platform-specific refs #3023 (natew)
- text: add Strong, Em, and Span inline text components #3023 (natew)
- popper: rename enableAnimationForPositionChange to animatePosition, add to Arrow #3023 (natew)
- config: add progressive font weights to heading font #3023 (natew)
- web: output auto-generated theme vars in CSS #3023 (natew)
- cross-platform pointer events #3023 (natew)
- config: adjust shadows for utility and add 7 and 8 shadows #3023 (natew)
- site: add SSR-safe seasonal themes #3023 (natew)
- logo: add color prop to TamaguiLogo #3023 (natew)
- core: add textShadow CSS prop support #3023 (natew)
- themes: add highlight colors and adjust subtle theme palette #3023 (natew)
- logo: show season tint colors on LogoWords always #3023 (natew)
- themes: adjust subtle palette lightness range #3023 (natew)
- purchase: enhance product API to support V2 products and improve error handling #3023 (Quan Nguyen)
- purchase: add support for V2 products and enhance subscription handling #3023 (Quan Nguyen)
- purchase: implement V2 Pro subscription handling and adjust takeout pricing logic #3023 (Quan Nguyen)
- purchase: implement V2 Pro subscription handling and adjust takeout pricing logic (Quan Nguyen)
- purchase: display support tier pricing and discounts in StripePaymentModal #3023 (Quan Nguyen)
- purchase: integrate usePaymentModal for enhanced payment handling in PurchaseModal #3023 (Quan Nguyen)
- purchase: enhance V2 subscription flow with idempotency keys and 3DS authentication handling #3023 (Quan Nguyen)
- purchase: improve V2 subscription creation and metadata handling for webhook processing #3023 (Quan Nguyen)
- purchase: add support for support tier upgrades and refine V2 purchase handling #3023 (Quan Nguyen)
- add unstyled support for any component to remove its component theme (natew)
Bug Fixes
- icons: use usePropsAndStyle with noMedia for lite path #3023 (natew)
- input type regression #3023 (natew)
- add setup-expo-linear-gradient export to @tamagui/native #3023 (natew)
- menu: safe polygon for left-side submenus and keyboard focusVisible #3023 (natew)
- menu: arrow keys match submenu placement direction #3023 (natew)
- avoid passing default styles down with asChild #3023 (natew)
- test: tolerate spring overshoot in scenario 45 test #3023 (natew)
- test: tolerate edge case where opacity equals threshold #3023 (natew)
- output backgroundImage => experimental_backgroundImage on native #3023 (natew)
- menu: improve type inference for Menu sub-components #3023 (natew)
- menu: Menu.Trigger uses role=button instead of button element #3023 (natew)
- asChild skips global config defaults (View/Text) too #3023 (natew)
- menu: use focusStyle for unified item highlighting #3023 (natew)
- scroll-view: add proper ref types with scroll methods #3023 (natew)
- config: use TAMAGUI_TARGET env and default font weight 400 #3023 (natew)
- types: add measure/focus/blur methods to TamaguiElement type #3023 (natew)
- constants: make isClient true on React Native #3023 (natew)
- input: use @tamagui/element for properly typed refs #3023 (natew)
- tabs: use @tamagui/element for properly typed refs #3023 (natew)
- types: add as any casts for ref type mismatches #3023 (natew)
- types: add as any casts for pre-existing ref type issues #3023 (natew)
- types: use TamaguiElement consistently for ref types #3023 (natew)
- select: guard window access with typeof check for SSR #3023 (natew)
- constants: rename isWindowDefined to isBrowser, fix SSR #3023 (natew)
- CI test failures - TransitionEnterExit flakiness and Toast Maestro test #3023 (natew)
- test: revert Toast Maestro test to v1 API (Show button) #3023 (natew)
- theme: track keys in DynamicColorIOS optimization path #3023 (natew)
- update shadow opacity test for color-mix, correct bundle size to 32% #3023 (natew)
- update button theme in TakeoutMenuShowcase component #3023 (Quan Nguyen)
- maestro: scroll to find AlertDialog in home screen #3023 (natew)
- kitchen-sink: use scrollUntilVisible for AlertDialog Maestro test #3023 (natew)
- safety if missing token #3023 (natew)
- kitchen-sink: restore TestCasesSection for Detox navigation #3023 (natew)
- menu: ArrowRight focuses submenu content when already open via hover #3023 (natew)
- kitchen-sink: add index.ts for TypeScript type checking #3023 (natew)
- core: text-inside-text font family inheritence logic #3023 (natew)
- kitchen-sink: export PointerEventsCase for web tests #3023 (natew)
- core: fix no-reredner animation paths not triggering mutliple dynamic children #3023 (natew)
- tabs: revert to ResizeObserver for tab layout measurements #3023 (natew)
- web: nested Text inherits font-family from parent via CSS #3023 (natew)
- button: default to type="button" to prevent accidental form submissions #3023 (natew)
- input: respect inputMode prop on native platforms #3023 (natew)
- improve pro dialog look on mobile (#3846) #3846 (Dave Mkpa-Eke)
- animations-reanimated: media query changes now update styles on web #3023 (natew)
- animations-motion: reset stale animation refs on first render #3023 (natew)
- animations-reanimated: add missing useAnimatedReaction and useDerivedValue imports #3023 (natew)
- web: generate CSS classes for $theme-light/$theme-dark with motion driver #3023 (natew)
- web: formatting fix, skip sandbox tests in CI #3023 (natew)
- motion: fix hydration issue by combining cf54108 fix for hydration #3023 (natew)
- motion: rename shadowed isHydrating variable to fix lint error #3023 (natew)
- native-ci: improve detox test reliability #3023 (natew)
- native-ci: remove automatic simulator cleanup (may interfere with active use) #3023 (natew)
- detox: export PointerEventsCase from native index #3023 (natew)
- build: skip writing unchanged files to avoid triggering HMR loops #3023 (natew)
- remove stale @tamagui/cli workspace references #3023 (natew)
- restore @tamagui/cli dep to tamagui.dev #3023 (natew)
- typecheck errors in SeasonProvider and Header #3023 (natew)
- ignore extra args in tamagui.dev build script #3023 (natew)
- clean dist before build tests to ensure consistent state #3023 (natew)
- header: header text in span #3023 (Quan Nguyen)
- purchase: purchase button #3023 (Quan Nguyen)
- fix outline / bg opacities losing their surface basline #3023 (natew)
- lint #3023 (Quan Nguyen)
- kitchen-sink: improve detox test runner reliability #3023 (natew)
- port back in panresponder to rnw-lite #3023 (natew)
- menu: thread theme through portal like Select does #3023 (natew)
- kitchen-sink: fix MenuThemeCase type errors #3023 (natew)
- kitchen-sink: update MenuTheme test to match theme name #3023 (natew)
- lint #3023 (Quan Nguyen)
- config: v5 media query specificity and tailwind-style naming (natew)
- web: reset media style cache when config changes (natew)
- animations-motion: fix AnimatePresence position jump on rapid switching (natew)
Documentation
- document useWebRef, useNativeRef, getWebElement #3023 (natew)
- add note about ref type fixes to next.md #3023 (natew)
- text: add inline text elements demo and documentation #3023 (natew)
- core: add useNativeRef and useNativeInputRef documentation #3023 (natew)
- cli: add generate-css command documentation #3023 (natew)
- themes: add inverse themes section with v5 palette swap pattern #3023 (natew)
- themes: note inverse pattern is SSR-safe #3023 (natew)
- add missing v2 documentation #3023 (natew)
- compiler: document outputCSS prop and TAMAGUI_DID_OUTPUT_CSS #3023 (natew)
- portal: add API reference with stackZIndex documentation #3023 (natew)
- add avoidReRenders and transformOrigin documentation #3023 (natew)
- popover: document onOpenChange via argument #3023 (natew)
- note tailwind alignment for media query breakpoints #3023 (natew)
- add textShadow docs, highlight colors, minor fixes #3023 (natew)
- fix typos, broken links, and use gray notice theme #3023 (natew)
- remove stub pages (faq, thinking-in-tamagui) #3023 (natew)
Code Refactoring
- toggle-group: simplify toggle-group to only handle toggling #3023 (natew)
- form: simplify scope prop pattern like Tooltip/Popper/Sheet #3023 (natew)
- clean up header text warning #3023 (Quan Nguyen)
- purchase: enhance layout and responsiveness #3023 (Quan Nguyen)
Performance Improvements
- web: use CSS color-mix for shadow opacity instead of parsing colors #3023 (natew)
- core: remove @tamagui/react-native-use-responder-events #3023 (natew)
- web: make CSS generation tree-shakeable via TAMAGUI_DID_OUTPUT_CSS #3023 (natew)
Tests
- menu: add tests for left-side submenu and keyboard focus #3023 (natew)
- add ScrollView ref integration test #3023 (natew)
- add toggle-group playwright tests #3023 (natew)
- add ThemeChangeBasic detox test for theme switching #3023 (natew)
- fix flaky webpack test with fixed window size for media queries #3023 (natew)
- update webpack test snapshot for boxShadow hash #3023 (natew)
- menu: add hover/keyboard interaction tests and fix test cases #3023 (natew)
- static-tests: update snapshot for text font inheritance fix #3023 (natew)
- kitchen-sink: add test for Text inside Paragraph font inheritance #3023 (natew)
- static-tests: update snapshots for Text componentName and font inheritance #3023 (natew)
- kitchen-sink: add FormButtonType test for button type attributes #3023 (natew)
- kitchen-sink: update media query animation tests #3023 (natew)
- add PopoverAnimatePosition test case #3023 (natew)
- sandbox: add SSR playwright tests with port finder #3023 (natew)
- sandbox: add motion hydration regression test #3023 (natew)
- kitchen-sink: skip SheetKeyboardDrag test (WIP, sync issues with keyboard-controller) #3023 (natew)
- kitchen-sink: add MenuThemeCase for portal theme inheritance #3023 (natew)
- kitchen-sink: add v5 media query test component (natew)
Continuous Integration
- add inputs to turbo test tasks for better caching #3023 (natew)
- skip SafeArea tests (component not implemented) #3023 (natew)
- skip flaky PressStyleNative and GroupPressNative tests #3023 (natew)
- increase iOS Detox timeout to 60 minutes #3023 (natew)
Chores
- align v5 animations better and fix flaky tests #3023 (natew)
- export @tamagui/element from tamagui package #3023 (natew)
- update test apps to toast v2 api #3023 (natew)
- update tests and comments to animatePosition #3023 (natew)
- remove debug console.logs from toggle-group #3023 (natew)
- simplify ToggleGroupDemo, use inline activeStyle #3023 (natew)
- upgrade one 1.2.81 -> 1.2.87 #3023 (natew)
- regenerate types #3023 (natew)
- redo v5 themes to simplify and make more consistent #3023 (natew)
- regenerate css #3023 (natew)
- disable mdx server in vscode #3023 (natew)
- sandbox: temporarily disable toast #3023 (natew)
- sandbox: upgrade to v5 config #3023 (natew)
- sandbox: regenerated files #3023 (natew)
- sandbox: skip test failures in CI #3023 (natew)
- add generate-css script #3023 (natew)
Commits
- a1d92e5: various cleanup and type regen (natew) #3023
- 8a94ec9: next (natew) #3023
- 2f69622: canary2.0.0-1769401121849 (natew) #3023
- 1d56a4f: fix consistent usage of event hooks (natew) #3023
- d1a5fc4: canary2.0.0-1769406109304 (natew) #3023
- 707e5e6: linear-gradient docs (natew) #3023
- 87b386a: canary2.0.0-1769409090068 (natew) #3023
- e8bf86f: canary2.0.0-1769410422406 (natew) #3023
- 29114d5: deprecate fullscreen prop on stacks (natew) #3023
- 270a06a: canary2.0.0-1769421444918 (natew) #3023
- cleanups, lints, typos, small bugs #3023 (natew)
- a387d93: cleanup code (natew) #3023
- f53f53a: canary2.0.0-1769435599888 (natew) #3023
- export animations alias from v5 configs #3023 (natew)
- 3f55c29: canary2.0.0-1769439083296 (natew) #3023
- serve llms.txt dynamically via API routes #3023 (natew)
- 7c751e4: save - wip toast (natew) #3023
- ca7c097: fix(input,tabs): use @tamagui/element for typed refs (natew) #3023
- toast: toast v2 updates and test cleanup #3023 (natew)
- add toast v2 docs to blog post #3023 (natew)
- update studio to use toast v2 api #3023 (natew)
- update to toast v2 api #3023 (natew)
- update to animatePosition prop #3023 (natew)
- 20d78b0: improve config v5 consistency and default component themes (natew) #3023
- 5469a3a: various demo improvements (natew) #3023
- f534806: temp - v2 toast needs composable re-write (natew) #3023
- update toggle-group docs with activeStyle example #3023 (natew)
- bb6027a: canary2.0.0-1769464790617 (natew) #3023
- 8b5ddef: move toast back to v1 until 2 is done (natew) #3023
- efe314b: canary2.0.0-1769467800680 (natew) #3023
- add 40% bundle size reduction to v2 blog post #3023 (natew)
- b027e62: canary2.0.0-1769495042619 (natew) #3023
- 96b5902: words (natew) #3023
- fixes to keyboard control #3023 (natew)
- fix formatting in keyboardControllerState #3023 (natew)
- fix formatting in sheet package #3023 (natew)
- b456a8b: canary2.0.0-1769536410877 (natew) #3023
- 7238c27: canary2.0.0-1769546410712 (natew) #3023
- 8bdeea3: canary2.0.0-1769550075301 (natew) #3023
- 8441449: various site cleanup (natew) #3023
- 277cb7f: various v5 color and theme improvements (natew) #3023
- ba6ce09: site colors (natew) #3023
- 44e54e1: site: fix laggy theme builder sliders, add palette color tooltips (#3844) (Dave Mkpa-Eke) #3844
- cf78b9a: kitchen-sink: suppress noisy webpack dev server warnings (natew) #3023
- 92d826a: upgrade one, SliderTrack => Slider, SliderTrackActive => SliderActive (natew) #3023
- 90800fc: fixes to tests (natew) #3023
- 57a599c: cleanup docs (natew) #3023
- 7b3daf7: fix two sheet related issues on web (natew) #3023
- b37cc3a: canary2.0.0-1769573246601 (natew) #3023
- 03dadb5: kitchen-sink: split usecases barrel into web/native to avoid native module warnings (natew) #3023
- 72d5b57: canary2.0.0-1769588848304 (natew) #3023
- 6f72b43: redo pro account modal and cleanup docs (natew) #3023
- fa809a0: fix heading (natew) #3023
- 95a1d59: remove starter-free references (natew) #3023
- fba4ed8: force railway deploy (natew) #3023
- d6d88dd: fixes for rc (natew) #3023
- 4a4e71d: fix serve stick (natew) #3023
- c03979e: commit new css (natew) #3023
- f564cba: try jpg (natew) #3023
- dcd1cd5: blog words (natew) #3023
- 7850bdf: fix motion driver regression causing jumps and sticks mostly in production (natew) #3023
- update v2 blog post description #3023 (natew)
- 42b6de5: setup sandbox for testing ssr easier (natew) #3023
- cb45b40: canary2.0.0-1769649802784 (natew) #3023
- 35233fc: words (natew) #3023
- make borders less strong by default #3023 (natew)
- 6482023: update themes and use build to regenerate (natew) #3023
- 6107954: small fixes (natew) #3023
- 0888a93: design (natew) #3023
- add season chooser to header menu #3023 (natew)
- design tweaks #3023 (natew)
- improve header menu sizing and season chooser display #3023 (natew)
- adjust docs styling and collapse heading margins #3023 (natew)
- refactor useLocalStorageWatcher to use useSyncExternalStore #3023 (natew)
- adjust LogoWords padding for better click area #3023 (natew)
- 46402e0: lint (natew) #3023
- c481436: season tweaks (natew) #3023
- 9fe6efe: color (natew) #3023
- bec545e: Revert "fix: clean dist before build tests to ensure consistent state" (natew) #3023
- fdac34e: canary2.0.0-1769665879528 (natew) #3023
- c7ca732: fix motion driver hydration mis-matches (natew) #3023
- ea0dc2d: words (natew) #3023
- f4fee23: note on driver half-fix (natew)
- 23cb515: Merge remote-tracking branch 'origin/main' into v2 (natew)
- 35f94c7: note on driver half-fix (natew) #3023
- e1382a6: fix menu native type (natew) #3023
- 306975a: canary2.0.0-1769680173943 (natew) #3023
- cf8cf14: upgrade one (natew)
- a0c3d26: Merge branch 'v2' (natew)
- 35c76b3: v2.0.0-rc.0 (natew)