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