Skip to content

Bump Nitrogen version 0.35.3#164

Merged
patrickkabwe merged 3 commits into
patrickkabwe:mainfrom
aparedes:upgrade-nitro-0.35.1
May 17, 2026
Merged

Bump Nitrogen version 0.35.3#164
patrickkabwe merged 3 commits into
patrickkabwe:mainfrom
aparedes:upgrade-nitro-0.35.1

Conversation

@aparedes
Copy link
Copy Markdown
Contributor

@aparedes aparedes commented Apr 6, 2026

fixes #165

This pull request primarily updates dependency versions to ensure compatibility and improve functionality, and refines the autolinking configuration for Nitro modules. The most important changes are as follows:

Dependency Updates

  • Upgraded react-native-nitro-document-picker and react-native-nitro-modules dependencies in example/package.json to versions ^1.2.3 and ^0.35.3 respectively, ensuring the example app uses the latest features and bug fixes.
  • Updated nitrogen and react-native-nitro-modules in the main package.json to version ^0.35.3 for consistency with the latest Nitro ecosystem.

Configuration Improvements

  • Refined the autolinking configuration for NitroFS in nitro.json by specifying platform-specific settings for iOS (Swift) and Android (Kotlin), making the setup clearer and more maintainable.

Summary by CodeRabbit

  • Chores
    • Updated project and example dependency versions for compatibility.
  • Configuration
    • Refined platform-specific autolinking configuration for native modules.
  • Chores
    • CI workflows updated to build only the new architecture for Android and iOS; minor file formatting (trailing newline) applied.

Review Change Stack

Regenerate Nitrogen bindings (v0.35.1) and switch nitro.json autolinking
to per-platform objects. Refreshes generated sources, removes the
copyright year from headers, and includes Android native API changes
(renamed registration API / deprecated initialize).
Copilot AI review requested due to automatic review settings April 6, 2026 14:55
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 6, 2026

📝 Walkthrough

Walkthrough

Bumps Nitro-related packages in root and example package manifests, adds a trailing newline to example/package.json, and simplifies example CI by removing old-architecture steps so Android and iOS workflows build only the new architecture.

Changes

Dependency & CI updates

Layer / File(s) Summary
Dependency version bumps
package.json, example/package.json
Updated devDependencies in package.json (nitrogen, react-native-nitro-modules to ^0.35.6) and dependencies in example/package.json (react-native-nitro-modules to ^0.35.6, react-native-nitro-document-picker to ^1.2.3); added trailing newline to example/package.json.
CI workflows: new-architecture only
.github/workflows/android-build.yml, .github/workflows/ios-build.yml
Renamed Android job key to build and removed the step that disabled the new architecture; removed the conditional step in the iOS workflow that previously disabled the new architecture, so both workflows now target the new architecture only.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

released

Poem

🐰 A hop, a bump, a tidy line,
Nitro packages feeling fine,
CI trimmed to one bright path,
Builds run swift — avoid the wrath.
Rejoice, the rabbit signs this rhyme.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'Bump Nitrogen version 0.35.3' aligns with the core objective of dependency version upgrades, but the actual bumped version is 0.35.6 (not 0.35.3), and the PR encompasses more than just Nitrogen—it also includes nitro.json autolinking restructuring and CI workflow simplification. Update the title to reflect the actual version bump (0.35.6) and scope of changes, e.g., 'Update Nitrogen to 0.35.6 and simplify autolinking configuration' or 'Bump Nitrogen 0.35.6 and refactor nitro.json autolinking for new architecture'.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the repo to Nitrogen/NitroModules 0.35.3, regenerating the platform bindings/autolinking outputs and aligning the example app dependencies/locks with the updated Nitro ecosystem.

Changes:

  • Bumped nitrogen + react-native-nitro-modules versions to ^0.35.3 (root + example), and refreshed Bun/CocoaPods lockfiles accordingly.
  • Updated nitro.json autolinking configuration to the newer per-platform (ios/android) schema.
  • Regenerated Nitrogen outputs across shared C++, iOS (Swift/ObjC++/C++), and Android (Kotlin/C++), including JSI property name caching and updated JNI registration patterns.

Reviewed changes

Copilot reviewed 3 out of 55 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Bumps Nitrogen/NitroModules dev dependency versions to ^0.35.3.
bun.lock Updates resolved dependency graph for Nitrogen/NitroModules and transitive packages.
nitro.json Switches autolinking config to platform-specific ios/android blocks.
example/package.json Updates example Nitro dependencies to latest versions.
example/ios/Podfile.lock Updates Pods (NitroModules/NitroDocumentPicker) versions and checksums.
nitrogen/generated/shared/c++/NitroUploadOptions.hpp Regenerated shared C++ bindings (PropNameIDCache, final, defaulted operator==).
nitrogen/generated/shared/c++/NitroUploadMethod.hpp Regenerated shared C++ header metadata.
nitrogen/generated/shared/c++/NitroFileStat.hpp Regenerated shared C++ bindings (PropNameIDCache, final, defaulted operator==).
nitrogen/generated/shared/c++/NitroFileEncoding.hpp Regenerated shared C++ header metadata.
nitrogen/generated/shared/c++/NitroFile.hpp Regenerated shared C++ bindings (PropNameIDCache, final, defaulted operator==).
nitrogen/generated/shared/c++/HybridNitroFSSpec.hpp Regenerated shared C++ spec header metadata.
nitrogen/generated/shared/c++/HybridNitroFSSpec.cpp Regenerated shared C++ spec implementation metadata.
nitrogen/generated/ios/swift/NitroUploadOptions.swift Regenerated Swift wrapper/extension for C++-backed type.
nitrogen/generated/ios/swift/NitroUploadMethod.swift Regenerated Swift enum metadata.
nitrogen/generated/ios/swift/NitroFileStat.swift Regenerated Swift wrapper/extension for C++-backed type.
nitrogen/generated/ios/swift/NitroFileEncoding.swift Regenerated Swift enum metadata.
nitrogen/generated/ios/swift/NitroFile.swift Regenerated Swift wrapper/extension for C++-backed type.
nitrogen/generated/ios/swift/HybridNitroFSSpec.swift Regenerated Swift base wrapper typing (any existential updates).
nitrogen/generated/ios/swift/HybridNitroFSSpec_cxx.swift Regenerated Swift C++ interop wrapper; adds reference equality helper.
nitrogen/generated/ios/swift/Func_void.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/swift/Func_void_std__vector_NitroFile_.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/swift/Func_void_std__string.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/swift/Func_void_NitroFileStat.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/swift/Func_void_NitroFile.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/swift/Func_void_double_double.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/swift/Func_void_bool.swift Regenerated Swift function bridge metadata.
nitrogen/generated/ios/NitroFSAutolinking.swift Regenerated iOS autolinking entrypoint; adds recyclability check.
nitrogen/generated/ios/NitroFSAutolinking.mm Regenerated ObjC++ autolinking metadata.
nitrogen/generated/ios/NitroFS+autolinking.rb Regenerated CocoaPods integration script; comment fix for ObjC vs ObjC++.
nitrogen/generated/ios/NitroFS-Swift-Cxx-Umbrella.hpp Regenerated Swift/C++ umbrella header metadata.
nitrogen/generated/ios/NitroFS-Swift-Cxx-Bridge.hpp Regenerated Swift/C++ bridge header (optional access helpers updated).
nitrogen/generated/ios/NitroFS-Swift-Cxx-Bridge.cpp Regenerated Swift/C++ bridge implementation metadata.
nitrogen/generated/ios/c++/HybridNitroFSSpecSwift.hpp Regenerated iOS C++ wrapper; adds equals(...) override wiring to Swift.
nitrogen/generated/ios/c++/HybridNitroFSSpecSwift.cpp Regenerated iOS C++ wrapper implementation metadata.
nitrogen/generated/android/NitroFSOnLoad.hpp Regenerated Android load/registration API declarations and docs.
nitrogen/generated/android/NitroFSOnLoad.cpp Regenerated Android JNI initialization/registration implementation.
nitrogen/generated/android/NitroFS+autolinking.gradle Regenerated Android Gradle autolinking metadata.
nitrogen/generated/android/NitroFS+autolinking.cmake Regenerated Android CMake autolinking metadata.
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/NitroUploadOptions.kt Regenerated Kotlin data class companion visibility.
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/NitroUploadMethod.kt Regenerated Kotlin enum companion marker.
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/NitroFSOnLoad.kt Regenerated Kotlin native library loader metadata.
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/NitroFileStat.kt Regenerated Kotlin data class companion visibility.
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/NitroFileEncoding.kt Regenerated Kotlin enum companion marker.
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/NitroFile.kt Regenerated Kotlin data class companion visibility.
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/HybridNitroFSSpec.kt Regenerated Kotlin HybridObject backing (new CxxPart pattern).
nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofs/Func_void_double_double.kt Regenerated Kotlin function bridge metadata.
nitrogen/generated/android/c++/JNitroUploadOptions.hpp Regenerated Android C++ JNI bindings metadata/constexpr formatting.
nitrogen/generated/android/c++/JNitroUploadMethod.hpp Regenerated Android C++ JNI enum mapping logic/constexpr formatting.
nitrogen/generated/android/c++/JNitroFileStat.hpp Regenerated Android C++ JNI bindings metadata/constexpr formatting.
nitrogen/generated/android/c++/JNitroFileEncoding.hpp Regenerated Android C++ JNI enum mapping logic/constexpr formatting.
nitrogen/generated/android/c++/JNitroFile.hpp Regenerated Android C++ JNI bindings metadata/constexpr formatting.
nitrogen/generated/android/c++/JHybridNitroFSSpec.hpp Regenerated Android C++ Hybrid bindings (new JavaPart/CxxPart split).
nitrogen/generated/android/c++/JHybridNitroFSSpec.cpp Regenerated Android C++ Hybrid bindings implementation for new split.
nitrogen/generated/android/c++/JFunc_void_double_double.hpp Regenerated Android C++ function bridge metadata/constexpr formatting.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Upgrade Nitrogen/react-native-nitro-modules to v0.35.6 and regenerate native bindings and Kotlin models. Simplify CI to only build the new architecture for Android and iOS, remove the old-arch matrix/jobs, and adjust build job names. Regenerated artifacts include JNI/C++ fixes (Java descriptor and promise lambda capture) and Kotlin data classes (equals/hashCode implementations). Also adjust iOS autolinking to disable generating the Swift ObjC header (SWIFT_INSTALL_OBJC_HEADER = NO) to avoid static linkage issues on Xcode 26.4.
@patrickkabwe
Copy link
Copy Markdown
Owner

@aparedes Thank you.
Sorry had no time to review this PR on time

@patrickkabwe patrickkabwe merged commit 75bcc6b into patrickkabwe:main May 17, 2026
3 checks passed
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.

[BUG]: Upgrade to 35+ Nitro

3 participants