chore(deps): Upgrade NitroModules to 0.37.1 - #101471
chrispader wants to merge 1 commit into
Conversation
|
|
|
@MelvinBot create an issue for updating NitroModules to the latest version, and updating it's peer dependencies and other related code. Assign @chrispader and mention the issue in this PR |
|
Created chore(deps): Upgrade NitroModules from 0.36.3 to 0.37.1 ( The issue covers the runtime bump plus everything that follows from it: Two things worth a look:
|
|
@marufsharifi Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen_Recording_20260918_051012_Expensify.Dev.mp4Android: mWeb ChromeiOS: HybridAppScreen.Recording.2026-09-18.at.8.44.24.PM.moviOS: mWeb SafariMacOS: Chrome / Safari |
NitroModules 0.36.3 leaves NewDot on the older native runtime, and NitroFetch 1.5.4 does not accept the current NitroModules release. This PR upgrades NitroModules and Nitrogen to 0.37.1, moves NitroFetch to 1.6.2, and regenerates the app's local Nitro bindings. It is held until the separate NitroSQLite 9.8.1 PR merges so the two dependency updates can be reviewed independently.
Explanation of Change
NitroFetch 1.6.2 widens its peer range to include NitroModules 0.37.1. I kept Expensify's Android Cronet certificate-pinning patch, which is specific to this app; its contents did not change, but its versioned filename and documentation reference now match NitroFetch 1.6.2. The certificate-pin maintenance script points to that versioned patch as well.
Nitrogen 0.37.1 adds a
FastNativeannotation to the generated Android bindings for Expensify's contacts and app-start-time modules. The iOS pod lockfile updates only the NitroModules and NitroFetch versions and their checksums. HybridApp's companion PR pins the same native versions in its separate lockfile.This branch leaves NitroSQLite at the version currently on main. The SQLite PR updates it to 9.8.1 and removes the local fixes. Once that PR merges, this runtime upgrade can follow without including the SQLite changes in its own diff. Manual native builds are still pending; a focused Android compile stopped before the module task when the build could not obtain its Hermes artifact offline.
Fixed Issues
$ #101472
MOBILE-EXPENSIFY: https://github.com/Expensify/Mobile-Expensify/pull/14131
No separate approved proposal applies to this dependency update.
Tests
Manual device verification is pending.
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
No screenshots or videos are included because the runtime and lockfile changes have no visible UI.