Skip to content

v2.43.0

Latest
Compare
Choose a tag to compare
@doranteseduardo doranteseduardo released this 14 Apr 21:24
· 2 commits to main since this release
18d5a30

📦 Release Notes – v2.43.0

🚀 What’s New

This release brings important stability improvements across both iOS and Android, along with full compatibility for Expo 52+ and React Native 0.76.9+. It also resolves a series of crashes and memory issues related to component unmounting, AR navigation, and property updates.


🔧 Fixes & Improvements

To improve compatibility, we've relaxed the version constraints for React Native and Expo. Projects can now run on Expo SDK 52 or higher, and React Native 0.76.9 or above, making upgrades smoother and less restrictive.

On iOS, we addressed crashes occurring during component unmounting—especially around navigation—by adding extra safety checks when accessing nodes and parent portal references. We've also improved the unmounting sequence to avoid accessing invalid memory.

For both platforms, we fixed errors that were happening when updating shadow node properties. These issues were caused by operations on null or already-detached nodes. We’ve added defensive coding, including try-catch wrappers and detailed error logging. On Android specifically, the onTearDown() method has been rewritten to ensure proper cleanup of resources, cancellation of active tasks, and state resets.

We also tackled AR-related crashes, especially on iOS, where the app could crash if methods were called on the SceneNavigator during teardown. Now, AR sessions are correctly finalised during cleanup.

Finally, we resolved memory leaks tied to ViroARPlaneSelector. This was caused by abrupt unmounting and improper handling of its child components. The selector logic has been refactored to ensure stability and prevent crashes.


✅ Recommended Update

To take advantage of all these fixes, we recommend updating your project to use:

  • Expo SDK 52 or later
  • React Native 0.76.9 or later

🧰 Troubleshooting

If you encounter issues after updating, first ensure your project is using the latest version of Expo. Most problems are resolved by aligning with the supported SDK and React Native versions.