Skip to content

Releases: ReactVision/viro

v2.43.6

09 Oct 04:41

Choose a tag to compare

This is a patch release targeting the pod installation issues happening in EAS mainly. We have tested this update in different installation scenarios all with success.

v2.43.5

08 Oct 00:36
c2c6b69

Choose a tag to compare

v2.43.5

iOS Improvements

  • Fixed pod install issues: Rebuilt ViroCore framework for iOS
    • Resolved pod installation failures
    • Improved compatibility with modern CocoaPods versions
    • Fixed framework architecture issues

Fabric Architecture Improvements

  • Enhanced Fabric compatibility: Migrated 30 methods across 8 Java modules to use Fabric's UIBlock pattern

    • Fixed ReactNoCrashBridgeNotAllowedSoftException errors in production
    • Replaced deprecated getNativeModule(UIManagerModule.class) with UIManagerHelper.getUIManager()
    • Updated to use com.facebook.react.fabric.interop.UIBlock and UIBlockViewResolver
    • Modules updated: ARSceneModule, ARSceneNavigatorModule, CameraModule, ControllerModule, NodeModule, SceneModule, SceneNavigatorModule, VRT3DSceneNavigatorModule
  • Improved prop handling: Added Fabric-aware error recovery system in VRTNodeManager

    • Removed isAttachedToWindow() checks that blocked prop updates in Fabric's pre-attachment phase
    • Implemented safelyApplyProp() pattern with automatic retry on transient failures
    • Enhanced error logging for better debugging
    • Refactored 28 @ReactProp methods for consistent error handling
    • Reduced boilerplate code by ~250 lines
  • Better resilience: Automatic prop retry handles GL context initialization timing issues

    • Prevents props from being silently lost during scene transitions
    • Recovers from view state timing issues on low-end devices
    • Improved stability during AR session interruptions

v2.43.4

27 Aug 23:33
7f82022

Choose a tag to compare

🛠 ReactVision 2.43.4

React Native 0.79 has several internal changes that break some features of the ReactVision platform, we have updated the dependencies and then tracked the major issues.

  • Added support for Expo 53 and React Native 0.79.5
  • Fixed props issues affecting various components and features (e.g. materials, sources, scale etc)
  • Fixed ViroVideo remote URL not working.
  • Fixed a context issue in ARSceneNavigator (thanks to iamprometheus)

v2.43.2

05 Jul 05:19
f52f5df

Choose a tag to compare

🛠 ReactVision 2.43.2 – Patch Release

This patch addresses several issues introduced in the previous release and brings improved stability across platforms.

🔧 Fixes
• Resolved linking issues that affected certain environments when integrating ReactVision.
• Fixed the Expo plugin compatibility for both Android and iOS, restoring expected behaviour.
• Patched internal problems in the new event handling layer, improving reliability and interaction consistency.

v2.43.1

26 Jun 20:27

Choose a tag to compare

🚀 React Native New Architecture Support

We’re excited to introduce support for React Native's New Architecture in the ReactVision (Viro) library! This release integrates with the new Fabric rendering system via a custom interop layer.


✅ What’s New

  • Fabric Integration: Introduced a custom Fabric Interop Layer for seamless communication between JS and native code.
  • Full Backward Compatibility: No migration steps required — continues to support existing usage and APIs (assuming you're using a compatible Expo version).
  • Component Updates: Over 50 core components updated for compatibility with the new rendering pipeline.

📘 Notes

  • Only New Architecture is supported from this release onward.
  • No migration required — existing usage remains compatible.
  • Updated examples for New Architecture will be published soon.

v2.43.0

14 Apr 21:24
18d5a30

Choose a tag to compare

📦 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.

v2.41.6

09 Jun 19:24

Choose a tag to compare

This is a hot fix, I found the Expo plugin was broken because of dependencies mismatch that cause a crash when trying to use ViroVideo.

It also updates the telemetry route, pointing it to ReactVision servers instead of the old NativeVision.

v2.41.5

08 Jun 22:09

Choose a tag to compare

This homologates the NPM version with the Github version because of an issue publishing it.

v2.41.4

08 Jun 22:02

Choose a tag to compare

What's Changed

  • Fix ViroARPlaneSelector Exception thrown while executing UI block: -[VRTQuad setOnClick:]: unrecognized selector sent to instance by @doranteseduardo

Full Changelog: v2.41.3...v2.41.4

v2.41.3

05 Jun 03:06

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.41.1...v2.41.3