npm package: @playwind/com.google.firebase.app
Description: Firebase App is the core library every Firebase package depends on.
Author: Google LLC
Latest version: 12.10.1

Firebase Unity SDK
==================

The Firebase Unity SDK provides Unity packages for the following Firebase
features on *iOS*, *tvOS* and *Android*.

Note: Firebase Dynamic Links is not supported on tvOS.

| Feature                             | Unity Package                     |
|:-----------------------------------:|:---------------------------------:|
| Firebase Analytics                  | FirebaseAnalytics.unitypackage    |
| Firebase App Check                  | FirebaseAppCheck.unitypackage     |
| Firebase Authentication             | FirebaseAuth.unitypackage         |
| Firebase Crashlytics                | FirebaseCrashlytics.unitypackage  |
| Firebase Dynamic Links (deprecated) | FirebaseDynamicLinks.unitypackage |
| Cloud Firestore                     | FirebaseFirestore.unitypackage    |
| Firebase Functions                  | FirebaseFunctions.unitypackage    |
| Firebase Installations              | FirebaseInstallations.unitypackage|
| Firebase Messaging                  | FirebaseMessaging.unitypackage    |
| Firebase Realtime Database          | FirebaseDatabase.unitypackage     |
| Firebase Remote Config              | FirebaseRemoteConfig.unitypackage |
| Firebase Storage                    | FirebaseStorage.unitypackage      |

The SDK provides .NET 4.x compatible packages

## Desktop Workflow Implementations

The Firebase Unity SDK includes desktop workflow support for the following
Firebase features, enabling their use in the Unity editor and in standalone
desktop builds on Windows, OS X, and Linux:

| Feature                            | Unity Package                     |
|:----------------------------------:|:---------------------------------:|
| Firebase Authentication            | FirebaseAuth.unitypackage         |
| Firebase App Check                 | FirebaseAppCheck.unitypackage     |
| Firebase Realtime Database*        | FirebaseDatabase.unitypackage     |
| Cloud Firestore                    | FirebaseFirestore.unitypackage    |
| Firebase Functions                 | FirebaseFunctions.unitypackage    |
| Firebase Remote Config             | FirebaseRemoteConfig.unitypackage |
| Firebase Storage                   | FirebaseStorage.unitypackage      |

(* See Known Issues in the Release Notes below.)

This is a Beta feature, and is intended for workflow use only during the
development of your app, not for publicly shipping code.

## Stub Implementations

Stub (non-functional) implementations of the remaining libraries are provided
for convenience when building for Windows, OS X, and Linux, so that you don't
need to conditionally compile code when also targeting the desktop.

## AdMob

The AdMob Unity plugin is distributed separately and is available from the
[AdMob Get Started](https://firebase.google.com/docs/admob/unity/start) guide.

## Platform Notes

### iOS Method Swizzling

On iOS, some application events (such as opening URLs and receiving
notifications) require your application delegate to implement specific methods.
For example, receiving a notification may require your application delegate to
implement `application:didReceiveRemoteNotification:`. Because each iOS
application has its own app delegate, Firebase uses _method swizzling_, which
allows the replacement of one method with another, to attach its own handlers in
addition to any you may have implemented.

The Firebase Cloud Messaging library needs to attach
handlers to the application delegate using method swizzling. If you are using
these libraries, at load time, Firebase will typically identify your `AppDelegate`
class and swizzle the required methods onto it.

#### Specifying Your AppDelegate Class Directly (iOS)

For a more direct approach, or if you encounter issues with the default
method swizzling, you can explicitly tell Firebase which class is your
application's `AppDelegate`. To do this, add the `FirebaseAppDelegateClassName`
key to your app's `Info.plist` file:

*   **Key:** `FirebaseAppDelegateClassName`
*   **Type:** `String`
*   **Value:** Your AppDelegate's class name (e.g., `MyCustomAppDelegate`)

**Example `Info.plist` entry:**
```xml
<key>FirebaseAppDelegateClassName</key>
<string>MyCustomAppDelegate</string>
```

If this key is provided with a valid class name, Firebase will use that class
directly for its AppDelegate-related interactions. If the key is not present,
is invalid, or the class is not found, Firebase will use its standard method
swizzling approach.

Setup
-----

You need to follow the
[SDK setup instructions](https://firebase.google.com/docs/unity/setup).
Each Firebase package requires configuration in the
[Firebase Console](https://firebase.google.com/console).  If you fail to
configure your project your app's initialization will fail.

Support
-------

[Firebase Support](http://firebase.google.com/support/)

Release Notes
-------------
### 12.10.1
-   Changes
    - General (iOS): Change AppDelegate swizzling logic to not use `objc_copyClassList`,
      which was causing a slow startup, and crashes on iOS 15.
      ([#1268](https://github.com/firebase/firebase-unity-sdk/issues/1268)).
    - General (iOS): Added an option to explicitly specify your app's `AppDelegate` class
      name via the `FirebaseAppDelegateClassName` key in `Info.plist`. This
      provides a more direct way for Firebase to interact with your specified
      AppDelegate. See "Platform Notes > iOS Method Swizzling >
      Specifying Your AppDelegate Class Directly (iOS)" for details.

### 12.10.0
-   Changes
    - General: Update to Firebase C++ SDK version 12.8.0.
    - General (iOS): Update to Firebase Cocoapods version 11.14.0.
    - General (iOS, tvOS, Desktop): iOS, tvOS, and macOS SDKs are now built using Xcode 16.2.
    - General (Android): Fix a crash with 16 KB page sizes.
      ([#1259](https://github.com/firebase/firebase-unity-sdk/issues/1259)).
    - Messaging (Android): Fix issue with `SubscribeAsync` task not completing when
      a cached token is available.
      ([#1245](https://github.com/firebase/firebase-unity-sdk/issues/1245)).
    - Messaging (Android): Fix issue with missing theme causing a crash on Unity 6.
      ([#1229](https://github.com/firebase/firebase-unity-sdk/issues/1229))

### 12.9.0
-   Changes
    - General: Update to EDM4U version 1.2.186.
    - General: Fixed issue of Firebase Editor on Windows requiring iOS.
    - Firebase AI: Initial release of Firebase AI Logic, with support
      for Android, iOS, and desktop platforms.
      For more info, see https://firebase.google.com/docs/vertex-ai

### 12.8.0
-   Changes
    - General: Update to Firebase C++ SDK version 12.7.0.
    - General (iOS): Update to Firebase Cocoapods version 11.10.0.
    - General (Android): Update to Firebase Android BoM version 33.11.0.

### 12.7.0
- Changes
    - General (iOS): Update to Firebase Cocoapods version 11.9.0.
    - General (Android): Update to Firebase Android BoM version 33.10.0.
    - Crashlytics: Fix a problem with on-demand fatals blocking audio playback.

### 12.6.0
- Changes
    - General: Update to Firebase C++ SDK version 12.6.0.
    - General (iOS): Update to Firebase Cocoapods version 11.8.1.
    - General (Android): Update to Firebase Android BoM version 33.9.0.
    - General: Update to EDM4U version 1.2.185.
    - General (Android): Support 16 KB page sizes, needed by Android 15.
      For more info, see https://developer.android.com/guide/practices/page-sizes

### 12.5.0
- Changes
    - General: Update to Firebase C++ SDK version 12.5.0.
    - General (iOS): Update to Firebase Cocoapods version 11.6.0.
    - General (Android): Update to Firebase Android BoM version 33.7.0.

### 12.4.1
- Changes
    - General: Remove unresolved SWIG string symbols.
      ([#1139](https://github.com/firebase/firebase-unity-sdk/issues/1139)).

### 12.4.0
- Changes
    - General: Update to Firebase C++ SDK version 12.4.0.
    - General (iOS): Update to Firebase Cocoapods version 11.4.2.
    - General (Android): Update to Firebase Android BoM version 33.5.1.
    - General (Android): Reduced minSdkVersion back to 23.
    - Analytics: Add support for Parameters of Lists of Dictionaries, needed
      by some events such as ViewCart.
      ([#1056](https://github.com/firebase/firebase-unity-sdk/issues/1056)).
    - Analytics: Renamed ParameterGroupId to ParameterGroupID, to be
      consistent with other similarly named variables. ParameterGroupId
      is considered deprecated, and will be removed in the future.
    - Analytics: Deprecated the Dispose functions, as they are no longer
      necessary for cleaning up memory.
    - Auth (Android): Setting PhotoUrl to empty string or null with
      UpdateUserProfile clears the field, making it consistent with the
      other platforms.
      ([#1112](https://github.com/firebase/firebase-unity-sdk/issues/1112)).

### 12.3.0
- Changes
    - General: Update to Firebase C++ SDK version 12.3.0.
    - General (Android): Update to Firebase Android BoM version 33.3.0.
    - General (Android): Updated the minSdkVersion to 24.
    - General (iOS): Update to Firebase Cocoapods version 11.2.0.
    - General: Update to EDM4U version 1.2.183.
    - Messaging (Android): Fixed issue with TokenReceived not being called
      when the application has a cached token from a previous run.
      https://github.com/firebase/quickstart-unity/issues/1088.
    - Remote Config: Fixed ConfigInfo fields to default to 0 when
      not throttled or having previous fetch data.
      ([#1058](https://github.com/firebase/firebase-unity-sdk/issues/1058)).

### 12.2.1
- Changes
    - Messaging: Fixed a crash when opening a push notification.
      ([#1091](https://github.com/firebase/firebase-unity-sdk/issues/1091)).

### 12.2.0
- Changes
    - General: Update to Firebase C++ SDK version 12.2.0.
    - General (Android): Update to Firebase Android BoM version 33.1.2.
    - General (iOS): Update to Firebase Cocoapods version 11.0.0.
    - General: Update to EDM4U version 1.2.182.
    - Messaging: Deprecated the Dispose functions, as they are no longer
      necessary for cleaning up memory.

### 12.1.0
- Changes
    - General: Update to Firebase C++ SDK version 12.1.0.
    - General (Android): Update to Firebase Android BoM version 33.1.1.
    - General (iOS): Update to Firebase Cocoapods version 10.28.1.
    - General: Update to EDM4U version 1.2.181.
    - Analytics (iOS): Add support for
      `InitiateOnDeviceConversionMeasurementWithHashedEmailAddress` and
      `InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber`.
    - Messaging (Android): Fixed a potential race condition on receiving
      messages after cleanup.
      ([#1030](https://github.com/firebase/firebase-unity-sdk/issues/1030)).
    - Messaging (iOS): Fixed an issue with notifications being lost if they
      were received before Firebase Messaging was initialized.
      ([#377](https://github.com/firebase/firebase-unity-sdk/issues/377)).

### 12.0.0
- Changes
    - General: Update to Firebase C++ SDK version 12.0.0.
    - General (Android): Update to Firebase Android BoM version 33.0.0.
    - General (Android): Updated minSdkVersion to 23, and targetSdkVersion
      and compileSdkVersion to 34.
    - General (iOS): Update to Firebase Cocoapods version 10.25.0.
    - General (iOS): Minimum iOS deployment target is now 13.0.
    - General: Minimum supported editor version is now Unity 2020.
    - Auth: Remove deprecated calls involving `SignInResult`, most of
      which were appended with `_DEPRECATED`.
    - Remote Config: Remove deprecated `ConfigSettings.MinimumFetchInternalInMilliseconds`,
      use `ConfigSettings.MinimumFetchIntervalInMilliseconds` instead.

### 11.9.0
- Changes
    - General: Update to Firebase C++ SDK version 11.10.0.
    - General (Android): Update to Firebase Android BoM version 32.8.1.
    - General (iOS): Update to Firebase Cocoapods version 10.24.0.
    - App Check: Fix potential crash when fetching a token.
      ([#877](https://github.com/firebase/firebase-unity-sdk/issues/877)).
    - Storage (Desktop): Removed 5-minute timeout for uploads and downloads.
      ([#968](https://github.com/firebase/firebase-unity-sdk/issues/968)).

### 11.8.1
- Changes
    - Firestore (iOS): Fix undefined absl symbols error.
      ([#974](https://github.com/firebase/firebase-unity-sdk/issues/974))

### 11.8.0
- Changes
    - General: Update to Firebase C++ SDK version 11.9.0.
    - General (Android): Update to Firebase Android BoM version 32.7.4.
    - General (iOS): Update to Firebase Cocoapods version 10.22.0.
    - General (Android): Improve how property tag logic handles Unity 2022+.
    - Auth: Add FirebaseUser.SendEmailVerificationBeforeUpdatingEmailAsync,
      a new method to verify and change the User's email.
    - Auth: Deprecate the older method of updating emails, UpdateEmail.
    - Dynamic Links: The Dynamic Links SDK is now deprecated. See the [support
      documentation](https://firebase.google.com/support/dynamic-links-faq)
      for more information.

### 11.7.0
- Changes
    - General: Update to Firebase C++ SDK version 11.8.0.
    - General (Android): Update to Firebase Android BoM version 32.7.1.
    - General (iOS): Update to Firebase Cocoapods version 10.20.0.
    - Analytics: Updated the consent management API to include new consent
      signals.
    - Auth: Fix a bug where an anonymous account can't be linked with
      email password credential. For background, see [Email Enumeration
      Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)

### 11.6.0
- Changes
    - General: Update to Firebase C++ SDK version 11.6.0.
    - General (iOS): Update to Firebase Cocoapods version 10.16.0.
    - App Check: Fixed a crash when there are errors creating a provider.
      ([#877](https://github.com/firebase/firebase-unity-sdk/issues/877))

### 11.5.0
- Changes
    - General: Update to Firebase C++ SDK version 11.5.0.
    - General (Android): Update to Firebase Android BoM version 32.3.1.
    - General (iOS): Update to Firebase Cocoapods version 10.15.0.
    - General (Android): Made dynamic code files read only to comply with new
      Android 14 security requirements. This fixes a crash at API level 34+.
    - Analytics (iOS): Added InitiateOnDeviceConversionMeasurementWithPhoneNumber
      function to facilitate the [on-device conversion
      measurement](https://support.google.com/google-ads/answer/12119136) API.

### 11.4.0
- Changes
    - General: Update to Firebase C++ SDK version 11.4.0.
    - General (Android): Update to Firebase Android BoM version 32.2.2.
    - General (iOS): Update to Firebase Cocoapods version 10.13.0.
    - General (iOS): 32-bit iOS builds (i386 and armv7) are no longer supported.
    - Auth: Fixed a potential crash with holding onto FirebaseUser objects
      after the AuthResult has been disposed.

### 11.3.0
- Changes
    - General: Update to Firebase C++ SDK version 11.3.0.
    - General (Android): Update to Firebase Android BoM version 32.2.0.
    - General (iOS): Update to Firebase Cocoapods version 10.12.0.
    - General (Desktop): Fixed an error loading google-services.json and
      google-services-desktop.json from paths with international characters on
      Windows.
    - Auth (Android): Fixed an issue where VerifyPhoneNumber's internal builder
      failed to create PhoneAuthOptions with certain compiler settings.
    - Auth (iOS): Fixed an issue where functions that return AuthResult were not
      including updated credentials when encountering errors.
    - Firestore (Android) Fix the intermittent global references exhaustion
      crash when working with documents with a large number of keys and/or large
      map and/or array fields.
      ([#569](https://github.com/firebase/firebase-unity-sdk/issues/569)).
    - Remote Config (Desktop): Additional fix for handling of non-English time
      zone names on Windows.

### 11.2.0
- Changes
    - General: Update to Firebase C++ SDK version 11.2.0.
    - General (Android): Update Firebase Android BoM dependencies to v32.1.1.
    - General (iOS): Update Firebase Cocoapods dependencies to v10.11.0.
    - Remote Config (Desktop): Fixed numeric conversion when the system
      language's number format uses commas as decimal points.
    - Remote Config (Desktop): Fixed handling of time zones on Windows when the
      time zone name in the current system language contains an accented
      character or apostrophe.

### 11.1.0
- Changes
    - General: Update to Firebase C++ SDK version 11.1.0.
    - General (Android): Update Firebase Android BoM dependencies to v32.1.0.
    - General (iOS): Update Firebase Cocoapods dependencies to v10.10.0.
    - General (Android): Fix for deadlock within JniResultCallback, commonly seen
      within Messaging, but affecting other products as well.
    - General: Fix an [issue](https://github.com/firebase/firebase-unity-sdk/issues/726)
      where AppCheck bundles were unintentionally included in App in the tgz.
    - Auth: Fix a [crash](https://github.com/firebase/firebase-unity-sdk/issues/733)
      that could occur when referencing CurrentUser.
    - Auth: Remove internal methods.
    - Database/Firestore (Desktop): Fixed a crash on Windows when the user's home
      directory contains non-ANSI characters (Unicode above U+00FF).
    - Storage (Desktop): Fixed a crash on Windows when uploading files from a path
      containing non-ANSI characters (Unicode above U+00FF).
    - Firestore: Add multi-database support. ([#738](https://github.com/firebase/firebase-unity-sdk/pull/738)).

### 11.0.0
- Changes
    - App Check: Adds support for Firebase App Check on Android, iOS, tvOS,
      and desktop platforms. To learn more, see
      https://firebase.google.com/docs/app-check
    - Messaging: Remove deprecated calls `Send`, `Subscribe`, and `Unsubscribe`.
    - Remote Config (Android/iOS): Added support for real-time config updates. Use the new
      `OnConfigUpdateListener` API to get real-time updates. Existing
      `FetchAsync` and `ActivateAsync` APIs aren't affected by this change.
      To learn more, see
      [Get started with Firebase Remote Config](https://firebase.google.com/docs/remote-config/get-started?platform=unity#add-real-time-listener).
    - Auth: Deprecated a number of methods, appending `_DEPRECATED` to some of
      their names. This is a breaking change; you must either modify your code
      to refer to the `_DEPRECATED` methods, or switch to the new methods, which
      have new return types `AuthResult` (rather than `SignInResult`). The
      deprecated methods will be removed in the *next* major release of the
      Firebase Unity SDK. *(Note: do not mix and match using the old
      and new methods or undefined behavior may result.)*
    - Firestore: Added `Query.Count()`, which fetches the number of documents in
      the result set without actually downloading the documents
      ([#659](https://github.com/firebase/firebase-unity-sdk/pull/659)).

### 10.7.0
- Changes
    - General: Update to Firebase C++ SDK version 10.7.0.
    - General (Android): Update Firebase Android BoM dependencies to v31.3.0.
    - General (iOS): Update Firebase Cocoapods dependencies to v10.7.0.
    - Messaging (Android): Generate the custom MessagingUnityPlayerActivity
      as a Java file instead of precompiling it. This is to better support
      changes with the UnityPlayerActivity, and GameActivity options, in
      the Unity 2023 editor.

### 10.6.0
- Changes
    - General (Android): Update to Firebase Android BoM version 31.2.3.
    - General (iOS): Update to Firebase Cocoapods version 10.6.0.

### 10.5.0
- Changes
    - General (Android): Update to Firebase Android BoM version 31.2.1.
    - General (iOS): Update to Firebase Cocoapods version 10.5.0.

### 10.4.0
- Changes
    - General (Android): Update to Firebase Android BoM version 31.2.0.
    - General (iOS): Update to Firebase Cocoapods version 10.4.0.
    - Firebase introduces Unity SDK support for tvOS, for Analytics,
      Authentication, Crashlytics, Database, Firestore, Cloud Functions,
      Installations, Messaging, Remote Config and Storage.
    - Analytics: Added `SetConsent()` and `GetSessionIdAsync()` APIs.
    - Crashlytics: Added `ReportUncaughtExceptionsAsFatal` property and `LogExceptionAsFatal` API.

### 10.3.0
- Changes
    - General (Android): Update to Firebase Android BoM version 31.1.1.
    - General (iOS): Update to Firebase Cocoapods version 10.3.0.
    - Remote Config: Added `ConfigSettings.MinimumFetchIntervalInMilliseconds`,
      which should be used instead of `MinimumFetchInternalInMilliseconds`. The
      old one is considered deprecated, and will be removed with the next major release.

### 10.2.0
- Changes
    - General (Android): Update to Firebase Android BoM version 31.1.0.
    - General (iOS): Update to Firebase Cocoapods version 10.2.0.

### 10.1.1
- Changes
    - General (Android): Update to Firebase Android BoM version 31.0.3.
    - Crashlytics (Android): Fixed an [issue](https://github.com/firebase/firebase-android-sdk/issues/4313)
      preventing native crashes from being reported for Android API 29+.

### 10.1.0
- Changes
    - General: Update to Firebase C++ SDK version 10.1.0.
    - General (Android): Update to Firebase Android BoM version 31.0.2.
    - General (iOS): Update to Firebase Cocoapods version 10.1.0.
    - Crashlytics (Android): Fixed an [issue](https://github.com/firebase/quickstart-unity/issues/1116)
      with symbols being stripped when using the tgz package.
    - Firestore (Android): Reduce the number of JNI global references consumed
      when creating or updating documents
      ([#1111](https://github.com/firebase/firebase-cpp-sdk/pull/1111)).

### 10.0.1
- Changes
    - Crashlytics (Android): Fixed a critical [issue](https://github.com/firebase/firebase-android-sdk/issues/4223)
      that was causing background crashes in specific cases.

### 10.0.0
- Changes
    - General: Updated Firebase C++ SDK dependencies to v10.0.0.
    - General (Android): Update Firebase Android BoM dependencies to v31.0.0.
    - General (iOS): Update Firebase Cocoapods dependencies to v10.0.0.
    - General: Minimum supported editor version is now Unity 2019.
    - General: Removed dependency on Parse Tasks.
    - Auth (Android/iOS): Deprecate `PhoneAuthProvider.MaxTimeoutMs`. The actual
      range is determined by the underlying SDK, ex. [PhoneAuthOptions.Builder in Android SDK](https://firebase.google.com/docs/reference/android/com/google/firebase/auth/PhoneAuthOptions.Builder).
    - Remote Config: Improve performance when setting default parameters
      with long strings.

### 9.6.0
- Changes
    - General: Updated Firebase C++ SDK dependencies to v9.6.0.
    - General (Android): Update Firebase Android BoM dependencies to v30.5.0.
    - General (iOS): Update Firebase Cocoapods dependencies to v9.6.0.

### 9.5.0
- Changes
    - General: Updated Firebase C++ SDK dependencies to v9.5.0.
    - Crashlytics: Fix #218 that Firebase editor tool not loading when iOS
      build support is not installed.

### 9.4.0
- Changes
    - General: Updated Firebase C++ SDK dependencies to v9.4.0.

### 9.3.0
- Changes
    - General (Android, Linux): Fixed a concurrency bug where waiting for an
      event with a timeout could occasionally return prematurely, as if the
      timeout had occurred
      ([#1021](https://github.com/firebase/firebase-cpp-sdk/pull/1021)).

### 9.2.0
- Changes
    - Crashlytics: Fix requiring user code to reference Crashlytics when using il2cpp.
    - Firestore: Added `TransactionOptions` to control how many times a
      transaction will retry commits before failing
      ([#318](https://github.com/firebase/firebase-unity-sdk/pull/318)).
    - Database (Desktop): If the app data directory doesn't exist, create it.
      This fixes an issue with disk persistence on Linux.
    - Messaging (Android): Make sure all the resources are closed in
      `RegistrationIntentService`.
      ([#973](https://github.com/firebase/firebase-cpp-sdk/issues/973)).

### 9.1.0
- Changes
    - General: Added a missing namespace to the Google.MiniJson.dll.
    - General (iOS): Fix an issue with bitcode not being enabled correctly.
    - Functions: Add a new method `GetHttpsCallableFromURL`, to create callables
      with URLs other than cloudfunctions.net.
    - Analytics (iOS): Added InitiateOnDeviceConversionMeasurementWithEmail function to facilitate the
      [on-device conversion measurement](https://support.google.com/google-ads/answer/12119136) API.

### 9.0.0
- Changes
    - General: Minimum supported editor version is now Unity 2018.
    - General (Editor, macOS): Add support for Apple Silicon chips.
    - General (iOS): Firebase Unity on iOS is now built using Xcode 13.3.1.
    - General (iOS): Fixed crash when running on iPhoneOS 12 and older.
    - Analytics: Removed deprecated event names and parameters.
    - Crashlytics (Android): Fixed a bug with missing symbols when enabling
      minification via proguard.
    - Messaging (Android): Fixed a bug with duplicate symbols when also
      using Functions.
    - Realtime Database (Desktop): Fixed a bug handling server timestamps
      on 32-bit CPUs.
    - Storage (Desktop): Set Content-Type HTTP header when uploading with
      custom metadata.

### 8.10.1
- Changes
    - General (Android): Fix an issue when building with mainTemplate.gradle.

### 8.10.0
- Changes
    - General (Editor, macOS): Fix an issue when finding "python" executable.
    - General : Firebase Unity SDK starts to build using Unity 2019,
      and releases from git repo.

### 8.9.0
- Changes
    - General (Editor, macOS): Support non-default "python" executable names,
      common in newer macOS versions.
    - General (iOS): Fixed additional issues on iOS 15 caused by early
      initialization of Firebase iOS SDK.
    - Remote Config: Fixed default FetchAsync() timeout being too high.
    - Storage (Desktop): Added retry logic to PutFileAsync, GetFileAsync, and
      other operations.

### 8.8.1
- Changes
    - General (iOS): Fixed additional issues on iOS 15 caused by early
      initialization of Firebase iOS SDK.

### 8.8.0
- Changes
    - General (iOS): Another possible fix for an intermittent crash on iOS 15
      caused by constructing C++ objects during Objective-C's `+load` method.
    - Storage: Added a method to access the url of a storage instance.
    - Crashlytics (Android): Updated internal Crashpad version to commit
      `281ba7`. With this change, disabling tagged pointers is no longer
      required, so the following can be removed from your manifest's
      application tag: `android:allowNativeHeapPointerTagging=false`.
    - Crashlytics (Android): Improved runtime efficiency of the
      [`SetCustomKey` functions](/docs/crashlytics/customize-crash-reports?platform=unity#add-keys),
      significantly reducing the number objects created and disk writes when
      keys are updated frequently.
    - Remote Config: Fixed an issue where the TimeSpan field of FetchDataAsync
      was being used incorrectly.

### 8.7.0:
- Changes
    - General (iOS): Fixed an intermittent crash on iOS 15 caused by
      constructing C++ objects during Objective-C's `+load` method.
      ([#706](https://github.com/firebase/firebase-cpp-sdk/pull/706))
      ([#783](https://github.com/firebase/firebase-cpp-sdk/pull/783))
    - Crashlytics (Android): Fixed a bug that prevented some Crashlytics session
      files from being removed after the session ended. All session-specific
      files are now properly cleaned up.
      ([#737](https://github.com/firebase/firebase-cpp-sdk/issues/737))

### 8.6.2:
-   Changes
    - Messaging (Android): Clean up callbacks on termination, to possibly fix
      ANR issues in CheckAndFixDependenciesAsync
      ([#1160](https://github.com/firebase/quickstart-unity/issues/1160)).

### 8.6.1:
-   Changes
    - Crashlytics (Android): Updated the pinned dependency to fix a missing
      method error
      ([#1177](https://github.com/firebase/quickstart-unity/issues/1177)).

### 8.6.0:
-   Changes
    - General (Android): Minimum SDK version is now 19.
    - General: Variant double type now supports 64-bit while saving to json.
      ([#1133](https://github.com/firebase/quickstart-unity/issues/1133)).
    - Firestore: Released to general availability for Android and iOS (desktop
      support remains in beta).
    - Firestore (iOS): Fixed intermittent crashes and empty results when
      retrieving the contents of a document.
      ([#1171](https://github.com/firebase/quickstart-unity/issues/1171)).
    - Firestore (iOS): Fixed intermittent "start after" query filters failing
      to have any effects on the queries.
    - Firestore (iOS): Fixed intermittent cases where specifying
      ServerTimestampBehavior.Previous would return empty values instead of the
      previous values.
    - Crashlytics: Improved crash reporting for Unity Android apps using the
      IL2CPP scripting backend. To display symbolicated IL2CPP stack traces in
      the Crashlytics console, Android customers will need to upload symbol
      files for their builds. See the [Getting Started with Crashlytics Unity]
      (https://firebase.google.com/docs/crashlytics/get-started?platform=unity)
      Guide for more details.
    - Messaging (Android): Fixed crash resulting in ANR on termination.
      ([#1151](https://github.com/firebase/quickstart-unity/issues/1151)).

### 8.5.0:
-   Changes
    - General (iOS): iOS SDKs are now built using Xcode 13.0.0.
    - Firestore: Fixed an issue where the `Equals()` and `GetHashCode()` methods
      of `DocumentSnapshot` would sometimes be inconsistent
      ([#8647](https://github.com/firebase/firebase-ios-sdk/pull/8647)).

### 8.4.0:
-   Changes
    - General: Added support for Android x86 64.
    - Firestore: Improved the efficiency of progress callbacks in
      `LoadBundleAsync()`.
    - Firestore: Fixed crashes in Unity Editor on Linux caused by C++ exceptions
      failing to be converted to C# exceptions.
    - Firestore: Fixed intermittent hangs on Android when exceptions are thrown
      by callbacks.
    - Firestore: Fixed a crash on Android when `DocumentReference.Set()` was
      invoked with an invalid `documentData` value (e.g. an int).
    - Firestore: Fixed race conditions in the instance caching, terminate, and
      disposal logic of `FirebaseFirestore`.

### 8.3.0:
-   Changes
    - Firestore: Simplified the API for modifying the settings of a
      `FirebaseFirestore` instance. This is a backwards-incompatible change and
      requires updates to code that sets `FirebaseFirestore.Settings`.
    - Firestore: Changed an argument to `Query.WhereNotIn()` from `List` to
      `IEnumerable`, to be consistent with `Query.WhereIn()`.
    - Messaging (Android): Fixes an issue with receiving tokens when
      initializing the app.

### 8.2.0:
-   Changes
    - Firestore: Removed `Equals` and `GetHashCode` methods from `Query`,
      `QuerySnapshot`, and `DocumentSnapshot` classes. These methods were
      unimplemented, and we plan to add proper support for them in a future
      release.
    - Crashlytics: Upload UnityFramework symbols in addition to the main app
      dSYM file to improve symbolication
      ([#673](https://github.com/firebase/quickstart-unity/issues/673)).
    - Messaging: Fixed a duplicate class error when building an application
      which also uses Firebase Functions.

### 8.1.0:
-   Changes
    - Database: Fixed a crash around using DataSnapshots within Coroutines
      ([#635](https://github.com/firebase/quickstart-unity/issues/635)).
    - Firestore: Implemented `IDisposable` for `ListenerRegistration`
      ([#746](https://github.com/firebase/quickstart-unity/issues/746)).
    - Firestore: Added `null` and empty string argument checks to all
      public methods, which now throw exceptions instead of crashing
      ([#1053](https://github.com/firebase/quickstart-unity/issues/1053)).
    - Firestore: Fixed Android crash due to missing QueryEventListener class
      ([#1080](https://github.com/firebase/quickstart-unity/issues/1080)).
    - Firestore: Added support for Firestore Bundles via
      `FirebaseFirestore.LoadBundleAsync()` and
      `FirebaseFirestore.GetNamedQueryAsync()`. Bundles contain pre-packaged
      data produced with the Firestore Server SDKs and can be used to populate
      Firestore's cache without reading documents from the backend.

### 8.0.0:
-   Breaking Changes
    - Instance Id: Removed support for the previously-deprecated Instance ID
      SDK.
    - Remote Config: The previously-deprecated class
      `FirebaseRemoteConfigDeprecated` and the property
      `ConfigSettings.IsDeveloperMode` have been removed.
-   Changes
    - Firestore: Internal assertions will now trigger C# exceptions (possible
      exception types are `ArgumentException`, `InvalidOperationException` and
      `FirestoreException` with `ErrorCode` set to `Internal`). These exceptions
      are not meant to be caught -- rather, they are to help with debugging and
      to avoid crashing the Unity editor instance.
      *Important*: on iOS, you would need to change two settings on the exported
      XCode project for this feature to work properly. Open `Build Settings` and
      make sure that `Enable C++ Exceptions` and `Enable C++ Runtime Types`
      settings are set to `Yes` for _all_ of the following: the `Unity-iPhone`
      scheme, the `UnityFramework` scheme (for Unity versions 2019.3 and above)
      _and_ the `Unity-iPhone` project. If you're doing incremental iOS builds
      (i.e., if you use `Append` instead of `Replace` when doing the build),
      these settings will persist between rebuilds, so you would only have to do
      this once per project.
    - Firestore: Fix `RunTransactionAsync()` to roll back the transaction if
      the task returned from the given callback faults
      ([#1042](https://github.com/firebase/quickstart-unity/issues/1042)).

### 7.2.0:
-   Changes
    - Database: Fixed a potential crash that can occur as a result of a race
      condition when adding, removing and deleting `ValueListener`s or
      `ChildListener`s rapidly.
    - Database: Fixed a crash when setting large values on Windows and Mac
      systems ([#517](https://github.com/firebase/quickstart-unity/issues/517)].
    - FCM (Android): Fixed triggering of callback handlers for background
      notifications. Using `enqueueWork` instead of `startService`.
    - Crashlytics: Added new Unity-specific metadata to help diagnose tricky
      crashes around specific hardware setups.


### 7.1.0:
-   Breaking Changes
    - Remote Config: Changed `FirebaseRemoteConfig` to be an instanced class,
      with new APIs to better manage fetching config data. The old static
      methods are now deprecated, and can be accessed in the new class
      `FirebaseRemoteConfigDeprecated`.
    - Remote Config: `ConfigSettings.IsDeveloperMode` is now obsolete and does
      nothing. `ConfigSettings.MinimumFetchInternalInMilliseconds` should be
      adjusted instead.
-   Changes
    - General: Add GoogleServices-Info.plist to `Unity-iPhone` target in
      Unity 2019.3+.
    - Firestore: Fixed partial updates in `UpdateAsync()` with
      `FieldValue.Delete`
      ([#882](https://github.com/firebase/quickstart-unity/issues/882)).
    - Firestore: Fixed `DocumentSnapshot.ToDictionary()` on non-existent
      documents when running on Android
      ([#887](https://github.com/firebase/quickstart-unity/issues/887)).
    - Firestore: Fixed crash setting FirebaseFirestore.LogLevel on Android
      before any instances have been created
      ([#888](https://github.com/firebase/quickstart-unity/issues/888)).
    - Auth: Fixed a flaky crash when accessing the result from the task returned
      by `FetchProvidersForEmailAsync`.
    - Auth: You can now specify a language for emails and text messages sent
      from your apps using UseAppLanguage() or setting the
      FirebaseAuth.LanguageCode property.
    - Messaging (Android): Using `enqueueWork` instead of `startService`.
      Fixes bug where we lost messages with data payloads received when app
      is in background.
      ([#877](https://github.com/firebase/quickstart-unity/issues/877)
    - Remote Config: Fixed numeric value conversion `ConfigValue.DoubleValue`
      and `ConfigValue.LongValue` to be locale independent.
    - Installations: Fixed pod version to 7.5.0.

### 7.0.1:
-   Changes
    - Remote Config (Android): Fixed the crash bug introduced in 7.0.0.

### 7.0.0:
-   Changes
    - General (iOS): iOS SDKs are now built using Xcode 11.7.
    - App (Editor): Remove deprecated service account APIs.
    - App: Remove `FirebaseApp.CheckDependencies()` API.
    - Analytics: Remove deprecated SetMinimumSessionDuration call.
    - Installations: Added Installations SDK. See [Documentations](http://firebase.google.com/docs/reference/unity/namespace/firebase/installations) for
      details.
    - Instance Id: Marked Instance Id as deprecated.
    - Messaging: Added getToken, deleteToken apis.
    - Messaging: Removed deprecated Send() function.
    - Storage: Remove deprecated `DownloadUrl` and `DownloadUrls` properties in
      `StorageMetadata`.
    - Messaging: raw_data has been changed from a std::string to a byte array.
    - Dynamic Links: Remove deprecated `DynamicLinkComponents.DynamicLinkDomain`
      . Please use `DynamicLinkComponents.DomainUriPrefix` instead.
    - Dynamic Links (Android): Bump up Android library version and remove
      dependency to GMS app invite.
    - Firestore: Added support for `WhereNotEqualTo` and `WhereNotIn` queries.
    - Firestore: Added new internal HTTP headers to the gRPC connection.
    - Firestore: Fixed a Unity Editor hang on Windows when restarting an app
      after listening to a query, document, or snapshots in sync
      ([#845](https://github.com/firebase/quickstart-unity/issues/845)).
    - Firestore: Added support for `FirebaseFirestoreSettings.CacheSizeBytes`.
    - Firestore: Fixed an intermittent crash in the Unity Editor when the app is
      restarted while a transaction is in progress
      ([#783](https://github.com/firebase/quickstart-unity/issues/783)).
    - Firestore: Fixed a crash when writing to a document after having been
      offline for long enough that the auth token expired
      ([#872](https://github.com/firebase/quickstart-unity/issues/872)).

### 6.16.1:
-   Changes
    - General (Android): Fixes regression in 6.16.0 about Android build error
      "Program type already present: com.google.firebase.unity.BuildConfig" when
      make Android build with Crashlytics SDK in Unity 2019 and below.
    - General: Significantly reduced the filesize of the Linux libraries.
    - Database (Desktop): Added a function to create directories recursively
      for persistent storage that fixes segfaults.

### 6.16.0:
-   Changes
    - General: Prevent Firebase SDK from causing GC in every frame.
    - General (Editor): Improved the performance of Firebase Editor tools by
      delay initialization when condition met and improve asset searching.
    - General: Deprecate Firebase.Unity.Editor.FirebaseEditorExtensions. Most of
      the functions is noop now and will be removed soon.
    - General: **Breaking Change** Remove deprecated functions
      `FirebaseApp.SetEditorAuthUserId()` and
      `FirebaseApp.GetEditorAuthUserId()` in order to improve performance.
    - General: (Android) Fixed that FirebaseApp failed to create for builds
      created by Unity 2020+ due to google-services.json not found. All Firebase
      Android resource files are moved to directories with `androidlib`
      extension.
    - General: (Android) Remove android:minSdkVersion from AndroidManifest.xml
      under `Assets/Plugins/Android/Firebase` which is causing build error in
      Unity 2020.
    - Database (Desktop): Enabled offline persistence.
    - Firestore: Fixed FirebaseFirestore.LogLevel for some log levels.
    - Firestore: Added `Error.None` as a synonym for `Error.Ok`, which is more
      consistent with other Firebase Unity APIs.
    - auth.SWIG: Fix typo (across).
    - Firestore: Fixed leaked memory in FirebaseFirestore C# objects.
    - Crashlytics: Fixed an issue on iOS where the Crashlytics Run Script would fail to get added on versions of Unity 2018 and below [#5569](https://github.com/firebase/firebase-ios-sdk/issues/5569)
    - Crashlytics: (Android) Fixed crashes for builds created by Unity 2020+ due
      to build ID is missing. Generated Crashlytics Android resource files are
      moved to `Plugins/Android/FirebaseCrashlytics.androidlib`.
    - Firestore: Fixed `CollectionReference.AddAsync()` to propagate errors.
    - Firestore: Changed async tasks to fault with `FirestoreException`.
    - Firestore: Renamed the `Error` enum to `FirestoreError`.
    - Messaging (Android): Updated library to be compatible with Android O,
      which should resolve a IllegalStateException that could occur under
      certain conditions.
    - Messaging: Deprecated the `Send` function.
    - Firestore: Added meaningful error messages to the exceptions with which
      `ListenerRegistration.ListenerTask` tasks fault.

### 6.15.2
  - Overview
  - Changes
    - Firestore (iOS): Fixed the missing Dispose symbol by updating to the
      correct Cocoapod version.

### 6.15.1
  - Overview
  - Changes
    - Firestore: Significantly improved stability when reentering play mode,
      addressing [this issue](https://github.com/firebase/quickstart-unity/issues/638).
    - Firestore: Fixed memory leaks that could cause a global reference table
      overflow on Android, addressing [this
      issue](https://github.com/firebase/quickstart-unity/issues/627).
    - Fixed an issue that warns about Future handle not released properly.
    - Firestore: Added the `ListenerRegistration.ListenerTask` property which
      facilitates discovering an error that causes the listener stream to stop.
    - Fixed an issue that cause Editor crash on the second time click play.

### 6.15.0
  - Overview
    - Replaced legacy Fabric Crashlytics Android and iOS SDKs with updated
      Firebase Crashlytics SDKs.
    - Reduce editor freeze when play mode starts.
  - Changes
    - Crashlytics (Android and iOS): Updated with the Firebase Crashlytics
      Android & iOS SDKs, which now use Firebase-specific endpoints rather than
      the deprecated Fabric endpoints. Crashlytics C# APIs have not changed.
    - Crashlytics (Editor): Removed UI for managing Fabric API keys, which are
      no longer required. Migrated Fabric apps will automatically use the Google
      App Id as defined in the `GoogleServicesInfo.plist` and
      `google-services.json` files.
    - Crashlytics (Editor): Fixed an [issue](https://github.com/firebase/quickstart-unity/issues/652)
      that occurs when Crashlytics is imported using the Unity Package Manager.
    - Crashlytics: Added `[assembly: Preserve]` attribute to
      Firebase.Crashlytics namespace, to prevent stripping of Crashlytics code
      by the UnityLinker.
    - Firestore: Fixed several serialization issues on iOS.
    - Firestore: Added `WaitForPendingWritesAsync` method which allows users to
      wait on a task that completes when all pending writes are acknowledged
      by the firestore backend.
    - Firestore: Added `TerminateAsync` method which terminates the instance,
      releasing any held resources.
    - Firestore: Added `ClearPersistenceAsync` method which clears the
      persistent cache, allowing unit/integration tests to be more isolated.
    - Firestore: Added `Query.LimitToLast(int n)`, which returns the last
      `n` documents as the result.
    - Firestore: Added support for changing Firestore settings.
    - Test Lab: Experimental release of Test Lab is now available on all
      supported platforms.
    - Firestore: Removed the `DocumentReference.ListenerDelegate` and
      `Query.ListenerDelegate` delegates. These were intended to be
      internal-only types.
    - General: Reduce editor freeze when play mode starts by not running
      XcodeProjectPatcher, GeneratedXmlFromGoogleServices and
      AndroidManifestPatcher if the editor is in play mode or about to start
      play mode.
    - Messaging: (Android) Using the MessagingUnityPlayerActivity will no longer
      interfere with Unity's built-in handling of deep links.

### 6.14.1
  - Changes
    - Auth: Added a new method: Firebase.Auth.Credential.IsValid().
    - Auth: Added Firebase.Auth.FirebaseAccountLinkException which may be thrown
      by LinkAndRetrieveDataWithCredentialAsync. The exception includes a
      Firebase.Auth.UserInfo object which may contain additional information
      about the user's account.
    - Auth (iOS): Added Firebase.Auth.UserInfo.UpdatedCredential. This
      credential may be valid in FirebaseAccountLinkExceptions indicating that
      the credential may be used to sign into Firebase as the Apple-linked user.

### 6.14.0
  - Changes
    - Firestore: `Firestore.LoggingEnabled` is replaced by `Firestore.LogLevel`
      for consistency with other Firebase Unity APIs. The getter for this
      property has been removed.
    - Crashlytics (iOS): Removes references to UIWebView APIs to prevent App
      Store rejections.

### 6.13.0
  - Changes
    - General: Update asset labels so that External Dependency Manager works
      even if files in Firebase SDK are moved.
    - Firestore: Added `Query.WhereArrayContains()` query operator to find
      documents where an array field contains a specific element.
    - Firestore: Added `FieldValue.ArrayUnion()` and `FieldValue.ArrayRemove()`
      to atomically add and remove elements from an array field in a document.
    - Firestore: Added `Query.WhereIn()` and `Query.WhereArrayContainsAny()`
      query operators. `Query.WhereIn()` finds documents where a specified
      field’s value is IN a specified array. `Query.WhereArrayContainsAny()`
      finds documents where a specified field is an array and contains ANY
      element of a specified array.
    - Firestore: Fixed QuerySnapshot.GetEnumerator() to not throw an
      InvalidCastException.

### 6.12.0
  - Overview
    - Added experimental support for Cloud Firestore SDK.
  - Changes
    - Firestore: Experimental release of Firestore is now available on all
      supported platforms.

### 6.11.0
  - Overview
    - Updated dependencies, changed minimum Xcode, and fixed an issue in
      Database handling Auth token revocation.
  - Changes
    - General (Editor): Added FirebaseAuth manifest file to
      FirebaseDatabase.unitypackage and FirebaseStorage.unitypackage for better
      package management through Play Services Resolver.
    - General (iOS): Minimum Xcode version is now 10.3.
    - General: When creating a FirebaseApp, the ProjectId from the default
      FirebaseApp is used if one is not provided.
    - Database (Desktop): Fixed that database stops reconnecting to server after
      the auth token is revoked.

### 6.10.0
  - Overview
    - Auth bug fixes and resource generation improvements.
  - Changes
    - Auth (iOS): Enabled the method OAuthProvider.GetCredential. This method
      takes a nonce parameter as required by Apple Sign-in.
    - Auth (Desktop): Fixed a deadlock that could cause the Unity Editor to
      freeze when disposing FirebaseAuth.
    - Editor: Python 3 compatibility for resource generation script and added
      a fallback to use the Python interpreter on Windows 7/8.
    - Editor: Removed debug logging when the resource generator script is
      executed.

### 6.9.0
  - Overview
    - Updated dependencies, added support for Apple Sign-in to Auth,
      support for signing-in using a 3rd party web providers and
      configuration of BigQuery export in Messaging, fixed a Crashlytics
      build reporting bug with Python 3 and fixed core editor plugin loading
      issue on Windows.
  - Changes
    - Auth: Added API for invoking FirebaseAuth.SignInWithProvider and User
      FirebaseUser.LinkWithProvider and FirebaseUser.ReauthenticateWithProvider
      for sign in with third party auth providers.
    - Auth: Added constant ProviderId strings to the provider classes.
    - Auth (iOS): Added support for linking Apple Sign-in credentials.
    - Crashlytics: Fixed build event reporting when Python 3 is installed on
      Mac or Linux machines.
    - Messaging (Android): Added the option to enable or disable message
      delivery metrics export to BigQuery. This functionality is currently only
      available on Android. Stubs are provided on iOS for cross platform
      compatibility.
    - Editor: Fixed core editor plugin so that it loads without the iOS Unity
      extension installed on Windows.

### 6.8.1
  - Overview
     - Fixed Crashlytics and core editor plugin.
  - Changes
    - Crashlytics (Editor): Fixed Crashlytics editor plugin so that it loads
      without the iOS Unity extension installed.
    - Editor: Fixed core editor plugin so that it loads without the iOS Unity
      extension installed.

### 6.8.0
  - Overview
    - Updated dependencies and fixed resource generation issue with python3.
  - Changes
    - Editor: Fixed an issue where resource generation from
      google-services.json or GoogleService-Info.plist would fail if python3
      was used to execute the resource generation script.

### 6.7.0
  - Overview
    - Updated dependencies, fixed issues in Analytics, Database, Dynamic Links,
      Crashlytics, and Storage.
  - Changes
    - Storage (iOS/Android): Fixed an issue where
      FirebaseStorage.GetReferenceFromUrl would return an invalid
      StorageReference.
    - Dynamic Links: Fixed an issue where removing delegate from
      DynamicLinks.DynamicLinkReceived does not stop the delegate from being
      called.
    - Database: Fixed an issue causing timestamps to not be populated correctly
      when using DatabaseReference.UpdateChildren().
    - Database (Desktop): Fixed an issue preventing listener events from being
      triggered after DatabaseReference.UpdateChildren() is called.
    - Database (Desktop): Functions that take string parameters will now
      fail gracefully if passed a null pointer.
    - Database (Desktop): Fixed an issue that could result in an incorrect
      snapshot being passed to listeners under specific circumstances.
    - Database (Desktop): Fixed an issue causing
      DatabaseReference.RunTransaction() to fail due to datastale when the
      location previously stored a list with more than 10 items or a dictionary
      with integer keys.
    - Crashlytics: Fixed an [issue](https://github.com/firebase/quickstart-unity/issues/493)
      on iOS with Unity 2019.3 beta where the plugin fails to create a XCode run
      script to upload symbols.
    - Analytics (iOS): Fixed the racy behavior of
      `FirebaseAnalytics.GetAnalyticsInstanceId()` after calling
      `FirebaseAnalytics.ResetAnalyticsData()`.

### 6.6.0
  - Overview
    - Updated dependencies, fixed issues in Auth & Database.
  - Changes
    - Auth (Desktop): Fixed not loading provider list from cached user data.
    - Database (Desktop): Fixed a crash that could occur when trying to keep a
      location in the database synced when you do not have permission.
    - Database (Desktop): Queries on locations in the database with query rules
      now function properly, instead of always returning "Permission denied".
    - Database (Desktop): Fixed the map-to-vector conversion when firing events
      that have maps containing enitrely integer keys.

### 6.5.0
  - Overview
    - Updated dependencies, improved logging for Auth and Database, and fixed
      the freeze in the editor.
  - Changes
    - General: The instance of FirebaseApp, FirebaseAuth, FirebaseDatabase,
      FirebaseFunctions, FirebaseInstanceId and FirebaseStorage will be kept
      alive after creation until explicitly disposed.
    - Auth (Linux): Improved error logging if libsecret (required for login
      persistence) is not installed on Linux.
    - Database: The database now supports setting the log level independently of
      the system level logger.
    - Auth/Database (Desktop): Fixed the freeze when playing in the editor for
      the more than once or when closing the editor, when keeping a static
      reference to either FirebaseAuth or FirebaseDatabase instances.

### 6.4.0
  - Overview
    - Updated dependencies, improved error handling in the iOS build logic,
      improved error handling with deleted objects, fixed an issue with Auth
      persistence, and fixed a crash in Database.
  - Changes
    - General: Added more underlying null checks when accessing objects that can
      potentially be deleted, throwing exceptions instead of crashing.
    - General (iOS): Handle malformed Info.plist files when patching Xcode
      projects.
    - Auth (Desktop): Fixed an issue with updated user info not being persisted.
    - Database (Desktop): Fixed a crash with saving a ServerTimestamp during
      a transaction.

### 6.3.0
  - Overview
    - Auth (iOS): Fixed an exception in Firebase.AuthVerifyPhoneNumber.
  - Changes
    - General (Editor): Fixed spurious errors about missing google-services.json
      file.
    - General (iOS/Android): Fixed a bug that allows custom FirebaseApp
      instances to be created after the app has been restarted
    - Auth (Desktop): Changed destruction behavior. Instead of waiting for all
      async operations to finish, now Auth will cancel all async operations and
      quit. For callbacks that are already running, this will protect against
      cases where auth instances might not exist anymore.
    - Auth (iOS): Fixed an exception in PhoneAuthProvider.verifyPhoneNumber.
    - Auth (iOS): Stopped Auth from hanging on destruction if any local tasks
      remain in scope.
    - Database (Desktop): Fixed an issue that could cause a crash when updating
      the descendant of a location with a listener attached.

### 6.2.2
  - Overview
    - Bug fixes.
  - Changes
    - General (Editor): Worked around regression in Unity 2019.2 and 2019.3
      which caused DllNotFoundException.
    - General (Editor, macOS): Add support for macOS 10.11.x.
    - Auth (Editor): After loading a persisted user data, ensure token is
      not expired.
    - Auth (desktop): Ensure Database, Storage and Functions do not use an
      expired token after it's loaded from persistent storage.
    - Database (Editor): Fixed a crash when calling UpdateChildrenAsync.
    - Database (Editor): Deprecated service account authentication.
    - Database (Editor): Fixed DatabaseReference.RunTransaction() sending
      invalid data to the server which causes error message "Error on
      incoming message" and freeze.
  - Known Issues
    - Database/Storage/Functions may fail to send authentication token to server
      if FirebaseAuth is garbage-collected. If you are unable to access to
      the server due to "Permission Denied", please try to keep FirebaseAuth
      alive.

### 6.2.1
  - Overview
    - Fixed Crashlytics on Android not working correctly.
  - Changes
    - Crashlytics (Android): Fixed an issue causing Crashlytics to believe it
      was shut down, blocking all functionality.

### 6.2.0
  - Overview
    - Moved Realtime Database to a C++ implementation on desktop, added support
      for custom domains to Dynamic Links, and fixed issues in Database,
      Instance ID, and Crashlytics.
  - Changes
    - General (Editor): Fixed an issue that could cause errors when trying to
      read a google-services.json file with unicode characters in its path.
    - General (Editor, iOS): Added support for patching Xcode projects in
      Unity 2019.3+.
    - General: Fixed a race that could lead to a crash when gabarge collecting
      FirebaseApp objects.
    - General: Updated Play Services Resolver from 1.2.116 to 1.2.121
      For more information, see [this document](https://github.com/googlesamples/unity-jar-resolver/blob/master/CHANGELOG.md#version-12121---jun-27-2019).
      Added support for the [Jetpack Jetifier](https://developer.android.com/studio/command-line/jetifier)
      , this allows the use of legacy Android support libraries with the latest
      release of Google Play Services that uses AndroidX.
    - Crashlytics (Android): Fixed a crash when logging large call stacks.
    - Crashlytics (Android): Fixed a crash in exception logging when the
      application is shutting down.
    - Instance ID (Android): Fixed a crash when destroying InstanceID objects.
    - Instance ID: Fixed a crash if multiple Instance ID objects are created and
      destroyed quickly.
    - Dynamic Links: Added support for custom domains.
    - Database (Editor): Moved Realtime Database to a C++ implementation on
      desktop to improve reliability across different Unity versions.
    - Database (Editor): Moved transaction callbacks to the main thread to
      mirror Android and iOS.
    - Database: Added a way to configure log verbosity of Realtime Database
      instances.

### 6.1.1
  - Overview
    - Fixed an issue when generating Firebase config files on Windows.
  - Changes
    - General (Editor): Fixed an issue when generating Firebase config files on
      Windows.
    - General (Editor): Upgraded Play Services Resolver to from 1.2.115 to
      1.2.116. For more information see [this
      document](https://github.com/googlesamples/unity-jar-resolver/blob/master/CHANGELOG.md#version-12115---jun-7-2019).

### 6.1.0
  - Overview
    - Added Auth credential persistence on Desktop, fixed and cleaned up some
      documentation, converted testapps to use ContinueOnMainThread(), fixed
      issues in Auth and Database, and added additional information to
      Messaging notifications.
  - Changes
    - General (Editor): Removed Firebase Invites documentation from the
      in-editor documentation.
    - General (Editor): Fixed an issue with resource generation when Firebase
      plugin files have been moved from their default locations.
    - General (iOS): Fixed an issue where connections via NSURLSession
      (used internally by the iOS SDK) can be prematurely closed by the client
      if NSAppTransportSecurity is set to YES in the Info.plist and
      NSAllowsArbitraryLoadsInWebContent is not set. This can be fixed by
      setting NSAllowsArbitraryLoadsInWebContent  to the same value as
      NSAppTransportSecurity.
    - General (Editor): Upgraded Play Services Resolver to from 1.2.109 to
      1.2.115. For more information see [this
      document](https://github.com/googlesamples/unity-jar-resolver/blob/master/CHANGELOG.md#version-12115---may-28-2019).
    - Auth (Desktop): User's credentials will now persist between sessions.  See
      the [documentation](http://firebase.google.com/docs/auth/unity/manage-users#persist_a_users_credential)
      for more information.
    - Auth (Desktop): As part of the above change, if you access CurrentUser
      immediately after creating the FirebaseAuth instance, it will block until
      the saved user's state is finished loading.
    - Auth (Desktop): Fixed an issue where Database/Functions/Storage might not
      use the latest auth token immediately after sign-in.
    - Auth (Android): Fixed an issue where an error code could get reported
      incorrectly on Android.
    - Crashlytics, Functions: Fixed an issue that could cause a crash during
      shutdown due to the destruction order of plugins being nondeterministic.
    - Database (iOS): Fixed a race condition that could cause a crash
      when cleaning up database listeners on iOS.
    - Database (iOS): Fixed an issue where long (64-bit) values could get
      written to the database incorrectly (truncated to 32-bits) on 32-bit
      devices.
    - Messaging (Android): Added channel_id to Messaging notifications.

### 6.0.0
  - Overview
    - Released
      [Crashlytics](https://firebase.google.com/docs/crashlytics/get-started?platform=unity)
      as generally available (GA); added Task.ContinueWithOnMainThread(); fixed
      issues in the Android Resolver, iOS Resolver, Auth, Database, Messaging,
      and Remote Config; removed Firebase Invites, removed deprecated methods in
      Firebase Remote Config, and deprecated a method in Firebase Analytics.
  - Changes
    - Updated [Firebase
      iOS](https://firebase.google.com/support/release-notes/ios#6.0.0) and
      [Firebase
      Android](https://firebase.google.com/support/release-notes/ios#2019-05-07)
      dependencies.
    - Crashlytics (iOS/Android): [Crashlytics for
      Unity](https://firebase.google.com/docs/crashlytics/get-started?platform=unity)
      is now generally available (GA). Get the next evolution with BigQuery
      exports, Jira integration, and more. To migrate from Fabric Crashlytics
      for Unity to Firebase Crashlytics, follow the [migration
      guide](https://firebase.google.com/docs/crashlytics/migrate-from-fabric).
    - Added an extension method, `Task.ContinueWithOnMainThread()`, which
      forces the continuation of asynchronous operations to occur in the Unity
      main thread rather than in a background thread.
    - General: Upgraded Play Services Resolver to from 1.2.104 to 1.2.109. For
      more information see [this
      document](https://github.com/googlesamples/unity-jar-resolver/blob/master/CHANGELOG.md#version-12109---may-6-2019).
    - General (Android): Added support for Android SDK installed directly in
      Unity 2019.
    - General (iOS): Fixed issues generating projects without using Cocoapods.
    - Database (iOS/Android): Fixed an issue where integrating the SDK greatly
      increased the size of your app.
    - Database: Fixed exception handling during listener events.
    - Remote Config: Fixed an issue parsing boolean values.
    - Auth (Desktop): Fixed a crash when attempting to call Game Center
      authentication methods from the Unity editor.
    - Messaging (iOS/Android): Fix an issue where Subscribe and Unsubscribe
      never returned if the API was configured not to receive a registration
      token.
    - Invites: Removed Firebase Invites, as it is no longer supported.
    - Remote Config: Removed functions using config namespaces.
    - Analytics: Deprecated SetMinimumSessionDuration.

### 5.7.0
  - Overview
    - Fixed an issue with escape characters in Auth, deprecated functions
      in Remote Config, and fixed an issue in the Android Resolver.
  - Changes
    - Auth: Fixed UserProfile.PhotoUrl removing percent encoded characters when
      being set.
    - Remote Config: Config namespaces are now deprecated. You'll need to switch
      to methods that use the default namespace.
    - General (Android): Fixed an exception on resolution in some versions of
      Unity 2017.4 by changing how Android ABI selection is handled.

### 5.6.1
  - Overview
    - Fixed race condition on iOS SDK startup and fixed some issues in the
      Android Resolver.
  - Changes
    - General (iOS): Updated to the latest iOS SDK to fix a crash on
      firebase::App creation caused by a race condition.  The crash could occur
      when accessing the [FIRApp firebaseUserAgent] property of the iOS FIRApp.
    - General (Android): Fixed Java version check in Android resolver when using
      Java SE 12 and above.
    - General (Android): Whitelisted Unity 2017.4 and above for ARM64 builds.
      Previously required ARM64 libraries would be stripped from all Unity 2017
      builds resulting in a DllNotFoundException.

### 5.6.0
  - Overview
    - Added Game Center sign-in to Auth and fixed intermittent crashes due to
      garbage collection.
  - Changes
    - Auth (iOS): Added Game Center authentication.
    - General: Fixed intermittent crashes caused when multiple native objects
      were garbage-collected at the same time.

### 5.5.0
  - Overview
    - Added support for
      [Crashlytics](https://firebase.google.com/docs/crashlytics/get-started#unity)
      as a Beta release, deprecated Firebase Invites, and updated the Android
      Resolver.
  - Changes
    - Crashlytics:
      [Crashlytics for Unity](https://firebase.google.com/docs/crashlytics/get-started#unity)
      is now available as a Beta release. Get the next evolution with BigQuery
      exports, Jira integration, and more. To migrate from Fabric Crashlytics
      for Unity to Firebase Crashlytics, follow the
      [migration guide](https://firebase.google.com/docs/crashlytics/migrate-from-fabric).
    - General (Android): Updated to using version 1.2.101 of the Android
      Resolver. Prompt the user before the resolver runs for the
      first time and allow the user to elect to disable from the prompt.
    - Invites: Firebase Invites is deprecated. Please refer to
      https://firebase.google.com/docs/invites for details.

### 5.4.4
  - Overview
    - Fixed bugs in iOS/Android Resolver components, Realtime Database on
      mobile, and Cloud Functions on Android; fixed a general iOS bug; and fixed
      issues with Unity 5.6 and Unity 2018.3 and newer.
  - Changes
    - General (Android): Fixed packaging of AARs in the Android Resolver when
      using Unity 2018 and a recent version of Gradle.
    - General: Reduced auto-resolution frequency