🚀 Main changes
- Added
useAnimatedSensor
for Web #3955 - Added
setImmediate
implementation for Reanimated runtime - Added first part of functionality of Shared Element Transition. Examples available here. Please note that this is experimental feature, not production ready. We are waiting for your feedback to improve functionality.
What's Changed
- Rename
dataAccessLock_
todataAccessMutex_
by @tomekzaw in #3953 - Add warning for style animations missing initial values by @jwajgelt in #3947
- Fix build package CI warnings by @tomekzaw in #3942
- Add useAnimatedSensor for Web by @mstach60161 in #3955
- Optimize the way we extract code string and in which we pass it across runtimes by @kmagiera in #3930
- Disable
HERMES_ENABLE_DEBUGGER
when building Reanimated 2 AAR package by @tomekzaw in #3956 - Raise error when
cppVersion
is undefined by @tomekzaw in #3944 - Fix: 3.0.0-rc.9 , useAnimatedScrollHandler with FlashList not working by @orekasep in #3938
- Don't look in default path for libs if path is procided by @reinismu in #3945
- Rewrite
isAnimated
function by @tomekzaw in #3949 - Optimize previous style calculation in
styleUpdater
by @tomekzaw in #3950 - Fix keyboard height in useAnimatedKeyboard on language change on iOS by @graszka22 in #3940
- Make work with transluscent StatusBar on Android by @graszka22 in #3958
- Use
getBool
instead ofasBool
by @tomekzaw in #3961 - Fix small bugs in useAnimatedSensor for web by @mstach60161 in #3962
- Fix typo on reanimated 2 mock.ts by @GSTJ in #3968
- Bump react-native to 0.71.0 in Example and FabricExample by @tomekzaw in #3972
- Extend the set of layout animation mocks by @jalooc in #3974
- Revert "Optimize previous style calculation in
styleUpdater
" by @tomekzaw in #3979 - Bump react-native to 0.71.1 by @tomekzaw in #3984
- Assign
*runtime_
tort
by @tomekzaw in #3986 - Various
useScrollViewOffset
improvements by @tomekzaw in #3987 - Remove version check in FabricUtils.cpp by @tomekzaw in #3985
- Fix attaching a scroll event if the scrollable component is not the root view by @graszka22 in #3988
- [LayoutAnimations] Fix exiting animations inside a Native Stack Navigator by @jwajgelt in #3865
- Upgrade navigation packages in Example app by @jwajgelt in #3995
- [Android] Fix crash when navigating during an exiting animation by @jwajgelt in #4002
- [Android] Cleanup animated sensors in NativeProxy destructor by @jwajgelt in #3954
- small spell correction by @jonnyroc in #4007
- [Android] Fix wrong variable name in build.gradle by @filipeveronezi in #4008
- Remove
RN_FABRIC_ENABLED
flag in RNReanimated.podspec by @tomekzaw in #4011 - Shared Element Transition by @piaskowyk in #3827
- Hide
back-to-top
button in the documentation by @j-piasecki in #4013 - Fix crash caused by data race in useAnimatedKeyboard by @graszka22 in #3911
- Fix so path in cmake for new arch off [Android Compilation Issue] by @pavangoyal42 in #4018
- Add web support without a Babel/SWC Plugin by @nandorojo in #3997
- Make shareable HostObject code more generic by @kmagiera in #4024
- Fix blank spots in examples list in FabricExample by @tomekzaw in #4019
- Fix Fabric crash in
NativeReanimatedModule::removeShadowNodeFromRegistry
by @tomekzaw in #4020 - Unify event handling on Paper and Fabric by @tomekzaw in #4012
- Ignore events with malformed JSON payload by @tomekzaw in #4037
- [Shared Element Transition] Improvements after review v1 by @piaskowyk in #4014
- [Shared Element Transition] Fix: view disappeared after layout animation by @piaskowyk in #4026
- [Shared Element Transition] Fix exiting animations on Android by @piaskowyk in #4038
RuntimeDecorator
cleanup by @jwajgelt in #4027- [Shared Element Transition] Problem with headers by @piaskowyk in #4036
- Make sensors work with different device orientations by @graszka22 in #4033
- Fix reloading when using useAnimatedKeyboard by @graszka22 in #3932
- [Shared Element Transition] Disable animation on swipe back by @piaskowyk in #4047
- Remove unnecessary import by @tomekzaw in #4049
- Format JsiUtils.h by @tomekzaw in #4051
- Auto add proguard config by @heroic in #3494
- Fixed sourceMap typo in plugin.js by @tjzel in #4054
- Refactor NativeProxy on Android by @graszka22 in #4042
- Optimize hot code-paths in uAS by @kmagiera in #3980
- Fix perf regression introduced in #3980 🙃 by @kmagiera in #4059
- Bump react-native to 0.71.3 by @tomekzaw in #4064
- [Shared Element Transition] Animation restart by @piaskowyk in #4043
- Get rid of only-value-capture optimization that breaks the world by @kmagiera in #4060
- Add proxy interface for Animated.FlatList to enable passing itemLayoutAnimation prop by @tjzel in #4074
- Cache Android build artifacts in GitHub Actions by @tomekzaw in #3456
- Use consistent argument names and types in
_removeShadowNodeFromRegistry
by @tomekzaw in #4076 - Move plugin.js to its separate directory by @tjzel in #4067
- Fix host obj reference loop by @kmagiera in #4082
- Fix
targetGlobalOriginX/Y
in custom layout animations by @graszka22 in #4052 - Raise error when cpplint is not installed by @tomekzaw in #4080
- Resolve
runtime/int
errors in cpplint by @tomekzaw in #4081 - Add inline styles without animation functions by @graszka22 in #4062
- Add inline animated props by @graszka22 in #4068
- Add setImmediate implementation to the UI runtime by @kmagiera in #3970
- Avoid setImmediate calls on Jest environment by @kmagiera in #4083
- Fix missing dependency on
React-hermes
on older RN versions by @jwajgelt in #4044 - [Shared Element Transition] Added shared transition support for modal screens by @piaskowyk in #4065
- Amend package.json for 'plugin/' instead of 'plugin.js' by @tjzel in #4085
- docs: remove redundant docs versioning by @kacperkapusciak in #4066
- Update docs about testing after recent changes by @kmagiera in #4084
- [Shared Element Transition] Restore X-axis origin by @piaskowyk in #4086
- Fix crash with snapshot on iOS by @piaskowyk in #4092
- Fix docs link in reanimated_utils.rb by @tomekzaw in #4087
- Add gesture handler RootView to Example app by @piaskowyk in #4093
- Fix Layout Animation restart by @piaskowyk in #4095
- Layout animations cleanup by @jwajgelt in #4090
- [Shared Element Transition] Examples by @piaskowyk in #4088
- Hardcode JS library version in
checkVersion
by @jwajgelt in #4101 - Make all events on iOS flush updates immediately by @kmagiera in #4097
- Flush animation-frame and immediates on keyboard event to follow same flow as other types of events by @kmagiera in #4098
- Skip flushing animation-frame callbacks if update was already run for a given frame by @kmagiera in #4099
- Remove
HAS_JS_WEAK_OBJECTS
definition by @tomekzaw in #4105 - Call
shouldGenerateSourceMap
only once by @tomekzaw in #4104 - Bump react-native version in V8 CI by @tomekzaw in #4111
- Flush operations for events on iOS Fabric by @kmagiera in #4110
- Minor documentation fixes by @Kwasow in #4109
- Fix ViewGroupManager cast by @piaskowyk in #4113
- docs: adjust 2.x docs for 3.x by @kacperkapusciak in #4102
- Fix backward compatibility with asBool() by @piaskowyk in #4115
New Contributors
@mstach60161 @orekasep @reinismu @GSTJ @jalooc @jonnyroc @filipeveronezi @pavangoyal42 @heroic @tjzel
🙌 Thank you for your contributions!
Full Changelog: 2.14.0...3.0.0
Package build: https://github.com/software-mansion/react-native-reanimated/actions/runs/4283227194