Key changes
More props supported by CSS Core Animation
Shadow (shadowColor, shadowOpacity, shadowRadius, shadowOffset), background, and border (backgroundColor, borderColor, borderWidth, borderRadius) CSS transitions now run on iOS Core Animation.
Using CSS Core Animation required enabling IOS_CSS_CORE_ANIMATION feature flag.
- feat: Run shadow CSS transitions on Core Animation by @MatiPl01 in #9685
- feat: Run background and border CSS transitions on Core Animation by @MatiPl01 in #9689
CSS Animations Pseudoselectors
CSS animations now support pseudo-selectors such as :hover, :active, and :focus, with native Apple and Android backends alongside a web implementation.
- feat: pseudo-selectors web implementation by @wisniewskij in #9474
- feat: CSS Pseudoselectors - android backend by wisniewskij in #9432
- feat: CSS Pseudoselectors - apple backend by wisniewskij in #9297
CSS Animations web support for SVG
Animating react-native-svg components is now available on web.
- feat: register remaining react-native-svg components for web CSS animations by MatiPl01 in (#9549)
SharedTransitionBoundary component
Introducing the SharedTransitionBoundary component, which scopes shared element transitions to a subtree so only matching elements within the boundary animate together. Useful for isolating shared transitions between screens that would otherwise interfere.
- feat(set): SharedTransitionBoundary by @kasperski95 in #9435
Other changes
- fix: Pseudo selector type issues by @MatiPl01 in #9597
- chore: Remove PlainStyle, tighten CSS style typing by @MatiPl01 in #9538
- fix: 30fps layout animations on iOS release builds by @bartlomiejbloniarz in #9616
- fix: Don't crash on iOS double reload when surface presenter has no scheduler by @tomekzaw in #9672
- fix: prevent exiting views from getting stuck under heavy load on Android by @bartlomiejbloniarz in #9621
- Don't resurrect layout animations cancelled before their start lambda ran by @bartlomiejbloniarz in #9660
- fix: jsProps not animating on native by @MatiPl01 in #9707
- fix: CSS perspective interpolation NaN from the infinity default by @MatiPl01 in #9712
- fix: Android crash on odd-length CSS strokeDasharray by @MatiPl01 in #9719
- fix: Android ANR deadlock between CSS updates-registry lock and Fabric commit by @MatiPl01 in #9715
- fix: Memory leak when unmounting views mid-animation by @MatiPl01 in #9711