Reanimated 3 Stable Release Plan #4021
Replies: 4 comments 9 replies
-
Hi @pavangoyal42, thanks for starting this discussion. First, let me explain why the error happens on v2 but doesn't on v3. Reanimated 3.0.0-rc.8 introduces new implementation of shared values (#3722). The motivation of the rewrite was to eliminate memory-related issues, such as the one that you are experiencing, which were really difficult to reproduce, and even more difficult to investigate and fix. First, we were considering backporting this change to v2 branch, but the process would be time-consuming and error-prone, so we decided to keep it only for v3 (similarly as with the layout animations rewrite done in #3332) and leave v2 with the old battle-tested implementation. Now let me explain why v3 is still marked as release candidate. In October 2021, we started adding Fabric support to Reanimated. The library integrates quite closely with React Native internals and it took a lot of effort to integrate v2 API with Fabric. We also made a decision not to bring Fabric support to legacy v1 API because we thought that hardly anyone will use deprecated API on the new experimental architecture. Given that, the only reason why we released v3 as RC and not stable was the fact that Layout Animations were not yet implemented on Fabric. The plan was to release what we already had as an RC version so that the community could start using it earlier and provide feedback while we would have some more time to work on the missing feature. However, priorities have changed as we had to focus on other maintenance tasks such as adding support for next versions of React Native, improving build config, or fixing long-standing issues related to memory leaks or crashes. Finally, let me explain why we postpone the release of v3 stable for so long. Officially, Reanimated 2 supports React Native 0.62+ and there's a lot of configurations that we need to test thoroughly before each release. Bumping the major version lets us not only to introduce some API-wise changes (like removing v1 API) but also finally drop the support for older versions of React Native (currently we are thinking of support either 0.65+ or 3 latest minor releases, i.e. 0.69+). Another reason is that we also wanted to gather some feedback on shared value and layout animation rewrites. Finally, we would like to include two more features: shared element transitions (#3827) and inline styles (#3354), which hopefully should encourage the community to migrate to v3.
Actually, it would be great if you could upgrade to 3.0.0-rc.10 and tell us if it works as expected in your app. We know that v3 is already used in a number of production apps but your feedback would give us even more confidence to finally release 3.0.0-stable. |
Beta Was this translation helpful? Give feedback.
-
We are experiencing lots of memory related problems - app crashes when it gets full and also when we restart after a code push if certain shared objects are in memory - we'd love to try out V3 but unfortunately we also rely heavily on vision camera which will not work with V3, so we are stuck. We also use other libraries that rely on reanimated so I assume they would also need updating before we could use V3. |
Beta Was this translation helpful? Give feedback.
-
@tomekzaw I can confirm after 3.0.0. we are not seeing any crash. |
Beta Was this translation helpful? Give feedback.
-
@tomekzaw As a plan to fix this, we have developed our own custom sticky behavior on top of Reanimated's Scrollview component. On 3.0.0-rc10, we were experiencing a jumpy behavior in this custom sticky implementation on fast scroll. This jumpiness is NOT observed on 3.1.0, and hence we are now migrating to 3.1.0. Pls let me know |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi @tomekzaw, we are using react-native-reanimated in our project. We are facing a burning crash in our Dream11 app on reanimated version 2.9.1 . We are able to repro(15/100 times) the crash with the automation script. Crash can be reproduced with latest stable 2.x.x version as well but not reproducible in 3.0.0.rc.10. We can't use RC version with production app. I can't see any update on this thread #3529 after Nov 2022. Please let us know when you guys are planning to push out 3.0.0 stable release ?
We can help in fixing any open issues or any help we can do to push out the stable release.
Fatal Exception: com.facebook.jni.CppException: bad_weak_ptr at com.swmansion.reanimated.Scheduler.triggerUI(SourceFile) at com.swmansion.reanimated.Scheduler$1.run(SourceFile:24) at com.swmansion.reanimated.Scheduler$2.runGuarded(SourceFile:43) at com.facebook.react.bridge.GuardedRunnable.run(SourceFile:31) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:238) at android.app.ActivityThread.main(ActivityThread.java:7829) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:512) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:986)
Beta Was this translation helpful? Give feedback.
All reactions