Bug Fixes
- 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)
- sheet: freeze native fit sheet viewport when keyboard opens #4052 (natew)
Styles
- core/web: normalize component-state comments (natew)
Performance Improvements
- 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
- 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)
Continuous Integration
- install applesimutils by full name for homebrew 6 tap trust (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)