Releases: software-mansion/react-native-reanimated
Releases Β· software-mansion/react-native-reanimated
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 [email protected] 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...
4.0.0-beta.2
What's Changed
- Drop pre-release tag for nightly version by @tomekzaw in #6916
- fix: Add missing CSSStyle type export by @MatiPl01 in #6918
- feat: preliminary use of react-native-worklets in reanimated by @tjzel in #6807
- feat: add linting to react-native-worklets by @tjzel in #6825
- Add unhandled exception to TabNavigatorObserver catch block by @szydlovsky in #6902
- chore: Remove paper example app by @MatiPl01 in #6924
- useAnimatedKeyboard fixes (iOS) by @mhoran in #6755
- fix: Too long line in CMakeLists.txt error on CI by @MatiPl01 in #6925
- Remove unused
REANIMATED_MAJOR_VERSION
in build.gradle by @tomekzaw in #6927 - fix: Cocoapods versions used in macos and tvos examples by @MatiPl01 in #6926
- fix: Memory mismanagement with UI scheduled callbacks by @tjzel in #6900
- docs: update Reanimated 4 docs by @kacperkapusciak in #6931
- chore: use ruby3 on gh actions by @tjzel in #6930
- chore: Clean up dependencies of apps dependent on the common-app by @MatiPl01 in #6923
- Use tabular nums in performance monitor by @tomekzaw in #6936
- Fix layout animation crashes on the New Architecture by @bartlomiejbloniarz in #6920
- docs: add react native paradise banner by @kacperkapusciak in #6932
- chore: Change camel case CSS string properties to kebab case by @MatiPl01 in #6939
- docs: add
runOnRuntime
page and extendcreateWorkletRuntime
page by @tomekzaw in #6938 - docs: move
ReducedMotionConfig
to "Device" category by @tomekzaw in #6940 - docs: migration from 3.x by @tomekzaw in #6941
- fix: CSS transitions crash when react-freeze is used by @MatiPl01 in #6942
- chore: Bump RN version to 0.77 stable by @MatiPl01 in #6933
- refactor: restructure worklets source sets by @tjzel in #6813
- Add missing
targets
in build.gradle by @tomekzaw in #6946 - Move
-DREACT_NATIVE_MINOR_VERSION
fromfolly_flags
toversion_flags
in RNReanimated.podspec by @tomekzaw in #6948 - Improve readability of
HEADER_SEARCH_PATHS
in podspecs by @tomekzaw in #6949 - Fix resolving ref to SVG components on Web by @piaskowyk in #6885
- Use
install_modules_dependencies
by default in RNWorklets.podspec by @tomekzaw in #6950 - chore(deps): bump undici from 6.20.1 to 6.21.1 by @dependabot in #6917
- fix: Hot reload in web-example, improve navigation by @MatiPl01 in #6947
- feat: New style props support in CSS animations by @MatiPl01 in #6944
- fix: withSpring color properties flickering by @patrycjakalinska in #6821
- feat: duplicate worklets code the smart way by @tjzel in #6827
- fix: Make
withDecay
compatible withwithRepeat
by @patrycjakalinska in #6772 - fix:
withRepeat
using array not reversing by @patrycjakalinska in #6881 - Remove unused reference to runtime from
requestRender
method by @piaskowyk in #6953 - Introduce color interpolation based on the LAB color-space by @d4vidi in #6782
- feat: Add support for boxShadow by @patrycjakalinska in #6749
- Fix slow animation on iOS by @piaskowyk in #6954
- fix: Move boxShadow runtime test file from old directory by @patrycjakalinska in #6957
- fix: layout animation NPE crash by @Nodonisko in #6897
- chore: use yarn build when making Reanimated package by @tjzel in #6959
- Add Keyframe animation caching by @bartlomiejbloniarz in #6960
- feat(Worklets): JS code duplication by @tjzel in #6921
- fix: Quick fix for broken inline styles by @MatiPl01 in #6962
- fix: Release build failing because of missing worklets namespace by @MatiPl01 in #6969
- fix:
withDecay
animation not starting if inital value is set to 0 by @patrycjakalinska in #6769 - Update compatibility table in 3.x docs by @tomekzaw in #6971
- fix: only intercept events with waiting handlers by @mhoran in #6739
- Make Fabric event receivers init only once by @szydlovsky in #6907
- docs: Building for Android on Windows by @tomekzaw in #6974
- fix: Crashes during CSS transitions of complex properties by @MatiPl01 in #6966
- fix: CSS transition interruption for group interpolators by @MatiPl01 in #6970
- feat: Add support for multiple transitionBehavior property settings in CSS transitions by @MatiPl01 in #6972
- chore: Add 0.78.0-rc.3 support by @MatiPl01 in #6934
- chore: sort TS imports by @tjzel in #6975
- fix: initializer file not loaded in Expo52 by @tjzel in #6980
- Set version for prefab in build.gradle by @tomekzaw in #6981
- docs: syntax error in example by @jeremybarbet in #6979
- Fix error "Could not find method isReanimatedExampleApp()" by @tomekzaw in #6982
- docs: Expand Building for Android on Windows by @tomekzaw in #6977
- Release 4.0.0-beta.2 by @MatiPl01 in #6983
New Contributors
Full Changelog: 4.0.0-beta.1...4.0.0-beta.2
4.0.0-beta.1
Features
- CSS Animations and CSS Transitions support π
What's Changed
- docs: Add example to useHandler docs by @patrycjakalinska in #6369
- docs: Rewrite Custom Animations page by @patrycjakalinska in #6346
- fix: Change import to uppercase by @patrycjakalinska in #6388
- docs: Rewrite useAnimatedScrollHandler page by @patrycjakalinska in #6374
- dosc: Rewrite useEvent page by @patrycjakalinska in #6360
- refactor: Remove 'worklets' dependency on
NativeReanimatedModule
by @tjzel in #6357 - docs: add
PlatformCompatibility
component by @tomekzaw in #6394 - docs: Move Platform Compatibility to MDXComponents by @patrycjakalinska in #6401
- [Web] Add
findNodeHandle
web version by @m-bert in #6403 - [reJest] Migrate to use the new runtimetests API by @Latropos in #6356
- feat: Add Reanimated compatibility GitHub action by @tjzel in #6399
- chore: Make GitHub actions names match their titles, cleanup by @tjzel in #6391
- Regenerate some test snapshots by @Latropos in #6382
- chore: Fix precommit script by @tjzel in #6407
- Remove duplicated logic of error tests by @Latropos in #6358
- refactor: Split Java and ObjC code into Reanimated and Worklets dirs by @tjzel in #6366
- chore(deps): bump rexml from 3.2.8 to 3.3.3 in /apps/macos-example by @dependabot in #6404
- chore(deps): bump rexml from 3.2.9 to 3.3.3 in /apps/tvos-example by @dependabot in #6405
- chore(deps): bump rexml from 3.2.8 to 3.3.3 in /apps/fabric-example by @dependabot in #6406
- Don't update view tag when null by @j-piasecki in #6353
- Fix github workflows by @Latropos in #6412
- Fix colour comparison on Android by @Latropos in #6383
- Update RN pager view patch file by @szydlovsky in #6397
- chore: Pretty pre-commit by @tjzel in #6423
- chore: Improve build pipeline of Reanimated Babel plugin by @tjzel in #6424
- chore: Rename LiquidSwipe Button by @tjzel in #6428
- chore: Upgrade React Native to 0.75.1 by @tjzel in #6420
- chore(deps-dev): bump axios from 1.6.8 to 1.7.4 by @dependabot in #6427
- docs: Fix text colors in docs examples by @MatiPl01 in #6417
- [Web LA] Add
skipEntering
by @m-bert in #6425 - Fix
inline style
tests inJest
by @m-bert in #6400 - fix: Chrome debugger crash caused by incorrect viewTag by @MatiPl01 in #6437
- docs: Fix incorrect links in docs by @MatiPl01 in #6436
- chore(deps): bump rexml from 3.2.8 to 3.3.6 in /apps/paper-example by @dependabot in #6443
- fix: add missing include by @okwasniewski in #6439
- chore(deps): bump rexml from 3.3.3 to 3.3.6 in /apps/tvos-example by @dependabot in #6444
- feat: Enable Clangd in repo by @tjzel in #6430
- refactor: Less error prone
_value
in Mutables. by @tjzel in #6311 - Implement missing measurements on android by @Latropos in #6413
- Extract logic from TestRunner by @Latropos in #6390
- feat: Implement better reanimated logger with clean stack traces by @MatiPl01 in #6385
- feat: Use new logger and ReanimatedError for lib warnings and errors by @MatiPl01 in #6387
- Skip zero delay by @Latropos in #6398
- fix: Recursion in worklets by @tjzel in #6445
- chore: Clean up reanimated logger and error implementation by @MatiPl01 in #6453
- Add tests of keyframe animations by @Latropos in #6433
- Change
requestAnimationFrame
flush condition by @bartlomiejbloniarz in #6442 - feat: User-defined logger config by @MatiPl01 in #6409
- Add mutable value read/write during render warning by @MatiPl01 in #6310
- docs: Styling for mobile Platform Compatibility by @patrycjakalinska in #6456
- chore: Bump RN to 0.75.2 in examples by @tjzel in #6464
- chore: Enforce the use of ReanimatedError instead of Error by @MatiPl01 in #6454
- Fix keyframe types by @Latropos in #6438
- docs: CurvedTransition typo by @dynamichny in #6463
- feat: Add react-compiler safe API to mutables by @tjzel in #6312
- chore: Apply various native code cleanups by @tjzel in #6470
- Set CMake version on Android just like react-native by @tomekzaw in #6474
- chore(deps): bump rexml from 3.3.3 to 3.3.6 in /apps/fabric-example by @dependabot in #6449
- chore(deps): bump rexml from 3.3.3 to 3.3.6 in /apps/macos-example by @dependabot in #6448
- Use string interpolation in
RNReanimated.podspec
by @tomekzaw in #6473 - chore: Remove codegen resolution by @tjzel in #6488
- chore: Bump prettier by @tjzel in #6486
- chore: Add separate tsconfig for metro-config by @tjzel in #6487
- chore: Fix codegen dir in examples by @tjzel in #6490
- chore: Bump react-native-builder-bob by @tjzel in #6485
- chore(deps): bump webpack from 5.83.1 to 5.94.0 in /packages/docs-reanimated by @dependabot in #6457
- Monorepo Support: Use node resolver to locate React Native package by @morganick in #6482
- chore: Enable TSDoc and JSDoc formatting by @tjzel in #6484
- chore: Enable .js TypeScript checks in repo by @tjzel in #6483
- chore: Fix deprecated
this
captures in lambdas for NDK 27 by @tjzel in #6495 - chore: Add
eslint-plugin-reanimated
build directory to .gitignore by @tjzel in #6493 - fix: Remove error-prone package.json addition from
react-native-builder-bob
by @tjzel in #6494 - chore(TypeScript): Add ViewDescriptorsWrapper type to fix types by @tjzel in #6481
- chore: Hotfix formatting by @tjzel in https://github.com/software-mansion/react-native-reanim...
3.16.7
3.16.6
What's changed
- fix layout animations initialization on the New Architecture by @bartlomiejbloniarz (#6841)
3.17.0-rc.1
Key changes
Full Changelog: 3.17.0-rc.0...3.17.0-rc.1