All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
20.4.0 (2024-08-13)
- firestore: support for
PersistentCacheIndexManager
(#7910) (0b0de45) - firestore: support for second database (#7949) (eec08a0)
- analytics: update the typing for Item (#7919) (c2c4576)
- database: fixes modular imports exports (#7916) (7022204)
20.3.0 (2024-07-19)
- auth,other: allow optional enabling of Auth session persistence via async storage (d1ea703)
- analytics,other: persist analytics client id where possible (94a8198)
- other: add api for persistence via Async Storage (030eea9)
20.2.1 (2024-07-17)
- firestore: Filter typing.
Filter.or
&Filter.and
can accept each other (#7904) (f6c12ec) - storage: ensure emulator is used for different storage buckets (#7892) (3fa3f11)
20.2.0 (2024-07-15)
Version 20.2.0 introduces support for 'other' platforms, see documentation for more details:
- other: Add Analytics support (#7899) (cbdf9ec)
- other: add App Check support (#7905) (753b16e)
- other: add App/Core support (1b2e247)
- other: Add Auth support (#7878) (54befe7)
- other: Add Database support (#7887) (fbb773a)
- other: Add Firestore support (#7882) (0ebd1dd)
- other: add Functions support (a752075)
- other: Add Remote Config support (#7895) (a41e556)
- other: Add Storage support (#7888) (9b8dda7)
- app, android: adopt firebase-android-sdk 31.1.1 (dba1beb)
- app, android: adopt firebase-android-sdk 33.1.2 (0dfa2af)
- app, ios: firebase-ios-sdk 10.28.0 (91c626d)
- crashlytics, ios: init w/componentsToRegister vs configureWithApp (ca07cad)
- database: set priority on child snapshot if available (#7897) (9028ae4)
- firestore: expose modular
Filter
and it's proper types (#7884) (272efe5) - firestore: remove exception throw on inequality queries on different fields (da24246)
- functions: properly pass the custom URL or region to constructor (#7886) (ffaac4f)
- ios: adopt firebase-ios-sdk 10.29.0 (1b19cc6)
- ci: conventional-changelog-cli version bump (67780f7)
20.1.0 (2024-06-04)
- app: ios sdk 10.27.0 / android sdk 33.1.0 (b6158d6)
20.0.0 (2024-05-20)
- app, android: - requires minSdk 21+ in general, 23+ for auth module
- requires compileSdk 34+
- app-distribution gradle plugin requires
- gradle 7.3+
- android gradle plugin 7+
- google services plugin 4.3.2+
- crashlytics plugin requires
- gradle 8+
- android gradle plugin 8.1+
- google services plugin 4.4.1+
- app, ios: firebase-ios-sdk 10.25.0 requires minimum Xcode 15.2+
This transitively requires macOS Ventura 13.5+ - for old hardware you may investigate OCLP (OpenCore Legacy Patcher) to update macOS to current versions and access newer Xcode versions
- app, android: android-sdk 33.0.0 - needs minSdk 21+ (23+ for auth) (f29fecb)
- app, ios: adopt firebase-ios-sdk 10.25.0 requires Xcode 15.2+ (73f3c23)
- firestore, android: remove usage of Guava library (d6f62a3)
19.3.0 (2024-05-20)
- analytics: allow custom event parameters for begin_checkout and purchase events (#7760) (424b9d9)
- firestore: export and test types for the modular API (ad40ea2)
- firestore: implement the getDoc modular api (e90782b)
- functions: typescript definitions for httpsCallable and httpsCallableFromUrl (#7762) (3446ca3)
- functions: typescript definitions for modular functions API (#7777) (e724a46)
- include phoneNumber from PhoneMultiFactorInfo (5acdfb3)
- app: react-native 0.74 bridgeless mode compatibility (#7688) (a6805bc)
- auth, android: change error code for invalid multi-factor session to match iOS WIP needs test (0f15f2d)
- auth, android: return credential for signin if phone auth has link collision (#7793) (f8916e2)
- auth, ios: reject multi-factor API call if session not found (3d61e32)
- ci: allow yarn lockfile modification in CI for patch generation (94979f5)
- ci: fix executable bits on ios_config script during patchset generation (0c1c4ae)
- ci: use modern yarn syntax to add packages during patchset generation (cfd6f19)
- firestore: fix types for the
where
api in modular queries (d874e15) - messaging, ios: register for notifications on permission grant (ccd78b9), closes #7272
- messaging, ios: reject notification registration after 10 seconds (1f86483), closes #7272
19.2.2 (2024-04-13)
- app, android: bump firebase-android-sdk to 32.8.1 (ae24918)
19.2.1 (2024-04-12)
- auth, android: Pass firebaseAuth into OAuthProvider.newBuilder(...) (#7677) (21a9454)
- auth, ios: deprecate MultifactorInfo.enrollmentDate should be
enrollmentTime
(#7653) (d9987da), closes /github.com/invertase/react-native-firebase/blob/main/packages/auth/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java#L2500 /github.com/invertase/react-native-firebase/blob/main/packages/auth/lib/index.d.ts#L483 #7565 - auth: deprecate MultiFactorUser.enrolledFactor should be plural
enrolledFactors
(#7652) (1ae7481), closes /github.com/invertase/react-native-firebase/blob/main/packages/auth/lib/index.d.ts#L568 /github.com/invertase/react-native-firebase/blob/main/packages/auth/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java#L2476 /github.com/invertase/react-native-firebase/blob/main/packages/auth/ios/RNFBAuth/RNFBAuthModule.m#L1681 /github.com/firebase/firebase-js-sdk/blob/master/packages/auth/src/mfa/mfa_user.ts#L34
19.2.0 (2024-04-10)
- app, ios: firebase-ios-sdk 10.24.0 with signed frameworks (6624b1c)
19.1.2 (2024-04-03)
- app, ios: adopt firebase-ios-sdk 10.23.1 (dc05178)
- deps, ios: FirebaseCoreExtension is not always versioned (cb7ed0e)
19.1.1 (2024-03-26)
- app-check, expo: ensure config plugin is built before using (#7704) (873130c)
- app, android: bump google play-services-auth to 21.0.0 (85dfa4e), closes firebase/firebase-android-sdk#5768 (comment)
19.1.0 (2024-03-23)
- app, android: adopt firebase-android-sdk 32.7.4 (6793b1d)
- app, android: adopt firebase-android-sdk 32.8.0 (450da62)
- app, ios: adopt firebase-ios-sdk 10.23.0 (d7fd10e)
19.0.1 (2024-03-07)
19.0.0 (2024-02-26)
- auth, android: multifactor error messages were auth/unknown before on android Now they will correctly come through as auth/invalid-verification-code If you were relying on the previous auth/unknown codes you will need to update your error handling code
- app, sdks: firebase-ios-sdk 10.21.0 requires cocoapods 1.12+ in order to support the new Apple-mandated privacy manifests. Please ensure you are using verson 1.12 or greater of cocoapods
- analytics, ios: add Podfile toggle to optionally link AdSupport (e4db9bb)
- app, sdks: SDK ios 10.21.0 / android / 32.7.2 (9dc48be)
- auth, android: correct error messages for finalizeMultiFactorEnrollment (b0be508)
18.9.0 (2024-02-21)
- auth: use correct app instance (vs always default) in multifactor and phone auth (#7564) (ff32fd3)
- firestore, types: Add string type to
DocumentSnapshot.get
(#7593) (d5b66ca) - messaging, ios: resolve getAPNSToken promise in all cases (b30eee1), closes #7272
18.8.0 (2024-01-25)
- auth, authDomain: implement FirebaseOptions.authDomain on Auth (a1f4710)
- app: firebase-ios-sdk 10.20.0 / firebase-android-sdk 32.7.1 (8d3c3a0)
- auth, ios: factorId nil check (#7541) (b1cee9a)
- firestore, types: string is also correct type for orderBy (#7570) (1ea166a)
- firestore: increase amount of maximum disjunctions in firebase (#7543) (c576f87)
18.7.3 (2023-12-13)
- sdk, android: adopt firebase-android-sdk 32.7.0 (2c13c32)
18.7.2 (2023-12-08)
18.7.1 (2023-11-29)
- ios): Revert "build(ios: specify our script phases always run" (62b44d6)
18.7.0 (2023-11-28)
- app-check: implement getLimitedUseToken / Replay Protection (#7424) (c6cd505)
- auth, oauth: support native oauth providers (#7443) (8461691)
- messaging: Adding support for Firebase Messaging via Expo config plugin. (#7369) (34152ed)
18.6.2 (2023-11-23)
- adopt firebase-ios-sdk 10.18.0 / firebase-android-sdk 32.6.0 (6a8b25b)
18.6.1 (2023-11-01)
- app, android: adopt firebase-android-sdk 32.5.0 (9834bfb)
- app, sdk: adopt firebase-ios-sdk 10.17.0 (c926af3)
- windows: cleanup windows dev regression (b85f5a4)
18.6.0 (2023-10-26)
- ml: add modular API (2d8ac14)
- android: required compatibility for Gradle 8 in android modules (b52d0ce)
- app, sdk: adopt firebase-android-sdk 32.4.0 (63f1893)
18.5.0 (2023-09-22)
- auth: Expose modular API that matches the Firebase web JS SDK v9 API (e3a93bc)
- database: Firebase V9 modular API (#7136) (21531f2)
- firestore: V9 modular APIs (#7235) (29d81c4)
- ios: add initiateOnDeviceConversionMeasurementWithPhoneNumber (80ac07e)
- app, sdks: adopt ios sdk 10.15.0 / android sdk 32.3.1 (acc58da)
- messaging: RemoteMessage.data may be JSON-serializable object as well as string (#7316) (7945a24)
- storage, ios: remove '443' port from iOS download URLs (5c687a8)
18.4.0 (2023-09-11)
- analytics: Add types to modular package (#7109) (b6f64bf)
- app-check, android: Implement app check token change listener (#7309) (adebe40)
- app-distribution: Firebase V9 modular API (#7307) (309fec4)
- crashlytics: Firbase web modular V9 API (#7283) (57f7327)
- dynamic-links: Firebase web V9 modular APIs (#7296) (573a4ee)
- in-app-messaging: Firebase V9 modular APIs (#7306) (0149480)
18.3.2 (2023-09-02)
- app, sdks: adopt firebase-android-sdk 32.2.3 (129d6ef)
18.3.1 (2023-08-23)
- app, sdks: adopt android-sdk 32.2.2 / ios-sdk 10.13.0 (5484c0b)
- app, sdks: adopt firebase-ios-sdk 10.14.0 (89e3bd9)
- auth, android: avoid crash on react-native < 0.63 (3fee0d6)
18.3.0 (2023-07-19)
18.2.0 (2023-07-13)
- analytics, ios: implement setSessionTimeoutDuration for ios (b3ce13f)
- analytics: implement getSessionId (566470c)
18.1.0 (2023-06-22)
- installations: Firebase JS SDK V9 modular API (#7095) (08cb0c2)
- remote-config: realtime config updates (9ded619)
- app, sdk: adopt firebase-ios-sdk 10.11.0 (f40cb5b)
- remote-config, ios: workaround firebase-ios-sdk#11458 until SDK v10.12.0 (8c75849)
18.0.0 (2023-06-05)
- app, sdk: this version of the underlying firebase-ios-sdk has a minimum Xcode requirement of 14.1 which transitively implies a macOS minimum version of 12.5
- app, sdk: the "safetyNet" provider for App Check has been removed from the underlying firebase-android-sdk and we have removed it here. You should upgrade to the "playIntegrity" provider for App Check
- app, sdks: firebase-ios-sdk 10.8.0 and higher require Xcode 13.3+, which transitively requires macOS 12.0+. You must update your CI build environments to meet these minimums as well as your development environments - if you have older hardware that still works but cannot be upgraded normally, you may like: https://dortania.github.io/OpenCore-Legacy-Patcher/
- app, sdk: android-sdk v32 - app-check safetyNet provider is removed (a0e76ec)
- app, sdk: ios-sdk 10.10.0, requires Xcode 14.1+ / macOS 12.5+ (3122918)
- app, sdks: ios-sdk 10.8.0 requires Xcode 13.3+; android-sdk 31.5.0 (86dc4d5)
- auth, android: add forceRecaptchaFlowForTesting API (#7148) (95d014c)
- firestore, types: add types for Filter constraints on Queries (#7124) (0785d27)
- firestore: Allow queries with combined in and array-contains-any (#7142) (8da6951)
17.5.0 (2023-05-11)
- firestore: Firestore
Filter
instance. UseFilter
,Filter.or()
&Filter.and()
in Firestore queries. (#7045) (f7ec3d1)
- app-check, types: ReactNativeFirebaseAppCheckProvider.configure returns void not Promise (f53dc2d)
17.4.3 (2023-04-26)
- expo: update dependencies of config plugins (3e81143)
17.4.2 (2023-04-05)
- android, auth: phone auth supports Play Integrity now (59b0238)
17.4.1 (2023-04-01)
- app-check, ios: Xcode 14.3 compat bugfix (c4bb807), closes #7014
- crashlytics, android: use v2.9.2 of crashlytics android plugin (8460ab6), closes #6983
17.4.0 (2023-03-25)
- android: bump to firebase-android-sdk 31.3.0 (500f15a)
- app-distribution, android: update the gradle plugin to match BoM 31.2.3 release (ebfb413)
- ios: bump firebase-ios-sdk to 10.7.0 (7103473)
17.3.2 (2023-03-05)
- app, android: adopt firebase-android-sdk 31.2.3 (24fa17e)
- app, ios: bump firebase-ios-sdk to 10.6.0 (06a6f69)
- auth, types: add
OIDCProvider
to typescript declaration (#6936) (00185a3) - expo: extend expo config plugin regex to match latest version of AppDelegate (#6957) (281deed)
17.3.1 (2023-02-23)
17.3.0 (2023-02-15)
- analytics: Expose modular API that matches the Firebase web JS SDK v9 API (#6816) (a42551a)
- app-check: Expose modular API that matches the Firebase web JS SDK v9 API (#6912) (bf02676)
17.2.0 (2023-02-15)
- app, android: firebase-android-sdk 31.2.0 (87156e7)
- app-check, ios: debugToken in config on iOS works now (04615e5)
- app-check, types: add
newReactNativeFirebaseAppCheckProvider
function type (9f5f231) - app-check: better validation of configuration (df60d83)
17.1.0 (2023-02-09)
- app, ios: firebase-ios-sdk 10.5.0 (cc80d7c)
- perf: Expose modular API that matches the Firebase web JS SDK v9 API (#6771) (4e170ea)
- remote-config: Expose modular API that matches the Firebase web JS SDK v9 API (#6868) (e1504aa)
17.0.0 (2023-02-02)
- app, ios: You must have an APNS token before calling getToken to get an FCM token on iOS. Previously it was not required. See documentation for setAPNSToken if you are using getToken in testing or have disabled FCM Swizzling, and use setAPNSToken to set a token before using getToken
- app-check: add custom factory/provider; supports all providers (ee7df85)
- app, ios: adopt firebase-ios-sdk 10.4.0 (1b8df4c)
- messaging, ios: new setAPNSToken API / getToken works on M1 Simulator (8d75b36)
16.7.0 (2023-01-28)
16.6.0 (2023-01-27)
- auth: Add support for OpenID Connect provider (#6574) (469bf00)
- messaging: Expose modular API that matches the Firebase web JS SDK v9 API (#6806) (da82c10)
- database, types: transaction update type is any not object (#6782) (1788a2d)
- firestore: support not equals null query (b93699c)
16.5.2 (2023-01-23)
16.5.1 (2023-01-20)
16.5.0 (2022-12-16)
- app: migrate
app
module to a modular API (#6694) (c285016) - functions: Expose modular API that matches the Firebase web JS SDK v9 API (#6764) (0b0b2e5)
- app, sdks: ios-sdk 10.3.0 / android-sdk 31.1.1 (00708b6)
- functions, modular: return instance with or without app argument (e3bd896)
16.4.6 (2022-11-18)
- app, android: firebase-android-sdk 31.1.0 (af089c0)
16.4.5 (2022-11-16)
- app, ios: firebase-ios-sdk 10.2.0 (443f460)
16.4.4 (2022-11-14)
- auth, multifactor: put multiFactor and getMultiFactorResolver on auth() (357094e)
- crashlytics, android: firebase-android-sdk 31.0.3 fixes NDK issue (0d37632)
- dynamic-links: expo config plugin conflict with main firebase app plugin (ab465ec)
16.4.3 (2022-11-06)
- auth, types: augment multi-factor auth types (5f183c4)
- database, android: revert double-emulator protection (3857439)
- firestore, count: add countFromServer API, delegates to count (9f73729), closes #6654
16.4.2 (2022-11-04)
16.4.1 (2022-11-02)
- dynamic-links, ios: expo config plugin automates dynamic-links workaround (#6650) (e558ad7), closes #2660
16.4.0 (2022-10-30)
16.3.1 (2022-10-28)
- app, sdks: firebase-ios-sdk 10.1.0 / firebase-android-sdk 31.0.2 (8367c98)
16.3.0 (2022-10-26)
16.2.0 (2022-10-23)
16.1.1 (2022-10-21)
- app, android: use firebase-android-sdk 31.0.1 (89eb33f)
16.1.0 (2022-10-20)
- firestore, count: implement AggregateQuery count() on collections (bd52301)
- auth, emulator: guard against double useEmulator calls (13402d5)
- database, useEmulator: drop multiple calls to useEmulator (5fcfc44), closes #5650
- firestore, emulator: avoid double calls to useEmulator (4e0d188), closes #5723
- storage, emulator: avoid calling useEmulator multiple times (276630d), closes #5860
16.0.0 (2022-10-19)
- use firebase-ios-adk 10.0.0
- use firease-android-sdk 31.0.0
- implement new Firestore AggregateQueries and support new
count()
feature
- increase in minimum iOS target version to 11.0 and macOS version to 10.13, stay on v15.7.0 if you must support older Apple platforms
- storage getDownloadURL has an upstream issue on iOS + storage emulator; either use Android, or use cloud storage, or stay on v15.7.0 until firebase-ios-sdk 10.1.0+ is released with the fix
- fix release version change type resolution (6fcb946)
15.7.1 (2022-10-19)
Note: This version (15.7.1) was released in error, the contents of this release should have been versioned as 16.0.0 by our release process.
The breaking changes that will be in v16.0.0 here are an increase in minimum iOS target version to 11.0 and macOS version to 10.13.
Attempts to install v15.7.1 without apple deployment targets at that level or higher should result in fast-failure during pod install.
If these new apple target deployment minimums are not possible for project, please stay on v15.7.0
v16.0.0 of react-native-firebase will be released shortly. Sorry for the inconvenience.
15.7.0 (2022-10-01)
- dynamic-links: support other platform parameters (OFL) (2c5afba)
15.6.0 (2022-09-17)
- app, ios: correctly handle firebase.json if it has UTF-8 (4e3ac01)
- auth, types: verifyPasswordResetCode returns Promise with email address (#6537) (6f67c2c)
15.5.0 (2022-09-16)
- database: support new
EventEmitter.js
logic of RN 0.70.0 (#6539) (3371727) - expo, ios: expo plugin added import multiple times (f10891a)
15.4.0 (2022-08-27)
- app, android: bump to firebase-android-sdk 30.3.2 (ee394fe)
- messaging, ios: Support Ephemeral authorization state (#6478) (795b684)
- app, ios: bump firebase-ios-sdk to 9.5.0 (feac7f8)
15.3.0 (2022-08-07)
- app, sdk: firebase-android-sdk 30.3.1 / firebase-ios-sdk 9.4.0 (1fd7fc8), closes #6327
- firestore: merge option should not always be true if passed (#6436) (85585da)
- ios, messaging: depend directly on FirebaseCoreExtension pod (62ee54b), closes #6403 #6352
- messaging, ios: eliminate auth/messaging notification race (#6455) (7183118)
- add GeoPoint toJSON() method (b062e74)
15.2.0 (2022-07-21)
- ios, messaging: Allow notifications in foreground on iOS, configure in firebase.json (#6407) (71dee2b)
- sdks: firebase-ios-sdk 9.3.0 / firebase-android-sdk 30.3.0 (e03dcd1)
15.1.1 (2022-06-28)
- ios, crashlytics: depend on FirebaseCoreExtension (#6352) (ea0ffe0), closes /github.com/invertase/react-native-firebase/issues/6322#issuecomment-1168902482
15.1.0 (2022-06-28)
- analytics, ios: implement firebase.json toggle to override default SKAdNewtork registration (5da99bd)
- analytics, ios: implement on-device conversion (a1df996), closes /firebase.google.com/support/release-notes/ios#analytics_1 #6321
- android, sdk: use firebase-android-sdk 30.2.0 (66e6fb0)
- ios, sdk: update to firebase-ios-sdk 9.2.0 (7affa79)
15.0.0 (2022-06-20)
-
crashlytics, ios: forward port to firebase-ios-sdk v9 header locations (e5bd716)
-
storage, ios: correct storage metadata update / delete (2dcb079)
-
storage, ios: surface underlying reason for unknown errors if possible (6cd53ea)
-
test(functions, ios)!: disable custom HttpsError testing (a56dc9f)
-
fix(storage, android)!: android now updates customMetadata as a group (d602436)
-
ALL iOS: firebase-ios-sdk now requires
use_frameworks!
in your Podfile and Xcode 13.3+. Note that use_frameworks is not yet compatible with Hermes, Flipper, React Native New Architecture, or react-native 0.69.0. Each of these is being worked on (follow react-native 0.69 PR, Hermes PR) but for now you need react-native 0.68.2 or below, and you must disable hermes and flipper. Expo users should use expo-build-properties + Expo SDK45 to turn on use_frameworks in dynamic mode. -
Storage(customMetadata): android works like web+iOS now: customMetadata if passed in will be updated as a single atomic unit, all keys at once. Any key you want to keep in customMetadata must be passed in during update; any missing keys will be removed. Set customMetadata to null in order to remove customMetadata entirely, omit it during update to leave it unchanged.
-
Functions(custom errors): if your firebase functions return custom HttpsError instances, you must not upgrade yet, custom errors suffered a regression in firebase-ios-sdk 9.0.0 and 9.1.0. The next firebase-ios-sdk release fixes this regression, at which point you may safely use this release in combination with overriding the firebase-ios-sdk version in your Podfile
14.11.1 (2022-06-17)
- analytics: allow manual tracking of ad_impression (931468a), closes #6307 #6312
- android: specify that android services are not exported (39e0444), closes /github.com/firebase/firebase-android-sdk/blob/ad135d8c3c1243b4c673e17bc032ee1052fb2a22/firebase-common/src/main/AndroidManifest.xml#L10-L12
14.11.0 (2022-05-27)
- android, sdk: firebase-android-sdk 30.1.0 (b0462d4)
14.10.1 (2022-05-26)
- android, sdk: bump firebase-android-sdk to 30.0.2 (ad6f928)
14.10.0 (2022-05-26)
- messaging, getToken: add options for messaging instance (88e218e)
- dynamic-links, ios: performDiagnostics API for troubleshooting (0428460)
14.9.4 (2022-05-14)
14.9.3 (2022-05-10)
14.9.2 (2022-05-10)
14.9.1 (2022-04-28)
14.9.0 (2022-04-27)
14.8.1 (2022-04-25)
14.8.0 (2022-04-19)
- ios, sdk: bump firebase-ios-sdk to 8.15.0 (377b465)
14.7.0 (2022-03-23)
- ios, sdk: bump to firebase-ios-sdk 8.14.0 (ba1ddb5)
14.6.0 (2022-03-23)
- auth: allow emulator hostnames to contain hyphens (#6141) (98eb1ce)
- ios, expo: use modern import style, required by Expo 44+ (4060827)
- storage, ios: fix build failure for catalyst compiles (a6dd0cd)
- sdks: firebase-ios-sdk 8.13.0 (95da53e)
14.5.1 (2022-03-05)
- analytics, ios: handle RNFirebaseAnalyticsWithoutAdIdSupport == false Podfile case correctly (#6078) (ca82e54)
14.5.0 (2022-02-15)
14.4.0 (2022-02-13)
14.3.3 (2022-02-12)
- android, sdk: bump firebase-android-sdk to 29.1.0 (292c424)
14.3.2 (2022-02-10)
- app, ios: use NSInteger not NSInteger* for prefs (0148901)
- functions, emulator: add useEmulator, deprecate useFunctionsEmulator (83b46e7)
- ios, sdk: bump to firebase-ios-sdk 8.12.1 (da6cf01)
14.3.1 (2022-02-07)
- app-check, activate: correctly check activate parameters (a583494), closes #5981
- app-check, activate: return Promise(void) on ios not void (0f23441), closes #6052
- app: specify hyphenated package name in import advice (5e898ec), closes #6009
14.3.0 (2022-01-26)
14.2.4 (2022-01-24)
- android, sdk: bump firebase-android-sdk + versions in docs (8bda4be)
14.2.3 (2022-01-20)
- analytics, ios: Convert NSNull values to nil in order to correctly remove user properties (dbc79c3), closes #4931
- ios, sdk: bump firebase-ios-sdk to 8.11.0 (40322e2)
14.2.2 (2022-01-06)
- app, android: minSdk should be 19 to match firebase-android-sdk (#5984) (8015779)
- ios, messaging: add ios version guard for
UNAuthorizationOptionProvidesAppNotificationSettings
(#5986) (e8922c0) - ios, messaging: serialize google.c.sender.id to message.from (d3621eb)
14.2.1 (2021-12-31)
THIS IS A BREAKING CHANGE FOR APP CHECK RETURN VALUES Please note that AppCheck is still a beta product thus it does not currently get a semantic versioning guarantee but, handling the change is easy - if you access the token via this API, you will now get an object and need to get the token property from inside it, vs the token coming back directly.
14.2.0 (2021-12-31)
14.1.0 (2021-12-18)
- app, android: firebase-android-sdk 29.0.3 to fix underlying NPE in 29.0.2 (#5946) (051f4a6)
- crashlytics, ios: alter header import style for Expo SDK 44 compat (#5947) (e45f37c)
14.0.1 (2021-12-15)
- app, expo: Update AppDelegate config plugin for Expo SDK 44 (#5940) (185756d)
- auth, phone: call verifyPhoneNumber callbacks correctly (7c082be)
14.0.0 (2021-12-14)
- fix(firestore)!: fix Long/Double conversion issues #3004 (#5840) (910d4e4), closes #3004 #5840 #3004
- Previous versions of firestore here incorrectly saved integers as doubles on iOS, so they did not show up in
where
/in
queries. You had to save numbers as strings if you wantedwhere
/in
queries to work cross-platform. Number types will now be handled correctly. However, If you have integers saved (incorrectly!) as double (from previous versions) and you use where / in style queries on numbers, then the same document will no longer be found via .where. Mitigation could be to go through your whole DB and load and re-save the integers correctly, or alter queries. Please test your where / in queries that use number types if this affects you.
13.1.1 (2021-12-14)
- deps: AGP7.0.4, firebase-android-sdk 29.0.2, javascript deps (55d0a36)
- firestore, types: allow FieldValues, Date and Timestamp in doc set and update (#5901) (5f4eadf)
- messaging, ios: native.getInitialNotification can be undefined (#5926) (f0318d2)
13.1.0 (2021-12-02)
- android, emulator: add firebase.json config element to bypass localhost remap (#5852) (ddf3f5f)
- sdks: firebase-ios-sdk 8.10.0 / firebase-android-sdk 29.0.1 (f6949c9)
13.0.1 (2021-11-05)
- ios, sdks: bump firebase-ios-sdk to 8.9.1 (4871131)
13.0.0 (2021-10-31)
-
analytics: allow custom event parameters for screen_view events (#5811) (02e888e), closes #4594
-
dynamic-links, android: avoid double-consuming WritableMap (514e6bd), closes #5812
-
rename default branch to main (25e1d3d)
-
feat(sdks, android)!: firebase-android-sdk v29 / minSdkVersion API19 / target+compile API31 (#5825) (f60afe1), closes #5825
-
fix(analytics)!: add missing reserved event names (#5630) (2c1958e), closes #5630
- ios, sdks: bump firebase-ios-sdk to 8.9.0 (bb9ba50)
- firebase-android-sdk 29 requires android/build.gradle minSdkVersion 19 (as required in react-native 0.64+)
- some reserved words that were accepted before will throw exceptions now that the list is complete - do not use reserved words for analytics events
12.9.3 (2021-10-22)
12.9.2 (2021-10-17)
- app, expo: update iOS
AppDelegate
plugin to work with Expo SDK 43 (#5796) (d67c3b9) - release: use https for npm registry url (6fdca25)
12.9.1 (2021-10-10)
- app, sdks: bump firebase-android-sdk to 28.4.2 (e33c0ac)
12.9.0 (2021-10-03)
- ios, app: minimum cocoapods version is 1.10.2, not just 1.10.0 (914e447)
- sdk: bump firebase-ios-sdk to 8.8.0 (c56bdb3)
12.8.0 (2021-09-14)
- sdk: firebase-ios-sdk to 8.7.0 / firebase-android-sdk 28.4.1 (ee79ab3)
12.7.5 (2021-09-04)
- analytics: allow more than 25 event parameters (5dde564)
- app, ios: correct path to 'Info.plist' for ios build dependency (#5677) (ea6920c), closes #5152 #5153
- auth, android: linkWithCredential will not attempt to upgrade from anon user (matches iOS) (#5694) (7cd1716), closes #4487 #4552
12.7.4 (2021-08-31)
- app-distribution, ios: avoid crash when releaseNotes is nil (#5667) (41c0107)
- app-distribution, ios: correct downloadURL usage for JS serialization (#5668) (66d991c)
- dynamic-links, android: check for null currentIntent in getInitialLink to avoid crash (#5662) (415c200)
12.7.3 (2021-08-24)
- messaging, ios): revert "fix(messaging, ios: only call onMessage handler if message is data-only or undelivered" (#5641) (f2162b7)
12.7.2 (2021-08-21)
- app-check, ios: use RNFBAppCheck everywhere vs RNFBAppcheck (2545349)
- app-distribution, android: export methods so module loads (bc0ae4f)
12.7.1 (2021-08-20)
- app, android: react-native 0.65 compatibility (262452d)
12.7.0 (2021-08-19)
- app-check, android: include all referenced dependencies correctly (af336a3)
- app-check: getToken(false) fix, listener unsubscribe is a function (8b42e20)
- installations, types: fixup installations module types (781a303)
- onMessage to only trigger for data-only or undelivered messages (a31643b)
- app-distribution: Implement Firebase App Distribution module (8fa1263)
- app, config: implement setLogLevel API (cac7be3)
- app, ios: adopt firebase-ios-sdk 8.6.0 (22d79f1)
- firestore, emulator: implement easier useEmulator API (f039196)
- installations: implement Firebase Installations module (3ef3410)
12.6.1 (2021-08-17)
- crashlytics, config: handle new app_data_collection_default_enabled key (81aa17f)
12.6.0 (2021-08-16)
- app-check, ios: allow token auto refresh config in firebase.json (b9670c1)
- app, android: put app init provider / registrar in correct manifest (8408160)
- app, expo: node 12 compatibility with
fs.promises
in ios plugin (#5591) (97f9090) - in-app-messaging, config: implement in_app_messaging_auto_collection_enabled firebase.json setting (9d11ce9)
- messaging, ios: return after resolving to avoid useless work (491436f)
- sdks, android: firebase-android-sdk 28.3.1, google-services plugin 4.3.10 (4562cd8)
- analytics, config: expose all the native data collection toggles (f5eaffb)
- app, config: implement app_data_collection_default_enabled firebase.json key (1e47d45)
- dynamic-links: add support for utmParameters (#5593) (3002caf)
- perf, config: expose perf module deactivate toggle (4e25bf6)
12.5.0 (2021-08-12)
- app, expo: Use
fs/promises
in Node 12 compatible way (#5585) (64f569a) - database, android: remove System.err statement from useEmulator development (dc84872)
- expo: do not publish plugin tests and sources (#5565) (6b5dca5)
- app-check: implement AppCheck module (8cd4fa3)
- firestore: serverTimestampBehavior (#5556) (60fe72e)
- ios, sdks: bump firebase-ios-sdk to 8.5.0 (d4b2015)
12.4.0 (2021-07-29)
- sdks, android: use firebase-android-sdk 28.3.0, play-services-auth 19.2.0 (#5555) (edcd4e2)
- Add Expo config plugin (#5480) (832057c)
12.3.0 (2021-07-21)
- ios: bump firebase-ios-sdk dependency to 8.4.0 (7a75cb9)
12.2.0 (2021-07-16)
- database: call cancellation callback when using ref.on (#5371) (26b59db)
- messaging: Refactor code to avoid bugs (5039759)
- storage, ios: dont enumerate on dictionary being mutated (#5455) (daaa72d)
- firebase-ios-sdk 8.3.0 / firebase-android-sdk 28.2.1 (c73ea10)
- app, sdks: use firebase-ios-sdk 8.2.0 / firebase-android-sdk 28.2.0 (0d26af9)
- crashlytics: add helper methods for log and setCustomKey (06d515c)
12.1.0 (2021-06-11)
- app: bump SDKs: firebase-android-sdk 28.1.0 / firebase-ios-sdk 8.1.1 (d64e2e5)
12.0.0 (2021-05-19)
-
database: add database.useEmulator() (0632ca5)
-
sdks: firebase-ios-sdk 8.0.0 / firebase-android-sdk 28.0.1 (d97587b)
-
storage, emulator: implement storage emulator (1d3e946)
-
storage, md5hash: allow md5hash to be set on upload (be1bed8)
-
chore(storage, android)!: remove EXTERNAL_STORAGE permissions for Android 10/11 compat (69b6f88)
-
feat(firestore)!: add support for ignoreUndefinedProperties (756cfa6)
- android: correct lint issues for various API mis-use (eb8d893), closes #3917
- storage, android: correctly catch native exceptions for Promise.reject (e938824), closes #4097
- Storage: if you need READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE permission add them in your app AndroidManifest.xml
- Firestore: undefined values throw like firebase-js-sdk now. Use ignoreUndefinedProperties setting 'true' to behave as before
- AdMob: Removed from upstream SDKs. Stay on v11.5.0 for now if you need AdMob.
@invertase/react-native-admob
package planned with v11.5.0 code - ML: APIs removed from upstream SDKs. Migrate to cloud function / auth gateway to cloud APIs, as mentioned in links on ML usage document.
- Instance ID: APIs removed from upstream SDKs. Use Messaging's getToken() to get tokens, see upstream documentation to migrate if needed
- Messaging.getToken/deleteToken: scoped token APIs removed from upstream APIs. Remove scopes from API calls. deleteToken() should work on iOS now.
11.5.0 (2021-05-12)
- admob: mark BannerAd callbacks as optional (9a5a21f)
- app, json-schema: admob_delay_app_measurement_init type is boolean (#5297) (d931b48), closes #5295
- firestore: Incorrect error message for GeoPoint latitude out of range (f9909fa)
- ios: admob shows only non-personalized ads (#5262) (0b62d5a)
- messaging, android: avoid using rn61+ symbol (4637332), closes #5236
11.4.1 (2021-04-29)
Note: Version bump only for package react-native-firebase
11.4.0 (2021-04-29)
- analytics: added missing price parameter to the Item structure (#5232) (b972cb6)
- analytics: import using package name not relative path (#5229) (99f8d2c)
- app, android: correct TaskExecutor shutdown error (a7729a5), closes #5225
- database, update: allow empty objects in ref.update() (574f691), closes #5218
- messaging, android: repair crash handling remote notifications (6a30d4b) BREAKING WARNING - this accidentally requires minimum react-native 0.61
- analytics, appInstanceId: implement getAppIntanceId() method for GA4 use (#5210) (a51e97b)
- analytics, ATT: allow use of AnalyticsWithoutAdIdSupport pod (da6b811)
- app, android: support list of Activities to ignore when detecting AppState (#5235) (50a384f)
- app, firebase-ios-sdk: move to version 7.11.0 (f25d25d)
- messaging, android: repair crash handling remote notifications (6a30d4b) BREAKING WARNING - this accidentally requires minimum react-native 0.61 - we may issue a 11.4.x release that reverts but please be careful
11.3.3 (2021-04-24)
11.3.2 (2021-04-19)
- all, android: purge jcenter() from android build (2c6a6a8)
- messaging: Missing notification on restart (#5181) (ea6e138)
11.3.1 (2021-04-18)
- admob, android: force admob dependency to compatible v19 (19fe6df)
11.3.0 (2021-04-16)
- admob, ios: bump PersonalizedAdConsent to 1.0.5 (3df9164)
- android, utils: fix rare crash getting documents directory (#5118) (f0a2957)
- app, ios: formally note cocoapods v1.10+ requirement in podspec (3c90c59)
- app, ios-plist: make sure Info.plist exists before processing (245149c), closes #5152
- app, secondary: reject if initializeApp fails on iOS (d76eba3), closes #5134
- crashlytics, debug: Disable Crashlytics in debug mode by default (#5117) (eeeba2e)
- crashlytics, ios: register library with dynamic version string (90bceb2)
- crashlytics, ios: warn if debugger will break crashlytics (d6b6d23)
- database, types: harmonize database.on() w/firebase-js-sdk (6aea33f), closes #4550
- crashlytics: add configuration to exception handler chaining behavior (4c640ff)
- crashlytics: flag fatal errors for crashlytics and analytics (c94546d)
- ios, sdks: bump firebase-ios-sdk to 7.10.0 (d2838ff)
11.2.0 (2021-03-26)
- sdks: firebase-ios-sdk 7.9.0 / firebase-android-sdk 26.8.0 (324f8ff)
11.1.2 (2021-03-17)
- database, types: harmonize on/once/off types with firebase-js-sdk (fbc06ca), closes #5027
- listeners: port Emitter.once to analogous addListener/remove API (required for react-native 0.64) (5eb2f59)
11.1.1 (2021-03-16)
- app, firebase-ios-sdk: bump to firebase-ios-sdk v7.8.1 for analytics fix (8cd1d6e)
11.1.0 (2021-03-13)
- app, android: fixes possible crash on first launch (#4990) (06eebad), closes #4979
- app, types: initializeApp returns Promise (f3b955c)
- auth, ios: fix compile error in setTenantId code (311427e)
- auth, useUserAccessGroup: document auth/keychain-error, add test coverage (60ec5f9), closes #5007
- app, sdks: firebase-ios-sdk v7.8.0 / firebase-android-sdk v26.7.0 (d2b0074)
- auth, multi-tenant: add multi-tenant (tenantID) support (935dbc3)
- auth, multi-tenant: expose user.tenantId in javascript (4f6d426)
- crashlytics, native: add non-fatal exception logger for 3rd party native code use (#5015) (b3e6810)
11.0.0 (2021-03-03)
- app, ios: failing to resolve ios sdk from package.json is an error (29d797d)
- firestore, types: make all Settings properties optional (#4965) (f501fff)
- tests, ios: resolve firebase-ios-sdk from app package.json (680eb37)
- android, sdk: update firebase-android-sdk to 26.6.0 (5786641), closes /firebase.google.com/support/release-notes/android#bom_v26-6-0
- functions: support custom domains BREAKING requires firebase-ios-sdk 7.1.0+ / firebase-android-sdk 26.2.0+ (#4950) (381eae5)
- ios, sdk: bump firebase-ios-sdk to v7.7.0 (bc893ab)
- functions: minimum native SDK requirements now firebase-ios-sdk 7.1.0+ / firebase-android-sdk 26.2.0+
10.8.1 (2021-02-22)
- admob: AdEventHandler returns javascript (not native) unsubscribe function (#4920) (bff9dec)
- admob, android: unity ads require Activity Context (#4921) (23e5998)
10.8.0 (2021-02-13)
- dynamic-links, dependencies: analytics is optional (3e980d4), closes /github.com/invertase/react-native-firebase/pull/4850#issuecomment-776516887
- dynamic-links, ios: remove double-reject on resolveLink (395a723)
- app, android-sdk: 26.5.0 (requires gradle v5.6.4+ / android gradle plugin v3.4.2+) (1132f16)
- crashlytics: add JS exception non-fatal error generation toggle (#4904) (63c35b3)
10.7.0 (2021-02-09)
- ios, sdk: bump firebase-ios-sdk from 7.5.0 to 7.6.0 (2e283f7), closes /firebase.google.com/support/release-notes/ios#7
10.6.4 (2021-02-05)
- auth, android: add browser dependency as crash workaround (f0b4d07), closes #4744
- ml, android: remove unnecessary on-device dependencies (1451073), closes #4750
10.6.3 (2021-02-05)
Note: Version bump only for package react-native-firebase
10.6.2 (2021-02-05)
10.6.1 (2021-02-04)
Note: Version bump only for package react-native-firebase
10.6.0 (2021-02-04)
- dynamic-links: dynamic-links requires analytics, add peer dependency (5c84d46), closes #4821
- dynamic-links, android: getInitialLink returned more than once, sometimes returned null (#4735) (c68a62c)
- emulator: add notice on localhost URL remapping for android (73869e1), closes #4810
- in-app-messaging: in-app-messaging requires analytics, add peer dependency (ea80f54), closes #4821
- remote-config: remote-config requires analytics, add peer dependency (06c2a18), closes #4821
- admob, android: add adaptive banner support (#4840) (51edf96)
- app: firebase-ios-sdk 7.4.0 -> 7.5.0, firebase-android-sdk 26.3.0 -> 26.4.0 (9c4ada8)
- perf: support "perf_auto_collection_enabled" flag in firebase.json (#4870) (e54bf49)
10.5.1 (2021-01-19)
Note: Version bump only for package react-native-firebase
10.5.0 (2021-01-18)
10.4.1 (2021-01-08)
10.4.0 (2020-12-30)
10.3.1 (2020-12-18)
- storage, ios: resolve listAll promise once and only once on error (#4688) (762bf6f), closes /github.com/firebase/firebase-ios-sdk/blob/14764b8d60a6ad023d8fa5b7f81d42378d92e6fe/FirebaseStorage/Sources/FIRStorageReference.m#L417
10.3.0 (2020-12-18)
- admob, ios: null check interstitialAd on show (#4670) (c3b4cb0)
- dynamic-links, ios: resolveLink 404 error handling fix (575083d)
- ios, storage: handle nil file extension from ios14 M1 emulators (#4676) (e1eb992)
- app: bump firebase-android-sdk / firebase-ios-sdk versions (cd5a451)
10.2.0 (2020-12-11)
- docs: correct path to source code (#4659) (b535757)
- remote-config, ios: correct number comparison / fix fetch throttling (#4664) (5a68a8a)
10.1.1 (2020-12-02)
10.1.0 (2020-11-26)
- analytics: add missing quantity parameter to the Item structure (#4536) (f9935e7)
- app: convert NativeFirebaseError.getStackWithMessage to static to fix crash (#4619) (090b0bb)
- app, android: remove firebase-core from dependencies (#4597) (22c615c)
- messaging, badge: use new iOS JSON location for FCM badge information (#4560) (bda2d67)
- admob, ios: add adaptive banner support (#4565) (ce8ac1a)
- crashlytics: add custom message ability to javascript stack traces (#4609) (afaa95d)
- messaging, android: make native serializer object + events builder APIs public (#4618) (e54fecc)
10.0.0 (2020-11-17)
- analytics remove deprecated analytics methods (18f5b0f)
- breaking change to mark new internal versioning requirements.