All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
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.