Skip to content

chore: bump nitro modules to v0.35#145

Merged
patrickkabwe merged 1 commit intopatrickkabwe:mainfrom
jeongshin:chore/upgrade-nitro-v35
Mar 16, 2026
Merged

chore: bump nitro modules to v0.35#145
patrickkabwe merged 1 commit intopatrickkabwe:mainfrom
jeongshin:chore/upgrade-nitro-v35

Conversation

@jeongshin
Copy link
Copy Markdown
Contributor

@jeongshin jeongshin commented Mar 16, 2026

Summary

  • Upgrade react-native-nitro-modules from ^0.28.1 to ^0.35.0
  • Rename nitro-codegen to nitrogen (^0.35.0)
  • Migrate cpp-adapter.cpp to new registerAllNatives() JNI pattern
  • Update nitro.json autolinking to new ios/android syntax
  • Regenerate nitrogen/ specs with nitrogen 0.35.2

Test plan

Tested on the example project with the following code:

await NitroInAppBrowser.open('https://github.com/', {
  barColor: 'purple',
  controlColor: '#000000',
  dismissButtonLabel: 'close',
  presentationStyle: 'fullScreen',
});

TypeScript build passes (bun run build)
Android build and run on device — in-app browser opens correctly
iOS build and run on simulator — in-app browser opens correctly

Summary by CodeRabbit

  • Chores
    • Updated react-native-nitro-modules dependency to v0.35.0
    • Updated build tooling and module generation dependencies for improved compatibility

- Upgrade react-native-nitro-modules from ^0.28.1 to ^0.35.0
- Rename nitro-codegen to nitrogen (^0.35.0)
- Migrate cpp-adapter.cpp to new registerAllNatives() JNI pattern
- Update nitro.json autolinking to new ios/android syntax
- Regenerate nitrogen/ specs with nitrogen 0.35.2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 16, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d77a2fd2-51b9-4a1c-9677-77c32abea646

📥 Commits

Reviewing files that changed from the base of the PR and between 9617e1c and 1e76d03.

⛔ Files ignored due to path filters (35)
  • bun.lock is excluded by !**/*.lock
  • nitrogen/generated/android/NitroInAppBrowser+autolinking.cmake is excluded by !**/generated/**
  • nitrogen/generated/android/NitroInAppBrowser+autolinking.gradle is excluded by !**/generated/**
  • nitrogen/generated/android/NitroInAppBrowserOnLoad.cpp is excluded by !**/generated/**
  • nitrogen/generated/android/NitroInAppBrowserOnLoad.hpp is excluded by !**/generated/**
  • nitrogen/generated/android/c++/JHybridNitroInAppBrowserSpec.cpp is excluded by !**/generated/**
  • nitrogen/generated/android/c++/JHybridNitroInAppBrowserSpec.hpp is excluded by !**/generated/**
  • nitrogen/generated/android/c++/JNitroInAppBrowserDismissButtonLabel.hpp is excluded by !**/generated/**
  • nitrogen/generated/android/c++/JNitroInAppBrowserOptions.hpp is excluded by !**/generated/**
  • nitrogen/generated/android/c++/JNitroInAppBrowserPresentationStyle.hpp is excluded by !**/generated/**
  • nitrogen/generated/android/kotlin/com/margelo/nitro/nitroinappbrowser/HybridNitroInAppBrowserSpec.kt is excluded by !**/generated/**
  • nitrogen/generated/android/kotlin/com/margelo/nitro/nitroinappbrowser/NitroInAppBrowserDismissButtonLabel.kt is excluded by !**/generated/**
  • nitrogen/generated/android/kotlin/com/margelo/nitro/nitroinappbrowser/NitroInAppBrowserOnLoad.kt is excluded by !**/generated/**
  • nitrogen/generated/android/kotlin/com/margelo/nitro/nitroinappbrowser/NitroInAppBrowserOptions.kt is excluded by !**/generated/**
  • nitrogen/generated/android/kotlin/com/margelo/nitro/nitroinappbrowser/NitroInAppBrowserPresentationStyle.kt is excluded by !**/generated/**
  • nitrogen/generated/ios/NitroInAppBrowser+autolinking.rb is excluded by !**/generated/**
  • nitrogen/generated/ios/NitroInAppBrowser-Swift-Cxx-Bridge.cpp is excluded by !**/generated/**
  • nitrogen/generated/ios/NitroInAppBrowser-Swift-Cxx-Bridge.hpp is excluded by !**/generated/**
  • nitrogen/generated/ios/NitroInAppBrowser-Swift-Cxx-Umbrella.hpp is excluded by !**/generated/**
  • nitrogen/generated/ios/NitroInAppBrowserAutolinking.mm is excluded by !**/generated/**
  • nitrogen/generated/ios/NitroInAppBrowserAutolinking.swift is excluded by !**/generated/**
  • nitrogen/generated/ios/c++/HybridNitroInAppBrowserSpecSwift.cpp is excluded by !**/generated/**
  • nitrogen/generated/ios/c++/HybridNitroInAppBrowserSpecSwift.hpp is excluded by !**/generated/**
  • nitrogen/generated/ios/swift/Func_void.swift is excluded by !**/generated/**
  • nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift is excluded by !**/generated/**
  • nitrogen/generated/ios/swift/HybridNitroInAppBrowserSpec.swift is excluded by !**/generated/**
  • nitrogen/generated/ios/swift/HybridNitroInAppBrowserSpec_cxx.swift is excluded by !**/generated/**
  • nitrogen/generated/ios/swift/NitroInAppBrowserDismissButtonLabel.swift is excluded by !**/generated/**
  • nitrogen/generated/ios/swift/NitroInAppBrowserOptions.swift is excluded by !**/generated/**
  • nitrogen/generated/ios/swift/NitroInAppBrowserPresentationStyle.swift is excluded by !**/generated/**
  • nitrogen/generated/shared/c++/HybridNitroInAppBrowserSpec.cpp is excluded by !**/generated/**
  • nitrogen/generated/shared/c++/HybridNitroInAppBrowserSpec.hpp is excluded by !**/generated/**
  • nitrogen/generated/shared/c++/NitroInAppBrowserDismissButtonLabel.hpp is excluded by !**/generated/**
  • nitrogen/generated/shared/c++/NitroInAppBrowserOptions.hpp is excluded by !**/generated/**
  • nitrogen/generated/shared/c++/NitroInAppBrowserPresentationStyle.hpp is excluded by !**/generated/**
📒 Files selected for processing (4)
  • android/src/main/cpp/cpp-adapter.cpp
  • example/package.json
  • nitro.json
  • package.json

📝 Walkthrough

Walkthrough

The pull request updates Nitro-related dependencies across the project, migrates build tooling from nitro-codegen to nitrogen, refactors JNI initialization in C++ to use facebook::jni, and restructures the nitro.json autolinking configuration to use explicit language and implementation class name fields.

Changes

Cohort / File(s) Summary
Build Tool Migration
package.json, example/package.json
Replaced nitro-codegen with nitrogen in codegen script; updated react-native-nitro-modules dependency from ^0.28.1 to ^0.35.0 across root and example projects.
JNI Initialization Refactoring
android/src/main/cpp/cpp-adapter.cpp
Modified JNI_OnLoad to use facebook::jni::initialize with a lambda for native registration instead of direct initialization call; added fbjni/fbjni.h header.
Autolinking Configuration Restructure
nitro.json
Converted iOS and Android autolinking entries from simple string mappings to nested objects with explicit "language" and "implementationClassName" fields while preserving implementation class names.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

released on @next``

Poem

🐰 With nitrogen's spark and fbjni's grace,
We've modernized this JNI space,
Config structures bloomed anew,
Dependencies fresh and code refined too,
Hop along this Nitro-powered flight! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main objective of the changeset, which is upgrading nitro modules to v0.35.0.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can generate a title for your PR based on the changes with custom instructions.

Set the reviews.auto_title_instructions setting to generate a title for your PR based on the changes in the PR with custom instructions.

@patrickkabwe
Copy link
Copy Markdown
Owner

Thank you @jeongshin!

@patrickkabwe patrickkabwe merged commit 92dfd20 into patrickkabwe:main Mar 16, 2026
5 checks passed
@jeongshin
Copy link
Copy Markdown
Contributor Author

@patrickkabwe Thanks for the fast reply! Could you please release a new version when you get a chance?
Thank you!

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.

2 participants