yarn react-native-reanimated 4.0.0-beta.3

latest release: 4.0.0-nightly-20250314-972c5ed9c
13 hours ago

What's Changed

  • refactor: move Worklets JS core from Reanimated by @tjzel in #6973
  • fix: move requestAnimationFrame back to Reanimated by @tjzel in #6991
  • docs: Add new supported props from RN 0.77 to supported props table by @MatiPl01 in #6963
  • chore: remove duplicated directories when building Reanimated by @tjzel in #6984
  • feat(plugin): multiple worklet referencing by @tjzel in #6904
  • refactor: move _UI injection from Reanimated to Worklets by @tjzel in #6985
  • Add sticky header example by @tomekzaw in #7002
  • chore: drop React Native 0.74 specific code by @tjzel in #6995
  • Enable systraces by default in example app by @tomekzaw in #7001
  • feat: Add support for transition shorthand by @tomekzaw in #6968
  • Add displayName to forwardRef from AnimatedComponent by @m-bert in #6978
  • chore: remove apps from node_modules by @tjzel in #7003
  • chore(deps): bump serialize-javascript from 6.0.1 to 6.0.2 in /packages/docs-reanimated by @dependabot in #7018
  • Fix typo in docs by @tamlyn in #7022
  • chore(deps): bump nanoid from 3.3.7 to 3.3.8 by @dependabot in #7024
  • fix: lack of transform in keyframes on web caused crash by @patrycjakalinska in #7020
  • Update README.md by @tomekzaw in #6976
  • fix: useAnimatedProps on input component not working on web by @patrycjakalinska in #6964
  • chore(deps-dev): bump esbuild from 0.20.2 to 0.25.0 by @dependabot in #7009
  • Fix web layout transition by @piaskowyk in #7026
  • Remove UI runtime usage by CSS Animations by @piaskowyk in #7006
  • Fix iOS build with USE_FRAMEWORKS=dynamic by @tomekzaw in #7025
  • Remove install_modules_dependencies_legacy in RNReanimated.podspec by @tomekzaw in #7032
  • Enable supportsLocking in createWorkletRuntime by @tomekzaw in #7033
  • chore: CSS values cleanup by @MatiPl01 in #6986
  • feat(worklets): Android validation by @tjzel in #7028
  • feat: enable clang-tidy by @tjzel in #6956
  • feat(worklets): Apple validation by @tjzel in #7029
  • [Android] Add support for 16KB page size by @m-bert in #7037
  • chore: Make CSS interpolators stateless by @MatiPl01 in #6993
  • feat: prevent flattening style arrays by @jpudysz in #7021
  • Enable fabric examles by @piaskowyk in #7056
  • Handle component internal animated ref by @piaskowyk in #7054
  • chore: migrate from old UI manager acquistion api on Android by @tjzel in #6901
  • fix(worklets): compilation on iOS by @tjzel in #7045
  • feat: CSS animation keyframes registry to attach animations by name by @MatiPl01 in #7015
  • fix: CSS transition shorthand property behavior in react-native-web by @MatiPl01 in #7019
  • Fix Keyframe mock by @bartlomiejbloniarz in #6961
  • docs: Add missing information about animated styles precedence by @MatiPl01 in #7070
  • Fix getAnimatedStyle error when called with component that doesn't have animated styles by @AcostaB in #6746
  • Add extraPlugins and extraOptions to babel plugin by @graszka22 in #7072
  • fix: Break circular reference in NativeProxy and AndroidUIScheduler by @lukmccall in #6697
  • feature: Detect edge-to-edge and set isStatusBarTranslucentAndroid / isNavigationBarTranslucentAndroid by @zoontek in #6732
  • docs: fix animationName "to" keyword by @MoOx in #7083
  • refactor: RN$Bridgeless as isFabric by @tjzel in #7043
  • Add build from source snippet in fabric-example on Android by @tomekzaw in #7088
  • Cleanup build.gradle by @tomekzaw in #7085
  • Improve animated keyboard example by @szydlovsky in #6905
  • Remove non-layout style and prop updates path via synchronouslyUpdatePropsOnUIThread by @tomekzaw in #7014
  • docs: Bump Reanimated in docs to nightly 4.0.0 and uncomment related docs by @patrycjakalinska in #7090
  • feat: make Reanimated depend on Worklets by @tjzel in #7087
  • refactor(worklets): move reanimated-babel-plugin by @tjzel in #7066
  • Remove unused and sort imports in build.gradle by @tomekzaw in #7094
  • Update eslint-plugin-reanimated after useWorkletsResolver removal by @tomekzaw in #7096
  • Move logic from ReanimatedRuntime::make to makeRuntime in WorkletRuntime.cpp by @tomekzaw in #7095
  • docs: add deprecated useAnimatedGestureHandler by @kacperkapusciak in #6354
  • Remove isFabric(), viewName, getScrollableNode along with all usages by @tomekzaw in #7103
  • Remove JS runtime logic from Reanimated build.gradle by @tomekzaw in #7093
  • fix: Cubes example invalid matrix transform usage error by @MatiPl01 in #7097
  • Fix EasingFunctionFactory type usage by @bartlomiejbloniarz in #6958
  • Fix react-freeze by @bartlomiejbloniarz in #7053
  • chore(worklets): draft README by @tjzel in #7084
  • refactor(worklets): remove nesting of some source files by @tjzel in #7091
  • Restore JSScheduler::scheduleOnJS method by @tomekzaw in #7100
  • Remove RCT_NEW_ARCH_ENABLED macros and unused functions on iOS by @tomekzaw in #7104
  • docs: Update useAnimatedKeyboardto reflect floating keyboard fixes by @szydlovsky in #6887
  • Remove RCT_NEW_ARCH_ENABLED macros and unused functions on Android by @tomekzaw in #7105
  • Remove BuildConfig.IS_NEW_ARCHITECTURE_ENABLED and unused functions on Android by @tomekzaw in #7106
  • Remove Layout Animations and SET from iOS on Paper by @piaskowyk in #7110
  • feat(worklets): AnimationFrameQueue by @tjzel in #7017
  • Remove Layout Animations and SET from Android on Paper by @piaskowyk in #7113
  • chore: Remove RCT_NEW_ARCH_ENABLED from CSS code, apply clang tidy suggestions by @MatiPl01 in #7115
  • Remove isBridgeless flag by @tomekzaw in #7112
  • chore: build packages in repo topologically by @tjzel in #7111
  • Remove RCT_NEW_ARCH_ENABLED macros and unused functions in Common C++ by @tomekzaw in #7118
  • Restore original value of canOverrideExistingModule by @tomekzaw in #7120
  • Remove UIManagerReanimatedHelper class by @tomekzaw in #7121
  • Merge NativeProxyCommon into NativeProxy by @tomekzaw in #7122
  • Remove SET from JS on Paper by @piaskowyk in #7116
  • Remove JNIHelper by @tomekzaw in #7123
  • Remove SET code from common C++ codebase by @piaskowyk in #7119
  • Remove redundant includes on Android by @tomekzaw in #7124
  • feat: Enable callbacks in withSequence with reduce motion enabled by @patrycjakalinska in #6895
  • Remove android-npm directory by @tomekzaw in #7128
  • fix: ColorsExample shadow color animation on web and android by @MatiPl01 in #7117
  • Remove unused convertProps function and REAJSIUtils functions by @tomekzaw in #7127
  • Remove unused methods from NativeMethods on iOS by @tomekzaw in #7126
  • Remove redundant includes on iOS by @tomekzaw in #7131
  • docs: Add 3.17.1 to compatibility table in docs by @MatiPl01 in #7142
  • Move reduced motion enabled check function to a separate file on iOS by @tomekzaw in #7138
  • Merge commonInit function into createReanimatedModule function in NativeProxy on iOS by @tomekzaw in #7139
  • Obtain jsCallInvoker using RCTCallInvokerModule in Worklets on iOS by @tomekzaw in #7140
  • Replace REANIMATED_EXAMPLE_APP_NAME with IS_REANIMATED_EXAMPLE_APP on iOS by @tomekzaw in #7141
  • fix: Swipeable list example not working on web by @MatiPl01 in #7130
  • Merge commonInit function into NativeProxy constructor on Android by @tomekzaw in #7149
  • Remove redundant commonInit declaration in NativeProxy.h by @tomekzaw in #7148
  • Add asserts for queue during Reanimated initialization on iOS by @tomekzaw in #7136
  • Add asserts for queue during Worklets initialization on iOS by @tomekzaw in #7137
  • Extract AnimationFrameCallback from NativeProxy.h by @tomekzaw in #7150
  • Add asserts for TurboModuleManager queue by @tomekzaw in #7157
  • Extract EventHandler from NativeProxy.h by @tomekzaw in #7151
  • Extract KeyboardWorkletWrapper from NativeProxy.h by @tomekzaw in #7153
  • Extract SensorSetter from NativeProxy.h by @tomekzaw in #7152
  • Improve obtaining RN runtime reference by @tomekzaw in #7160
  • Remove requiresMainQueueSetup with YES by @tomekzaw in #7133
  • Remove queue asserts in AnimationFrameQueue by @tomekzaw in #7161
  • Remove methodQueue with RCTGetUIManagerQueue by @tomekzaw in #7156
  • Add missing includes on Android by @tomekzaw in #7165
  • Add missing files to worklet's package.json by @piaskowyk in #7147
  • Merge ReaCompatibility into NodesManager by @tomekzaw in #7166
  • refactor: run _maybeFlushUIUpdatesQueue through _microtaskQueueFinalizers by @tjzel in #7064
  • Add thread asserts during initialization on Android by @tomekzaw in #7164
  • fix: Crash caused by passing animated ref to the animated component by @MatiPl01 in #7158
  • fix: Impossibility to remove layout transitions by @MatiPl01 in #7159
  • Remove implementation of UIManagerListener and UIManagerModuleListener interfaces in ReanimatedModule on Android by @tomekzaw in #7169
  • Avoid storing ReactApplicationContext in cleanup lambda capture in ReanimatedModule by @tomekzaw in #7173
  • Remove unused arguments in REANodesManager initializer by @tomekzaw in #7175
  • Merge getUIManager into installTurboModule in REAModule by @tomekzaw in #7176
  • Remove RCTUIManagerObserver protocol from REAModule by @tomekzaw in #7184
  • Create NodesManager instance in ReanimatedModule constructor instead of in getter method by @tomekzaw in #7186
  • Remove Utils.isChromeDebugger on Android by @tomekzaw in #7187
  • Use WorkletsModule instance from NativeProxy constructor arguments instead of using getNativeModule call by @tomekzaw in #7188
  • Remove unused getAndroidUIScheduler method by @tomekzaw in #7189
  • Remove unused getWorkletsModule method by @tomekzaw in #7190
  • Explicitly pass NodesManager to NativeProxy on Android by @tomekzaw in #7191
  • Remove NodesManager null checks on Android by @tomekzaw in #7194
  • Remove unused mUnsubscribe in NodesManager by @tomekzaw in #7195
  • docs: update react native gesture handler quick start url by @KMalkowski in #7201
  • Rename ReanimatedJSIUtils.h to WorkletsJSIUtils.h by @tomekzaw in #7203
  • chore: remove unused valueUnpackerCode members by @tjzel in #7200
  • Replace "[Reanimated]" with "[Worklets]" in react-native-worklets by @tomekzaw in #7204
  • Rename ReanimatedHermesRuntime to WorkletHermesRuntime by @tomekzaw in #7205
  • Call NodesManager.initWithContext and thus create NativeProxy in ReanimatedModule constructor by @tomekzaw in #7206
  • Merge initWithContext method into NodesManager constructor by @tomekzaw in #7209
  • Pass runtime reference from REAModule to NativeProxy on iOS by @tomekzaw in #7215
  • [docs] Fix broken link in transition-property.mdx by @erickriva in #7202
  • Remove unused REAModule argument in makePlatformDepMethodsHolder by @tomekzaw in #7216
  • Pass REANodesManager instead of REAModule to createReanimatedModule by @tomekzaw in #7217
  • (package.json) add keywords to package.json to improve npm search result by @MoOx in #7218
  • feat(worklets): release 0.1.0 by @tjzel in #7168
  • chore(worklets): fix android studio warnings by @tjzel in #7208
  • Rename REAModule to ReanimatedModule and createReanimatedModule to createReanimatedModuleProxy by @tomekzaw in #7221
  • chore: fix WorkletFunction and ValueUnpacker types by @tjzel in #7167
  • fix: invalid Android invalidation of hybrid data by @tjzel in #7197
  • Remove unused reanimatedModule property in REANodesManager by @tomekzaw in #7222
  • Remove leftover removeObserver call in ReanimatedModule on iOS by @tomekzaw in #7224
  • feat: Proper multiple CSS animations support in native by @MatiPl01 in #7183
  • feat(worklets): prepare releasing pipeline by @tjzel in #7107
  • fix: crash on OTA reload by @tjzel in #7196
  • Bump prismjs from 1.29.0 to 1.30.0 in /packages/docs-reanimated by @dependabot in #7225
  • Bump @babel/runtime-corejs3 from 7.20.13 to 7.26.10 in /packages/docs-reanimated by @dependabot in #7230
  • Bump axios from 1.7.7 to 1.8.2 by @dependabot in #7234
  • Bump @babel/helpers from 7.25.6 to 7.26.10 by @dependabot in #7233
  • Bump @babel/runtime from 7.25.6 to 7.26.10 by @dependabot in #7232
  • refactor: remove runOnUIImmediately by @tjzel in #7226
  • fix: nightly release CI by @tjzel in #7241
  • fix: Filter out null values from the CSS animation style by @MatiPl01 in #7242
  • chore: use Worklets NPM token by @tjzel in #7243
  • chore: Use [] operator instead of .at() where possible by @MatiPl01 in #7212
  • Remove Paper global variables from types by @piaskowyk in #7247
  • chore: Add css namespace for CSS-related code by @MatiPl01 in #7213
  • refactor: lint worklets like reanimated by @tjzel in #7223
  • chore(deps-dev): bump esbuild from 0.20.2 to 0.25.0 in /packages/docs-reanimated by @dependabot in #7257
  • chore(deps): bump @babel/runtime from 7.21.0 to 7.26.10 in /packages/docs-reanimated by @dependabot in #7256
  • chore(deps): bump @babel/helpers from 7.20.13 to 7.26.10 in /packages/docs-reanimated by @dependabot in #7255
  • Remove suffix Fabric from global runtime methods by @piaskowyk in #7249
  • fix: CSS issues introduced by react-freeze fix by @MatiPl01 in #7237
  • Add the new architecture assert by @piaskowyk in #7260
  • release: 4.0.0-beta.3 by @MatiPl01 in #7262

New Contributors

Full Changelog: 4.0.0-beta.2...4.0.0-beta.3

Don't miss a new react-native-reanimated release

NewReleases is sending notifications on new releases.