Releases: software-mansion/react-native-reanimated
Releases · software-mansion/react-native-reanimated
3.18.0
Key changes compared to 3.17.5
- Support for React Native 0.80-rc.3
- Fix for Jest Snapshots
- Fix Native Proxy leak
What's Changed
- cherry-pick: Add missing optional chaining operator in current react owner check by @MatiPl01 in #7550
- cherry-pick: Export some internal layout animations types (#7546) by @MatiPl01 in #7549
- (cherry-pick) fix: cleanup sensors in invalidate and make nativeProxy not leak (#7515) by @patrycjakalinska in #7552
- (cherry-pick) fix: Move check of last state inside loop (#7506) by @patrycjakalinska in #7551
- (cherry-pick) fix: lack of hidden hermes flags (#7398) by @tjzel in #7557
- chore(Reanimated3): cherry-pick #7428 by @tjzel in #7558
- chore(Reanimated3): cherry-pick #7372 by @tjzel in #7559
- [v3] Add support for React Native 0.80 by @tomekzaw in #7555
- (v3) fix: TVOS example crashing right after launch by @patrycjakalinska in #7600
- Release 3.18.0 by @patrycjakalinska in #7595
Full Changelog: 3.17.5...3.18.0
4.0.0-beta.5
What's Changed
- feat(Worklets): inject WorkletsModuleProxy in worklet runtimes by @tjzel in #7486
- chore: Bump min required version of worklets to 0.4.0 by @MatiPl01 in #7572
- chore: unify processTransformOrigin accross Reanimated and CSS by @patrycjakalinska in #7419
- chore: Transform origin processor improvements by @MatiPl01 in #7547
- refactor(Worklets)(makeShareableClone): add makeShareableInitializer by @skusnierz in #7548
- refactor(Worklets)(makeShareableClone): add makeShareableArray by @skusnierz in #7544
- refactor(Worklets)(makeShareableClone): add makeShareableHostObject by @skusnierz in #7553
- fix: CI build by @skusnierz in #7574
- feat: adjust expected statuses for Shareables Example on web by @skusnierz in #7568
- feat(Worklets): new ShareableImport type by @tjzel in #7512
- fix: unitialized shared_ptr on android by @tjzel in #7576
- fix: Issues after RN 0.80 upgrade by @MatiPl01 in #7578
- fix: Crashes by adding missing worklet directive to plain object check by @MatiPl01 in #7579
- chore: fix styling of JSIWorkletsModuleProxy by @tjzel in #7583
- Bump React Native to 0.80.0-rc.3 by @tomekzaw in #7586
- docs: mention tvOS and visionOS support in Troubleshooting by @tomekzaw in #7581
- release: Reanimated 4.0.0-beta.5 by @MatiPl01 in #7588
Full Changelog: 4.0.0-beta.4...4.0.0-beta.5
4.0.0-beta.4
What's Changed
- chore: disable V8 workflow by @tjzel in #7250
- chore: fix compatibility CI by @tjzel in #7246
- feat: Add warning for unsupported layout animation props by @patrycjakalinska in #7135
- fix(Reanimated):
cancelAnimation
on web by @tjzel in #7269 - Infer only readonly arrays in
MaybeSharedValueRecursive
by @j-piasecki in #7272 - chore: fix invalid URLs by @tjzel in #7254
- fix: Add
placeholderTextColor
to processColor list by @patrycjakalinska in #7274 - fix: createNPMPackage.sh not working without parameters by @tjzel in #7276
- fix: new architecture assertion on iOS by @tjzel in #7277
- feat: release Reanimated3 nightlies by @tjzel in #7278
- chore: fix macos podfile by @tjzel in #7285
- feat: clangd for worklets by @tjzel in #7286
- chore(deps): bump next from 15.1.3 to 15.2.3 by @dependabot in #7290
- chore(deps): bump tj-actions/changed-files from 41 to 46 in /.github/workflows by @dependabot in #7275
- chore: fix nightly release by @tjzel in #7294
- chore: Remove internal style type imports from react-native by @MatiPl01 in #7299
- fix: Misspelt height prop name in supported layout animation props by @MatiPl01 in #7303
- chore: patch bob to preserve jsx by @tjzel in #7266
- fix: Exclude deprecated, unsupported properties from style type by @MatiPl01 in #7300
- refactor: reexport Worklets Babel plugin in Reanimated by @tjzel in #7248
- docs: update analytics id by @kacperkapusciak in #7305
- docs: update reanimated nightly version && install react-native-worklets by @kacperkapusciak in #7306
- chore: enforce use of
globalThis._WORKLET
by @tjzel in #7271 - chore: rename plugin workspace by @tjzel in #7308
- Fix lost
scrollTo
updates by @bartlomiejbloniarz in #7292 - feat: Add support for animated props in Jest by @patrycjakalinska in #7231
- chore: Add React 19 support by @patrycjakalinska in #7055
- docs: Add info about animatedProps to Jest section by @patrycjakalinska in #7302
- chore: fix static framework workflow by @tjzel in #7251
- chore: update README.md by @tjzel in #7329
- docs: Add AvailableFrom flag to
toHaveAnimatedProps
by @patrycjakalinska in #7328 - feat: Add processing for array color related props by @patrycjakalinska in #7321
- Rename REAUIKit.h to REAUIView.h by @skusnierz in #7333
- docs: Add 3.17.2 to compatibility table by @patrycjakalinska in #7337
- chore(deps): bump image-size from 1.1.1 to 1.2.1 by @dependabot in #7342
- chore(deps): bump next from 15.2.3 to 15.2.4 by @dependabot in #7343
- Bump react-native-is-edge-to-edge to 1.1.7 by @zoontek in #7346
- fix: Remove doubled props passing to AnimatedComponent by @patrycjakalinska in #7345
- docs: Add information about color processing for custom props by @patrycjakalinska in #7330
- fix: boxShadow sometimes not working for web by @patrycjakalinska in #7338
- docs: Fix links in next version docs by @MatiPl01 in #7352
- Remove volume example by @skusnierz in #7360
- Fix conditional and BB examples on web by @skusnierz in #7348
- docs: Add missing react-native-worklets installation to getting started by @MatiPl01 in #7351
- chore: Add support for RN 0.79 by @MatiPl01 in #7312
- fix: Layout animations with rotation not working in RN 0.79 by @MatiPl01 in #7347
- fix: FlashList scroll from UI on web by @MatiPl01 in #7353
- fix: timestamp on physical device in s instead of ms by @WoLewicki in #7370
- chore: Bump tvos-example to RN 0.79 by @MatiPl01 in #7369
- Add Reanimated native view by @piaskowyk in #7366
- chore(deps): bump axios from 1.7.7 to 1.8.4 by @dependabot in #7349
- Add
RCTInvalidating
protocol inReanimatedModule
andWorkletsModule
on iOS by @tomekzaw in #7381 - fix: Return proper initial styles in PropsFilter for animated style objects by @MatiPl01 in #7385
- Bump example apps to React Native 0.79.0 by @tomekzaw in #7389
- fix: separate implementation for custom errors by @tjzel in #7390
- Custom Shadow Nodes by @piaskowyk in #7380
- Support for all transform origin values by @skusnierz in #7379
- fix: web-example font and circular imports issues by @MatiPl01 in #7368
- fix: Remove unnecessary export causing web example crash by @MatiPl01 in #7392
- Get rid of unnecessary reinitialization of the
makeShareableClone
function by @skusnierz in #7384 - refactor: use arguments instead of closures in Worklets plugin by @tjzel in #7365
- fix: Support optional arguments in boxShadow string by @patrycjakalinska in #7386
- fix: docs publish CI by @patrycjakalinska in #7391
- fix: Restore accidentally removed builder bob patch by @MatiPl01 in #7397
- Replace
react-native-reanimated/plugin
withreact-native-worklets/plugin
by @tomekzaw in #7396 - fix: Numeric colors processing by @MatiPl01 in #7336
- chore: Improve bug report template by @MatiPl01 in #7402
- docs: Update compatibility table in docs, add 3.17.4 by @MatiPl01 in #7401
- fix: Jest snapshots by @tjzel in #7372
- Merge CMakeLists.txt on Android by @tomekzaw in #7410
- Rename
NativeMethods.{h,mm}
toSetGestureState.{h,mm}
by @tomekzaw in #7414 - feat: add check for bridgeless in both packages by @WoLewicki in #7407
- Bump React Native to 0.79.1 by @tomekzaw in #7415
- chore: unify processBoxShadow accross Reanimated and CSS by @patrycjakalinska in https://github.com/softwa...
3.17.5
3.17.4
What's Changed
- chore: Bump macos and tvos example dependencies by @MatiPl01 in #7350
- [cherry-pick] Fix profiles example (#7359) by @skusnierz in #7371
- fix: Initial animated style updater style is applied on re-render by @MatiPl01 in #7376
- cherry-pick: Support for all transform origin values by @MatiPl01 in #7395
- (cherry-pick) fix: Support optional arguments in boxShadow string (#7386) by @patrycjakalinska in #7394
- cherry-pick: Layout animations with rotation not working in RN 0.79 by @MatiPl01 in #7400
- Release 3.17.4 by @MatiPl01 in #7399
Full Changelog: 3.17.3...3.17.4
3.17.3
What's Changed
- backport: fix: Misspelt height prop name in supported layout animation props by @patrycjakalinska in #7339
- (cherry-pick) Bump react-native-is-edge-to-edge to 1.1.7 (#7346) by @patrycjakalinska in #7356
- (cherry-pick) feat: Add processing for array color related props by @patrycjakalinska in #7357
- (cherry-pick) fix: boxShadow sometimes not working on web by @patrycjakalinska in #7358
- chore: Bump RN to 0.79 by @MatiPl01 in #7322
- release: 3.17.3 by @patrycjakalinska in #7361
Full Changelog: 3.17.2...3.17.3
3.17.2
What's Changed
- chore(Reanimated3): fix CI by @tjzel in #7244
- chore(Reanimated3):cherry-pick #7197 by @tjzel in #7235
- chore(Reanimated3):cherry-pick #7196 by @tjzel in #7236
- backport: Add warning for unsupported layout animation props (#7135) by @patrycjakalinska in #7273
- backport: Add suport for animatedProps by @patrycjakalinska in #7284
- chore(Reanimated3): cherry-pick #7269 by @tjzel in #7314
- chore(Reanimated3): cherry-pick #7266 by @tjzel in #7315
- cherry-pick: Remove non-layout style and prop updates path via
synchronouslyUpdatePropsOnUIThread
by @tomekzaw in #7313 - (chery-pick) feat: prevent flattening style arrays by @patrycjakalinska in #7327
- Cherry pick #7292 by @bartlomiejbloniarz in #7319
- cherry-pick: fix: Impossibility to remove layout transitions by @MatiPl01 in #7310
- Cherry pick #6958 by @bartlomiejbloniarz in #7320
- Backport react-freeze fixes by @bartlomiejbloniarz in #7316
- cherry-pick: fix: Crash caused by passing animated ref to the animate component by @MatiPl01 in #7309
- release: 3.17.2 by @patrycjakalinska in #7332
Full Changelog: 3.17.1...3.17.2
4.0.0-beta.3
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
toforwardRef
fromAnimatedComponent
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
increateWorkletRuntime
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
andAndroidUIScheduler
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
tomakeRuntime
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
useAnimatedKeyboard
to 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 @mat...
3.17.1
What's Changed
- chore: Add support for React 19 and RN 0.78 with backward compatibility by @patrycjakalinska in #7089
- release: 3.17.1 by @MatiPl01 in #7132
Full Changelog: 3.17.0...3.17.1
3.17.0
Key changes compared to 3.16.7
- Partial separation of Worklets and Reanimated
- Support React Native 0.78-rc.3 #6934
- Fixes for Layout Animations on Fabric
- Fixes for circular dependencies resulting in slight memory leaks on reload #6850
- Support for LAB color interpolation #6782
- Support for
boxShadow
property #6749 - Support for multiple worklet referencing in Reanimated Babel Plugin #6904
- Support for Android's edge-to-edge #6732
What's Changed
- Update ReducedMotionConfig.mdx by @mzaien in #6598
- Fix crash on macos when using Layout Animations by @Latropos in #6600
- Fix
CallInvokerHolderImpl
backwards compatibility by @bartlomiejbloniarz in #6601 - Bump reanimated version to 3.17.0 by @bartlomiejbloniarz in #6609
- docs: Restore logger docs changes after release by @MatiPl01 in #6608
- Update Podfile.locks by @tomekzaw in #6610
- Move headers to
apple
directory by @tomekzaw in #6612 - Remove
config[:reanimated_node_modules_dir]
in reanimated_utils.rb by @tomekzaw in #6611 - Fix static linking on iOS by @tomekzaw in #6614
- Do not make a synchronous call when canceling animation. by @Szymon20000 in #6564
- refactor(Worklets): Merge TypeScript type files by @tjzel in #6556
- chore: Silence next-example linter warnings by @tjzel in #6633
- [LA] Update window update check by @bartlomiejbloniarz in #6618
- fix: Side effects paths in package.json by @MatiPl01 in #6634
- fix: create symlink to common-app by @jakex7 in #6637
- fix: Installation of Reanimated from commit on CI by @tjzel in #6635
- refactor(Worklets): JavaScript NativeReanimatedModule by @tjzel in #6557
- fix: Invalid shared value access displaying when code is correct by @MatiPl01 in #6631
- fix: Return value of set-reanimated-version.js script by @tjzel in #6649
- Add warning when passing incorrect transformOrigin by @Latropos in #6602
- refactor: Specify each example app workspace by @tjzel in #6652
- chore: Redo tvos example for 0.76 by @tjzel in #6654
- chore(Worklets): Add worklets validation to scripts by @tjzel in #6651
- chore: Add noop typescript worklets module by @tjzel in #6650
- chore: Bump macos example to 0.75 by @tjzel in #6653
- Bump React Native to 0.76 in example apps by @bartlomiejbloniarz in #6636
- chore: Remove duplicated yarn by @tjzel in #6656
- chore(deps): bump rexml from 3.3.6 to 3.3.9 in /apps/paper-example by @dependabot in #6643
- chore(deps): bump http-proxy-middleware from 2.0.6 to 2.0.7 in /packages/docs-reanimated by @dependabot in #6638
- docs: Manage system color scheme changes by @patrycjakalinska in #6627
- chore(deps): bump rexml from 3.3.6 to 3.3.9 in /apps/fabric-example by @dependabot in #6662
- chore: Align with react-native@0.74 as oldest supported version by @tjzel in #6629
- fixed a typo— "grater" by @akshar-dave in #6675
- chore: Add pod install(update) to each app build script by @tjzel in #6575
- useAnimatedKeyboard fixes (iOS) by @mhoran in #6755
- chore: Remove dead code for RN 73 and below by @tjzel in #6658
- docs: update landing copy by @kacperkapusciak in #6695
- chore: migrate to screens v4 and navigation v7 by @alduzy in #6622
- chore: Bump web example to 0.76 by @alduzy in #6679
- chore: Use updated MetroConfig type by @tjzel in #6717
- fix: missing headers on new arch by @WoLewicki in #6725
- feat: Support for multiple surfaces on Fabric by @patrycjakalinska in #6647
- fix(example): Reloading to crashing screen by @tjzel in #6689
- chore: Remove reference for 0.72 tests on CI by @tjzel in #6716
- feat: Add name to the Reanimated Plugin by @tjzel in #6705
- fix: Allow TypeScript in worklet classes by @tjzel in #6667
- chore: Describe
isWorkletRuntime
behavior on different runtimes by @tjzel in #6692 - feat: Add fallback detection methods for Worklet Classes by @tjzel in #6706
- fix: Animation assignment with compiler-safe API by @tjzel in #6715
- feat(Worklets): Create a stub of Worklets Module by @tjzel in #6539
- release: 3.17.0-rc.0 by @tjzel in #6731
- release: 3.17.0-rc.1 by @tjzel in #6819
- chore: cherry-pick commits for 3.17.0 release by @tjzel in #7038
- Backport changes to 3.17 by @m-bert in #7041
- chore: cherry-pick for 3.17.0 by @tjzel in #7039
- cherry-pick: Bump RN version to 0.77 stable by @MatiPl01 in #7046
- cherry-pick: Add 0.78.0-rc.3 support by @MatiPl01 in #7047
- Cherry-pick for 3.17.0 by @tomekzaw in #7050
- cherry-pick: Remove unused reference to runtime from requestRender method #6953 by @piaskowyk in #7057
- cherry-pick: Fix resolving ref to SVG components on Web #6885 by @piaskowyk in #7059
- cherry-pick: Remove REAInitializerRCTFabricSurface #6837 by @piaskowyk in #7060
- cherry-pick: Handle component internal animated ref #7054 by @piaskowyk in #7063
- cherry-pick: Fix getAnimatedStyle error when called with component that doesn't have animated styles #6746 by @piaskowyk in #7080
- chore: cherry-pick for 3.17.0 by @tjzel in #7081
- chore: cherry-pick for 3.17.0 by @tjzel in #7082
- release: 3.17.0 by @tjzel in #7071
New Contributors
- @mzaien made their first contribution in #6598
- @akshar-dave made their first contribution in #6675
Full Changelog: https://github.com/software-mansion/react-nati...