github invertase/react-native-firebase v26.0.0

latest releases: v26.4.0, v26.3.3, v26.3.2...
4 hours ago

⚠ BREAKING CHANGES

  • messaging, ios: make APNs registration timeout independent of main queue
  • app, android: On Android, makePlayServicesAvailable previously resolved even when the Play Services availability task was canceled or failed. It may now reject, so callers should handle Promise rejections.
  • logEvent, initializeAppCheck, and initializeFirestore return
    synchronously; remove await and .then() chains on these APIs.
  • Analytics: align logEvent return type with firebase-js-sdk sync void.
  • App Check: align initializeAppCheck with sync AppCheck return.
  • Firestore: align initializeFirestore with sync Firestore return.
  • Firestore: export aggregateFieldEqual for aggregate query parity.
  • Remote Config: accept RemoteConfigOptions in getRemoteConfig.
  • Remote Config: document native FetchStatus literals as intentional drift.
  • Docs: add firebase-js-sdk API parity improvements to v26 migration guide.
  • phone-number-verification: migrate phone-number-verification to TurboModules
  • auth: migrate auth to TurboModules
  • database: migrate database to TurboModules
  • messaging: messaging requires the React Native New Architecture.
  • storage: migrate storage to TurboModules
  • crashlytics: migrate crashlytics to TurboModules
  • analytics: migrate analytics to TurboModules
  • remote-config: migrate remote-config to TurboModules
  • app-check: migrate app-check to TurboModules
  • ml: migrate ml to TurboModules
  • app-distribution: migrate app-distribution to TurboModules
  • in-app-messaging: migrate in-app-messaging to TurboModules
  • perf: migrate perf to TurboModules
  • installations: migrate installations to TurboModules
  • firestore: Firestore native bridge requires New Architecture.
    Legacy NativeModules bridge removed; four Codegen TurboModule specs
    (NativeRNFBTurboFirestore{,Collection,Document,Transaction}) with
    committed generated artifacts, Android/iOS turbo shells, and JS wiring.
  • app: App/Core modules native bridge requires New Architecture.

Migrate RNFBAppModule and RNFBUtilsModule to Codegen TurboModules with
unified resolver, lazy Proxy wrapper, and committed generated artifacts.
Includes functions codegenConfig rename (NewArch-AD-7), test harness
overrides, architecture decisions, and validation workflow hardening.

  • refactor!(types): align modular APIs with firebase-js-sdk sync signatures (b42d1f7)

Features

  • analytics: migrate analytics to TurboModules (5cc1c9c)
  • app-check: migrate app-check to TurboModules (b93a70a)
  • app-distribution: migrate app-distribution to TurboModules (1ab98b1)
  • app: migrate app modules to TurboModules incl general migration infra (978168d)
  • auth: migrate auth to TurboModules (5fe09ac)
  • crashlytics: migrate crashlytics to TurboModules (122295e)
  • database: migrate database to TurboModules (27ad35c)
  • firestore, ios: enable substring, timestampAdd, timestampSubtract, arrayGet pipeline support (4e0b2ee)
  • firestore/pipelines: expose search stage and pipeline expressions (e6040a6)
  • firestore: export aggregateQuerySnapshotEqual for SDK parity (ea8138e)
  • firestore: expose pipeline coalesce expression helper (5781c87)
  • firestore: expose pipeline currentDocument expression helper (ec1c949)
  • firestore: expose pipeline ifNull expression helper (75342fe)
  • firestore: expose pipeline switchOn expression helper (d02732d)
  • firestore: expose pipeline timestampDiff and TimeUnit (c29da5a)
  • firestore: expose pipeline timestampExtract and TimePart (6293748)
  • firestore: migrate firestore to TurboModules (d58b063)
  • firestore: support TransactionOptions maxAttempts in runTransaction (f692c70)
  • in-app-messaging: migrate in-app-messaging to TurboModules (05d0497)
  • installations: migrate installations to TurboModules (4097d25)
  • messaging: migrate messaging to TurboModules (e56c7f4)
  • ml: migrate ml to TurboModules (c13259a)
  • perf: migrate perf to TurboModules (bbccdf2)
  • phone-number-verification: migrate phone-number-verification to TurboModules (d7311c4)
  • remote-config: migrate remote-config to TurboModules (1758b01)
  • storage: migrate storage to TurboModules (691dcc1)

Bug Fixes

  • add codegen verify and spec-native parity tests (49d9f1b)
  • add ResultT codegen type alias (ff2d68f)
  • app-check: guard missing initializeAppCheck options at runtime (a4b3407)
  • app-check: validate provider name and error on unrecognized values (#9106) (9be83d9)
  • app, android: handle possible null external storage directory (726493d)
  • app, android: harden emitter attach/emit across generation overlap (5dfef91)
  • app, android: run makeGooglePlayServicesAvailable on main thread (9675467)
  • app, android: stop event emitter losing events to a stale ReactContext (01992f7), closes #1127 #8374
  • auth, android: handle null id-tokens from google credential manager (d800caf)
  • correct links in skill / single isBoolean import (cd77cc9)
  • database: align public types with firebase-js-sdk declarations (7bc2d90)
  • deps: remove unsupported semver cooldown keys from github-actions dependabot config (a5820ec), closes #9056
  • emit messaging_notification_opened only for default notification action on iOS. (#8945) (2aec61f)
  • firestore, android: align pipeline constant envelope routing with iOS (42f313d)
  • firestore, android: align pipeline integerLiteral constant lowering with iOS (4c79daf)
  • firestore, android: align pipeline operand coercion with iOS (55b3200)
  • firestore, android: align pipeline stage option expression fields with iOS (ce213a4)
  • firestore, android: align pipeline timestampTruncate arity validation with iOS (b7e60e1)
  • firestore, android: apply arithmetic operand coercion review fixes (69f1b4a)
  • firestore, android: firestore instance cache key mismatch (#9097) (a095bd0)
  • firestore, android: remove dormant NodeBuilder lowering duplicates (efa84b9)
  • firestore, ios: align pipeline stage coercion and operand tail lowering (a343407)
  • firestore, ios: align pipeline stage option coercion with Android (7e189ff)
  • firestore, ios: enable conditional pipeline on iOS SDK 12.15 (f148f6e)
  • firestore, ios: enable round pipeline on iOS SDK 12.15 (99c2d35)
  • firestore, ios: enable stringRepeat pipeline on iOS SDK 12.15 (0420f93)
  • firestore, ios: enable switchOn pipeline on iOS SDK 12.15 (c035740)
  • firestore, ios: enable trunc pipeline on iOS SDK 12.15 (79397f3)
  • firestore: deep testing/refactoring pass (24b3b67)
  • firestore: validate TransactionOptions maxAttempts (316e7d0)
  • functions: correct httpsCallable timeout units on macOS/web (b231ad8)
  • ios: private codegen headers and bridging-safe AppCheck module (266d7e1)
  • ios: set IPHONEOS_DEPLOYMENT_TARGET to 15.0, update platform support docs/conditionals (#9108) (99d0899), closes #8882
  • messaging, android: ignore non-message broadcasts in messaging receiver (#9105) (da17208), closes firebase-android-sdk#5410 #8040
  • messaging, android: make max stored notifications configurable (#9111) (dc5771f), closes #8771
  • messaging, ios: make APNs registration timeout independent of main queue (4cbb19c)
  • messaging: willPresentNotification custom notification to work alongside default notification (#9094) (1bad118)
  • remote-config, ios: ensure fetchActivate() match fetch() + activate() behavior (#9095) (3bbfecc)
  • resolve CI lint and spec-native parity failures (6ff817e)
  • storage, ios: preserve RN framework HEADER_SEARCH_PATHS in podspec (122ae3d)
  • tooling: never Nx-cache-skip patch-package prepare (67f8adb)
  • types: align compare-types modular API with firebase-js-sdk (5376e75)

Performance Improvements

  • app: reduce TurboModule resolver overhead (d5b5c9a)

Don't miss a new react-native-firebase release

NewReleases is sending notifications on new releases.