Releases
v27.0.0
Compare
Sorry, something went wrong.
No results found
27.0.0 (2026-10-19)
⚠ BREAKING CHANGES
ios: drop CocoaPods Firebase matrix; SPM-only
app, sdk: bump Firebase Android 35, Apple 13, and JS 13
ml: remove discontinued @react-native-firebase/ml package
app, ios: RNFBSharedUtils.h, RCTConvert+FIRApp.h, and
RCTConvert+FIROptions.h no longer import FirebaseCore; RNFBUtilsModule.h
no longer imports Photos. Add the import at the call site if you need
those types. See docs/migrating-to-v27.mdx.
app, ios: initializeApp now reads automaticDataCollectionEnabled as a
boolean. Previously any non-nil value (including JS false) enabled collection
via pointer cast; false, 0, null, and absent now disable it. See
docs/migrating-to-v27.mdx.
ai: The Imagen API is removed from @react-native-firebase/ai.
getImagenModel(), getTemplateImagenModel(), ImagenImageFormat, and the Imagen
request and response types are gone. Generate images with Gemini image models
through getGenerativeModel() instead, setting responseModalities and
imageConfig on the generation config. See docs/migrating-to-v27.mdx for the
full mapping of removed exports and before/after code.
Features
ai: remove Imagen API (c503c7f )
app, sdk: bump Firebase Android 35, Apple 13, and JS 13 (0ca03d1 )
app, sdk: bump Firebase Android SDK to 34.19.0 (ca054bc )
app, sdk: bump Firebase iOS SDK to 12.19.0 (95dca6a )
app, sdk: bump Firebase JS SDK to 12.18.0 (5e2617d )
app, sdk: bump Firebase JS SDK to 12.19.0 (34d0318 )
database: get() uses the native one-shot read on Android and web (65cf63c ), closes firebase-ios-sdk#12168
messaging: add FID register and onRegistered (ca301b2 )
messaging: add messaging_installation_id_enabled firebase.json opt-in (e9c9741 )
ml: remove discontinued @react-native-firebase/ml package (58622b1 )
test-expo: add Expo Router example with a route per package (#9313 ) (50a946a )
Bug Fixes
ai: avoid shell execution for fixture tags (87ae689 )
ai: deprecate Gemini 3/4 unsupported GenerationConfig and Live sampling fields (68170d9 )
analytics, messaging: dedupe GoogleUtilities classes under SPM dynamic frameworks (#9327 ) (b70ba88 ), closes #9322 #9322
app-check: drop the unused indent fallback (c147145 )
app-check: install the provider factory before configure (f366a64 )
app, android: bind nullable recent-task fields before use (bed8c71 )
app, android: harden RecentTaskInfo null and JSON parse (908400b )
app, expo: match scene-based AppDelegate for Expo SDK 58 config plugin (dce165d )
app, ios: clarify SPM static linkage error when use_frameworks is absent (cdf99cd )
app, ios: import ObjC NullSentinelDecoder in SharedUtils (9a565c8 )
app, ios: pin SPM Firebase SDK and retain Measurement ObjC categories (7e271af )
app, ios: read automaticDataCollectionEnabled as a boolean (cc18140 )
app, ios: stop re-exporting FirebaseCore and Photos from App headers (0a5116f )
app, ios: tighten the dynamic Firebase probe and import guard (cac843c )
app, sdk: finish firebase-js-sdk 12.18.0 pin and Other HttpsError assertions (56cb41d )
app, storage: link Photos framework on tvOS (56f5c1f )
app, tests: ignore iOS host stubs in TurboModule spec parity lookup (e2f515d )
app,database: resolve platform native module when bundlers apply package exports (959d91f )
app: apply the same firebase.json injection fix to the test-rn-bare fixture (51c5269 )
app: import e2e native module resolver via internal barrel (93f51ff )
app: reject unsafe deepSet path segments (ec3ac24 )
app: restore vendor EventEmitter for RN macOS 0.78 (6b13c9d )
app: seed automaticDataCollectionEnabled from the native initializeApp result (5d187f9 )
app: stop evaluating firebase.json content as Ruby/Python source in ios_config.sh (d333ab3 )
app: support Expo 58 scene lifecycle (01f450f )
app: swizzle null sentinels after codegen converters load (bcff184 )
attw: pack from allowlisted stage to avoid XCTest build walks (7c2e3ef )
auth, analytics, remote-config: unwrap iOS null sentinels on Object args (53fdb6a )
auth, android: accept null keys in auth cache registry get/take (211c6cf )
auth: apply the reCAPTCHA openURL fix on the UIScene life cycle (327fbe3 )
auth: remove sensitive authentication logs (57c5d1c )
build: pin json gem to 2.x so CocoaPods still accepts quirks_mode (fa3f29d )
ci, ios: fail Expo launch smoke when xcodebuild settings fail (d4363aa )
ci, ios: key the iOS Pods cache by build mode (e6bc849 )
ci, ios: poll Expo launch-smoke key-window instead of a fixed sleep (1372076 )
ci: unblock Yarn hardened CI and Xcode 27 iOS archive (9c63630 )
crashlytics, ios: resolve target-folder GoogleService-Info.plist for SPM dSYM upload (a2b7e57 ), closes #9304
database, android: settle keepSynced promise after SDK apply (61100f2 )
database, android: surface onDisconnect errors; cover deny reject arms (1a4a4d6 )
database: decode iOS null sentinels before writes (501bec8 )
database: keep get() from cancelling any keepSynced at the location on Android (befb08c ), closes firebase-android-sdk#8433
database: only fall back to once() for locations kept synced (6a7eddb )
database: skip once retry after observer-shaped get errors (6e18ddf )
docs: fail lint:spellcheck when frontmatter cannot be parsed (e15477f )
e2e: drop a stale functions build lock when its holder is gone (8f67c93 )
e2e: skip watchman watch-del when a sibling Metro owns the root (7695132 )
firestore, ios: cover transaction HostStub update-block paths and unskip waitForPendingWrites (fd9422b )
firestore: fail iOS transaction timeout without SDK retry (c91be82 )
firestore: ignore leftover JS transaction work after id is finished (2a37b73 )
firestore: reject leftover iOS transaction get as deadline-exceeded (c7e5836 )
messaging, ios: guard AppDelegate window access for UIScene apps (79c2d72 )
messaging, ios: hop notification permission APIs onto the main queue (3fde064 )
messaging, ios: hop remaining UIApplication register APIs onto main queue (07e4562 )
messaging, ios: normalize sent time (0b48006 )
messaging, ios: port UIScene window guard after rebase (7cd8f14 )
messaging, ios: read isRegisteredForRemoteNotifications on main queue in getConstants (87a30dc )
messaging, ios: serialize notification badges as strings (c6a8e85 )
messaging, ios: validate sent-time format (7b39040 )
messaging: detect the iOS APNs environment from the provisioning profile (56a4141 )
messaging: nest iOS string sounds correctly (a34ce00 )
messaging: pass sent message IDs to listeners (05bcd71 )
messaging: read flattened isInstallationIdEnabled Turbo constant (7f65512 )
messaging: rethrow onRegistered replay error and drop the subscription (56d071e )
perf, ios: avoid id cast shadowed by TurboModule id param (9556118 )
perf, ios: typedef Swift protocol refs around TurboModule id shadowing (db9cc60 )
perf, ios: use id casts for Swift protocols in ObjC++ (1d5c7ca )
tests, ios: keep the debug Hermes engine on debug builds (60d871e )
tests: exclude dist output from Jest coverage collection (97f72c1 )
Continuous Integration
ios: drop CocoaPods Firebase matrix; SPM-only (89e270f )
You can’t perform that action at this time.