Update the codebase
Bring selected NativeExpress fixes and features into an app you have already customized.
Before you update
Read the changelog and choose the changes your app needs. A dependency update, a database change and a UI fix may need different checks. Work on a separate branch so you can review the result before merging it.
For an app built on NativeExpress 1.x, follow Upgrade from v1.
Save your current work
Commit your changes and check that the working tree is clean:
git status --shortCreate a branch for the update:
git switch -c update-nativeexpressAdd the NativeExpress remote
Check your existing remotes:
git remote -vIf you do not already have an upstream remote for NativeExpress, add it:
git remote add upstream https://github.com/robinfaraj/nativeexpress.gitUse git@github.com:robinfaraj/nativeexpress.git if you authenticate through SSH.
Your GitHub account still needs repository access.
Fetch the changes
git fetch upstreamFetching downloads commits without changing your app’s files. Review the release linked in the changelog and the commits relevant to your app.
Apply the changes you need
For a self-contained fix, cherry-pick its commit and any dependencies it needs. For a larger feature, compare its files with your app and bring over the required changes in smaller pieces.
Preserve your app identity, environment values, store configuration and custom screens. Check new imports, dependencies and database requirements alongside the code.
A full merge is appropriate only after reviewing the release and the shared Git history. If your app has a separate history, do not force unrelated histories together as a routine update. See Git’s merge guide for conflict resolution.
Verify
Install dependencies and run the project’s checks:
yarn install
yarn ciTest the changed features and your custom screens in a development build. Rebuild when native dependencies or configuration change. If the update changes your backend, test its migrations and edge functions before deploying them.
Review the completed branch against your main branch, then merge it when those checks pass.