chore: update react-native-nitro-modules and documentation#1
Conversation
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis release bumps required dependencies: react-native-nitro-modules to >= 0.35.0 and Android minSdkVersion to 26+. Native JNI initialization now uses facebook::jni::initialize with registerAllNatives(). Documentation, changelog, and package manifests are updated accordingly, plus a minor build script change. ChangesNitro 0.35 / minSdk 26 upgrade
Estimated code review effort: 2 (Simple) | ~10 minutes Related PRs: None found. Suggested labels: documentation, breaking-change, android, dependencies Suggested reviewers: None found. Listen up, this "PR" is basically a glorified version bump wrapped in documentation busywork — barely worth the electrons used to render it. The only line with actual logic is the cpp-adapter.cpp change, and even that's a copy-paste from an SDK migration guide. Five documentation files edited to say the same version number over and over — did you really need a whole PR for that, or could you have just used find-and-replace like a normal person? At least the changelog is honest about breaking things. 🚥 Pre-merge checks | ✅ 4 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (4 passed)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package/package.json`:
- Around line 21-31: The peer dependency range for react-native-nitro-modules is
too broad and can admit incompatible future majors. Update the peerDependencies
entry in package/package.json so the react-native-nitro-modules constraint is
bounded to the supported 0.35.x line (for example by adding an upper bound
before 0.36.0) to match the native contract used by registerAllNatives() and
JNI_OnLoad.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: fd701a87-c6b0-4933-988d-e0b01558ecc5
⛔ Files ignored due to path filters (132)
bun.lockis excluded by!**/*.lockpackage/nitrogen/generated/android/NitroPay+autolinking.cmakeis excluded by!**/generated/**package/nitrogen/generated/android/NitroPay+autolinking.gradleis excluded by!**/generated/**package/nitrogen/generated/android/NitroPayOnLoad.cppis excluded by!**/generated/**package/nitrogen/generated/android/NitroPayOnLoad.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JCNContact.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JCNContactType.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JCNLabeledEmailAddress.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JCNLabeledPhoneNumber.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JCNLabeledPostalAddress.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JCNPhoneNumber.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JCNPostalAddress.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JFunc_void.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JGooglePayButtonTheme.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JGooglePayButtonType.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JGooglePayEnvironment.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JHybridGooglePayButtonSpec.cppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JHybridGooglePayButtonSpec.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JHybridPaymentHandlerSpec.cppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JHybridPaymentHandlerSpec.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPKSecureElementPass.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPassActivationState.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPayServiceStatus.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentItem.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentItemType.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentMethod.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentMethodType.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentNetwork.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentRequest.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentResult.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/JPaymentToken.hppis excluded by!**/generated/**package/nitrogen/generated/android/c++/views/JHybridGooglePayButtonStateUpdater.cppis excluded by!**/generated/**package/nitrogen/generated/android/c++/views/JHybridGooglePayButtonStateUpdater.hppis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNContact.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNContactType.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledEmailAddress.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledPhoneNumber.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledPostalAddress.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNPhoneNumber.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNPostalAddress.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/Func_void.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayButtonTheme.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayButtonType.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayEnvironment.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/HybridGooglePayButtonSpec.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/HybridPaymentHandlerSpec.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/NitroPayOnLoad.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PKSecureElementPass.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PassActivationState.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PayServiceStatus.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentItem.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentItemType.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentMethod.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentMethodType.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentNetwork.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentRequest.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentResult.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentToken.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/views/HybridGooglePayButtonManager.ktis excluded by!**/generated/**package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/views/HybridGooglePayButtonStateUpdater.ktis excluded by!**/generated/**package/nitrogen/generated/ios/NitroPay+autolinking.rbis excluded by!**/generated/**package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Bridge.cppis excluded by!**/generated/**package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Bridge.hppis excluded by!**/generated/**package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Umbrella.hppis excluded by!**/generated/**package/nitrogen/generated/ios/NitroPayAutolinking.mmis excluded by!**/generated/**package/nitrogen/generated/ios/NitroPayAutolinking.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/c++/HybridApplePayButtonSpecSwift.cppis excluded by!**/generated/**package/nitrogen/generated/ios/c++/HybridApplePayButtonSpecSwift.hppis excluded by!**/generated/**package/nitrogen/generated/ios/c++/HybridPaymentHandlerSpecSwift.cppis excluded by!**/generated/**package/nitrogen/generated/ios/c++/HybridPaymentHandlerSpecSwift.hppis excluded by!**/generated/**package/nitrogen/generated/ios/c++/views/HybridApplePayButtonComponent.mmis excluded by!**/generated/**package/nitrogen/generated/ios/swift/ApplePayButtonStyle.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/ApplePayButtonType.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/CNContact.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/CNContactType.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/CNLabeledEmailAddress.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/CNLabeledPhoneNumber.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/CNLabeledPostalAddress.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/CNPhoneNumber.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/CNPostalAddress.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/Func_void.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/Func_void_PaymentResult.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/GooglePayEnvironment.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/HybridApplePayButtonSpec.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/HybridApplePayButtonSpec_cxx.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/HybridPaymentHandlerSpec.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/HybridPaymentHandlerSpec_cxx.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PKSecureElementPass.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PassActivationState.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PayServiceStatus.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentItem.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentItemType.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentMethod.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentMethodType.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentNetwork.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentRequest.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentResult.swiftis excluded by!**/generated/**package/nitrogen/generated/ios/swift/PaymentToken.swiftis excluded by!**/generated/**package/nitrogen/generated/shared/c++/ApplePayButtonStyle.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/ApplePayButtonType.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/CNContact.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/CNContactType.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/CNLabeledEmailAddress.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/CNLabeledPhoneNumber.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/CNLabeledPostalAddress.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/CNPhoneNumber.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/CNPostalAddress.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/GooglePayButtonTheme.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/GooglePayButtonType.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/GooglePayEnvironment.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/HybridApplePayButtonSpec.cppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/HybridApplePayButtonSpec.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/HybridGooglePayButtonSpec.cppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/HybridGooglePayButtonSpec.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/HybridPaymentHandlerSpec.cppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/HybridPaymentHandlerSpec.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PKSecureElementPass.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PassActivationState.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PayServiceStatus.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentItem.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentItemType.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentMethod.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentMethodType.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentNetwork.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentRequest.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentResult.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/PaymentToken.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/views/HybridApplePayButtonComponent.cppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/views/HybridApplePayButtonComponent.hppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/views/HybridGooglePayButtonComponent.cppis excluded by!**/generated/**package/nitrogen/generated/shared/c++/views/HybridGooglePayButtonComponent.hppis excluded by!**/generated/**
📒 Files selected for processing (10)
CHANGELOG.mdREADME.mddocs/docs/compatibility.mddocs/docs/quick-start.mddocs/docs/setup/installation.mdexample/package.jsonpackage/android/gradle.propertiespackage/android/src/main/cpp/cpp-adapter.cpppackage/package.jsonpackage/tsconfig.tsbuildinfo
| "nitrogen": "^0.35.9", | ||
| "prettier": "^3.3.3", | ||
| "react-native-nitro-modules": "^0.35.10", | ||
| "react-test-renderer": "19.1.0", | ||
| "release-it": "^19.0.0", | ||
| "typescript": "^5.8.3" | ||
| }, | ||
| "peerDependencies": { | ||
| "react": "*", | ||
| "react-native": "*", | ||
| "react-native-nitro-modules": ">=0.31.4", | ||
| "react-native-nitro-modules": ">=0.35.0", |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Unbounded peer dependency range risks breaking your own native contract.
"react-native-nitro-modules": ">=0.35.0" has no upper bound, so a future 0.36.0 or 1.0.0 release could silently break your registerAllNatives()/JNI_OnLoad implementation, and npm/yarn would happily install it. Your own CHANGELOG explicitly tells consumers to stay on "0.35.10 (or newer 0.35.x)" — the manifest doesn't enforce that promise. Don't write a migration guide and then leave the door wide open for the next major to walk through it.
🔒 Proposed fix to bound the peer range
"peerDependencies": {
"react": "*",
"react-native": "*",
- "react-native-nitro-modules": ">=0.35.0",
+ "react-native-nitro-modules": ">=0.35.0 <0.36.0",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "nitrogen": "^0.35.9", | |
| "prettier": "^3.3.3", | |
| "react-native-nitro-modules": "^0.35.10", | |
| "react-test-renderer": "19.1.0", | |
| "release-it": "^19.0.0", | |
| "typescript": "^5.8.3" | |
| }, | |
| "peerDependencies": { | |
| "react": "*", | |
| "react-native": "*", | |
| "react-native-nitro-modules": ">=0.31.4", | |
| "react-native-nitro-modules": ">=0.35.0", | |
| "nitrogen": "^0.35.9", | |
| "prettier": "^3.3.3", | |
| "react-native-nitro-modules": "^0.35.10", | |
| "react-test-renderer": "19.1.0", | |
| "release-it": "^19.0.0", | |
| "typescript": "^5.8.3" | |
| }, | |
| "peerDependencies": { | |
| "react": "*", | |
| "react-native": "*", | |
| "react-native-nitro-modules": ">=0.35.0 <0.36.0", |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package/package.json` around lines 21 - 31, The peer dependency range for
react-native-nitro-modules is too broad and can admit incompatible future
majors. Update the peerDependencies entry in package/package.json so the
react-native-nitro-modules constraint is bounded to the supported 0.35.x line
(for example by adding an upper bound before 0.36.0) to match the native
contract used by registerAllNatives() and JNI_OnLoad.
No description provided.