Skip to content

feat!: support new React Native architecture #439

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

jokerttu
Copy link
Contributor

@jokerttu jokerttu commented Jun 2, 2025

Starting with React Native version 0.76, the New Architecture is enabled by default, introducing significant changes to the framework's internals. This PR updates the package to support the New Architecture and drops support for the legacy architecture.

Resolves #338

FEATURES:

  • New React Native Architecture Support
    • Adds support for the new React Native architecture.
    • Uses codegen to generate the native interop layer for TurboModules and Fabric views.
    • includesGeneratedCode is set to true, and the generated code is committed within the package.
  • Navigation SDK Upgrades
    • Android: upgraded from 6.1.0 to 6.2.2
    • iOS: upgraded from 9.3.0 to 10.0.0
    • Adds support for real-time disruptions events.
    • Adds support for the Prompt Visibility API.

BREAKING CHANGES:

  • Legacy Architecture Removed
    • Removes support for the legacy React Native architecture.
  • Minimum iOS SDK Raised
    • Increases the minimum supported iOS SDK from 15.0 to 16.0.
  • API changes:
    • View Event Handlers as Props: Instead of using mapViewCallbacks and navigationViewCallbacks wrapper objects, event handlers are now passed directly as first-class view props.
    • View Flags as Props: View flags have been moved from viewControllers to view props. For example, the headerEnabled state can now be managed directly via a view prop, instead of calling navigationViewController.setHeaderEnabled(value).

CHORE CHANGES:

  • Upgrades project Node.js version from 18.x to 20.x.
  • Converts Android example app code to Kotlin.
  • Adds a code formatter for Kotlin files (used in the example app).
  • Updates the README to document New Architecture support.

Support Checklist (WIP)

  • Supports React Native 0.79.x
  • Supports React Native 0.78.x
  • Supports React Native 0.77.x
  • Supports React Native 0.76.x
  • Android Auto supports
  • CarPlay supports
  • Works with Expo framework

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation
  • I added new tests to check the change I am making
  • All existing and new tests are passing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support New Architecture
1 participant