React Native Firebase v26: A New Foundation for the Next Decade
v26 is our biggest coordinated release yet, bringing TurboModules, full TypeScript parity, and a fully modular API to prepare React Native Firebase for its next decade.
6 min read
React Native Firebase is over nine years old. When the first commits landed in February 2017, the ecosystem looked entirely different: JavaScript modules talked to Firebase’s native SDKs over the classic React Native bridge. TypeScript wasn’t how most libraries shipped yet. TurboModules weren’t a thing. The modular firebase-js-sdk API that people copy from web docs today hadn’t even been dreamed up yet.
If you have been following React Native Firebase throughout that history - upgrading major versions, filing reproductions, or waiting on patches - thank you.
To give you an idea of this repo's scale: we are at roughly 6,800 commits, 1,700+ merged PRs, and 5,000+ closed issues. We have merged hundreds of PRs a year to support over 1.3 million weekly downloads. Behind those numbers are production apps that need Firebase to keep working while the underlying technologies keep moving. Both ecosystems are undergoing massive shifts - React Native to TurboModules, and Firebase to modular APIs.
By adopting the new architectures of both platforms, v26 ensures this library remains the reliable bridge between them for the next decade, and is our biggest architectural cut to date.
The Core Architectural Upgrades
In our last roadmap update, we outlined the TurboModules migration. With v26, we landed that structural work alongside three other major upgrades:
- JavaScript → TypeScript: We migrated all 19 packages to TypeScript. This was the mandatory engineering foundation required for TurboModule specifications and reliable generated documentation.
- Classic Bridge → TurboModules: React Native froze the legacy NativeModule system, and so after navigating early platform complexities with our Functions package, TurboModules let us make APIs synchronous where firebase-js-sdk is sync. If your code suddenly calls
.thenonvoid,check the migration guide. - Namespaced API → One modular surface: v26 successfully removes the deprecated namespaced APIs (like
firebase.auth()). The supported path is now entirely modular (e.g.,getAuth(app)), exactly matching modern Firebase docs, so that you only have one surface to learn and maintain. - Automated Type Parity: We built automated TypeScript shape comparison against firebase-js-sdk directly into our CI.Native platforms will always differ in places, but unwanted API drift now tends to fail on our side first, not in your production TypeScript build six months later.
Upgrading to v26
Every React Native Firebase package with a native bridge now requires the new architecture (Codegen TurboModules).
- If you cannot enable the new architecture yet: Please stay on v25 for now, and read the Migrating to v26 guide when you are ready.
- If you are ready to upgrade: Point your agents at the Automated migration checklist.
- If you are migrating manually: Bump the packages together, enable the new architecture, drop namespaced imports, and strip
.thenwhere APIs are synchronous again
More features, deprecations & changes
Beyond architectural upgrades, v26 includes new features, deprecations, and stability fixes:
- Firebase AI: We shipped the Firebase AI package (Firebase AI Logic), with the older vertexai package wrapping toward it. That includes upstream parity work around tools, live/template APIs, Imagen, function calling, and related config.
- Firestore Pipelines: We shipped stages, expressions, and ongoing native parity to support you scaling data querying needs.
- Auth & Functions: We added Android Phone Number Verification, TOTP MFA, streaming callables, and better Credential Manager guidance to help you meet strict store and enterprise requirements.
- Fundamental Reliability Fixes: We also tackled some critical issues for app stability - messaging storage limits, OOM cases, React context races, and APNs timeouts.
- Deprecations: Dynamic Links have been removed following Google’s product shutdown. Messaging permission APIs are also deprecated in favor of standard, platform-native notification libraries.
- Work in Progress: A few things remain intentionally in progress as we finish the cutover: messaging events temporarily use the legacy native event proxy, and a handful of FieldValue helpers are still waiting on upstream native SDK support.
What's next on the RNFB roadmap?
Our next priorities include:
- Swift Package Manager (SPM): CocoaPods is retiring, and so we are treating SPM support, already shipped as part of v26.1, as a first-class citizen so React Native Firebase integrates flawlessly into modern iOS projects.
- Native Messaging Excellence: With messaging on TurboModules, our next focus is making foreground/background behavior, token lifecycle, and notification handling rock-solid and predictable across all platforms.
- Supply-Chain Security: We are finishing end-to-end security best practices. Provenance, stricter dependency posture, and publishing hygiene are the vital controls libraries owe to developers.
Keeping a suite of 19 packages aligned with both React Native and Firebase takes deliberate, continuous investment. v26 represents our ongoing commitment at Invertase to making sure that when the underlying platforms shift, your app doesn't break.
Thanks for the stars, the PRs, the careful reproductions, and yes, even the issues. Keep ’em coming.
Follow @invertaseio on X to stay up to date.