From 43a3b467c0d9c88d9c8cb8905adb8bb5769180fb Mon Sep 17 00:00:00 2001 From: davidmotson <7716258+davidmotson@users.noreply.github.com> Date: Thu, 18 Sep 2025 19:16:03 +0000 Subject: [PATCH 1/4] Post release cleanup for m170 --- .../CHANGELOG.md | 56 +- .../gradle.properties | 4 +- appcheck/firebase-appcheck-debug/CHANGELOG.md | 60 +- .../firebase-appcheck-debug/gradle.properties | 4 +- .../CHANGELOG.md | 44 +- .../gradle.properties | 4 +- appcheck/firebase-appcheck/CHANGELOG.md | 83 ++- appcheck/firebase-appcheck/gradle.properties | 4 +- firebase-abt/CHANGELOG.md | 45 +- firebase-abt/gradle.properties | 4 +- firebase-ai/CHANGELOG.md | 64 +-- firebase-ai/gradle.properties | 4 +- firebase-appdistribution-api/CHANGELOG.md | 62 +-- .../gradle.properties | 4 +- firebase-appdistribution/CHANGELOG.md | 61 +-- firebase-appdistribution/gradle.properties | 4 +- firebase-config/CHANGELOG.md | 261 ++++----- firebase-config/gradle.properties | 4 +- firebase-crashlytics-ndk/CHANGELOG.md | 205 +++---- firebase-crashlytics-ndk/gradle.properties | 4 +- firebase-crashlytics/CHANGELOG.md | 340 +++++------- firebase-crashlytics/gradle.properties | 4 +- firebase-database/CHANGELOG.md | 153 +++--- firebase-database/gradle.properties | 4 +- firebase-dataconnect/CHANGELOG.md | 69 ++- firebase-dataconnect/gradle.properties | 4 +- firebase-datatransport/CHANGELOG.md | 12 +- firebase-datatransport/gradle.properties | 4 +- firebase-firestore/CHANGELOG.md | 516 ++++++++---------- firebase-firestore/gradle.properties | 4 +- firebase-functions/CHANGELOG.md | 123 ++--- firebase-functions/gradle.properties | 4 +- firebase-inappmessaging-display/CHANGELOG.md | 185 +++---- .../gradle.properties | 4 +- firebase-inappmessaging/CHANGELOG.md | 183 +++---- firebase-inappmessaging/gradle.properties | 4 +- firebase-installations/CHANGELOG.md | 29 +- firebase-installations/gradle.properties | 4 +- firebase-messaging-directboot/CHANGELOG.md | 108 ++-- .../gradle.properties | 4 +- firebase-messaging/CHANGELOG.md | 282 ++++------ firebase-messaging/gradle.properties | 4 +- firebase-ml-modeldownloader/CHANGELOG.md | 94 ++-- firebase-ml-modeldownloader/gradle.properties | 4 +- firebase-perf/CHANGELOG.md | 263 ++++----- firebase-perf/gradle.properties | 4 +- firebase-sessions/CHANGELOG.md | 64 +-- firebase-sessions/gradle.properties | 4 +- firebase-storage/CHANGELOG.md | 117 ++-- firebase-storage/gradle.properties | 4 +- 50 files changed, 1471 insertions(+), 2108 deletions(-) diff --git a/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md b/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md index bebb5d3e01a..1ce0810008e 100644 --- a/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md +++ b/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md @@ -1,80 +1,66 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 19.0.0 +# 19.0.1 +* [changed] Bumped internal dependencies. -- [unchanged] Updated to keep [app_check] SDK versions aligned. +# 19.0.0 +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 18.0.0 - -- [changed] Bump internal dependencies +* [changed] Bump internal dependencies # 17.1.2 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.1 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.0 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.0.0 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.2 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.1 - -- [changed] Integrated the [app_check] Debug Testing SDK with Firebase components. (GitHub +* [changed] Integrated the [app_check] Debug Testing SDK with Firebase components. (GitHub [#4436](//github.com/firebase/firebase-android-sdk/issues/4436){: .external}) # 16.1.0 - -- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions library. # 16.0.1 - -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 - -- [changed] [app_check] has exited beta and is now generally available for use. +* [changed] [app_check] has exited beta and is now generally available for use. # 16.0.0-beta06 - -- [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. +* [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. # 16.0.0-beta05 - -- [changed] Internal improvements. +* [changed] Internal improvements. # 16.0.0-beta04 - -- [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to +* [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to succeed. -- [fixed] Fixed heartbeat reporting. +* [fixed] Fixed heartbeat reporting. # 16.0.0-beta03 - -- [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network +* [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network calls. # 16.0.0-beta02 - -- [feature] Added +* [feature] Added [`getAppCheckToken()`](), [`AppCheckTokenListener`](/docs/reference/android/com/google/firebase/appcheck/FirebaseAppCheck.AppCheckListener), and associated setters and removers for developers to request and observe changes to the [app_check] token. # 16.0.0-beta01 +* [feature] Initial beta release of the [app_check] Debug Testing SDK with abuse reduction features. -- [feature] Initial beta release of the [app_check] Debug Testing SDK with abuse reduction features. diff --git a/appcheck/firebase-appcheck-debug-testing/gradle.properties b/appcheck/firebase-appcheck-debug-testing/gradle.properties index fd3ef991ef3..04d7bc444aa 100644 --- a/appcheck/firebase-appcheck-debug-testing/gradle.properties +++ b/appcheck/firebase-appcheck-debug-testing/gradle.properties @@ -1,2 +1,2 @@ -version=19.0.1 -latestReleasedVersion=19.0.0 +version=19.0.2 +latestReleasedVersion=19.0.1 diff --git a/appcheck/firebase-appcheck-debug/CHANGELOG.md b/appcheck/firebase-appcheck-debug/CHANGELOG.md index 920ced58a57..74ad91f98bb 100644 --- a/appcheck/firebase-appcheck-debug/CHANGELOG.md +++ b/appcheck/firebase-appcheck-debug/CHANGELOG.md @@ -1,85 +1,71 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 19.0.0 +# 19.0.1 +* [changed] Bumped internal dependencies. -- [unchanged] Updated to keep [app_check] SDK versions aligned. +# 19.0.0 +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 18.0.0 - -- [changed] Bump internal dependencies +* [changed] Bump internal dependencies # 17.1.2 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.1 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.0 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.0.0 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.2 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.1 - -- [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub +* [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub [#4431](//github.com/firebase/firebase-android-sdk/issues/4431){: .external} and [#4449](//github.com/firebase/firebase-android-sdk/issues/4449){: .external}) -- [changed] Integrated the [app_check] Debug SDK with Firebase components. (GitHub +* [changed] Integrated the [app_check] Debug SDK with Firebase components. (GitHub [#4436](//github.com/firebase/firebase-android-sdk/issues/4436){: .external}) -- [changed] Moved Task continuations off the main thread. (GitHub +* [changed] Moved Task continuations off the main thread. (GitHub [#4453](//github.com/firebase/firebase-android-sdk/issues/4453){: .external}) # 16.1.0 - -- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions library. # 16.0.1 - -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 - -- [changed] [app_check] has exited beta and is now generally available for use. +* [changed] [app_check] has exited beta and is now generally available for use. # 16.0.0-beta06 - -- [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. +* [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. # 16.0.0-beta05 - -- [changed] Internal improvements. +* [changed] Internal improvements. # 16.0.0-beta04 - -- [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to +* [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to succeed. -- [fixed] Fixed heartbeat reporting. +* [fixed] Fixed heartbeat reporting. # 16.0.0-beta03 - -- [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network +* [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network calls. # 16.0.0-beta02 - -- [feature] Added +* [feature] Added [`getAppCheckToken()`](), [`AppCheckTokenListener`](/docs/reference/android/com/google/firebase/appcheck/FirebaseAppCheck.AppCheckListener), and associated setters and removers for developers to request and observe changes to the [app_check] token. # 16.0.0-beta01 +* [feature] Initial beta release of the [app_check] Debug SDK with abuse reduction features. -- [feature] Initial beta release of the [app_check] Debug SDK with abuse reduction features. diff --git a/appcheck/firebase-appcheck-debug/gradle.properties b/appcheck/firebase-appcheck-debug/gradle.properties index fd3ef991ef3..04d7bc444aa 100644 --- a/appcheck/firebase-appcheck-debug/gradle.properties +++ b/appcheck/firebase-appcheck-debug/gradle.properties @@ -1,2 +1,2 @@ -version=19.0.1 -latestReleasedVersion=19.0.0 +version=19.0.2 +latestReleasedVersion=19.0.1 diff --git a/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md b/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md index 086164d8782..1038758f84e 100644 --- a/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md +++ b/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md @@ -1,56 +1,48 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 19.0.0 +# 19.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +# 19.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 18.0.0 - -- [changed] Bump internal dependencies +* [changed] Bump internal dependencies # 17.1.2 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.1 - -- [fixed] Fixed client-side throttling in Play Integrity flows. -- [changed] Bumped Play Integrity API Library dependency version. +* [fixed] Fixed client-side throttling in Play Integrity flows. +* [changed] Bumped Play Integrity API Library dependency version. # 17.1.0 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.0.0 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.2 - -- [unchanged] Updated to keep [app_check] SDK versions aligned. +* [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.1 - -- [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub +* [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub [#4431](//github.com/firebase/firebase-android-sdk/issues/4431){: .external} and [#4449](//github.com/firebase/firebase-android-sdk/issues/4449){: .external}) -- [changed] Integrated the [app_check] Play integrity SDK with Firebase components. (GitHub +* [changed] Integrated the [app_check] Play integrity SDK with Firebase components. (GitHub [#4436](//github.com/firebase/firebase-android-sdk/issues/4436){: .external}) -- [changed] Moved Task continuations off the main thread. (GitHub +* [changed] Moved Task continuations off the main thread. (GitHub [#4453](//github.com/firebase/firebase-android-sdk/issues/4453){: .external}) # 16.1.0 - -- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions library. # 16.0.1 - -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 - -- [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) +* [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) as an attestation provider. + diff --git a/appcheck/firebase-appcheck-playintegrity/gradle.properties b/appcheck/firebase-appcheck-playintegrity/gradle.properties index fd3ef991ef3..04d7bc444aa 100644 --- a/appcheck/firebase-appcheck-playintegrity/gradle.properties +++ b/appcheck/firebase-appcheck-playintegrity/gradle.properties @@ -1,2 +1,2 @@ -version=19.0.1 -latestReleasedVersion=19.0.0 +version=19.0.2 +latestReleasedVersion=19.0.1 diff --git a/appcheck/firebase-appcheck/CHANGELOG.md b/appcheck/firebase-appcheck/CHANGELOG.md index cfbe3ad93a9..007a102bfcf 100644 --- a/appcheck/firebase-appcheck/CHANGELOG.md +++ b/appcheck/firebase-appcheck/CHANGELOG.md @@ -1,152 +1,137 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 19.0.0 +# 19.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 19.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 18.0.0 - -- [changed] Bump internal dependencies -- [changed] Internal support for `SafetyNet` has been dropped, as the +* [changed] Bump internal dependencies +* [changed] Internal support for `SafetyNet` has been dropped, as the [SafetyNet Attestation API has been deprecated.](https://developer.android.com/privacy-and-security/safetynet/deprecation-timeline#safetynet_attestation_deprecation_timeline) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.1.2 +* [changed] Bump internal dependencies. -- [changed] Bump internal dependencies. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.1.1 +* [fixed] Fixed a bug causing internal tests to depend directly on `firebase-common`. +* [fixed] Fixed client-side throttling in Play Integrity flows. -- [fixed] Fixed a bug causing internal tests to depend directly on `firebase-common`. -- [fixed] Fixed client-side throttling in Play Integrity flows. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.1.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-appcheck-ktx` to +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-appcheck-ktx` to `com.google.firebase:firebase-appcheck` under the `com.google.firebase.appcheck` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-appcheck-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-appcheck-ktx` have been added to `com.google.firebase:firebase-appcheck` under the `com.google.firebase.appcheck` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-appcheck-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.0.1 - -- [changed] Internal updates to allow Firebase SDKs to obtain limited-use tokens. +* [changed] Internal updates to allow Firebase SDKs to obtain limited-use tokens. # 17.0.0 - -- [feature] Added +* [feature] Added [`getLimitedUseAppCheckToken()`]() for obtaining limited-use tokens for protecting non-Firebase backends. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 16.1.2 +* [unchanged] Updated to keep [app_check] SDK versions aligned. -- [unchanged] Updated to keep [app_check] SDK versions aligned. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 16.1.1 - -- [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub +* [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub [#4431](//github.com/firebase/firebase-android-sdk/issues/4431){: .external} and [#4449](//github.com/firebase/firebase-android-sdk/issues/4449){: .external}) -- [changed] Moved Task continuations off the main thread. (GitHub +* [changed] Moved Task continuations off the main thread. (GitHub [#4453](//github.com/firebase/firebase-android-sdk/issues/4453){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 16.1.0 - -- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-appcheck-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 16.0.1 - -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 - -- [changed] [app_check] has exited beta and is now generally available for use. -- [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) +* [changed] [app_check] has exited beta and is now generally available for use. +* [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) as an attestation provider. # 16.0.0-beta06 - -- [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. +* [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. # 16.0.0-beta05 - -- [changed] Internal improvements. +* [changed] Internal improvements. # 16.0.0-beta04 - -- [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to +* [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to succeed. -- [fixed] Fixed heartbeat reporting. +* [fixed] Fixed heartbeat reporting. # 16.0.0-beta03 - -- [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network +* [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network calls. # 16.0.0-beta02 - -- [feature] Added +* [feature] Added [`getAppCheckToken()`](), [`AppCheckTokenListener`](/docs/reference/android/com/google/firebase/appcheck/FirebaseAppCheck.AppCheckListener), and associated setters and removers for developers to request and observe changes to the [app_check] token. # 16.0.0-beta01 +* [feature] Initial beta release of the [app_check] SDK with abuse reduction features. -- [feature] Initial beta release of the [app_check] SDK with abuse reduction features. diff --git a/appcheck/firebase-appcheck/gradle.properties b/appcheck/firebase-appcheck/gradle.properties index fd3ef991ef3..04d7bc444aa 100644 --- a/appcheck/firebase-appcheck/gradle.properties +++ b/appcheck/firebase-appcheck/gradle.properties @@ -1,2 +1,2 @@ -version=19.0.1 -latestReleasedVersion=19.0.0 +version=19.0.2 +latestReleasedVersion=19.0.1 diff --git a/firebase-abt/CHANGELOG.md b/firebase-abt/CHANGELOG.md index 6483acf6a14..19b74626f4f 100644 --- a/firebase-abt/CHANGELOG.md +++ b/firebase-abt/CHANGELOG.md @@ -1,62 +1,53 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 23.0.0 +# 23.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 23.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 22.0.0 - -- [changed] Bump internal dependencies +* [changed] Bump internal dependencies # 21.1.2 - -- [changed] Bump internal dependencies. +* [changed] Bump internal dependencies. # 21.1.1 - -- [changed] Internal changes to improve experiment reporting. +* [changed] Internal changes to improve experiment reporting. # 21.1.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 21.0.2 - -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 21.0.1 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. # 21.0.0 - -- [changed] Internal infrastructure improvements. -- [changed] Internal changes to support dynamic feature modules. +* [changed] Internal infrastructure improvements. +* [changed] Internal changes to support dynamic feature modules. # 20.0.0 - -- [removed] Removed the protocol buffer dependency and moved relevant protocol buffer definitions to +* [removed] Removed the protocol buffer dependency and moved relevant protocol buffer definitions to [inappmessaging_longer]. If you use [ab_testing] with [inappmessaging], you'll need to update to [inappmessaging] v19.1.2 or later. # 19.0.1 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 17.1.1 - -- [changed] Updated API to support the latest [remote_config] update. -- [changed] Updated minSdkVersion to API level 16. +* [changed] Updated API to support the latest [remote_config] update. +* [changed] Updated minSdkVersion to API level 16. # 17.1.0 +* [changed] Updated API to support the latest [remote_config] update. -- [changed] Updated API to support the latest [remote_config] update. diff --git a/firebase-abt/gradle.properties b/firebase-abt/gradle.properties index 5d768e35cda..250707abd72 100644 --- a/firebase-abt/gradle.properties +++ b/firebase-abt/gradle.properties @@ -1,2 +1,2 @@ -version=23.0.1 -latestReleasedVersion=23.0.0 +version=23.0.2 +latestReleasedVersion=23.0.1 diff --git a/firebase-ai/CHANGELOG.md b/firebase-ai/CHANGELOG.md index d0e05d38ddf..e4977e8e992 100644 --- a/firebase-ai/CHANGELOG.md +++ b/firebase-ai/CHANGELOG.md @@ -1,28 +1,26 @@ # Unreleased -- [changed] **Breaking Change**: Removed the `candidateCount` option from `LiveGenerationConfig` - (#7382) -- [changed] Bumped internal dependencies. -- [feature] Added support for code execution. -- [changed] Marked the public constructors for `ExecutableCodePart` and `CodeExecutionResultPart` as + +# 17.3.0 +* [changed] Bumped internal dependencies. +* [feature] Added support for code execution. +* [changed] Marked the public constructors for `ExecutableCodePart` and `CodeExecutionResultPart` as deprecated. -- [feature] Introduced `MissingPermissionsException`, which is thrown when the necessary permissions +* [feature] Introduced `MissingPermissionsException`, which is thrown when the necessary permissions have not been granted by the user. -- [feature] Added helper functions to `LiveSession` to allow developers to track the status of the +* [feature] Added helper functions to `LiveSession` to allow developers to track the status of the audio session and the underlying websocket connection. -- [changed] Added new values to `HarmCategory` (#7324) -- [fixed] Fixed an issue that caused unknown or empty `Part`s to throw an exception. Instead, we now +* [changed] Added new values to `HarmCategory` (#7324) +* [fixed] Fixed an issue that caused unknown or empty `Part`s to throw an exception. Instead, we now log them and filter them from the response (#7333) # 17.2.0 - -- [feature] Added support for returning thought summaries, which are synthesized versions of a +* [feature] Added support for returning thought summaries, which are synthesized versions of a model's internal reasoning process. -- [fixed] Fixed an issue causing the accessor methods in `GenerateContentResponse` to throw an +* [fixed] Fixed an issue causing the accessor methods in `GenerateContentResponse` to throw an exception when the response contained no candidates. -- [changed] Added better description for requests which fail due to the Gemini API not being +* [changed] Added better description for requests which fail due to the Gemini API not being configured. - * [changed] Added a `dilation` parameter to `ImagenMaskReference.generateMaskAndPadForOutpainting` (#7260) * [feature] Added support for limited-use tokens with Firebase App Check. These limited-use tokens @@ -32,47 +30,43 @@ your users will be on versions of your app that send limited-use tokens. (#7285) # 17.1.0 +======= -- [feature] added support for Imagen Editing, including inpainting, outpainting, control, style +* [feature] added support for Imagen Editing, including inpainting, outpainting, control, style transfer, and subject references (#7075) - * [feature] **Preview:** Added support for bidirectional streaming in Gemini Developer Api # 17.0.0 - -- [feature] Added support for configuring the "thinking" budget when using Gemini 2.5 series models. +* [feature] Added support for configuring the "thinking" budget when using Gemini 2.5 series models. (#6990) -- [feature] **Breaking Change**: Add support for Grounding with Google Search (#7042). +* [feature] **Breaking Change**: Add support for Grounding with Google Search (#7042). - **Action Required:** Update all references of `groundingAttributions`, `webSearchQueries`, `retrievalQueries` in `GroundingMetadata` to be non-optional. -- [changed] require at least one argument for `generateContent()`, `generateContentStream()` and +* [changed] require at least one argument for `generateContent()`, `generateContentStream()` and `countTokens()`. -- [feature] Added new overloads for `generateContent()`, `generateContentStream()` and +* [feature] Added new overloads for `generateContent()`, `generateContentStream()` and `countTokens()` that take a `List` parameter. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 16.2.0 - -- [changed] Deprecate the `totalBillableCharacters` field (only usable with pre-2.0 models). (#7042) -- [feature] Added support for extra schema properties like `title`, `minItems`, `maxItems`, +* [changed] Deprecate the `totalBillableCharacters` field (only usable with pre-2.0 models). (#7042) +* [feature] Added support for extra schema properties like `title`, `minItems`, `maxItems`, `minimum` and `maximum`. As well as support for the `anyOf` schema. (#7013) # 16.1.0 - -- [fixed] Fixed `FirebaseAI.getInstance` StackOverflowException (#6971) -- [fixed] Fixed an issue that was causing the SDK to send empty `FunctionDeclaration` descriptions +* [fixed] Fixed `FirebaseAI.getInstance` StackOverflowException (#6971) +* [fixed] Fixed an issue that was causing the SDK to send empty `FunctionDeclaration` descriptions to the API. -- [changed] Introduced the `Voice` class, which accepts a voice name, and deprecated the `Voices` +* [changed] Introduced the `Voice` class, which accepts a voice name, and deprecated the `Voices` class. -- [changed] **Breaking Change**: Updated `SpeechConfig` to take in `Voice` class instead of `Voices` +* [changed] **Breaking Change**: Updated `SpeechConfig` to take in `Voice` class instead of `Voices` class. - **Action Required:** Update all references of `SpeechConfig` initialization to use `Voice` class. -- [fixed] Fix incorrect model name in count token requests to the developer API backend +* [fixed] Fix incorrect model name in count token requests to the developer API backend # 16.0.0 - -- [feature] Initial release of the Firebase AI SDK (`firebase-ai`). This SDK _replaces_ the previous +* [feature] Initial release of the Firebase AI SDK (`firebase-ai`). This SDK _replaces_ the previous Vertex AI in Firebase SDK (`firebase-vertexai`) to accommodate the evolving set of supported features and services. - The new Firebase AI SDK provides **Preview** support for the Gemini Developer API, including its @@ -82,10 +76,10 @@ If you're using the old `firebase-vertexai`, we recommend [migrating to `firebase-ai`](/docs/ai-logic/migrate-to-latest-sdk) because all new development and features will be in this new SDK. - -- [feature] **Preview:** Added support for specifying response modalities in `GenerationConfig` +* [feature] **Preview:** Added support for specifying response modalities in `GenerationConfig` (only available in the new `firebase-ai` package). This includes support for image generation using [specific Gemini models](/docs/vertex-ai/models). Note: This feature is in Public Preview, which means that it is not subject to any SLA or deprecation policy and could change in backwards-incompatible ways. + diff --git a/firebase-ai/gradle.properties b/firebase-ai/gradle.properties index 2a62002eb65..794b7a23197 100644 --- a/firebase-ai/gradle.properties +++ b/firebase-ai/gradle.properties @@ -12,5 +12,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=17.3.0 -latestReleasedVersion=17.2.0 +version=17.3.1 +latestReleasedVersion=17.3.0 diff --git a/firebase-appdistribution-api/CHANGELOG.md b/firebase-appdistribution-api/CHANGELOG.md index 2de3eb94826..308d4cadfe6 100644 --- a/firebase-appdistribution-api/CHANGELOG.md +++ b/firebase-appdistribution-api/CHANGELOG.md @@ -1,138 +1,127 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 16.0.0-beta16 +# 16.0.0-beta17 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 16.0.0-beta16 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 16.0.0-beta15 +* [unchanged] Updated to accommodate the release of the updated [appdistro] library. -- [unchanged] Updated to accommodate the release of the updated [appdistro] library. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta14 +* [unchanged] Updated to accommodate the release of the updated [appdistro] library. -- [unchanged] Updated to accommodate the release of the updated [appdistro] library. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta13 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta12 +* [unchanged] Updated to accommodate the release of the updated [appdistro] library. -- [unchanged] Updated to accommodate the release of the updated [appdistro] library. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta11 - -- [changed] Added Kotlin extensions (KTX) APIs from +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-appdistribution-api-ktx` to `com.google.firebase:firebase-appdistribution-api` under the `com.google.firebase.appdistribution` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-appdistribution-api-ktx` have been +* [deprecated] All the APIs from `com.google.firebase:firebase-appdistribution-api-ktx` have been added to `com.google.firebase:firebase-appdistribution-api` under the `com.google.firebase.appdistribution` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-appdistribution-api-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta09 +* [feature] Improved development mode to allow all API calls to be made without having to sign in. -- [feature] Improved development mode to allow all API calls to be made without having to sign in. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta08 - -- [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on +* [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on devices running Android 4.4 and lower. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta07 +* [feature] Added support for testers to attach JPEG screenshots to their feedback. -- [feature] Added support for testers to attach JPEG screenshots to their feedback. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta06 - -- [feature] Added support for in-app tester feedback. To learn more, see +* [feature] Added support for in-app tester feedback. To learn more, see [Collect feedback from testers](/docs/app-distribution/collect-feedback-from-testers?platform=android). -- [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using +* [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using `addOnProgressListener()` would receive updates. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta05 - -- [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-appdistribution-api-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 16.0.0-beta04 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta03 - -- [feature] The [appdistro] SDK has been split into two libraries: +* [feature] The [appdistro] SDK has been split into two libraries: - `firebase-appdistribution-api` - The API-only library
This new API-only library is functional only when the full [appdistro] SDK implementation (`firebase-appdistribution`) is @@ -146,10 +135,11 @@ library. The Kotlin extensions library has no additional updates. [add these SDKs](/docs/app-distribution/set-up-alerts?platform=android#add-appdistro) to your Android app. -## Kotlin +## Kotlin With the removal of the Kotlin extensions library `firebase-appdistribution-ktx`, its functionality has been moved to the new API-only library: `firebase-appdistribution-api-ktx`. This new Kotlin extensions library transitively includes the `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. + diff --git a/firebase-appdistribution-api/gradle.properties b/firebase-appdistribution-api/gradle.properties index 9519f227206..423f04cce3d 100644 --- a/firebase-appdistribution-api/gradle.properties +++ b/firebase-appdistribution-api/gradle.properties @@ -12,5 +12,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=16.0.0-beta17 -latestReleasedVersion=16.0.0-beta16 +version=16.0.0-beta18 +latestReleasedVersion=16.0.0-beta17 diff --git a/firebase-appdistribution/CHANGELOG.md b/firebase-appdistribution/CHANGELOG.md index 95c15abf46b..29e9c49332a 100644 --- a/firebase-appdistribution/CHANGELOG.md +++ b/firebase-appdistribution/CHANGELOG.md @@ -1,59 +1,49 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 16.0.0-beta16 +# 16.0.0-beta17 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +# 16.0.0-beta16 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 16.0.0-beta15 - -- [fixed] Added custom tab support for more browsers [#6692] +* [fixed] Added custom tab support for more browsers [#6692] # 16.0.0-beta14 - -- [changed] Internal improvements to testing on Android 14 +* [changed] Internal improvements to testing on Android 14 # 16.0.0-beta13 - -- [changed] Bump internal dependencies +* [changed] Bump internal dependencies # 16.0.0-beta12 - -- [changed] Bump internal dependencies. +* [changed] Bump internal dependencies. # 16.0.0-beta10 - -- [fixed] Updated the third-party license file to include Dagger's license. +* [fixed] Updated the third-party license file to include Dagger's license. # 16.0.0-beta09 - -- [feature] Improved development mode to allow all API calls to be made without having to sign in. +* [feature] Improved development mode to allow all API calls to be made without having to sign in. # 16.0.0-beta08 - -- [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on +* [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on devices running Android 4.4 and lower. # 16.0.0-beta07 - -- [feature] Added support for testers to attach JPEG screenshots to their feedback. +* [feature] Added support for testers to attach JPEG screenshots to their feedback. # 16.0.0-beta06 - -- [feature] Added support for in-app tester feedback. To learn more, see +* [feature] Added support for in-app tester feedback. To learn more, see [Collect feedback from testers](/docs/app-distribution/collect-feedback-from-testers). -- [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using +* [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using `addOnProgressListener()` would receive updates. # 16.0.0-beta05 - -- [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions library. # 16.0.0-beta03 - -- [feature] The [appdistro] SDK has been split into two libraries: +* [feature] The [appdistro] SDK has been split into two libraries: - `firebase-appdistribution-api` - The API-only library
This new API-only library is functional only when the full [appdistro] SDK implementation (`firebase-appdistribution`) is @@ -67,32 +57,31 @@ [add these SDKs](/docs/app-distribution/set-up-alerts?platform=android#add-appdistro) to your Android app. -## Kotlin -- [removed] The Kotlin extensions library `firebase-appdistribution-ktx` has been removed. All its +## Kotlin +* [removed] The Kotlin extensions library `firebase-appdistribution-ktx` has been removed. All its functionality has been moved to the new API-only library: `firebase-appdistribution-api-ktx`. # 16.0.0-beta02 - -- [fixed] Fixed a bug that prevented testers from signing in when the app had an underscore in the +* [fixed] Fixed a bug that prevented testers from signing in when the app had an underscore in the package name. -- [fixed] Fixed a UI bug where the APK download notification displayed the incorrect error message. -- [changed] Internal improvements to tests. +* [fixed] Fixed a UI bug where the APK download notification displayed the incorrect error message. +* [changed] Internal improvements to tests. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the base `firebase-app-distribution` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta01 - -- [feature] The [appdistro] Android SDK is now available in beta. You can use this SDK to notify +* [feature] The [appdistro] Android SDK is now available in beta. You can use this SDK to notify testers in-app when a new test build is available. To learn more, visit the [[appdistro] reference documentation](/docs/reference/android/com/google/firebase/appdistribution/package-summary). -## Kotlin +## Kotlin The [appdistro] Android library with Kotlin extensions is now available in beta. The Kotlin extensions library transitively includes the base `firebase-app-distribution` library. To learn more, visit the [[appdistro] KTX reference documentation](/docs/reference/kotlin/com/google/firebase/appdistribution/ktx/package-summary). + diff --git a/firebase-appdistribution/gradle.properties b/firebase-appdistribution/gradle.properties index 5c8c1183d91..4f3941a13b3 100644 --- a/firebase-appdistribution/gradle.properties +++ b/firebase-appdistribution/gradle.properties @@ -12,5 +12,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=16.0.0-beta17 -latestReleasedVersion=16.0.0-beta16 +version=16.0.0-beta18 +latestReleasedVersion=16.0.0-beta17 diff --git a/firebase-config/CHANGELOG.md b/firebase-config/CHANGELOG.md index 900bb7c4618..52b870aafe6 100644 --- a/firebase-config/CHANGELOG.md +++ b/firebase-config/CHANGELOG.md @@ -1,195 +1,178 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 23.0.0 +# 23.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [changed] This update introduces improvements to how the SDK handles real-time requests when a +# 23.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [changed] This update introduces improvements to how the SDK handles real-time requests when a Firebase project has exceeded its available quota for real-time services. Released in anticipation of future quota enforcement, this change is designed to fetch the latest template even when the quota is exhausted. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 22.1.2 - -- [fixed] Fixed `NetworkOnMainThreadException` on Android versions below 8 by disconnecting +* [fixed] Fixed `NetworkOnMainThreadException` on Android versions below 8 by disconnecting `HttpURLConnection` only on API levels 26 and higher. GitHub Issue [#6934] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.1.1 - -- [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain +* [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain open in the background. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.1.0 - -- [feature] Added support for custom signal targeting in Remote Config. Use `setCustomSignals` API +* [feature] Added support for custom signal targeting in Remote Config. Use `setCustomSignals` API for setting custom signals and use them to build custom targeting conditions in Remote Config. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.0.1 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.0.0 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.6.3 - -- [fixed] Fixed a bug that could cause a crash if the app was backgrounded while it was listening +* [fixed] Fixed a bug that could cause a crash if the app was backgrounded while it was listening for real-time Remote Config updates. For more information, see #5751 # 21.6.2 - -- [fixed] Fixed an issue that could cause [remote_config] personalizations to be logged early in +* [fixed] Fixed an issue that could cause [remote_config] personalizations to be logged early in specific cases. -- [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain +* [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain open in the background. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.6.1 +* [changed] Bump internal dependencies. -- [changed] Bump internal dependencies. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.6.0 - -- [changed] Added support for other Firebase products to integrate with [remote_config]. +* [changed] Added support for other Firebase products to integrate with [remote_config]. # 21.5.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-config-ktx` to +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-config-ktx` to `com.google.firebase:firebase-config` under the `com.google.firebase.remoteconfig` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-config-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-config-ktx` have been added to `com.google.firebase:firebase-config` under the `com.google.firebase.remoteconfig` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-config-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.4.1 +* [changed] Internal improvements to support Remote Config real-time updates. -- [changed] Internal improvements to support Remote Config real-time updates. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.4.0 - -- [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has the following additional updates. -- [feature] Added the +* [feature] Added the [`FirebaseRemoteConfig.configUpdates`]() Kotlin Flow to listen for real-time config updates. # 21.3.0 - -- [feature] Added support for real-time config updates. To learn more, see +* [feature] Added support for real-time config updates. To learn more, see [Get started with [firebase_remote_config]](/docs/remote-config/get-started?platform=android#add-real-time-listener). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.2.1 +* [changed] Migrated [remote_config] to use standard Firebase executors. -- [changed] Migrated [remote_config] to use standard Firebase executors. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.2.0 - -- [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-config-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 21.1.2 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.1.1 - -- [fixed] Fixed a bug that caused HTTP errors in some locales. For more information, see +* [fixed] Fixed a bug that caused HTTP errors in some locales. For more information, see GitHub Issue #3757 -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.1.0 - -- [changed] Added first-open time to [remote_config] server requests. +* [changed] Added first-open time to [remote_config] server requests. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.0.2 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.0.1 +* [fixed] Fixed a bug in the initialization of [remote_config] with a non-primary Firebase app. -- [fixed] Fixed a bug in the initialization of [remote_config] with a non-primary Firebase app. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.0.0 +* [changed] Internal infrastructure improvements. +* [changed] Internal changes to support dynamic feature modules. -- [changed] Internal infrastructure improvements. -- [changed] Internal changes to support dynamic feature modules. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.4 +* [changed] Improved condition targeting signals. -- [changed] Improved condition targeting signals. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.3 +* [changed] Standardize support for other Firebase products that integrate with [remote_config]. -- [changed] Standardize support for other Firebase products that integrate with [remote_config]. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.2 - -- [fixed] Fixed an issue that was causing [remote_config] to return the static default value even if +* [fixed] Fixed an issue that was causing [remote_config] to return the static default value even if a remote value was defined. (#2186) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.1 +* [changed] Added support for other Firebase products to integrate with [remote_config]. -- [changed] Added support for other Firebase products to integrate with [remote_config]. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.0 - -- [removed] Removed the protocol buffer dependency. Also, removed support for configs saved on +* [removed] Removed the protocol buffer dependency. Also, removed support for configs saved on device using the legacy protocol buffer format (the SDK stopped using this legacy format starting with [remote_config] v16.3.0). -- [removed] Removed the deprecated synchronous method `FirebaseRemoteConfig.activateFetched()`. Use +* [removed] Removed the deprecated synchronous method `FirebaseRemoteConfig.activateFetched()`. Use the asynchronous [`FirebaseRemoteConfig.activate()`]() instead. -- [removed] Removed the deprecated synchronous methods `FirebaseRemoteConfig.setDefaults(int)` and +* [removed] Removed the deprecated synchronous methods `FirebaseRemoteConfig.setDefaults(int)` and `FirebaseRemoteConfig.setDefaults(Map)`. Use the asynchronous [`FirebaseRemoteConfig.setDefaultsAsync(int)`]() and [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>) instead. -- [removed] Removed the deprecated synchronous method +* [removed] Removed the deprecated synchronous method `FirebaseRemoteConfig.setConfigSettings(FirebaseRemoteConfigSettings)`. Use the asynchronous [`FirebaseRemoteConfig.setConfigSettingsAsync(FirebaseRemoteConfigSettings)`]() instead. -- [removed] Removed the deprecated method `FirebaseRemoteConfig.getByteArray(String)`. Use +* [removed] Removed the deprecated method `FirebaseRemoteConfig.getByteArray(String)`. Use [`FirebaseRemoteConfig.getString(String)`]() instead. -- [removed] Removed the deprecated methods `FirebaseRemoteConfigSettings.isDeveloperModeEnabled()` +* [removed] Removed the deprecated methods `FirebaseRemoteConfigSettings.isDeveloperModeEnabled()` and `FirebaseRemoteConfigSettings.Builder.setDeveloperModeEnabled(boolean)`. Use [`FirebaseRemoteConfigSettings#getMinimumFetchIntervalInSeconds()`]() and [`FirebaseRemoteConfigSettings.Builder#setMinimumFetchIntervalInSeconds(long)`]() instead. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.2.0 - -- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} - -- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The +* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.4 - -- [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step +* [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step towards a direct dependency on the Firebase installations service in a future release. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.3 - -- [fixed] Fixed an issue where +* [fixed] Fixed an issue where [`FirebaseRemoteConfig.fetch()`]() would sometimes report a misformatted language tag. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.2 - -- [fixed] Resolved known issue where +* [fixed] Resolved known issue where [`FirebaseRemoteConfigSettings.Builder.setFetchTimeoutInSeconds()`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.Builder) was not always honored. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.1 - -- [changed] Updated +* [changed] Updated [`FirebaseRemoteConfig.fetch()`]() implementation to use [`FirebaseInstanceId.getInstanceId()`]() in favor of the deprecated [`FirebaseInstanceId.getToken()`](). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.0 - -- [changed] Added getters to the fields of the +* [changed] Added getters to the fields of the [`FirebaseRemoteConfigSettings.Builder`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.Builder) object to provide better Kotlin patterns. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.0.4 - -- [fixed] Resolved [known issue](//github.com/firebase/firebase-android-sdk/issues/973) where +* [fixed] Resolved [known issue](//github.com/firebase/firebase-android-sdk/issues/973) where network calls may fail on devices using API 19 and earlier. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.0.3 - -- [fixed] Resolved [known issue](https://github.com/firebase/firebase-android-sdk/issues/787) where +* [fixed] Resolved [known issue](https://github.com/firebase/firebase-android-sdk/issues/787) where the [firebase_remote_config] SDK threw an error when Android [StrictMode](https://developer.android.com/reference/android/os/StrictMode) was turned on. -- [fixed] Resolved issue where setting Byte Arrays via +* [fixed] Resolved issue where setting Byte Arrays via [`FirebaseRemoteConfig.setDefaultsAsync(int)`](), [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>) and their synchronous counterparts would cause `getByteArray` to return an object reference instead of the Byte Array. Byte Arrays set via the Firebase console were unaffected by this bug. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.0.2 +* [unchanged] Updated to accommodate the release of the [remote_config] Kotlin extensions library. -- [unchanged] Updated to accommodate the release of the [remote_config] Kotlin extensions library. ## Kotlin - -- [feature] The beta release of a [remote_config] Android library with Kotlin extensions is now +* [feature] The beta release of a [remote_config] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-config` library. To learn more, visit the [[remote_config] KTX documentation](/docs/reference/kotlin/com/google/firebase/remoteconfig/ktx/package-summary). # 19.0.1 - -- [fixed] Resolved known issue where certain unicode characters were not encoded correctly. The +* [fixed] Resolved known issue where certain unicode characters were not encoded correctly. The issue was introduced in v19.0.0. # 19.0.0 - -- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No +* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 17.0.0 - -- [feature] Added an asynchronous way to set config settings: +* [feature] Added an asynchronous way to set config settings: [`FirebaseRemoteConfig.setConfigSettingsAsync(FirebaseRemoteConfigSettings)`](). -- [feature] Added +* [feature] Added [`FirebaseRemoteConfigServerException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigServerException) and [`FirebaseRemoteConfigClientException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientException) to provide more nuanced error reporting. -- [changed] Updated all "cache expiration" references to "minimum fetch interval" and "cache" +* [changed] Updated all "cache expiration" references to "minimum fetch interval" and "cache" references to "local storage". -- [deprecated] Deprecated developer mode. Use +* [deprecated] Deprecated developer mode. Use [`FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(0L)`]() instead. -- [deprecated] Deprecated the synchronous +* [deprecated] Deprecated the synchronous [`FirebaseRemoteConfig.setConfigSettings(FirebaseRemoteConfigSettings)`](). Use the asynchronous [`FirebaseRemoteConfig.setConfigSettingsAsync(FirebaseRemoteConfigSettings)`]() instead. -- [deprecated] Deprecated +* [deprecated] Deprecated [`FirebaseRemoteConfigFetchException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigFetchException). Use the more granular [`FirebaseRemoteConfigServerException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigServerException) and [`FirebaseRemoteConfigClientException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientException) instead. -- [removed] Removed all namespace methods. -- [removed] Removed all default constructors for Exception classes. -- [changed] Updated minSdkVersion to API level 16. +* [removed] Removed all namespace methods. +* [removed] Removed all default constructors for Exception classes. +* [changed] Updated minSdkVersion to API level 16. # 16.5.0 - -- [feature] Enabled multi-App support. Use +* [feature] Enabled multi-App support. Use [`FirebaseRemoteConfig.getInstance(FirebaseApp)`]() to retrieve a singleton instance of [`FirebaseRemoteConfig`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig) for the given [`FirebaseApp`](/docs/reference/android/com/google/firebase/FirebaseApp). -- [feature] Added a method that fetches configs and activates them: +* [feature] Added a method that fetches configs and activates them: [`FirebaseRemoteConfig.fetchAndActivate()`](). -- [feature] Network connection timeout for fetch requests is now customizable. To set the network +* [feature] Network connection timeout for fetch requests is now customizable. To set the network timeout, use [`FirebaseRemoteConfigSettings.Builder.setFetchTimeoutInSeconds(long)`](). -- [feature] The default minimum fetch interval is now customizable. To set the default minimum fetch +* [feature] The default minimum fetch interval is now customizable. To set the default minimum fetch interval, use [`FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long)`](). -- [feature] Added a way to get all activated configs as a Java `Map`: +* [feature] Added a way to get all activated configs as a Java `Map`: [`FirebaseRemoteConfig.getAll()`](). -- [feature] Added the ability to reset a Firebase Remote Config instance: +* [feature] Added the ability to reset a Firebase Remote Config instance: [`FirebaseRemoteConfig.reset()`](). -- [feature] Added a way to determine if the Firebase Remote Config instance has finished +* [feature] Added a way to determine if the Firebase Remote Config instance has finished initializing. To get a task that will complete when the Firebase Remote Config instance is finished initializing, use [`FirebaseRemoteConfig.ensureInitialized()`](). -- [feature] Added an asynchronous way to activate configs: +* [feature] Added an asynchronous way to activate configs: [`FirebaseRemoteConfig.activate()`](). -- [feature] Added an asynchronous way to set defaults: +* [feature] Added an asynchronous way to set defaults: [`FirebaseRemoteConfig.setDefaultsAsync(int)`]() and [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>). -- [deprecated] Deprecated the synchronous +* [deprecated] Deprecated the synchronous [`FirebaseRemoteConfig.activateFetched()`](). Use the asynchronous [`FirebaseRemoteConfig.activate()`]() instead. -- [deprecated] Deprecated the synchronous +* [deprecated] Deprecated the synchronous [`FirebaseRemoteConfig.setDefaults(int)`]() and [`FirebaseRemoteConfig.setDefaults(Map)`](>). @@ -500,36 +461,32 @@ Kotlin extensions library has no additional updates. and [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>) instead. -- [deprecated] Deprecated +* [deprecated] Deprecated [`FirebaseRemoteConfig.getByteArray(String)`](). -- [deprecated] Deprecated all methods with a namespace parameter. +* [deprecated] Deprecated all methods with a namespace parameter. # 16.4.1 - -- [changed] The SDK now enforces Android API Key restrictions. -- [fixed] Resolved known issue where the local cache was not honored even if it had not expired. The +* [changed] The SDK now enforces Android API Key restrictions. +* [fixed] Resolved known issue where the local cache was not honored even if it had not expired. The issue was introduced in version 16.3.0. # 16.4.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 16.3.0 - -- [changed] The [firebase_remote_config] SDK requires the [firebase_remote_config] REST API. For +* [changed] The [firebase_remote_config] SDK requires the [firebase_remote_config] REST API. For Firebase projects created before March 7, 2018, you must manually enable the REST API. For more information, see our [[remote_config] REST API user guide](https://firebase.google.com/docs/remote-config/use-config-rest#before_you_begin_enable_the_rest_api). -- [changed] Refactored the implementation of [remote_config] to improve SDK stability and speed, and +* [changed] Refactored the implementation of [remote_config] to improve SDK stability and speed, and to remove the Google Play Services dependency. -- [changed] Improved error logs and exception messages. -- [changed] Updated the Android documentation to reflect that [remote_config] uses `Locale` to +* [changed] Improved error logs and exception messages. +* [changed] Updated the Android documentation to reflect that [remote_config] uses `Locale` to retrieve location information, similar to iOS's use of `countryCode`. # 16.1.3 - -- [fixed] Fixed an issue where [remote_config] experiments were not collecting results. +* [fixed] Fixed an issue where [remote_config] experiments were not collecting results. # 16.1.0 +* [fixed] Bug fixes and internal improvements to support Firebase Performance Monitoring features. -- [fixed] Bug fixes and internal improvements to support Firebase Performance Monitoring features. diff --git a/firebase-config/gradle.properties b/firebase-config/gradle.properties index 5402ffaa0d3..88599534856 100644 --- a/firebase-config/gradle.properties +++ b/firebase-config/gradle.properties @@ -14,7 +14,7 @@ # limitations under the License. # -version=23.0.1 -latestReleasedVersion=23.0.0 +version=23.0.2 +latestReleasedVersion=23.0.1 android.enableUnitTestBinaryResources=true diff --git a/firebase-crashlytics-ndk/CHANGELOG.md b/firebase-crashlytics-ndk/CHANGELOG.md index 6b7d6b4b319..f0baedb928f 100644 --- a/firebase-crashlytics-ndk/CHANGELOG.md +++ b/firebase-crashlytics-ndk/CHANGELOG.md @@ -1,107 +1,84 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 20.0.1 +# 20.0.2 +* [changed] Bumped internal dependencies. -- [changed] Updated `firebase-crashlytics` dependency to 20.0.1 +# 20.0.1 +* [changed] Updated `firebase-crashlytics` dependency to 20.0.1 # 20.0.0 - -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 19.4.4 - -- [changed] Updated `firebase-crashlytics` dependency to v19.4.4 +* [changed] Updated `firebase-crashlytics` dependency to v19.4.4 # 19.4.3 - -- [changed] Updated internal Crashpad version to commit `21a20e`. +* [changed] Updated internal Crashpad version to commit `21a20e`. # 19.4.2 - -- [changed] Updated `firebase-crashlytics` dependency to v19.4.2 +* [changed] Updated `firebase-crashlytics` dependency to v19.4.2 # 19.4.1 - -- [changed] Updated `firebase-crashlytics` dependency to v19.4.1 +* [changed] Updated `firebase-crashlytics` dependency to v19.4.1 # 19.3.0 - -- [changed] Updated `firebase-crashlytics` dependency to v19.3.0 +* [changed] Updated `firebase-crashlytics` dependency to v19.3.0 # 19.2.1 - -- [changed] Updated `firebase-crashlytics` dependency to v19.2.1 +* [changed] Updated `firebase-crashlytics` dependency to v19.2.1 # 19.2.0 - -- [changed] Updated `firebase-crashlytics` dependency to v19.2.0 +* [changed] Updated `firebase-crashlytics` dependency to v19.2.0 # 19.1.0 - -- [changed] Updated `firebase-crashlytics` dependency to v19.1.0 +* [changed] Updated `firebase-crashlytics` dependency to v19.1.0 # 19.0.3 - -- [changed] Updated `firebase-crashlytics` dependency to v19.0.3 +* [changed] Updated `firebase-crashlytics` dependency to v19.0.3 # 19.0.2 - -- [changed] Update libcrashlytics to support 16 kb page sizes. +* [changed] Update libcrashlytics to support 16 kb page sizes. # 19.0.1 - -- [changed] Updated `firebase-crashlytics` dependency to v19.0.1 +* [changed] Updated `firebase-crashlytics` dependency to v19.0.1 # 19.0.0 - -- [changed] Bump internal dependencies +* [changed] Bump internal dependencies # 18.6.3 - -- [changed] Updated `firebase-crashlytics` dependency to v18.6.3 +* [changed] Updated `firebase-crashlytics` dependency to v18.6.3 # 18.6.0 - -- [changed] Updated `firebase-crashlytics` dependency to v18.6.0 +* [changed] Updated `firebase-crashlytics` dependency to v18.6.0 # 18.5.0 - -- [changed] Updated `firebase-crashlytics` dependency to v18.5.0 +* [changed] Updated `firebase-crashlytics` dependency to v18.5.0 # 18.4.3 - -- [changed] Updated `firebase-crashlytics` dependency to v18.4.3 +* [changed] Updated `firebase-crashlytics` dependency to v18.4.3 # 18.4.2 - -- [changed] Updated `firebase-crashlytics` dependency to v18.4.2 +* [changed] Updated `firebase-crashlytics` dependency to v18.4.2 # 18.4.1 - -- [changed] Updated `firebase-crashlytics` dependency to v18.4.1 +* [changed] Updated `firebase-crashlytics` dependency to v18.4.1 # 18.4.0 - -- [changed] Updated `firebase-crashlytics` dependency to v18.4.0 +* [changed] Updated `firebase-crashlytics` dependency to v18.4.0 # 18.3.7 - -- [changed] Updated `firebase-crashlytics` dependency to v18.3.7 +* [changed] Updated `firebase-crashlytics` dependency to v18.3.7 # 18.3.6 - -- [changed] Updated `firebase-crashlytics` dependency to v18.3.6. +* [changed] Updated `firebase-crashlytics` dependency to v18.3.6. # 18.3.5 - -- [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing +* [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing a nondeterministic crash on startup. -- [changed] Updated `firebase-crashlytics` dependency to v18.3.5. +* [changed] Updated `firebase-crashlytics` dependency to v18.3.5. # 18.3.4 - -- [changed] [crashlytics] NDK crash reporting will now start automatically when the [crashlytics] +* [changed] [crashlytics] NDK crash reporting will now start automatically when the [crashlytics] NDK dependency is included in your app. -- [changed] The [crashlytics] Gradle plugin has new tasks to support uploading symbol files to +* [changed] The [crashlytics] Gradle plugin has new tasks to support uploading symbol files to [crashlytics] servers. See the [[crashlytics] Gradle plugin documentation](/docs/crashlytics/ndk-reports-new-sdk) for more information. + diff --git a/firebase-crashlytics-ndk/gradle.properties b/firebase-crashlytics-ndk/gradle.properties index 931ac3f887f..1f1b6b0c4a8 100644 --- a/firebase-crashlytics-ndk/gradle.properties +++ b/firebase-crashlytics-ndk/gradle.properties @@ -1,2 +1,2 @@ -version=20.0.2 -latestReleasedVersion=20.0.1 +version=20.0.3 +latestReleasedVersion=20.0.2 diff --git a/firebase-crashlytics/CHANGELOG.md b/firebase-crashlytics/CHANGELOG.md index ef9a4ba084d..22e911d4c19 100644 --- a/firebase-crashlytics/CHANGELOG.md +++ b/firebase-crashlytics/CHANGELOG.md @@ -1,283 +1,256 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 20.0.1 +# 20.0.2 +* [changed] Bumped internal dependencies. -- [changed] Updated `firebase-sessions` dependency to v3.0.1 +# 20.0.1 +* [changed] Updated `firebase-sessions` dependency to v3.0.1 # 20.0.0 - -- [changed] **Breaking Change**: Removed deprecated public constructor +* [changed] **Breaking Change**: Removed deprecated public constructor `KeyValueBuilder(crashlytics: FirebaseCrashlytics)` -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 19.4.4 +* [fixed] Fixed more strict mode violations -- [fixed] Fixed more strict mode violations ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.3 +* [fixed] Fixed UnbufferedIoViolation strict mode violation [#6822] -- [fixed] Fixed UnbufferedIoViolation strict mode violation [#6822] ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.2 - -- [changed] Internal changes to read version control info more efficiently [#6754] -- [fixed] Fixed NoSuchMethodError when getting process info on Android 13 on some devices [#6720] -- [changed] Updated `firebase-sessions` dependency to v2.1.0 +* [changed] Internal changes to read version control info more efficiently [#6754] +* [fixed] Fixed NoSuchMethodError when getting process info on Android 13 on some devices [#6720] +* [changed] Updated `firebase-sessions` dependency to v2.1.0 - [changed] Add warning for known issue [b/328687152](https://issuetracker.google.com/328687152) [#6755] - [changed] Updated datastore dependency to v1.1.3 to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8) [#6688] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.1 +* [changed] Updated `firebase-sessions` dependency to v2.0.9 -- [changed] Updated `firebase-sessions` dependency to v2.0.9 ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.0 - -- [feature] Added an overload for `recordException` that allows logging additional custom keys to +* [feature] Added an overload for `recordException` that allows logging additional custom keys to the non fatal event [#3551] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.3.0 +* [fixed] Fixed inefficiency in the Kotlin `FirebaseCrashlytics.setCustomKeys` extension. +* [fixed] Execute failure listener outside the main thread [#6535] -- [fixed] Fixed inefficiency in the Kotlin `FirebaseCrashlytics.setCustomKeys` extension. -- [fixed] Execute failure listener outside the main thread [#6535] ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.2.1 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.2.0 - -- [fixed] Improved data consistency for rapid user actions. -- [fixed] Fixed exception propagation in the case of no default uncaught exception handler. -- [changed] Internal changes to improve startup time. -- [changed] Internal changes to the way background tasks are scheduled. -- [changed] Migrated SDK to use standard Firebase executors. +* [fixed] Improved data consistency for rapid user actions. +* [fixed] Fixed exception propagation in the case of no default uncaught exception handler. +* [changed] Internal changes to improve startup time. +* [changed] Internal changes to the way background tasks are scheduled. +* [changed] Migrated SDK to use standard Firebase executors. # 19.1.0 - -- [feature] Added the `isCrashlyticsCollectionEnabled` API to check if Crashlytics collection is +* [feature] Added the `isCrashlyticsCollectionEnabled` API to check if Crashlytics collection is enabled. (GitHub [#5919](https://github.com/firebase/firebase-android-sdk/issues/5919){: .external}) -- [fixed] Ensure that on-demand fatal events are never processed on the main thread. (GitHub +* [fixed] Ensure that on-demand fatal events are never processed on the main thread. (GitHub [#4345](https://github.com/firebase/firebase-android-sdk/issues/4345){: .external}) -- [changed] Internal changes to the way session IDs are generated. +* [changed] Internal changes to the way session IDs are generated. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.3 +* [changed] Update the internal file system to handle long file names. -- [changed] Update the internal file system to handle long file names. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.2 +* [changed] Changing caught exception type to fail safely on any exception type. -- [changed] Changing caught exception type to fail safely on any exception type. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.1 +* [changed] Improve cold initialization time. +* [fixed] Fixed version compatibility issues with other Firebase libraries. -- [changed] Improve cold initialization time. -- [fixed] Fixed version compatibility issues with other Firebase libraries. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.0 +* [fixed] Force validation or rotation of FIDs. +* [fixed] Added keep rule for shrinkage of Crashlytics build resources in strict mode. -- [fixed] Force validation or rotation of FIDs. -- [fixed] Added keep rule for shrinkage of Crashlytics build resources in strict mode. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.3 +* [feature] Updated `firebase-sessions` dependency. -- [feature] Updated `firebase-sessions` dependency. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.2 +* [changed] Bump internal dependencies. -- [changed] Bump internal dependencies. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.1 +* [feature] Updated `firebase-sessions` dependency for internal improvements -- [feature] Updated `firebase-sessions` dependency for internal improvements ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.0 - -- [changed] Include more details about app processes in reports. -- [feature] Updated `firebase-sessions` dependency for more accurate sessions on multi-process apps. -- [changed] Added support for [crashlytics] to report information from [remote_config]. +* [changed] Include more details about app processes in reports. +* [feature] Updated `firebase-sessions` dependency for more accurate sessions on multi-process apps. +* [changed] Added support for [crashlytics] to report information from [remote_config]. # 18.5.1 - -- [fixed] Internal improvement to fix compatibility with Flutter and Unity SDKs. Github +* [fixed] Internal improvement to fix compatibility with Flutter and Unity SDKs. Github [#10759](https://github.com/firebase/flutterfire/issues/10759) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.5.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-crashlytics-ktx` +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-crashlytics-ktx` to `com.google.firebase:firebase-crashlytics` under the `com.google.firebase.crashlytics` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-crashlytics-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-crashlytics-ktx` have been added to `com.google.firebase:firebase-crashlytics` under the `com.google.firebase.crashlytics` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-crashlytics-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.4.3 - -- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. +* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. [#5337] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.4.2 +* [feature] Expanded `firebase-sessions` library integration to work with NDK crashes and ANRs. +* [changed] Improved reliability when reporting memory usage. -- [feature] Expanded `firebase-sessions` library integration to work with NDK crashes and ANRs. -- [changed] Improved reliability when reporting memory usage. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.4.1 - -- [changed] Updated `firebase-sessions` dependency to v1.0.2 +* [changed] Updated `firebase-sessions` dependency to v1.0.2 # 18.4.0 - -- [feature] Integrated with Firebase sessions library to enable upcoming features related to +* [feature] Integrated with Firebase sessions library to enable upcoming features related to session-based crash metrics. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.7 - -- [feature] Added collection of version control information generated by the Android Gradle plugin +* [feature] Added collection of version control information generated by the Android Gradle plugin (AGP). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.6 - -- [feature] Added support for upcoming [crashlytics] features to report GWP-ASan crashes on +* [feature] Added support for upcoming [crashlytics] features to report GWP-ASan crashes on supported API levels. (GitHub [#4721](https://github.com/firebase/firebase-android-sdk/pull/4721){: .external}) -- [changed] Improved crash reporting reliability for crashes that occur early in the app's +* [changed] Improved crash reporting reliability for crashes that occur early in the app's lifecycle. (GitHub [#4608](https://github.com/firebase/firebase-android-sdk/pull/4608){: .external}, [#4786](https://github.com/firebase/firebase-android-sdk/pull/4786){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.5 - -- [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing +* [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing a nondeterministic crash on startup. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.4 - -- [changed] Improved crash reporting reliability for crashes that occur early in the app's +* [changed] Improved crash reporting reliability for crashes that occur early in the app's lifecycle. -- [changed] Added improved support for capturing `BuildId`s for native ANRs on older Android +* [changed] Added improved support for capturing `BuildId`s for native ANRs on older Android versions. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.3 +* [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.3. -- [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.3. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.2 +* [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.2. -- [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.2. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.1 - -- [fixed] Fixed an [issue](https://github.com/firebase/firebase-android-sdk/issues/4223){: +* [fixed] Fixed an [issue](https://github.com/firebase/firebase-android-sdk/issues/4223){: .external} in v18.3.0 that caused a `NoClassDefFoundError` in specific cases. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.0 - Warning: We're aware of an [issue](https://github.com/firebase/firebase-android-sdk/issues/4223){: .external} in this version of the [crashlytics] Android SDK.
**We strongly recommend using the latest version of the SDK (v18.3.1+ or [bom] v31.0.1+).** -- [changed] Improved reporting for crashes that occur early in the app's lifecycle. After updating +* [changed] Improved reporting for crashes that occur early in the app's lifecycle. After updating to this version, you might notice a sudden _increase_ in the number of crashes that are reported for your app. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-crashlytics-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 18.2.13 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.12 +* [changed] Internal changes to avoid accessing device-specific information. -- [changed] Internal changes to avoid accessing device-specific information. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.11 +* [changed] Improved crash reporting reliability for multi-process apps on Android 28 and above. -- [changed] Improved crash reporting reliability for multi-process apps on Android 28 and above. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.10 - -- [fixed] Fixed a bug that could prevent unhandled exceptions from being propagated to the default +* [fixed] Fixed a bug that could prevent unhandled exceptions from being propagated to the default handler when the network is unavailable. -- [changed] Internal changes to support on-demand fatal crash reporting for Flutter apps. -- [fixed] Fixed a bug that prevented [crashlytics] from initializing on some devices in some cases. +* [changed] Internal changes to support on-demand fatal crash reporting for Flutter apps. +* [fixed] Fixed a bug that prevented [crashlytics] from initializing on some devices in some cases. (#3269) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.9 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.8 +* [changed] Updated to the latest version of the `firebase-datatransport` library. -- [changed] Updated to the latest version of the `firebase-datatransport` library. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.7 - -- [changed] Improved runtime efficiency of the +* [changed] Improved runtime efficiency of the [`setCustomKey` functions](/docs/crashlytics/customize-crash-reports?platform=android#add-keys), significantly reducing the number of `Task` objects and disk writes when keys are updated frequently. (#3254) -- [fixed] Fixed a StrictMode `DiskReadViolation`. (#3265) +* [fixed] Fixed a StrictMode `DiskReadViolation`. (#3265) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.6 +* [changed] Internal changes to support future improvements to Flutter crash reporting. -- [changed] Internal changes to support future improvements to Flutter crash reporting. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.5 - -- [fixed] Fixed a bug that prevented some [crashlytics] session files from being removed after the +* [fixed] 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. -- [changed] Internal improvements to [crashlytics] file management, to ensure consistent creation +* [changed] Internal improvements to [crashlytics] file management, to ensure consistent creation and removal of intermediate [crashlytics] files. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.4 +* [changed] Internal changes to support ANR collection and their upcoming display in the console. -- [changed] Internal changes to support ANR collection and their upcoming display in the console. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.3 - -- [fixed] Fixed a race condition that prevented some launch-time crashes from being reported to +* [fixed] Fixed a race condition that prevented some launch-time crashes from being reported to Crashlytics. -- [changed] Internal changes to support upcoming Unity crash reporting improvements. +* [changed] Internal changes to support upcoming Unity crash reporting improvements. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.1 - -- [fixed] Fixed a `ConcurrentModificationException` that could be logged to logcat when setting +* [fixed] Fixed a `ConcurrentModificationException` that could be logged to logcat when setting multiple custom key/values in rapid succession. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.0 +* [changed] Internal changes. -- [changed] Internal changes. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.1.0 +* [changed] Internal changes to support upcoming Unity features. -- [changed] Internal changes to support upcoming Unity features. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.0.1 - -- [fixed] Fixed a bug that could prevent proper removal of [crashlytics] NDK crash report files when +* [fixed] Fixed a bug that could prevent proper removal of [crashlytics] NDK crash report files when crash reporting is disabled, resulting in excessive disk use. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.0.0 - -- [changed] Removed call to +* [changed] Removed call to [`FirebaseInstallations#getId()`]() when [automatic data collection](/docs/crashlytics/customize-crash-reports?platform=android#enable-reporting) is disabled for [crashlytics]. [crashlytics] no longer makes any network calls when reporting is disabled. -- [changed] Internal changes to support dynamic feature modules. +* [changed] Internal changes to support dynamic feature modules. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.4.1 - -- [changed] Improved rooted device detection. (#2515) -- [fixed] Fix an uncaught IllegalStateExeception that could be thrown if [crashlytics] is unable to +* [changed] Improved rooted device detection. (#2515) +* [fixed] Fix an uncaught IllegalStateExeception that could be thrown if [crashlytics] is unable to register a receiver that collects battery state information. If registration fails due to the app already having registered too many receivers, [crashlytics] will report default values for the battery state rather than crashing. (#2504) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.4.0 - -- [feature] Added the +* [feature] Added the [`setCustomKeys`](/docs/reference/android/com/google/firebase/crashlytics/CustomKeysAndValues) API to allow bulk logging of custom keys and values. ([Github PR #2443](//github.com/firebase/firebase-android-sdk/pull/2443){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.3.1 - -- [changed] Removed OkHttp dependency to eliminate conflicts with apps and SDKs using incompatible +* [changed] Removed OkHttp dependency to eliminate conflicts with apps and SDKs using incompatible versions. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.3.0 - -- [changed] Clarified debug logs for crash reports enqueued to be sent via the +* [changed] Clarified debug logs for crash reports enqueued to be sent via the `firebase-datatransport` library. -- [fixed] Addressed an issue which could cause a `RejectedExecutionException` in rare cases. +* [fixed] Addressed an issue which could cause a `RejectedExecutionException` in rare cases. ([Github Issue #2013](//github.com/firebase/firebase-android-sdk/issues/2013){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.2.2 - -- [fixed] Fixed crash that can occur when using a built-in resource as the app launcher icon. +* [fixed] Fixed crash that can occur when using a built-in resource as the app launcher icon. ([Github Issue #1935](//github.com/firebase/firebase-android-sdk/issues/1935){: .external}) -- [fixed] Fixed a bug preventing crash reports from being sent in some cases when an app is using +* [fixed] Fixed a bug preventing crash reports from being sent in some cases when an app is using [crashlytics] on multiple processes. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.2.1 - -- [fixed] Improved handling of asynchronous tasks that need to wait for completion on the main +* [fixed] Improved handling of asynchronous tasks that need to wait for completion on the main thread. ([Github PR #1739](//github.com/firebase/firebase-android-sdk/pull/1739){: .external}) -- [changed] Added an overload to the `setCrashlyticsCollectionEnabled` API to allow for passing +* [changed] Added an overload to the `setCrashlyticsCollectionEnabled` API to allow for passing `null` to clear any previously set value. ([Github PR #1434](//github.com/firebase/firebase-android-sdk/pull/1434){: .external}) -- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. ([Github PR #1760](//github.com/firebase/firebase-android-sdk/pull/1760){: .external}) {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.1.1 - -- [changed] To improve the reliability of submitting crash uploads on poor networks, changed the +* [changed] To improve the reliability of submitting crash uploads on poor networks, changed the Transport SDK to retry connection errors ([Github Issue #1705](//github.com/firebase/firebase-android-sdk/issues/1705){: .external}) and increased the number of retries before deleting events ([Github Issue #1708](//github.com/firebase/firebase-android-sdk/issues/1708){: .external}). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.1.0 - -- [fixed] Updated [crashlytics] integration with [firebase_analytics] to include native crashes in +* [fixed] Updated [crashlytics] integration with [firebase_analytics] to include native crashes in crash-free users counts. -- [fixed] Removed a harmless, yet unexpected `FileNotFoundException` log output that printed when an +* [fixed] Removed a harmless, yet unexpected `FileNotFoundException` log output that printed when an optional file is unavailable. ([Github Issue #1559](//github.com/firebase/firebase-android-sdk/issues/1559#issuecomment-638387614){: .external}) -## Kotlin -- [feature] The [firebase_crashlytics] Android library with Kotlin extensions is now available. The +## Kotlin +* [feature] The [firebase_crashlytics] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-crashlytics` library. To learn more, visit the [[crashlytics] KTX documentation](/docs/reference/kotlin/com/google/firebase/crashlytics/ktx/package-summary). # 17.0.1 - -- [fixed] Fixed an issue causing a `SQLiteException` when changing versions of [crashlytics]. +* [fixed] Fixed an issue causing a `SQLiteException` when changing versions of [crashlytics]. ([Github Issue #1531](https://github.com/firebase/firebase-android-sdk/issues/1531){: .external}) -- [fixed] Improved reliability of sending reports at crash time on Android API level 28+. +* [fixed] Improved reliability of sending reports at crash time on Android API level 28+. # 17.0.0 - -- [changed] The [firebase_crashlytics] SDK is now generally available. -- [fixed] Fixed an issue that could cause apps to crash if a crash report payload is too large +* [changed] The [firebase_crashlytics] SDK is now generally available. +* [fixed] Fixed an issue that could cause apps to crash if a crash report payload is too large (rare). -- [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step +* [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step towards a direct dependency on the [firebase_installations] service in a future release. # 17.0.0-beta04 - -- [changed] Imposed a limit on the maximum crash report payload size. -- [fixed] Reduced crash report payload size. +* [changed] Imposed a limit on the maximum crash report payload size. +* [fixed] Reduced crash report payload size. # 17.0.0-beta03 - -- [fixed] Fixed internal bugs to improve crash analysis and grouping. -- [changed] Improved compatibility with Google Analytics. For best performance, make sure you're +* [fixed] Fixed internal bugs to improve crash analysis and grouping. +* [changed] Improved compatibility with Google Analytics. For best performance, make sure you're using the latest versions of the [firebase_crashlytics] SDK and the Firebase SDK for Google Analytics. -- [changed] Updated remaining [crashlytics] backend API calls to prepare for Fabric sunset. +* [changed] Updated remaining [crashlytics] backend API calls to prepare for Fabric sunset. # 17.0.0-beta02 - -- [changed] Removed superfluous `D/FirebaseCrashlytics` prefix from logs. +* [changed] Removed superfluous `D/FirebaseCrashlytics` prefix from logs. ([#1202](https://github.com/firebase/firebase-android-sdk/issues/1202)) -- [changed] Updated [crashlytics] backend API calls in preparation for Fabric sunset. -- [changed] Upgraded [firebase_analytics] integration to improve crash-free users accuracy. For +* [changed] Updated [crashlytics] backend API calls in preparation for Fabric sunset. +* [changed] Upgraded [firebase_analytics] integration to improve crash-free users accuracy. For improved performance, we recommend that you upgrade to the latest version of the Firebase SDK for [firebase_analytics] with this version of [firebase_crashlytics]. # 17.0.0-beta01 - This release for [firebase_crashlytics] includes the initial beta release of the [firebase_crashlytics] SDK. @@ -680,11 +619,12 @@ name change. The following release notes describe changes in the new SDK. -- [changed] Replaced static methods with new instance methods that are more consistent with other +* [changed] Replaced static methods with new instance methods that are more consistent with other Firebase SDKs and more intuitive to use. The new APIs give your users more control over how you collect their data. -- [removed] Removed the Fabric [crashlytics] API key. Now, [crashlytics] will always use the +* [removed] Removed the Fabric [crashlytics] API key. Now, [crashlytics] will always use the `google-services.json` file to associate your app with your Firebase project. If you linked your app from Fabric, remove the Fabric API key from your `AndroidManifest.xml` file. -- [removed] The `fabric.properties` and `crashlytics.properties` files are no longer supported. +* [removed] The `fabric.properties` and `crashlytics.properties` files are no longer supported. Remove them from your app. + diff --git a/firebase-crashlytics/gradle.properties b/firebase-crashlytics/gradle.properties index 931ac3f887f..1f1b6b0c4a8 100644 --- a/firebase-crashlytics/gradle.properties +++ b/firebase-crashlytics/gradle.properties @@ -1,2 +1,2 @@ -version=20.0.2 -latestReleasedVersion=20.0.1 +version=20.0.3 +latestReleasedVersion=20.0.2 diff --git a/firebase-database/CHANGELOG.md b/firebase-database/CHANGELOG.md index f7fc704b8b0..6938d8467d4 100644 --- a/firebase-database/CHANGELOG.md +++ b/firebase-database/CHANGELOG.md @@ -1,275 +1,252 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 22.0.0 +# 22.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 22.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.0 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.3.1 - -- [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge +* [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge methods. [#5626](//github.com/firebase/firebase-android-sdk/pull/5706) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.3.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-database-ktx` to +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-database-ktx` to `com.google.firebase:firebase-database` under the `com.google.firebase.database` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-database-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-database-ktx` have been added to `com.google.firebase:firebase-database` under the `com.google.firebase.database` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-database-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.2.2 +* [changed] Internal changes to ensure alignment with other SDK releases. -- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.2.1 +* [changed] Internal changes to ensure alignment with other SDK releases. -- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.2.0 - -- [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions library. -## Kotlin -- [feature] Added +## Kotlin +* [feature] Added [`Query.values()`](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary#values) Kotlin Flows to listen for realtime updates and convert its values to a specific type. # 20.1.0 - -- [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-database-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. -- [feature] Added +* [feature] Added [`Query.snapshots`](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary#snapshots) and [`Query.childEvents`](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary#childEvents) Kotlin Flows to listen to realtime events. # 20.0.6 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +* [fixed] Fixed issue where `Query.get()` was propagating events to listeners on unrelated queries. -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [fixed] Fixed issue where `Query.get()` was propagating events to listeners on unrelated queries. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.5 - -- [fixed] `Query.get` no longer throws "Client is offline" exception when local value is not +* [fixed] `Query.get` no longer throws "Client is offline" exception when local value is not available. Instead, it waits for a backend connection. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.4 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.3 - -- [fixed] Fixed a crash that prevented the SDK from connecting to the backend if a credential +* [fixed] Fixed a crash that prevented the SDK from connecting to the backend if a credential refresh was unsuccesful. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.2 - -- [fixed] The SDK can now continue to issue writes for apps that send invalid [app_check] tokens if +* [fixed] The SDK can now continue to issue writes for apps that send invalid [app_check] tokens if [app_check] enforcement is not enabled. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.1 - -- [fixed] Fixed an issue that prevented clients from connecting to the backend when the app used +* [fixed] Fixed an issue that prevented clients from connecting to the backend when the app used [app_check] without [auth]. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.0 +* [feature] Added abuse reduction features. +* [changed] Internal changes to support dynamic feature modules. +* [changed] Internal infrastructure improvements. -- [feature] Added abuse reduction features. -- [changed] Internal changes to support dynamic feature modules. -- [changed] Internal infrastructure improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.7.0 - -- [feature] Added +* [feature] Added [`Query#startAfter()`]() and [`Query#endBefore()`]() filters to help with paginated queries. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.6.0 - -- [feature] Added +* [feature] Added [`DatabaseReference#get()`]() and [`Query#get()`](), which return data from the server even when older data is available in the local cache. -- [fixed] Fixed a crash that occured on some Pixel devices when closing the network connection. +* [fixed] Fixed a crash that occured on some Pixel devices when closing the network connection. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.5.1 - -- [fixed] Fixed a regression introduced in v19.3.0 that may cause assertion failures, especially +* [fixed] Fixed a regression introduced in v19.3.0 that may cause assertion failures, especially when persistence is enabled. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.5.0 - -- [feature] The SDK can now infer a default database URL even if it is omitted in the project's +* [feature] The SDK can now infer a default database URL even if it is omitted in the project's configuration. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.4.0 - -- [feature] Added support for connecting to the Firebase Emulator Suite via a new method, +* [feature] Added support for connecting to the Firebase Emulator Suite via a new method, [`FirebaseDatabase#useEmulator()`](). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.3.1 +* [changed] Added internal HTTP header to the WebChannel connection. -- [changed] Added internal HTTP header to the WebChannel connection. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.3.0 - -- [feature] Added +* [feature] Added [`ServerValue.increment()`]() to support atomic field value increments without transactions. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.2.1 +* [changed] Internal changes to ensure functionality alignment with other SDK releases. -- [changed] Internal changes to ensure functionality alignment with other SDK releases. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.2.0 - -- [feature] Added support for type wildcards in +* [feature] Added support for type wildcards in [`GenericTypeIndicator`](/docs/reference/android/com/google/firebase/database/GenericTypeIndicator), expanding our custom class serialization to include classes with wildcard generics. -## Kotlin -- [feature] The beta release of a [database] Android library with Kotlin extensions is now +## Kotlin +* [feature] The beta release of a [database] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-database` library. To learn more, visit the [[database] KTX documentation](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary). # 19.1.0 - -- [feature] Added support for the [firebase_database] Emulator. To connect to the emulator, specify +* [feature] Added support for the [firebase_database] Emulator. To connect to the emulator, specify "http://:/?ns=" as your Database URL (via [`FirebaseDatabase.getInstance(String)`]()). Note that if you are running the [database] Emulator on "localhost" and connecting from an app @@ -277,36 +254,30 @@ Kotlin extensions library has no additional updates. followed by its port. # 19.0.0 - -- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No +* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.1 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. -- [fixed] The SDK now reports the correct version number (via +* [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [fixed] The SDK now reports the correct version number (via [`FirebaseDatabase.getSdkVersion()`](). # 17.0.0 - -- [changed] Internal changes that rely on an updated API to obtain authentication credentials. If +* [changed] Internal changes that rely on an updated API to obtain authentication credentials. If you use [firebase_auth], update to `firebase-auth` v17.0.0 or later to ensure functionality alignment. # 16.0.6 - -- [fixed] Fixed a potential `NullPointerException` calling method `java.lang.String.toLowerCase`. +* [fixed] Fixed a potential `NullPointerException` calling method `java.lang.String.toLowerCase`. (https://github.com/firebase/firebase-android-sdk/issues/179) # 16.0.3 - -- [fixed] Fixed an initialization issue that prevented the Realtime Database client from being +* [fixed] Fixed an initialization issue that prevented the Realtime Database client from being initialized outside of Android's main thread. # 16.0.2 - -- [fixed] This release includes minor fixes and improvements. +* [fixed] This release includes minor fixes and improvements. # 16.0.1 +* [changed] Added `Nullability` annotations to all public API classes/methods. -- [changed] Added `Nullability` annotations to all public API classes/methods. diff --git a/firebase-database/gradle.properties b/firebase-database/gradle.properties index 575718ab54c..86bf0b02aab 100644 --- a/firebase-database/gradle.properties +++ b/firebase-database/gradle.properties @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=22.0.1 -latestReleasedVersion=22.0.0 +version=22.0.2 +latestReleasedVersion=22.0.1 android.enableUnitTestBinaryResources=true diff --git a/firebase-dataconnect/CHANGELOG.md b/firebase-dataconnect/CHANGELOG.md index ad1bbfc3eac..386d0ed28bd 100644 --- a/firebase-dataconnect/CHANGELOG.md +++ b/firebase-dataconnect/CHANGELOG.md @@ -1,7 +1,9 @@ # Unreleased -- [changed] Bumped internal dependencies. -- [changed] Ignore unknown fields in response data instead of throwing a + +# 17.0.1 +* [changed] Bumped internal dependencies. +* [changed] Ignore unknown fields in response data instead of throwing a `DataConnectOperationException` with message "decoding data from the server's response failed: An unknown field for index -3" ([#7314](https://github.com/firebase/firebase-android-sdk/pull/7314)) - [changed] Added classes `EnumValue` and `EnumValueSerializer`. These classes are identical to @@ -10,94 +12,85 @@ ([#7153](https://github.com/firebase/firebase-android-sdk/pull/7153)) # 17.0.0 - -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [changed] Removed superfluous and noisy debug logging of operation variables. +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [changed] Removed superfluous and noisy debug logging of operation variables. # 16.0.3 - -- [fixed] Fixed occasional `NullPointerException` when registering with FirebaseAuth, leading to +* [fixed] Fixed occasional `NullPointerException` when registering with FirebaseAuth, leading to erroneous UNAUTHENTICATED exceptions. ([#7001](https://github.com/firebase/firebase-android-sdk/pull/7001)) # 16.0.2 - -- [changed] Improved code robustness related to state management in `FirebaseDataConnect` objects. +* [changed] Improved code robustness related to state management in `FirebaseDataConnect` objects. ([#6861](https://github.com/firebase/firebase-android-sdk/pull/6861)) # 16.0.1 - -- [changed] Internal improvements. +* [changed] Internal improvements. # 16.0.0 - -- [changed] DataConnectOperationException added, enabling support for partial errors; that is, any +* [changed] DataConnectOperationException added, enabling support for partial errors; that is, any data that was received and/or was able to be decoded is now available via the "response" property of the exception thrown when a query or mutation is executed. ([#6794](https://github.com/firebase/firebase-android-sdk/pull/6794)) # 16.0.0-beta05 - -- [changed] Changed gRPC proto package to v1 (was v1beta). +* [changed] Changed gRPC proto package to v1 (was v1beta). ([#6729](https://github.com/firebase/firebase-android-sdk/pull/6729)) # 16.0.0-beta04 - -- [changed] `FirebaseDataConnect.logLevel` type changed from `LogLevel` to +* [changed] `FirebaseDataConnect.logLevel` type changed from `LogLevel` to `MutableStateFlow`. This enables apps to "collect" the flow to, for example, update a UI component when the log level changes. ([#6586](https://github.com/firebase/firebase-android-sdk/pull/6586)) # 16.0.0-beta03 - -- [changed] Requires Data Connect emulator version 1.6.1 or later for code generation. -- [feature] QueryRef and MutationRef gain methods copy(), withDataDeserializer(), and +* [changed] Requires Data Connect emulator version 1.6.1 or later for code generation. +* [feature] QueryRef and MutationRef gain methods copy(), withDataDeserializer(), and withVariablesSerializer(). ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -- [feature] GeneratedConnector gains methods copy(), operations(), queries(), and mutations(). +* [feature] GeneratedConnector gains methods copy(), operations(), queries(), and mutations(). ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -- [feature] GeneratedQuery and GeneratedMutation gain methods copy(), withVariablesSerializer(), and +* [feature] GeneratedQuery and GeneratedMutation gain methods copy(), withVariablesSerializer(), and withDataDeserializer(). ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -- [feature] GeneratedConnector, GeneratedQuery, and GeneratedMutation now must implement equals() to +* [feature] GeneratedConnector, GeneratedQuery, and GeneratedMutation now must implement equals() to be a _logical_ comparsion, rather than just checking for _referencial_ equality using the `===` operator. ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -- [feature] ExperimentalFirebaseDataConnect annotation added, and some APIs have been annotated with +* [feature] ExperimentalFirebaseDataConnect annotation added, and some APIs have been annotated with it, requiring applications that make use of these experimental APIs to opt-in using `@OptIn(ExperimentalFirebaseDataConnect::class)` to suppress warnings or errors related to using these experimental APIs. ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) and ([#6433](https://github.com/firebase/firebase-android-sdk/pull/6433)) -- [changed] Replaced java.util.Date with com.google.firebase.dataconnect.LocalDate. +* [changed] Replaced java.util.Date with com.google.firebase.dataconnect.LocalDate. ([#6434](https://github.com/firebase/firebase-android-sdk/pull/6434)) -- [changed] `DateSerializer` removed, as it is superceded by `LocalDateSerializer`. As of Data +* [changed] `DateSerializer` removed, as it is superceded by `LocalDateSerializer`. As of Data Connect emulator version 1.7.0, the generated Kotlin code uses `com.google.firebase.dataconnect.LocalDate` instead of `java.util.Date`. Therefore, this version of the SDK must be paired with code generated by version 1.7.0 (or later) of the Data Connect emulator. ([#6513](https://github.com/firebase/firebase-android-sdk/pull/6513)) -- [feature] JavaTimeLocalDateSerializer and KotlinxDatetimeLocalDateSerializer added, to enable +* [feature] JavaTimeLocalDateSerializer and KotlinxDatetimeLocalDateSerializer added, to enable using the standard "local date" classes `java.time.LocalDate` and/or `kotlinx.datetime.LocalDate` instead of the bespoke `com.google.firebase.dataconnect.LocalDate` class for `Date` GraphQL fields and variables. ([#6519](https://github.com/firebase/firebase-android-sdk/pull/6519)) # 16.0.0-beta02 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). # 16.0.0-beta01 - -- [feature] Initial release of the Data Connect SDK (public preview). Learn how to +* [feature] Initial release of the Data Connect SDK (public preview). Learn how to [get started](https://firebase.google.com/docs/data-connect/android-sdk) with the SDK in your app. -- [feature] Added App Check support. +* [feature] Added App Check support. ([#6176](https://github.com/firebase/firebase-android-sdk/pull/6176)) -- [feature] Added `AnyValue` to support the `Any` custom GraphQL scalar type. +* [feature] Added `AnyValue` to support the `Any` custom GraphQL scalar type. ([#6285](https://github.com/firebase/firebase-android-sdk/pull/6285)) -- [feature] Added `OrderDirection` enum support. +* [feature] Added `OrderDirection` enum support. ([#6307](https://github.com/firebase/firebase-android-sdk/pull/6307)) -- [feature] Added ability to specify `SerializersModule` when serializing. +* [feature] Added ability to specify `SerializersModule` when serializing. ([#6297](https://github.com/firebase/firebase-android-sdk/pull/6297)) -- [feature] Added `CallerSdkType`, which enables tracking of the generated SDK usage. +* [feature] Added `CallerSdkType`, which enables tracking of the generated SDK usage. ([#6298](https://github.com/firebase/firebase-android-sdk/pull/6298) and [#6179](https://github.com/firebase/firebase-android-sdk/pull/6179)) -- [changed] Changed gRPC proto package to v1beta (was v1alpha). +* [changed] Changed gRPC proto package to v1beta (was v1alpha). ([#6299](https://github.com/firebase/firebase-android-sdk/pull/6299)) -- [changed] Added `equals` and `hashCode` methods to `GeneratedConnector`. +* [changed] Added `equals` and `hashCode` methods to `GeneratedConnector`. ([#6177](https://github.com/firebase/firebase-android-sdk/pull/6177)) + diff --git a/firebase-dataconnect/gradle.properties b/firebase-dataconnect/gradle.properties index 007267075f6..5edbef4515b 100644 --- a/firebase-dataconnect/gradle.properties +++ b/firebase-dataconnect/gradle.properties @@ -1,2 +1,2 @@ -version=17.1.0 -latestReleasedVersion=17.0.0 +version=17.0.2 +latestReleasedVersion=17.0.1 diff --git a/firebase-datatransport/CHANGELOG.md b/firebase-datatransport/CHANGELOG.md index 928885d6029..17b5a8c33b0 100644 --- a/firebase-datatransport/CHANGELOG.md +++ b/firebase-datatransport/CHANGELOG.md @@ -1,15 +1,15 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 20.0.0 +# 20.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +# 20.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 19.0.0 - -- [changed] Bump internal dependencies. +* [changed] Bump internal dependencies. # 18.2.0 +* [feature] Expose the transport factory as a qualified dependency based on the endpoint connected. -- [feature] Expose the transport factory as a qualified dependency based on the endpoint connected. diff --git a/firebase-datatransport/gradle.properties b/firebase-datatransport/gradle.properties index a9977180ef7..a6cc7e6cfa9 100644 --- a/firebase-datatransport/gradle.properties +++ b/firebase-datatransport/gradle.properties @@ -1,3 +1,3 @@ -version=20.0.1 -latestReleasedVersion=20.0.0 +version=20.0.2 +latestReleasedVersion=20.0.1 android.enableUnitTestBinaryResources=true diff --git a/firebase-firestore/CHANGELOG.md b/firebase-firestore/CHANGELOG.md index 375c5d3d447..88accf80c67 100644 --- a/firebase-firestore/CHANGELOG.md +++ b/firebase-firestore/CHANGELOG.md @@ -1,7 +1,9 @@ # Unreleased -- [changed] Bumped internal dependencies. -- [changed] Improve the performance of queries in collections that contain many deleted documents. + +# 26.0.1 +* [changed] Bumped internal dependencies. +* [changed] Improve the performance of queries in collections that contain many deleted documents. [#7295](//github.com/firebase/firebase-android-sdk/issues/7295) - [changed] Improve query performance in large result sets by replacing the deprecated AsyncTask thread pool with a self-managed thread pool. @@ -10,579 +12,528 @@ [#7370](//github.com/firebase/firebase-android-sdk/issues/7370) # 26.0.0 - -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). -- [fixed] Further improved performance of UTF-8 string ordering logic, which had degraded in v25.1.2 +* [fixed] Further improved performance of UTF-8 string ordering logic, which had degraded in v25.1.2 and received some improvements in v25.1.3. [#7053](//github.com/firebase/firebase-android-sdk/issues/7053) -- [changed] Use the `compare()` methods defined in standard `Integer`, `Long`, and `Character` +* [changed] Use the `compare()` methods defined in standard `Integer`, `Long`, and `Character` classes instead of Firestore's bespoke implementations. [#7109](//github.com/firebase/firebase-android-sdk/pull/7109) # 25.1.4 - -- [fixed] Fixed the `null` value handling in `whereNotEqualTo` and `whereNotIn` filters. -- [fixed] Catch exception when stream is already cancelled during close. +* [fixed] Fixed the `null` value handling in `whereNotEqualTo` and `whereNotIn` filters. +* [fixed] Catch exception when stream is already cancelled during close. [#6894](//github.com/firebase/firebase-android-sdk/pull/6894) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.3 - -- [fixed] Use lazy encoding in UTF-8 encoded byte comparison for strings to solve performance +* [fixed] Use lazy encoding in UTF-8 encoded byte comparison for strings to solve performance issues. [#6706](//github.com/firebase/firebase-android-sdk/pull/6706) -- [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] +* [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.2 - -- [fixed] Fixed a server and sdk mismatch in unicode string sorting. +* [fixed] Fixed a server and sdk mismatch in unicode string sorting. [#6615](//github.com/firebase/firebase-android-sdk/pull/6615) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.1 - -- [changed] Update Firestore proto definitions. +* [changed] Update Firestore proto definitions. [#6369](//github.com/firebase/firebase-android-sdk/pull/6369) -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.0 - -- [feature] Add support for the VectorValue type. +* [feature] Add support for the VectorValue type. [#6154](//github.com/firebase/firebase-android-sdk/pull/6154) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.0.0 - -- [feature] Enable queries with range & inequality filters on multiple fields. +* [feature] Enable queries with range & inequality filters on multiple fields. [#5729](//github.com/firebase/firebase-android-sdk/pull/5729) -- [changed] Internal improvements. -- [feature] Support conversion between `java.time.Instant` and `Timestamp` +* [changed] Internal improvements. +* [feature] Support conversion between `java.time.Instant` and `Timestamp` [#5853](//github.com/firebase/firebase-android-sdk/pull/5853) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.11.0 - -- [feature] Enable snapshot listener option to retrieve data from local cache only. +* [feature] Enable snapshot listener option to retrieve data from local cache only. [#5690](//github.com/firebase/firebase-android-sdk/pull/5690) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.3 - -- [fixed] Fixed the missing handling setter annotations bug introduced by +* [fixed] Fixed the missing handling setter annotations bug introduced by [#5626](//github.com/firebase/firebase-android-sdk/pull/5626). [#5706](//github.com/firebase/firebase-android-sdk/pull/5706) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.2 - -- [changed] Internal test improvements. -- [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge +* [changed] Internal test improvements. +* [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge methods. [#5626](//github.com/firebase/firebase-android-sdk/pull/5626) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.1 - -- [fixed] Fixed an issue caused by calling mutation on immutable map object. +* [fixed] Fixed an issue caused by calling mutation on immutable map object. [#5573](//github.com/firebase/firebase-android-sdk/pull/5573) -- [fixed] Fixed an issue in the local cache synchronization logic where all locally-cached documents +* [fixed] Fixed an issue in the local cache synchronization logic where all locally-cached documents that matched a resumed query would be unnecessarily re-downloaded; with the fix it now only downloads the documents that are known to be out-of-sync. [#5506](//github.com/firebase/firebase-android-sdk/pull/5506) -- [fixed] Fixed an issue where GC runs into a infinite loop in a certain case. +* [fixed] Fixed an issue where GC runs into a infinite loop in a certain case. [#5417](https://github.com/firebase/firebase-android-sdk/issues/5417) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.0 - -- [fixed] Fixed the `DocumentSnapshot` equals method to not consider internal state when comparing +* [fixed] Fixed the `DocumentSnapshot` equals method to not consider internal state when comparing snapshots. # 24.9.1 - -- [feature] Expose Sum/Average aggregate query support in API. +* [feature] Expose Sum/Average aggregate query support in API. [#5217](//github.com/firebase/firebase-android-sdk/pull/5217) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.9.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-firestore-ktx` to +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-firestore-ktx` to `com.google.firebase:firebase-firestore` under the `com.google.firebase.firestore` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-firestore-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-firestore-ktx` have been added to `com.google.firebase:firebase-firestore` under the `com.google.firebase.firestore` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-firestore-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.8.1 - -- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. +* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. [#5337] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.8.0 - -- [feature] Added the option to allow the SDK to create cache indexes automatically to improve query +* [feature] Added the option to allow the SDK to create cache indexes automatically to improve query execution locally. See [`db.getPersistentCacheIndexManager().enableIndexAutoCreation()`]() ([GitHub [#4987](//github.com/firebase/firebase-android-sdk/pull/4987){: .external}). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.7.1 - -- [fixed] Implement equals method on Filter class. +* [fixed] Implement equals method on Filter class. [#5210](//github.com/firebase/firebase-android-sdk/issues/5210) # 24.7.0 - -- [feature] Expose MultiDb support in API. +* [feature] Expose MultiDb support in API. [#4015](//github.com/firebase/firebase-android-sdk/issues/4015) -- [fixed] Fixed a thread interference issue that may lead to a ConcurrentModificationException. +* [fixed] Fixed a thread interference issue that may lead to a ConcurrentModificationException. (GitHub [#5091](//github.com/firebase/firebase-android-sdk/issues/5091){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.6.1 - -- [feature] Implemented an optimization in the local cache synchronization logic that reduces the +* [feature] Implemented an optimization in the local cache synchronization logic that reduces the number of billed document reads when documents were deleted on the server while the client was not actively listening to the query (e.g. while the client was offline). (GitHub [#4982](//github.com/firebase/firebase-android-sdk/pull/4982){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.6.0 - -- [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub +* [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub [#4702](//github.com/firebase/firebase-android-sdk/issues/4702){: .external}) -- [feature] Added new +* [feature] Added new [cache config APIs]() to customize the SDK's cache setup. -- [feature] Added +* [feature] Added [LRU garbage collector](/docs/reference/android/com/google/firebase/firestore/MemoryLruGcSettings) to the SDK's memory cache. -- [deprecated] Deprecated the following APIs from +* [deprecated] Deprecated the following APIs from [`FirebaseFirestoreSettings`](/docs/reference/android/com/google/firebase/firestore/FirebaseFirestoreSettings):
`isPersistenceEnabled` and `getCacheSizeBytes`. -- [deprecated] Deprecated the following APIs from +* [deprecated] Deprecated the following APIs from [`FirebaseFirestoreSettings.Builder`]():
`isPersistenceEnabled`, `getCacheSizeBytes`, `setPersistenceEnabled`, and `setCacheSizeBytes`. -- [changed] Internal changes to ensure alignment with other SDK releases. +* [changed] Internal changes to ensure alignment with other SDK releases. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.5.0 - -- [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub +* [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub [#4702](//github.com/firebase/firebase-android-sdk/issues/4702){: .external}) -## Kotlin -- [feature] Added +## Kotlin +* [feature] Added [`Query.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects) and [`DocumentReference.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects_1) Kotlin Flows to listen for realtime updates and convert its values to a specific type. # 24.4.5 +* [feature] Added support for disjunctions in queries (`OR` queries). -- [feature] Added support for disjunctions in queries (`OR` queries). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.4 - -- [changed] Relaxed certain query validations performed by the SDK +* [changed] Relaxed certain query validations performed by the SDK ([GitHub Issue #4231](//github.com/firebase/firebase-android-sdk/issues/4231)). -- [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, and protobuf-java-util to 3.21.11. +* [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, and protobuf-java-util to 3.21.11. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.3 +* [fixed] Fixed a potential high-memory usage issue. +* [fixed] Fixed an issue that stopped some performance optimization from being applied. -- [fixed] Fixed a potential high-memory usage issue. -- [fixed] Fixed an issue that stopped some performance optimization from being applied. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.2 +* [fixed] Fixed an issue that stopped some performance optimization from being applied. -- [fixed] Fixed an issue that stopped some performance optimization from being applied. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.1 - -- [fixed] Fix `FAILED_PRECONDITION` when writing to a deleted document in a transaction. (#5871) -- [fixed] Fixed [firestore] failing to raise initial snapshot from an empty local cache result. +* [fixed] Fix `FAILED_PRECONDITION` when writing to a deleted document in a transaction. (#5871) +* [fixed] Fixed [firestore] failing to raise initial snapshot from an empty local cache result. (#4207) -- [fixed] Removed invalid suggestions to use `GenericTypeIndicator` from error messages. (#222) -- [changed] Updated dependency of `io.grpc.*` to its latest version (v1.50.2). +* [fixed] Removed invalid suggestions to use `GenericTypeIndicator` from error messages. (#222) +* [changed] Updated dependency of `io.grpc.*` to its latest version (v1.50.2). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.0 - -- [feature] Added +* [feature] Added [`Query.count()`](), which fetches the number of documents in the result set without actually downloading the documents. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-firestore-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 24.3.1 +* [changed] Updated dependency of `io.grpc.*` to its latest version (v1.48.1). -- [changed] Updated dependency of `io.grpc.*` to its latest version (v1.48.1). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. # 24.3.0 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library also has the following additional updates: -- [feature] Added +* [feature] Added [`Query.snapshots()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#snapshots_1) and [`DocumentReference.snapshots()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#snapshots) Kotlin Flows to listen for realtime updates. # 24.2.2 +* [fixed] Fixed an issue in `waitForPendingWrites()` that could lead to a `NullPointerException`. -- [fixed] Fixed an issue in `waitForPendingWrites()` that could lead to a `NullPointerException`. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.2.1 +* [changed] Internal refactor and test improvements. -- [changed] Internal refactor and test improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.2.0 - -- [feature] Added customization support for +* [feature] Added customization support for [`FirebaseFirestore.runTransaction`](). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.1.2 +* [fixed] Fixed an issue where patching multiple fields shadows each other. (#3528). -- [fixed] Fixed an issue where patching multiple fields shadows each other. (#3528). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.1.1 - -- [fixed] Fixed an issue in the beta version of the index engine that might cause [firestore] to +* [fixed] Fixed an issue in the beta version of the index engine that might cause [firestore] to exclude document results for limit queries with local modifications. -- [changed] [firestore] can now serialize objects with `android.net.Uri`s. +* [changed] [firestore] can now serialize objects with `android.net.Uri`s. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.1.0 - -- [feature] Added beta support for indexed query execution. You can enable indexes by invoking +* [feature] Added beta support for indexed query execution. You can enable indexes by invoking `FirebaseFirestore.setIndexConfiguration()` with the JSON index definition exported by the [firebase_cli]. Queries against the cache are executed using an index once the asynchronous index generation completes. -- [fixed] Fixed missing document fields issue with offline overlays. (#3528). +* [fixed] Fixed missing document fields issue with offline overlays. (#3528). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.0.2 - -- [fixed] Fixed a [firebase_app_check] issue that caused [firestore] listeners to stop working and +* [fixed] Fixed a [firebase_app_check] issue that caused [firestore] listeners to stop working and receive a `Permission Denied` error. This issue only occurred if the [app_check] expiration time was set to under an hour. -- [fixed] Fixed a potential problem during the shutdown of [firestore] that prevented the shutdown +* [fixed] Fixed a potential problem during the shutdown of [firestore] that prevented the shutdown from proceeding if a network connection was opened right before. -- [fixed] Fixed an NPE issue where mutations with multiple documents were not handled correctly +* [fixed] Fixed an NPE issue where mutations with multiple documents were not handled correctly during previous mutation acknowledgement. (#3490). -- [changed] Queries are now sent to the backend before the SDK starts local processing, which +* [changed] Queries are now sent to the backend before the SDK starts local processing, which reduces overall query latency. -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.0.1 +* [changed] Optimized performance for offline usage. +* [changed] Optimized performance for queries with collections that contain subcollections. -- [changed] Optimized performance for offline usage. -- [changed] Optimized performance for queries with collections that contain subcollections. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.0.0 - -- [changed] This SDK now requires devices and emulators to target API level 19 (KitKat) or higher +* [changed] This SDK now requires devices and emulators to target API level 19 (KitKat) or higher and to use Android 4.4 or higher. This is due to an update in its gRPC dependency version and to align with requirements of other Firebase libraries. -- [feature] Added support for [firebase_app_check]. +* [feature] Added support for [firebase_app_check]. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.4 - -- [fixed] Fixed an issue where some fields were missed when copying in the +* [fixed] Fixed an issue where some fields were missed when copying in the `FirebaseFirestoreSettings.Builder` copy constructor. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.3 - -- [fixed] Fixed an issue that was causing failures when a data bundle with multi-byte Unicode +* [fixed] Fixed an issue that was causing failures when a data bundle with multi-byte Unicode characters was loaded. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.2 +* [changed] Improved Firestore's network condition detection. -- [changed] Improved Firestore's network condition detection. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.1 - -- [changed] The SDK now tries to immediately establish a connection to the backend when the app +* [changed] The SDK now tries to immediately establish a connection to the backend when the app enters the foreground. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.0 +* [changed] Internal infrastructure improvements. +* [changed] Internal changes to support dynamic feature modules. -- [changed] Internal infrastructure improvements. -- [changed] Internal changes to support dynamic feature modules. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.1.2 +* [changed] Internal changes in preparation for future support of dynamic feature modules. -- [changed] Internal changes in preparation for future support of dynamic feature modules. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.1.1 - -- [fixed] Fixed an issue that dropped the limit for queries loaded from [firestore] bundles that +* [fixed] Fixed an issue that dropped the limit for queries loaded from [firestore] bundles that were generated by the NodeJS SDK. -- [fixed] Fixed a bug where local cache inconsistencies were unnecessarily being resolved, causing +* [fixed] Fixed a bug where local cache inconsistencies were unnecessarily being resolved, causing the `Task` objects returned from `get()` invocations to never complete. #2404 -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.1.0 - -- [feature] Added support for [firestore] bundles via +* [feature] Added support for [firestore] bundles via [`FirebaseFirestore.loadBundle()`]() and [`FirebaseFirestore.getNamedQuery()`](). Bundles contain pre-packaged data produced with the Firebase Admin Node.js SDK and can be used to populate the cache for [firestore] without the need to read documents from the backend. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.0.2 - -- [changed] A write to a document that contains `FieldValue` transforms is no longer split into two +* [changed] A write to a document that contains `FieldValue` transforms is no longer split into two separate operations. This reduces the number of writes that the backend performs and allows each `WriteBatch` to hold 500 writes regardless of how many `FieldValue` transformations are attached. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.0.1 - -- [changed] Removed excess validation of null and NaN values in query filters. This more closely +* [changed] Removed excess validation of null and NaN values in query filters. This more closely aligns the SDK with the [firestore] backend, which has always accepted null and NaN for all operators. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.0.0 - -- [changed] Removed the deprecated `timestampsInSnapshotsEnabled` setting. Any timestamp in a +* [changed] Removed the deprecated `timestampsInSnapshotsEnabled` setting. Any timestamp in a [firestore] document is now returned as a `Timestamp`. To convert `Timestamp` classes to `java.util.Date`, use [`Timestamp.toDate()`](). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.7.1 +* [changed] Added new internal HTTP headers to the gRPC connection. -- [changed] Added new internal HTTP headers to the gRPC connection. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.7.0 - -- [feature] Added +* [feature] Added [`Query.whereNotIn()`](>) and [`Query.whereNotEqualTo()`]() @@ -594,406 +545,373 @@ Kotlin extensions library has no additional updates. specified value. Neither query operator finds documents where the specified field isn't present. - -- [fixed] Fixed an issue that caused poor performance for queries that filtered results using nested +* [fixed] Fixed an issue that caused poor performance for queries that filtered results using nested array values. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.6.0 - -- [fixed] Removed a delay that may have prevented [firestore] from immediately reestablishing a +* [fixed] Removed a delay that may have prevented [firestore] from immediately reestablishing a network connection if a connectivity change occurred while the app was in the background. -- [fixed] Fixed an issue that may have prevented the client from connecting to the backend +* [fixed] Fixed an issue that may have prevented the client from connecting to the backend immediately after a user signed in. -- [feature] Added support for connecting to the Firebase Emulator Suite via a new method, +* [feature] Added support for connecting to the Firebase Emulator Suite via a new method, [`FirebaseFirestore#useEmulator()`](). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.5.0 - -- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The +* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.3 - -- [changed] [firestore] now limits the number of concurrent document lookups it will perform when +* [changed] [firestore] now limits the number of concurrent document lookups it will perform when resolving inconsistencies in the local cache. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.2 - -- [changed] Removed Guava dependency from the SDK. This change is the first step in eliminating +* [changed] Removed Guava dependency from the SDK. This change is the first step in eliminating crashes caused by apps that depend on the wrong flavor of Guava. ([Issue #1125](//github.com/firebase/firebase-android-sdk/issues/1125)) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.1 - -- [fixed] Fixed a performance regression introduced by the addition of `Query.limitToLast(n: long)` +* [fixed] Fixed a performance regression introduced by the addition of `Query.limitToLast(n: long)` in [firestore] v21.3.1. -- [changed] Changed the in-memory representation of [firestore] documents to reduce memory +* [changed] Changed the in-memory representation of [firestore] documents to reduce memory allocations and improve performance. Calls to `DocumentSnapshot.getData()` and `DocumentSnapshot.toObject()` will see the biggest improvement. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.0 - -- [feature] Cloud Firestore previously required that every document read in a transaction must also +* [feature] Cloud Firestore previously required that every document read in a transaction must also be written. This requirement has been removed, and you can now read a document in a transaction without writing to it. -- [changed] Cloud Firestore now recovers more quickly when connections suffering packet loss return +* [changed] Cloud Firestore now recovers more quickly when connections suffering packet loss return to normal. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.3.1 +* [feature] Added `Query.limitToLast(n: long)`, which returns the last `n` documents as the result. -- [feature] Added `Query.limitToLast(n: long)`, which returns the last `n` documents as the result. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.3.0 - -- [feature] Added `Query.whereIn()` and `Query.whereArrayContainsAny()` query operators. +* [feature] 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. -- [changed] Improved the performance of repeatedly executed queries. Recently executed queries +* [changed] Improved the performance of repeatedly executed queries. Recently executed queries should see dramatic improvements. This benefit is reduced if changes accumulate while the query is inactive. Queries that use the `limit()` API may not always benefit, depending on the accumulated changes. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.2.1 - -- [fixed] Fixed an issue where devices targeting Android API level 19 or earlier would crash when +* [fixed] Fixed an issue where devices targeting Android API level 19 or earlier would crash when they were unable to connect to [firestore]. -- [fixed] Fixed a race condition in Documents where access to `getData` and `getField` on the same +* [fixed] Fixed a race condition in Documents where access to `getData` and `getField` on the same document in different threads could cause a `NullPointerException`. -- [fixed] Fixed a race condition that could cause a `NullPointerException` during client +* [fixed] Fixed a race condition that could cause a `NullPointerException` during client initialization. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.2.0 - -- [feature] Added an +* [feature] Added an [`addSnapshotsInSyncListener()`]() method to `FirebaseFirestore` that notifies you when all your snapshot listeners are in sync with each other. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.1.1 - -- [fixed] Addressed a regression in v21.1.0 that caused the crash: "Cannot add document to the +* [fixed] Addressed a regression in v21.1.0 that caused the crash: "Cannot add document to the RemoteDocumentCache with a read time of zero". -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.1.0 - Warning: We have received reports that this **v21.1.0 release** of the Firebase Android SDK for [firestore] can trigger an uncaught exception. Make sure to update to the next version of the Cloud Firestore SDK to get the fix. -- [feature] Added a +* [feature] Added a [`FirebaseFirestore.terminate()`]() method which terminates the instance, releasing any held resources. Once it completes, you can optionally call `clearPersistence()` to wipe persisted [firestore] data from disk. -- [feature] Added a +* [feature] Added a [`FirebaseFirestore.waitForPendingWrites()`]() method which allows users to wait on a promise that resolves when all pending writes are acknowledged by the [firestore] backend. -- [changed] Transactions now perform exponential backoff before retrying. This means transactions on +* [changed] Transactions now perform exponential backoff before retrying. This means transactions on highly contended documents are more likely to succeed. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.0.0 - -- [changed] Transactions are now more flexible. Some sequences of operations that were previously +* [changed] Transactions are now more flexible. Some sequences of operations that were previously incorrectly disallowed are now allowed. For example, after reading a document that doesn't exist, you can now set it multiple times successfully in a transaction. -- [fixed] Fixed an issue where query results were temporarily missing documents that previously had +* [fixed] Fixed an issue where query results were temporarily missing documents that previously had not matched but had been updated to now match the query. Refer to this [GitHub issue](https://github.com/firebase/firebase-android-sdk/issues/155) for more details. -- [changed] Added nullability annotations to improve the Kotlin developer experience. +* [changed] Added nullability annotations to improve the Kotlin developer experience. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 20.2.0 - -- [feature] Added a `@DocumentId` annotation which can be used on a `DocumentReference` or `String` +* [feature] Added a `@DocumentId` annotation which can be used on a `DocumentReference` or `String` property in a POJO to indicate that the SDK should automatically populate it with the document's ID. -- [fixed] Fixed an internal assertion that was triggered when an update with a +* [fixed] Fixed an internal assertion that was triggered when an update with a `FieldValue.serverTimestamp()` and an update with a `FieldValue.increment()` were pending for the same document. Refer to this [GitHub issue](https://github.com/firebase/firebase-android-sdk/issues/491) for more details. -- [changed] Improved performance of queries with large result sets. -- [changed] Improved performance for queries with filters that only return a small subset of the +* [changed] Improved performance of queries with large result sets. +* [changed] Improved performance for queries with filters that only return a small subset of the documents in a collection. -- [changed] Instead of failing silently, [firestore] now crashes the client app if it fails to load +* [changed] Instead of failing silently, [firestore] now crashes the client app if it fails to load SSL Ciphers. To avoid these crashes, you must bundle Conscrypt to support non-GMSCore devices on Android API level 19 (KitKat) or earlier (for more information, refer to [TLS on Android](https://github.com/grpc/grpc-java/blob/master/SECURITY.md#tls-on-android)). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 20.1.0 - -- [changed] SSL and gRPC initialization now happens on a separate thread, which reduces the time +* [changed] SSL and gRPC initialization now happens on a separate thread, which reduces the time taken to produce the first query result. -- [feature] Added `clearPersistence()`, which clears the persistent storage including pending writes +* [feature] Added `clearPersistence()`, which clears the persistent storage including pending writes and cached documents. This is intended to help write reliable tests. Refer to this [GitHub issue](https://github.com/firebase/firebase-js-sdk/issues/449) for more details. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 19.0.2 - -- [fixed] Updated gRPC to 1.21.0. A bug in the prior version would occasionally cause a crash if a +* [fixed] Updated gRPC to 1.21.0. A bug in the prior version would occasionally cause a crash if a network state change occurred concurrently with an RPC. Refer to [GitHub issue #428](https://github.com/firebase/firebase-android-sdk/issues/428) for more details. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 19.0.1 - -- [fixed] Fixed an issue that prevented schema migrations for clients with large offline datasets. +* [fixed] Fixed an issue that prevented schema migrations for clients with large offline datasets. Refer to this [GitHub issue](https://github.com/firebase/firebase-android-sdk/issues/370) for more details. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 19.0.0 - -- [feature] You can now query across all collections in your database with a given collection ID +* [feature] You can now query across all collections in your database with a given collection ID using the [`FirebaseFirestore.collectionGroup()`](/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore#collectionGroup) method. -- [changed] The garbage collection process for on-disk persistence that removes older documents is +* [changed] The garbage collection process for on-disk persistence that removes older documents is now enabled by default. The SDK will attempt to periodically clean up older, unused documents once the on-disk cache passes a threshold size (default: 100 MB). See [Configure cache size](/docs/firestore/manage-data/enable-offline#configure_cache_size) for details on how to configure this. -- [changed] Internal changes that rely on an updated API to obtain authentication credentials. If +* [changed] Internal changes that rely on an updated API to obtain authentication credentials. If you use [firebase_auth], update to `firebase-auth` v17.0.0 or later to ensure functionality alignment. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 18.2.0 +* [unchanged] No changes to the base `firebase-firestore` library. -- [unchanged] No changes to the base `firebase-firestore` library. ## Kotlin - -- [feature] The beta release of a [firestore] Android library with Kotlin extensions is now +* [feature] The beta release of a [firestore] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-firestore` library. To learn more, visit the [[firestore] KTX documentation](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary). # 18.2.0 - -- [feature] Added +* [feature] Added [`FieldValue.increment()`](), which can be used in `update()` and `set(..., SetOptions.merge())` to increment or decrement numeric field values safely without transactions. -- [feature] Added functional interface +* [feature] Added functional interface [`FirebaseFirestore.runBatch()`](/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore#runBatch( com.google.firebase.firestore.WriteBatch.Function)), similar to [`FirebaseFirestore.runTransaction()`](), which allows a developer to focus on the mutations of the batch rather than on creating and committing the batch. -- [changed] Prepared the persistence layer to support collection group queries. While this feature +* [changed] Prepared the persistence layer to support collection group queries. While this feature is not yet available, all schema changes are included in this release. -- [changed] Added `@RestrictTo` annotations to discourage the use of APIs that are not public. This +* [changed] Added `@RestrictTo` annotations to discourage the use of APIs that are not public. This affects internal APIs that were previously obfuscated and are not mentioned in our documentation. -- [changed] Improved error messages for certain Number types that are not supported by our +* [changed] Improved error messages for certain Number types that are not supported by our serialization layer. # 18.1.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. -- [fixed] Fixed calculation of SQLite database size on Android 9 Pie devices. On these devices, the +* [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [fixed] Fixed calculation of SQLite database size on Android 9 Pie devices. On these devices, the previous method sometimes incorrectly calculated the size by a few MBs, potentially delaying garbage collection. # 18.0.1 - -- [fixed] Fixed an issue where [firestore] would crash if handling write batches larger than 2 MB in +* [fixed] Fixed an issue where [firestore] would crash if handling write batches larger than 2 MB in size. -- [changed] [firestore] now recovers more quickly from long periods without network access. +* [changed] [firestore] now recovers more quickly from long periods without network access. # 18.0.0 - -- [changed] The `timestampsInSnapshotsEnabled` setting is now enabled by default. Timestamp fields +* [changed] The `timestampsInSnapshotsEnabled` setting is now enabled by default. Timestamp fields that read from a `DocumentSnapshot` are now returned as `Timestamp` objects instead of `Date` objects. This is a breaking change; developers must update any code that expects to receive a `Date` object. See [`FirebaseFirestoreSettings.Builder.setTimestampsInSnapshotsEnabled()`]() for more details. -- [feature] Custom objects (POJOs) can now be passed in several ways: as a field value in +* [feature] Custom objects (POJOs) can now be passed in several ways: as a field value in `update()`, within `Map<>` objects passed to `set()`, in array transform operations, and in query filters. -- [feature] `DocumentSnapshot.get()` now supports retrieving fields as custom objects (POJOs) by +* [feature] `DocumentSnapshot.get()` now supports retrieving fields as custom objects (POJOs) by passing a `Class` instance, e.g., `snapshot.get("field", CustomType.class)`. -- [fixed] Fixed an issue where if an app sent a write to the server, but the app was shut down +* [fixed] Fixed an issue where if an app sent a write to the server, but the app was shut down before a listener received the write, the app could crash. # 17.1.5 - -- [changed] [firestore] now recovers more quickly from bad network states. -- [changed] Improved performance for reading large collections. -- [fixed] Offline persistence now properly records schema downgrades. This is a forward-looking +* [changed] [firestore] now recovers more quickly from bad network states. +* [changed] Improved performance for reading large collections. +* [fixed] Offline persistence now properly records schema downgrades. This is a forward-looking change that allows you to safely downgrade from future SDK versions to this version (v17.1.5). You can already safely downgrade versions now depending on the source version. For example, you can safely downgrade from v17.1.4 to v17.1.2 because there are no schema changes between those versions. Related: https://github.com/firebase/firebase-android-sdk/issues/134 # 17.1.4 - -- [fixed] Fixed a SQLite transaction-handling issue that occasionally masked exceptions when +* [fixed] Fixed a SQLite transaction-handling issue that occasionally masked exceptions when Firestore closed a transaction that was never started. For more information, see the [issue report in GitHub](https://github.com/firebase/firebase-android-sdk/issues/115). -- [fixed] Fixed a race condition that caused a `SQLiteDatabaseLockedException` when an app attempted +* [fixed] Fixed a race condition that caused a `SQLiteDatabaseLockedException` when an app attempted to access the SQLite database from multiple threads. # 17.1.2 - -- [changed] Changed how the SDK handles locally-updated documents while syncing those updates with +* [changed] Changed how the SDK handles locally-updated documents while syncing those updates with Cloud Firestore servers. This can lead to slight behavior changes and may affect the [`SnapshotMetadata.hasPendingWrites()`]() metadata flag. -- [changed] Eliminated superfluous update events for locally cached documents that are known to lag +* [changed] Eliminated superfluous update events for locally cached documents that are known to lag behind the server version. Instead, the SDK buffers these events until the client has caught up with the server. # 17.1.1 - -- [fixed] Fixed an issue where the first `get()` call made after being offline could incorrectly +* [fixed] Fixed an issue where the first `get()` call made after being offline could incorrectly return cached data without attempting to reach the backend. -- [changed] Changed `get()` to only make one attempt to reach the backend before returning cached +* [changed] Changed `get()` to only make one attempt to reach the backend before returning cached data, potentially reducing delays while offline. -- [fixed] Fixed an issue that caused Firebase to drop empty objects from calls to +* [fixed] Fixed an issue that caused Firebase to drop empty objects from calls to `set(..., SetOptions.merge())`. -- [fixed] Updated printf-style templates to ensure that they're compile time constants. Previously, +* [fixed] Updated printf-style templates to ensure that they're compile time constants. Previously, some were influenced by error messages. When those error messages contained `%p` or other, related tokens, `String.format()` would throw an exception. -- [changed] Some SDK errors that represent common mistakes, like permission errors or missing +* [changed] Some SDK errors that represent common mistakes, like permission errors or missing indexes, are automatically logged as warnings in addition to being surfaced via the API. # 17.1.0 - -- [fixed] Corrected an issue with methods in the Cloud Firestore v17.0.5 release. To avoid potential +* [fixed] Corrected an issue with methods in the Cloud Firestore v17.0.5 release. To avoid potential errors, don't use v17.0.5. # 17.0.5 - -- [feature] Added +* [feature] Added [`FieldValue.arrayUnion()`]() and [`FieldValue.arrayRemove()`]() to atomically add and remove elements from an array field in a document. -- [feature] Added +* [feature] Added [`Query.whereArrayContains()`](/docs/reference/android/com/google/firebase/firestore/Query.html#whereArrayContains(com.google.firebase.firestore.FieldPath, java.lang.Object)) query operator to find documents where an array field contains a specific element. -- [changed] Improved offline performance with many outstanding writes. -- [fixed] Firestore will now recover from auth token expiration when the system clock is wrong. +* [changed] Improved offline performance with many outstanding writes. +* [fixed] Firestore will now recover from auth token expiration when the system clock is wrong. # 17.0.4 - -- [fixed] Fixed an issue where queries returned fewer results than they should. The issue related to +* [fixed] Fixed an issue where queries returned fewer results than they should. The issue related to [improper caching](https://github.com/firebase/firebase-ios-sdk/issues/1548), so clients may use extra bandwidth the first time they launch with this version of the SDK, as they re-download cleared cached data. # 17.0.3 - -- [changed] The [`Timestamp`](/docs/reference/android/com/google/firebase/Timestamp) class now +* [changed] The [`Timestamp`](/docs/reference/android/com/google/firebase/Timestamp) class now implements [`Parcelable`](//developer.android.com/reference/android/os/Parcelable) in addition to [`Comparable`](//developer.android.com/reference/java/lang/Comparable). # 17.0.2 - -- [changed] gRPC requirement updated from 1.8.0 to 1.12.0. This allows quicker failover between +* [changed] gRPC requirement updated from 1.8.0 to 1.12.0. This allows quicker failover between Wi-Fi and cellular networks. # 17.0.1 - -- [fixed] Fixed an issue where `set()` didn't correctly respect +* [fixed] Fixed an issue where `set()` didn't correctly respect [`SetOptions.mergeFields()`](>) for data containing [`FieldValue.delete()`]() or [`FieldValue.serverTimestamp()`]() values. + diff --git a/firebase-firestore/gradle.properties b/firebase-firestore/gradle.properties index 80e71786c11..dcec8dcda61 100644 --- a/firebase-firestore/gradle.properties +++ b/firebase-firestore/gradle.properties @@ -1,2 +1,2 @@ -version=26.0.1 -latestReleasedVersion=26.0.0 +version=26.0.2 +latestReleasedVersion=26.0.1 diff --git a/firebase-functions/CHANGELOG.md b/firebase-functions/CHANGELOG.md index a314c30cf25..04d1b7c8a64 100644 --- a/firebase-functions/CHANGELOG.md +++ b/firebase-functions/CHANGELOG.md @@ -1,256 +1,233 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 22.0.0 +# 22.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 22.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.2.1 - -- [fixed] Fixed issue that caused the SDK to crash when trying to stream a function that does not +* [fixed] Fixed issue that caused the SDK to crash when trying to stream a function that does not exist. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.2.0 - -- [feature] Streaming callable functions are now supported. -- [fixed] Fixed an issue that prevented the App Check token from being handled correctly in case of +* [feature] Streaming callable functions are now supported. +* [fixed] Fixed an issue that prevented the App Check token from being handled correctly in case of error. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.1.1 - -- [fixed] Resolve Kotlin migration visibility issues +* [fixed] Resolve Kotlin migration visibility issues ([#6522](//github.com/firebase/firebase-android-sdk/pull/6522)) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.1.0 +* [changed] Migrated to Kotlin -- [changed] Migrated to Kotlin ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.0.0 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.4.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-functions-ktx` to +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-functions-ktx` to `com.google.firebase:firebase-functions` under the `com.google.firebase.functions` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-functions-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-functions-ktx` have been added to `com.google.firebase:firebase-functions` under the `com.google.firebase.functions` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-functions-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.3.1 +* [changed] Added support for App Check limited-use tokens in HTTPS Callable Functions. -- [changed] Added support for App Check limited-use tokens in HTTPS Callable Functions. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.3.0 +* [changed] Internal changes to ensure alignment with other SDK releases. -- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.2.2 +* [changed] Moved Task continuations off the main thread. +* [changed] Internal infrastructure improvements. -- [changed] Moved Task continuations off the main thread. -- [changed] Internal infrastructure improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.2.1 +* [changed] Updated dependency of `firebase-iid` to its latest version (v21.1.0). -- [changed] Updated dependency of `firebase-iid` to its latest version (v21.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.2.0 - -- [unchanged] Updated to accommodate the release of the updated [functions_client] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [functions_client] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-functions-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.1 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.1.0 - -- [feature] Added a new method +* [feature] Added a new method [`getHttpsCallableFromUrl(java.net.URL)`](/docs/reference/android/com/google/firebase/functions/FirebaseFunctions#public-httpscallablereference-gethttpscallablefromurl-url-url) to create callables with URLs. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.0.2 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.0.1 +* [fixed] Fixed an issue that prevented functions from proceeding after [app_check] failures. -- [fixed] Fixed an issue that prevented functions from proceeding after [app_check] failures. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.0.0 +* [feature] Added abuse reduction features. +* [changed] Internal changes to support dynamic feature modules. -- [feature] Added abuse reduction features. -- [changed] Internal changes to support dynamic feature modules. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.2.0 - -- [feature] Added support for custom domains, +* [feature] Added support for custom domains, [`FirebaseFunctions#getInstance()`](). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.1.0 - -- [feature] Added support for connecting to the Firebase Emulator Suite via a new method, +* [feature] Added support for connecting to the Firebase Emulator Suite via a new method, [`FirebaseFunctions#UseEmulator()`](). -- [deprecated] Deprecated the `useFunctionsEmulator(String)` method. +* [deprecated] Deprecated the `useFunctionsEmulator(String)` method. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.0.2 +* [changed] Internal changes to ensure functionality alignment with other SDK releases. -- [changed] Internal changes to ensure functionality alignment with other SDK releases. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.0.1 - -- [unchanged] Updated to accommodate the release of the [functions_client] Kotlin extensions +* [unchanged] Updated to accommodate the release of the [functions_client] Kotlin extensions library. -## Kotlin -- [feature] The beta release of a [functions_client] Android library with Kotlin extensions is now +## Kotlin +* [feature] The beta release of a [functions_client] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-functions` library. To learn more, visit the [[cloud_functions] KTX documentation](/docs/reference/kotlin/com/google/firebase/functions/ktx/package-summary). # 19.0.0 - -- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No +* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.1.0 - -- [feature] Added +* [feature] Added [`getTimeout`](/docs/reference/android/com/google/firebase/functions/HttpsCallableReference) method to get the timeout for a callable. For more details, refer to [GitHub PR #574](//github.com/firebase/firebase-android-sdk/pull/574). # 17.0.0 - -- [changed] Updated minSdkVersion to API level 16. +* [changed] Updated minSdkVersion to API level 16. # 16.3.0 - -- [changed] Changed the default timeout for callable functions to 70 seconds +* [changed] Changed the default timeout for callable functions to 70 seconds ([#2329](//github.com/firebase/firebase-android-sdk/pull/224)). -- [feature] Added +* [feature] Added [`setTimeout`](/docs/reference/android/com/google/firebase/functions/HttpsCallableReference) and [`withTimeout`](/docs/reference/android/com/google/firebase/functions/HttpsCallableReference) methods to change the timeout for a callable ([#2329](//github.com/firebase/firebase-android-sdk/pull/224)). # 16.1.0 - -- [feature] `FirebaseFunctions.getInstance()` now allows passing in an optional region to override +* [feature] `FirebaseFunctions.getInstance()` now allows passing in an optional region to override the default "us-central1". -- [feature] New `useFunctionsEmulator` method allows testing against a local instance of the +* [feature] New `useFunctionsEmulator` method allows testing against a local instance of the [Cloud Functions Emulator](https://firebase.google.com/docs/functions/local-emulator). + diff --git a/firebase-functions/gradle.properties b/firebase-functions/gradle.properties index 01f62dc58df..ad317096e94 100644 --- a/firebase-functions/gradle.properties +++ b/firebase-functions/gradle.properties @@ -1,3 +1,3 @@ -version=22.0.1 -latestReleasedVersion=22.0.0 +version=22.0.2 +latestReleasedVersion=22.0.1 android.enableUnitTestBinaryResources=true diff --git a/firebase-inappmessaging-display/CHANGELOG.md b/firebase-inappmessaging-display/CHANGELOG.md index c7fbaae0874..e45c8682f77 100644 --- a/firebase-inappmessaging-display/CHANGELOG.md +++ b/firebase-inappmessaging-display/CHANGELOG.md @@ -1,372 +1,335 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 22.0.0 +# 22.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 22.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.2 +* [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] -- [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 21.0.1 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 21.0.0 - -- [fixed] Fixed bad token exception while showing FIAM (GitHub +* [fixed] Fixed bad token exception while showing FIAM (GitHub [#5567](//github.com/firebase/firebase-android-sdk/issues/5567)) (GitHub [#5780](//github.com/firebase/firebase-android-sdk/issues/5780)) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.4.1 - -- [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub +* [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub [#5644](//github.com/firebase/firebase-android-sdk/issues/5644)) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.4.0 - -- [changed] Added Kotlin extensions (KTX) APIs from +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-inappmessaging-display-ktx` to `com.google.firebase:firebase-inappmessaging-display` under the `com.google.firebase.inappmessaging.display` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-display-ktx` have been +* [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-display-ktx` have been added to `com.google.firebase:firebase-inappmessaging-display` under the `com.google.firebase.inappmessaging.display` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-inappmessaging-display-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.5 - -- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. +* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. [#5337] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.4 +* [changed] Updated internal logging backend. -- [changed] Updated internal logging backend. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.3 - -- [unchanged] Updated internal Dagger dependency. +* [unchanged] Updated internal Dagger dependency. # 20.3.2 - -- [fixed] Fixed nullpointer crash when using experiments (GitHub +* [fixed] Fixed nullpointer crash when using experiments (GitHub [#4716](//github.com/firebase/firebase-android-sdk/issues/4716){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.1 - -- [fixed] Fixed nullpointer crash +* [fixed] Fixed nullpointer crash ([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4214)) -- [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. +* [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.0 - -- [changed] Migrated [inappmessaging] Display to use standard Firebase executors. -- [changed] Moved Task continuations off the main thread. -- [feature] Added a new API for +* [changed] Migrated [inappmessaging] Display to use standard Firebase executors. +* [changed] Moved Task continuations off the main thread. +* [feature] Added a new API for [removing a dismiss listener](). (GitHub [#4492](//github.com/firebase/firebase-android-sdk/issues/4492){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.2.0 +* [fixed] Fixed a bug that prevented marking more than one message as impressed. -- [fixed] Fixed a bug that prevented marking more than one message as impressed. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-inappmessaging-display-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.3 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.1.2 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.1.1 +* [changed] Updated the gRPC dependency version. -- [changed] Updated the gRPC dependency version. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.1.0 +* [changed] Migrated to Glide library for image downloading. -- [changed] Migrated to Glide library for image downloading. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.0.0 +* [changed] Internal infrastructure improvements. -- [changed] Internal infrastructure improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.5 +* [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. -- [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.4 - -- [fixed] Fixed in-app message button click not working in Android 11 because of package visibility +* [fixed] Fixed in-app message button click not working in Android 11 because of package visibility changes. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.3 +* [changed] Internal changes to maintain compatibility with other Firebase SDKs. -- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.2 +* [changed] Internal changes to maintain compatibility with other Firebase SDKs. -- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.1 - -- [fixed] Improved link handling on devices without any browser installed or without Chrome +* [fixed] Improved link handling on devices without any browser installed or without Chrome installed. -- [feature] Added the ability to register a dismiss listener that reacts to message dismissal. +* [feature] Added the ability to register a dismiss listener that reacts to message dismissal. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.0 - -- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The +* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.7 - -- [fixed] Improved handling of activity transitions. (GitHub +* [fixed] Improved handling of activity transitions. (GitHub [Issue #1410](//github.com/firebase/firebase-android-sdk/issues/1410) and [Issue #1092](//github.com/firebase/firebase-android-sdk/issues/1092)) -- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.6 - -- [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. +* [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. [GitHub Issue #1430](//github.com/firebase/firebase-android-sdk/issues/1430) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.5 - -- [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple +* [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple times. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.4 +* [fixed] Fixed issue with messages not being fetched on app first open. +* [fixed] Fixed issue with first foreground trigger not being picked up. -- [fixed] Fixed issue with messages not being fetched on app first open. -- [fixed] Fixed issue with first foreground trigger not being picked up. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.3 +* [changed] Internal changes to enable future SDK improvements. -- [changed] Internal changes to enable future SDK improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.2 +* [changed] Updated version of Dagger to 2.24. +* [fixed] Bug fixes to improve SDK stability. +* [fixed] Fixed memory leak. -- [changed] Updated version of Dagger to 2.24. -- [fixed] Bug fixes to improve SDK stability. -- [fixed] Fixed memory leak. ## Kotlin - -- [feature] The beta release of a [inappmessaging] Display Android library with Kotlin extensions is +* [feature] The beta release of a [inappmessaging] Display Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-inappmessaging-display` library. To learn more, visit the [[inappmessaging] Display KTX documentation](/docs/reference/kotlin/com/google/firebase/inappmessaging/display/ktx/package-summary). # 19.0.1 - -- [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality +* [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality alignment with other SDK releases. # 19.0.0 - -- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No +* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.2 - -- [changed] Updated to support Picasso version 2.71828. -- [fixed] Updated to send engagement metrics via [analytics]. -- [fixed] Fixed issue with callbacks triggering for Card templates. +* [changed] Updated to support Picasso version 2.71828. +* [fixed] Updated to send engagement metrics via [analytics]. +* [fixed] Fixed issue with callbacks triggering for Card templates. # 17.2.0 - -- [feature] Adds support for card in-app messages. -- [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. +* [feature] Adds support for card in-app messages. +* [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. # 17.1.1 - -- [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The +* [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The underlying issue was that [firestore] and [cloud_functions] couldn't agree on which ciphers to use; this update fixes this issue by overriding the set of ciphers that they use. Refer to [GitHub issue 244](https://github.com/firebase/firebase-android-sdk/issues/244) for more information. # 17.1.0 - -- [feature] Adds functionality to programmatically register listeners for updates on in-app +* [feature] Adds functionality to programmatically register listeners for updates on in-app engagement (for example, impression, click, display errors). See [`FirebaseInAppMessaging.addClickListener()`]() for more details. # 17.0.5 - -- [fixed] Users with restricted API keys can now use the SDK as expected. +* [fixed] Users with restricted API keys can now use the SDK as expected. # 17.0.3 - -- [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface +* [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface to prepare for open sourcing. # 17.0.1 - -- [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, +* [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, because of an obfuscation collision. # 17.0.0 - -- [feature] The initial public beta release of the Firebase In-App Messaging Display SDK for Android +* [feature] The initial public beta release of the Firebase In-App Messaging Display SDK for Android is now available. To learn more, see the [Firebase In-App Messaging documentation](/docs/in-app-messaging). + diff --git a/firebase-inappmessaging-display/gradle.properties b/firebase-inappmessaging-display/gradle.properties index 97257e8c980..0938dface0f 100644 --- a/firebase-inappmessaging-display/gradle.properties +++ b/firebase-inappmessaging-display/gradle.properties @@ -1,2 +1,2 @@ -version=22.0.1 -latestReleasedVersion=22.0.0 +version=22.0.2 +latestReleasedVersion=22.0.1 diff --git a/firebase-inappmessaging/CHANGELOG.md b/firebase-inappmessaging/CHANGELOG.md index e8833eeacca..b1787731b14 100644 --- a/firebase-inappmessaging/CHANGELOG.md +++ b/firebase-inappmessaging/CHANGELOG.md @@ -1,370 +1,333 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 22.0.0 +# 22.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 22.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.2 +* [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] -- [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 21.0.1 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 21.0.0 - -- [fixed] Fixed bad token exception while showing FIAM (GitHub +* [fixed] Fixed bad token exception while showing FIAM (GitHub [#5567](//github.com/firebase/firebase-android-sdk/issues/5567)) (GitHub [#5780](//github.com/firebase/firebase-android-sdk/issues/5780)) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.4.1 - -- [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub +* [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub [#5644](//github.com/firebase/firebase-android-sdk/issues/5644)) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.4.0 - -- [changed] Added Kotlin extensions (KTX) APIs from +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-inappmessaging-ktx` to `com.google.firebase:firebase-inappmessaging` under the `com.google.firebase.inappmessaging` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-ktx` have been added +* [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-ktx` have been added to `com.google.firebase:firebase-inappmessaging` under the `com.google.firebase.inappmessaging` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-inappmessaging-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.5 - -- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. +* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. [#5337] -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.4 +* [changed] Updated internal logging backend. -- [changed] Updated internal logging backend. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.3 - -- [unchanged] Updated internal Dagger dependency. +* [unchanged] Updated internal Dagger dependency. # 20.3.2 - -- [fixed] Fixed nullpointer crash when using experiments (GitHub +* [fixed] Fixed nullpointer crash when using experiments (GitHub [#4716](//github.com/firebase/firebase-android-sdk/issues/4716){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.1 - -- [fixed] Fixed nullpointer crash +* [fixed] Fixed nullpointer crash ([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4214)) -- [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. +* [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.0 - -- [changed] Migrated [inappmessaging] to use standard Firebase executors. -- [changed] Moved Task continuations off the main thread. -- [feature] Added a new API for +* [changed] Migrated [inappmessaging] to use standard Firebase executors. +* [changed] Moved Task continuations off the main thread. +* [feature] Added a new API for [removing a dismiss listener](). (GitHub [#4492](//github.com/firebase/firebase-android-sdk/issues/4492){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.2.0 +* [fixed] Fixed a bug that prevented marking more than one message as impressed. -- [fixed] Fixed a bug that prevented marking more than one message as impressed. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-inappmessaging-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.3 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.1.2 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.1.1 +* [changed] Updated the gRPC dependency version. -- [changed] Updated the gRPC dependency version. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.1.0 +* [changed] Migrated to Glide library for image downloading. -- [changed] Migrated to Glide library for image downloading. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.0.0 +* [changed] Internal infrastructure improvements. -- [changed] Internal infrastructure improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.5 +* [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. -- [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.4 - -- [fixed] Fixed in-app message button click not working in Android 11 because of package visibility +* [fixed] Fixed in-app message button click not working in Android 11 because of package visibility changes. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.3 +* [changed] Internal changes to maintain compatibility with other Firebase SDKs. -- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.2 +* [changed] Internal changes to maintain compatibility with other Firebase SDKs. -- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.1 - -- [fixed] Improved link handling on devices without any browser installed or without Chrome +* [fixed] Improved link handling on devices without any browser installed or without Chrome installed. -- [feature] Added the ability to register a dismiss listener that reacts to message dismissal. +* [feature] Added the ability to register a dismiss listener that reacts to message dismissal. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.0 - -- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The +* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.7 - -- [fixed] Improved handling of activity transitions. (GitHub +* [fixed] Improved handling of activity transitions. (GitHub [Issue #1410](//github.com/firebase/firebase-android-sdk/issues/1410) and [Issue #1092](//github.com/firebase/firebase-android-sdk/issues/1092)) -- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.6 - -- [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. +* [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. [GitHub Issue #1430](//github.com/firebase/firebase-android-sdk/issues/1430) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.5 - -- [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple +* [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple times. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.4 +* [fixed] Fixed issue with messages not being fetched on app first open. +* [fixed] Fixed issue with first foreground trigger not being picked up. +* [changed] Internal migration to use the [firebase_installations] service. -- [fixed] Fixed issue with messages not being fetched on app first open. -- [fixed] Fixed issue with first foreground trigger not being picked up. -- [changed] Internal migration to use the [firebase_installations] service. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.3 +* [changed] Internal changes to enable future SDK improvements. -- [changed] Internal changes to enable future SDK improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.2 +* [changed] Updated version of Dagger to 2.24. +* [changed] Made info messages more clear in logcat. -- [changed] Updated version of Dagger to 2.24. -- [changed] Made info messages more clear in logcat. ## Kotlin - -- [feature] The beta release of a [inappmessaging] Android library with Kotlin extensions is now +* [feature] The beta release of a [inappmessaging] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-inappmessaging` library. To learn more, visit the [[inappmessaging] KTX documentation](/docs/reference/kotlin/com/google/firebase/inappmessaging/ktx/package-summary). # 19.0.1 - -- [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality +* [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality alignment with other SDK releases. # 19.0.0 - -- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No +* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.2 - -- [fixed] Updated to send engagement metrics via [analytics]. -- [fixed] Fixed issue with callbacks triggering for Card templates. +* [fixed] Updated to send engagement metrics via [analytics]. +* [fixed] Fixed issue with callbacks triggering for Card templates. # 17.2.0 - -- [feature] Adds support for card in-app messages. -- [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. +* [feature] Adds support for card in-app messages. +* [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. # 17.1.1 - -- [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The +* [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The underlying issue was that [firestore] and [cloud_functions] couldn't agree on which ciphers to use; this update fixes this issue by overriding the set of ciphers that they use. Refer to [GitHub issue 244](https://github.com/firebase/firebase-android-sdk/issues/244) for more information. # 17.1.0 - -- [feature] Adds functionality to programmatically register listeners for updates on in-app +* [feature] Adds functionality to programmatically register listeners for updates on in-app engagement (for example, impression, click, display errors). See [`FirebaseInAppMessaging.addClickListener()`]() for more details. # 17.0.5 - -- [fixed] Users with restricted API keys can now use the SDK as expected. +* [fixed] Users with restricted API keys can now use the SDK as expected. # 17.0.3 - -- [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface +* [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface to prepare for open sourcing the [inappmessaging]-display SDK. # 17.0.1 - -- [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, +* [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, because of an obfuscation collision. # 17.0.0 - -- [feature] The initial public beta release of the Firebase In-App Messaging SDK for Android is now +* [feature] The initial public beta release of the Firebase In-App Messaging SDK for Android is now available. To learn more, see the [Firebase In-App Messaging documentation](/docs/in-app-messaging). + diff --git a/firebase-inappmessaging/gradle.properties b/firebase-inappmessaging/gradle.properties index 97257e8c980..0938dface0f 100644 --- a/firebase-inappmessaging/gradle.properties +++ b/firebase-inappmessaging/gradle.properties @@ -1,2 +1,2 @@ -version=22.0.1 -latestReleasedVersion=22.0.0 +version=22.0.2 +latestReleasedVersion=22.0.1 diff --git a/firebase-installations/CHANGELOG.md b/firebase-installations/CHANGELOG.md index 10ffa895d00..1e59ebaf70b 100644 --- a/firebase-installations/CHANGELOG.md +++ b/firebase-installations/CHANGELOG.md @@ -1,53 +1,50 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 19.0.0 +# 19.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 19.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 18.0.0 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-installations` library. The Kotlin extensions library has no additional updates. # 17.2.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-installations-ktx` +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-installations-ktx` to `com.google.firebase:firebase-installations` under the `com.google.firebase.installations` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-installations-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-installations-ktx` have been added to `com.google.firebase:firebase-installations` under the `com.google.firebase.installations` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-installations-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-installations` library. The Kotlin extensions library has no additional updates. # 17.1.3 - -- [changed] Internal changes to improve startup time +* [changed] Internal changes to improve startup time # 17.1.2 - -- [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing +* [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing a nondeterministic crash on startup. # 17.1.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [Firebase Instance ID v21.1.0 release notes](/support/release-notes/android#iid_v21-1-0). + diff --git a/firebase-installations/gradle.properties b/firebase-installations/gradle.properties index fd3ef991ef3..04d7bc444aa 100644 --- a/firebase-installations/gradle.properties +++ b/firebase-installations/gradle.properties @@ -1,2 +1,2 @@ -version=19.0.1 -latestReleasedVersion=19.0.0 +version=19.0.2 +latestReleasedVersion=19.0.1 diff --git a/firebase-messaging-directboot/CHANGELOG.md b/firebase-messaging-directboot/CHANGELOG.md index 9263ac5a656..515e325d72e 100644 --- a/firebase-messaging-directboot/CHANGELOG.md +++ b/firebase-messaging-directboot/CHANGELOG.md @@ -1,168 +1,142 @@ # Unreleased -# 25.0.0 -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +# 25.0.1 +* [unchanged] Updated to keep messaging SDK versions aligned. -# 24.1.2 +# 25.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [unchanged] Updated to keep messaging SDK versions aligned. +# 24.1.2 +* [unchanged] Updated to keep messaging SDK versions aligned. # 24.1.1 - -- [unchanged] Updated to keep messaging SDK versions aligned. +* [unchanged] Updated to keep messaging SDK versions aligned. # 24.1.0 - -- [unchanged] Updated to keep messaging SDK versions aligned. +* [unchanged] Updated to keep messaging SDK versions aligned. # 24.0.3 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8). # 24.0.2 - -- [unchanged] Updated to keep messaging SDK versions aligned. +* [unchanged] Updated to keep messaging SDK versions aligned. # 24.0.1 - -- [unchanged] Updated to keep messaging SDK versions aligned. +* [unchanged] Updated to keep messaging SDK versions aligned. # 24.0.0 - -- [changed] Bump internal dependencies +* [changed] Bump internal dependencies # 23.4.0 - -- [unchanged] Updated to keep messaging SDK versions aligned. +* [unchanged] Updated to keep messaging SDK versions aligned. # 23.3.0 - -- [unchanged] Updated to keep messaging SDK versions aligned. +* [unchanged] Updated to keep messaging SDK versions aligned. # 23.1.2 - -- [unchanged] Updated to keep messaging SDK versions aligned. +* [unchanged] Updated to keep messaging SDK versions aligned. # 23.1.1 - -- [changed] Removed unused classes. +* [changed] Removed unused classes. # 23.1.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 23.0.8 - -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 23.0.7 - -- [changed] Updated `minSdkVersion` to 19 to match [messaging_longer] `minSdkVersion`. -- [changed] Updated `FirebaseMessagingDirectBootReceiver` to match [messaging_longer] +* [changed] Updated `minSdkVersion` to 19 to match [messaging_longer] `minSdkVersion`. +* [changed] Updated `FirebaseMessagingDirectBootReceiver` to match [messaging_longer] `FirebaseInstanceIdReceiver`. -- [changed] Removed unused dependencies. +* [changed] Removed unused dependencies. # 23.0.6 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.6 release notes](/support/release-notes/android#messaging_v23-0-6). # 23.0.5 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.5 release notes](/support/release-notes/android#messaging_v23-0-5). # 23.0.3 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.3 release notes](/support/release-notes/android#messaging_v23-0-3). # 23.0.2 - -- [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the +* [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the `httpcomponents` transitive dependencies. # 23.0.1 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.1 release note](/support/release-notes/android#messaging_v23-0-1). # 23.0.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.0 release notes](/support/release-notes/android#messaging_v23-0-0). # 22.0.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. -- [changed] Internal changes to support dynamic feature modules. -- [changed] Internal infrastructure improvements. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to support dynamic feature modules. +* [changed] Internal infrastructure improvements. # 21.1.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v21.1.0 release notes](/support/release-notes/android#messaging_v21-1-0). # 21.0.1 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v21.0.1 release note](/support/release-notes/android#messaging_v21-0-1). # 21.0.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v21.0.0 release note](/support/release-notes/android#messaging_v21-0-0). # 20.3.0 - -- [changed] Internal changes to the Google Play services interface to improve future development +* [changed] Internal changes to the Google Play services interface to improve future development velocity. # 20.2.4 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Installations v16.3.3 release notes](/support/release-notes/android#installations_v16-3-3). # 20.2.3 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, see the [`firebase-messaging` v20.2.3 release note](/support/release-notes/android#messaging_v20-2-3). # 20.2.2 - Warning: **This version of `firebase-messaging-directboot` (v20.2.2) should not be used.** A related library has a known issue (for more details, see [`firebase-messaging` v20.2.2](/support/release-notes/android#messaging_v20-2-2)). A fix for this issue was released on July 08, 2020 (see [v20.2.3](/support/release-notes/android#messaging-directboot_v20-2-3)). -- [changed] Internal improvements. +* [changed] Internal improvements. # 20.2.1 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Instance ID v20.2.1 release notes](/support/release-notes/android#iid_v20-2-1). # 20.2.0 - -- [feature] The Firebase Cloud Messaging Direct Boot SDK is now available and supports receiving FCM +* [feature] The Firebase Cloud Messaging Direct Boot SDK is now available and supports receiving FCM messages in Direct Boot mode. See [Receive FCM messages in direct boot mode](/docs/cloud-messaging/android/receive#receive_fcm_messages_in_direct_boot_mode) for more information. + diff --git a/firebase-messaging-directboot/gradle.properties b/firebase-messaging-directboot/gradle.properties index 8b900dba53c..2d98aaa066a 100644 --- a/firebase-messaging-directboot/gradle.properties +++ b/firebase-messaging-directboot/gradle.properties @@ -1,3 +1,3 @@ -version=25.0.1 -latestReleasedVersion=25.0.0 +version=25.0.2 +latestReleasedVersion=25.0.1 android.enableUnitTestBinaryResources=true diff --git a/firebase-messaging/CHANGELOG.md b/firebase-messaging/CHANGELOG.md index 48ea17a61bd..a74c660f034 100644 --- a/firebase-messaging/CHANGELOG.md +++ b/firebase-messaging/CHANGELOG.md @@ -1,433 +1,393 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 25.0.0 +# 25.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 25.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 24.1.2 +* [changed] Added a NamedThreadFactory to WithinAppServiceConnection's service connection Executor. -- [changed] Added a NamedThreadFactory to WithinAppServiceConnection's service connection Executor. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.1.1 - -- [changed] Bug fix in SyncTask to always unregister the receiver on the same context on which it +* [changed] Bug fix in SyncTask to always unregister the receiver on the same context on which it was registered. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.1.0 - -- [deprecated] Deprecated additional FCM upstream messaging methods and updated all upstream methods +* [deprecated] Deprecated additional FCM upstream messaging methods and updated all upstream methods to indicate they are now decommissioned. See the [FAQ](https://firebase.google.com/support/faq#fcm-23-deprecation) for more details. -- [changed] Changed WithinAppServiceConnection's ScheduledThreadPoolExecutor's configuration to +* [changed] Changed WithinAppServiceConnection's ScheduledThreadPoolExecutor's configuration to allow the thread to stop polling after the timeout task has been canceled. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.3 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.2 - -- [changed] Included message priority when logging to Firelog. +* [changed] Included message priority when logging to Firelog. # 24.0.1 - -- [changed] Retry Topic Subscribe/Unsubscribe operations with exponential backoff if they hit a +* [changed] Retry Topic Subscribe/Unsubscribe operations with exponential backoff if they hit a quota error. -- [changed] Checked for notification_open duplicate logging based on message ID instead of the +* [changed] Checked for notification_open duplicate logging based on message ID instead of the Activity's Intent. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.0 +* [changed] Switched Firelog to use the new TransportBackend. +* [changed] Log analytics for notifications displayed by Google Play services on behalf of the app. -- [changed] Switched Firelog to use the new TransportBackend. -- [changed] Log analytics for notifications displayed by Google Play services on behalf of the app. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.4.1 +* [changed] Bump internal dependencies. -- [changed] Bump internal dependencies. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.0 - -- [changed] Called messageHandled() after a message has been handled to indicate that the message +* [changed] Called messageHandled() after a message has been handled to indicate that the message has been handled successfully. -- [changed] Added an internal identifier to Firelog logging for compliance. +* [changed] Added an internal identifier to Firelog logging for compliance. # 23.3.1 - -- [changed] Added metadata to FirebaseInstanceIdReceiver to signal that it finishes background +* [changed] Added metadata to FirebaseInstanceIdReceiver to signal that it finishes background broadcasts after the message has been handled. -- [changed] Specified notification's dismiss intent target via action instead of component name. +* [changed] Specified notification's dismiss intent target via action instead of component name. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.3.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-messaging-ktx` to +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-messaging-ktx` to `com.google.firebase:firebase-messaging` under the `com.google.firebase.messaging` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-messaging-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-messaging-ktx` have been added to `com.google.firebase:firebase-messaging` under the `com.google.firebase.messaging` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-messaging-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.2.1 - -- [changed] Changed to finish a background broadcast after the message has been handled, subject to +* [changed] Changed to finish a background broadcast after the message has been handled, subject to a timeout. This keeps the `FirebaseMessagingService`'s process in an active state while it is handling an FCM message, up to the 20 seconds allowed. # 23.2.0 - -- [deprecated] Deprecated FCM upstream messaging. See the +* [deprecated] Deprecated FCM upstream messaging. See the [FAQ](https://firebase.google.com/support/faq#fcm-23-deprecation) for more details. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.1.2 - -- [fixed] Fixed a breakage related to Jetpack core library related to an +* [fixed] Fixed a breakage related to Jetpack core library related to an [upstream update](https://android-review.googlesource.com/c/platform/frameworks/support/+/2399893). -- [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. +* [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.1.1 +* [fixed] Fixed deadlock when handling simultaneous messages. -- [fixed] Fixed deadlock when handling simultaneous messages. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.1.0 - -- [unchanged] Updated to accommodate the release of the updated [messaging_longer] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [messaging_longer] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-messaging-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 23.0.8 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.7 - -- [changed] Message broadcasts now finish immediately after binding to the service. This change +* [changed] Message broadcasts now finish immediately after binding to the service. This change should reduce the chance of ANRs. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.6 - -- [changed] Added the `POST_NOTIFICATIONS` permission to enable posting notifications when targeting +* [changed] Added the `POST_NOTIFICATIONS` permission to enable posting notifications when targeting SDK level 33. See [messaging] guidance on how to [request runtime notification permission on Android 13+](/docs/cloud-messaging/android/client#request-permission13) -- [fixed] Added an annotation to an internal class to fix a missing class warning. +* [fixed] Added an annotation to an internal class to fix a missing class warning. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.5 - -- [fixed] Fixed a dependency on the `firebase-datatransport` layer. +* [fixed] Fixed a dependency on the `firebase-datatransport` layer. ([GitHub #3716](https://github.com/firebase/firebase-android-sdk/issues/3716){: .external}) -- [fixed] Upgraded logging priority for message delivery events to avoid dropped logs. +* [fixed] Upgraded logging priority for message delivery events to avoid dropped logs. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.3 - -- [fixed] Removed test resources from library. -- [fixed] Changed to catch `RuntimeException` when getting the `Bundle` from an `Activity Intent` +* [fixed] Removed test resources from library. +* [fixed] Changed to catch `RuntimeException` when getting the `Bundle` from an `Activity Intent` while checking for notification analytics data. -- [changed] Internal changes to notification building methods. +* [changed] Internal changes to notification building methods. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.2 - -- [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the +* [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the `httpcomponents` transitive dependencies. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.1 - -- [changed] Updated to the latest version of the `firebase-datatransport` library. -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated to the latest version of the `firebase-datatransport` library. +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -- [fixed] On Android 7.0 and earlier, the SDK now logs that a notification was opened after +* [fixed] On Android 7.0 and earlier, the SDK now logs that a notification was opened after `onActivityCreated` to avoid a race condition when unparceling the extras Bundle. -- [fixed] Switched to stopping an image download by canceling a `Future` to interrupt the download +* [fixed] Switched to stopping an image download by canceling a `Future` to interrupt the download thread. This change avoids errors that can occur in the image downloading library when trying to close the stream on a different thread than the one that started the download. -- [fixed] Fixed reference documentation for +* [fixed] Fixed reference documentation for [`RemoteMessage.getMessageId()`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage#public-string-getmessageid) and updated obsolete references to Google Cloud Messaging (GCM). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.0 - -- [changed] Due to its [dependency on Google Play services](/docs/android/android-play-services), +* [changed] Due to its [dependency on Google Play services](/docs/android/android-play-services), this SDK now requires devices and emulators to target API level 19 (KitKat) or higher and to use Android 4.4 or higher. -- [feature] Added methods for determining and controlling whether Google Play services is set as the +* [feature] Added methods for determining and controlling whether Google Play services is set as the app’s notification delegate. By default, FCM will now set Google Play services as the app’s notification delegate so that it is allowed to display notifications for the app. This could be used in the future to show an app’s notifications without needing to start the app, which may improve message reliability and timeliness. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 22.0.0 - -- [changed] Removed dependency on the deprecated Firebase Instance ID SDK. Caution: **This is a +* [changed] Removed dependency on the deprecated Firebase Instance ID SDK. Caution: **This is a breaking change for apps that use [messaging] and the deprecated Firebase Instance ID API to manage registration tokens.**
We strongly recommend [migrating to [messaging]'s token APIs](/docs/projects/manage-installations#fid-iid). If you're unable to migrate to the replacement APIs, add a direct dependency on the `firebase-iid` library to your `build.gradle` file. -- [feature] Changed to open an `Activity` directly when a notification is tapped instead of passing +* [feature] Changed to open an `Activity` directly when a notification is tapped instead of passing it through `FirebaseMessagingService`. This change is to comply with Android 12 notification trampoline restrictions. -- [feature] Internal changes to use proto instead of JSON for logging. -- [changed] Internal changes to support dynamic feature modules. -- [changed] Internal infrastructure improvements. +* [feature] Internal changes to use proto instead of JSON for logging. +* [changed] Internal changes to support dynamic feature modules. +* [changed] Internal infrastructure improvements. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 21.1.0 - -- [feature] Migrated internal handling of new token callbacks and notification actions from Firebase +* [feature] Migrated internal handling of new token callbacks and notification actions from Firebase Instance ID to [firebase_messaging]. -- [feature] Added functionality to generate [messaging] tokens from `FirebaseMessaging.getToken`, +* [feature] Added functionality to generate [messaging] tokens from `FirebaseMessaging.getToken`, while continuing to call through to Firebase Instance ID if it is present. This will allow [firebase_messaging] to remove its dependency on Firebase Instance ID in the future. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 21.0.1 +* [changed] Updated to latest version of the `firebase-datatransport` library. +* [feature] The SDK now gracefully handles missing default resources. -- [changed] Updated to latest version of the `firebase-datatransport` library. -- [feature] The SDK now gracefully handles missing default resources. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 21.0.0 - -- [feature] Migrated auto-initialization from Firebase Instance ID to [firebase_messaging]. -- [feature] Added a check for incompatible versions of Firebase Instance ID. An exception is thrown +* [feature] Migrated auto-initialization from Firebase Instance ID to [firebase_messaging]. +* [feature] Added a check for incompatible versions of Firebase Instance ID. An exception is thrown during instantiation if one is found. -- [fixed] Fixed an issue where events were erronously logged to [firebase_analytics] twice. +* [fixed] Fixed an issue where events were erronously logged to [firebase_analytics] twice. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 20.3.0 - -- [feature] Added +* [feature] Added [`getToken`]() and [`deleteToken`]() methods directly to `FirebaseMessaging`. -- [changed] Internal changes to the Google Play services interface to improve future development +* [changed] Internal changes to the Google Play services interface to improve future development velocity. -## Kotlin -- [feature] The [messaging_longer] Android library with Kotlin extensions is now available. The +## Kotlin +* [feature] The [messaging_longer] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-messaging` library. To learn more, visit the [[messaging_longer] KTX documentation](/docs/reference/kotlin/com/google/firebase/messaging/ktx/package-summary). # 20.2.4 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Installations v16.3.3 release notes](/support/release-notes/android#installations_v16-3-3). # 20.2.3 - -- [fixed] Fixed an issue that caused an app to crash when a user tapped on a received notification. +* [fixed] Fixed an issue that caused an app to crash when a user tapped on a received notification. # 20.2.2 - Warning: **This version of `firebase-messaging` (v20.2.2) should not be used.** It has a known issue that causes an app to crash when a user taps on a received notification. A fix for this issue was released on July 08, 2020 (see [v20.2.3](/support/release-notes/android#messaging_v20-2-3)). -- [changed] Internal improvements. +* [changed] Internal improvements. # 20.2.1 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Instance ID v20.2.1 release notes](/support/release-notes/android#iid_v20-2-1). # 20.2.0 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases (for more +* [changed] Internal changes to ensure functionality alignment with other SDK releases (for more information, refer to the [[messaging_longer] Direct Boot v20.2.0 release notes](/support/release-notes/android#messaging-directboot_v20-2-0)). # 20.1.7 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases (for more +* [changed] Internal changes to ensure functionality alignment with other SDK releases (for more information, refer to the [Firebase Instance ID v20.1.7 release notes](/support/release-notes/android#iid_v20-1-7)). # 20.1.6 - -- [fixed] Fixed a bug in topic syncing that was causing increased usage of shared system resources +* [fixed] Fixed a bug in topic syncing that was causing increased usage of shared system resources when waiting for a working network connection. # 20.1.5 - Warning: In some cases, `firebase-messaging` v20.1.4 and v20.1.5 are erroneously consuming system resources which can negatively impact the performance of a user's device. To avoid this effect, **update your app's version of `firebase-messaging` to [v20.1.6](/support/release-notes/android#messaging_v20-1-6) or later**. -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 20.1.4 - Warning: In some cases, `firebase-messaging` v20.1.4 and v20.1.5 are erroneously consuming system resources which can negatively impact the performance of a user's device. To avoid this effect, **update your app's version of `firebase-messaging` to [v20.1.6](/support/release-notes/android#messaging_v20-1-6) or later**. -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 20.1.3 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 20.1.2 - **As of v20.1.1, the [messaging_longer] SDK depends on the [installations_sdk]. Learn about possible impacts in the [v20.1.1 release notes](/support/release-notes/android#messaging_v20-1-1).** -- [changed] Internal changes to ensure functionality alignment with other SDK releases (for more +* [changed] Internal changes to ensure functionality alignment with other SDK releases (for more information, refer to the bug fix in the [Firebase Instance ID v20.1.1 release notes](/support/release-notes/android#iid_v20-1-1)). # 20.1.1 - Warning: This version of `firebase-messaging` (v20.1.1) has known issues involving silent failures and should not be used. A fix for these issues was released on [March 03, 2020](/support/release-notes/android#2020-03-03). -- [changed] Changed the default for notification titles. Previously, an empty title was replaced +* [changed] Changed the default for notification titles. Previously, an empty title was replaced with the app's label, but now an empty title causes the notification title to be omitted. -- [fixed] Fixed an issue that could cause ANRs when receiving messages. -- [changed] [messaging_longer] now transitively depends on the [installations_sdk]. After updating +* [fixed] Fixed an issue that could cause ANRs when receiving messages. +* [changed] [messaging_longer] now transitively depends on the [installations_sdk]. After updating to the latest dependency versions, make sure that push notifications still work as expected. Also, be aware of the following: @@ -444,82 +404,70 @@ and should not be used. A fix for these issues was released on ID. # 20.1.0 - -- [feature] Added +* [feature] Added [`setDeliveryMetricsExportToBigQuery(boolean)`]() and [`deliveryMetricsExportToBigQueryEnabled()`]() to control and query if messsage delivery metrics are exported to BigQuery. -- [changed] Changed to catch and log NullPointerException when trying to close the image download +* [changed] Changed to catch and log NullPointerException when trying to close the image download stream. This NPE can happen if the image download takes too long and times out. # 20.0.1 - -- [fixed] Fixed notifications on API level 24 and later to display the event time when `event_time` +* [fixed] Fixed notifications on API level 24 and later to display the event time when `event_time` is set. # 20.0.0 - -- [feature] Added support for more Android notification parameters, including: `ticker`, +* [feature] Added support for more Android notification parameters, including: `ticker`, `sticky`,`event_time`, `local_only`, `notification_priority`, `default_sound`, `default_vibrate_timings`, `default_light_settings`, `visibility`, `notification_count`, `vibrate_timings` and `light_settings`. -- [feature] Added support for Android notifications that include an image. -- [changed] Added nullability annotations to improve the Kotlin developer experience. +* [feature] Added support for Android notifications that include an image. +* [changed] Added nullability annotations to improve the Kotlin developer experience. # 19.0.1 - -- [fixed] Fixed an issue where `FirebaseMessagingService.onNewToken` would be invoked for tokens +* [fixed] Fixed an issue where `FirebaseMessagingService.onNewToken` would be invoked for tokens created for non-default FirebaseApp instances. -- [fixed] SDK now only retries topic subscriptions and token registration on the following errors: +* [fixed] SDK now only retries topic subscriptions and token registration on the following errors: "ERROR_SERVICE_NOT_AVAILABLE" and "ERROR_INTERNAL_SERVER_ERROR". # 18.0.0 - -- [changed] Updated minSdkVersion to API level 16. +* [changed] Updated minSdkVersion to API level 16. # 17.6.0 - -- [feature] Added functionality to automatically download and show an image in a notification +* [feature] Added functionality to automatically download and show an image in a notification message. Retrieve the image URL set in the message with the `getImageUrl` method in [`RemoteMessage.Notification`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage.Notification). # 17.5.0 - -- [changed] Added internal improvements and refactored code. +* [changed] Added internal improvements and refactored code. # 17.4.0 - -- [feature] Added `getChannelId` method to +* [feature] Added `getChannelId` method to [`RemoteMessage.Notification`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage.Notification) for getting the channel ID set in a notification message. -- [fixed] Fixed a rare `ClassCastException` while receiving a message. +* [fixed] Fixed a rare `ClassCastException` while receiving a message. # 17.3.4 - -- [fixed] Bug fixes and internal improvements. +* [fixed] Bug fixes and internal improvements. # 17.3.2 - -- [fixed] Fixed an issue that would occasionally cause apps to crash with Android Not Responding +* [fixed] Fixed an issue that would occasionally cause apps to crash with Android Not Responding (ANR) errors when receiving a message. # 17.3.0 - -- [changed] Incremented the version number to 17.3.0 due to internal SDK changes. These changes do +* [changed] Incremented the version number to 17.3.0 due to internal SDK changes. These changes do not affect client functionality, and developers do not need to take any action. # 17.1.0 - -- [feature] Added `onNewToken` method to +* [feature] Added `onNewToken` method to [`FirebaseMessagingService`](/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService) which is invoked when the app gets a new Instance ID token or its existing token changes. # 17.0.0 - -- [feature] Added `getPriority()` and `getOriginalPriority()` methods to +* [feature] Added `getPriority()` and `getOriginalPriority()` methods to [`RemoteMessage`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage). -- [changed] The methods `subscribeToTopic()` and `unsubscribeFromTopic()` on +* [changed] The methods `subscribeToTopic()` and `unsubscribeFromTopic()` on [`FirebaseMessaging`](/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging) now return a [`Task`](/docs/reference/android/com/google/android/gms/tasks/Task) that can be used to see when the request has completed. + diff --git a/firebase-messaging/gradle.properties b/firebase-messaging/gradle.properties index 8b900dba53c..2d98aaa066a 100644 --- a/firebase-messaging/gradle.properties +++ b/firebase-messaging/gradle.properties @@ -1,3 +1,3 @@ -version=25.0.1 -latestReleasedVersion=25.0.0 +version=25.0.2 +latestReleasedVersion=25.0.1 android.enableUnitTestBinaryResources=true diff --git a/firebase-ml-modeldownloader/CHANGELOG.md b/firebase-ml-modeldownloader/CHANGELOG.md index 1923f782fd8..8efddcb1b1d 100644 --- a/firebase-ml-modeldownloader/CHANGELOG.md +++ b/firebase-ml-modeldownloader/CHANGELOG.md @@ -1,193 +1,176 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 26.0.0 +# 26.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 26.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 25.0.1 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 25.0.0 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.3 +* [changed] Bump internal dependencies. -- [changed] Bump internal dependencies. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.2 - -- [fixed] Fixed `SecurityException` where the `RECEIVER_EXPORTED` or `RECEIVER_NOT_EXPORTED` flag +* [fixed] Fixed `SecurityException` where the `RECEIVER_EXPORTED` or `RECEIVER_NOT_EXPORTED` flag should be specified when registerReceiver is being used. [#5597](https://github.com/firebase/firebase-android-sdk/pull/5597) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.1 +* [changed] Internal infrastructure improvements. -- [changed] Internal infrastructure improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.0 - -- [changed] Added Kotlin extensions (KTX) APIs from +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-ml-modeldownloader-ktx` to `com.google.firebase:firebase-ml-modeldownloader` under the `com.google.firebase.ml.modeldownloader` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-ml-modeldownloader-ktx` have been +* [deprecated] All the APIs from `com.google.firebase:firebase-ml-modeldownloader-ktx` have been added to `com.google.firebase:firebase-ml-modeldownloader` under the `com.google.firebase.ml.modeldownloader` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-ml-modeldownloader-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.1.3 - -- [unchanged] Updated internal Dagger dependency. -- [fixed] Updated the third-party license file to include Dagger's license. +* [unchanged] Updated internal Dagger dependency. +* [fixed] Updated the third-party license file to include Dagger's license. # 24.1.2 +* [changed] Internal infrastructure improvements. +* [changed] Migrated [firebase_ml] to use standard Firebase executors. -- [changed] Internal infrastructure improvements. -- [changed] Migrated [firebase_ml] to use standard Firebase executors. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.1.1 - -- [fixed] Fixed an issue where `FirebaseModelDownloader.getModel` was throwing +* [fixed] Fixed an issue where `FirebaseModelDownloader.getModel` was throwing `FirebaseMlException.PERMISSION_DENIED` when the model name was empty. It now throws `FirebaseMlException.INVALID_ARGUMENT` (#4157) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.1.0 - -- [unchanged] Updated to accommodate the release of the updated [firebase_ml] Kotlin extensions +* [unchanged] Updated to accommodate the release of the updated [firebase_ml] Kotlin extensions library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-ml-modeldownloader-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 24.0.5 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.4 - -- [fixed] Fixed a race condition that was caused when differently sized models were concurrently +* [fixed] Fixed a race condition that was caused when differently sized models were concurrently downloaded using this SDK and the Model Downloader from the `com.google.firebase:firebase-ml-common` SDK. (#3321) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.3 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.2 - -- [fixed] Fixed an issue where `FirebaseModelDownloader.getInstance` would crash when using +* [fixed] Fixed an issue where `FirebaseModelDownloader.getInstance` would crash when using non-default FirebaseApp instances. (#3321) -- [changed] Updated to the latest version of the `firebase-datatransport` library. +* [changed] Updated to the latest version of the `firebase-datatransport` library. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.1 - -- [fixed] Added support for Android API key restrictions. +* [fixed] Added support for Android API key restrictions. # 24.0.0 +* [changed] Internal infrastructure improvements. -- [changed] Internal infrastructure improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 23.0.1 +* [unchanged] Updated to accommodate the release of the [firebase_ml] Kotlin extensions library. -- [unchanged] Updated to accommodate the release of the [firebase_ml] Kotlin extensions library. ## Kotlin - -- [feature] The beta release of a [firebase_ml] Android library with Kotlin extensions is now +* [feature] The beta release of a [firebase_ml] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-ml-model-downloader` library. To learn more, visit the [[firebase_ml] KTX documentation](/docs/reference/android/com/google/firebase/ml/modeldownloader/package-summary). # 23.0.0 - This release includes the initial beta release of the [firebase_ml] Model Downloader SDK. The [firebase_ml] Model Downloader SDK provides APIs for downloading models hosted with @@ -195,6 +178,7 @@ The [firebase_ml] Model Downloader SDK provides APIs for downloading models host of the ML Kit Custom Models library (`firebase-ml-model-interpreter`), allowing you to work with custom hosted models without the interpreter API, which is now provided directly by TFLite runtime. -- [feature] Added custom hosted model download and on-device management capabilities. -- [feature] Added ability to get the model download ID, which allows progress tracking of file +* [feature] Added custom hosted model download and on-device management capabilities. +* [feature] Added ability to get the model download ID, which allows progress tracking of file downloads. + diff --git a/firebase-ml-modeldownloader/gradle.properties b/firebase-ml-modeldownloader/gradle.properties index 80e71786c11..dcec8dcda61 100644 --- a/firebase-ml-modeldownloader/gradle.properties +++ b/firebase-ml-modeldownloader/gradle.properties @@ -1,2 +1,2 @@ -version=26.0.1 -latestReleasedVersion=26.0.0 +version=26.0.2 +latestReleasedVersion=26.0.1 diff --git a/firebase-perf/CHANGELOG.md b/firebase-perf/CHANGELOG.md index 8825160580a..4668d27a9b2 100644 --- a/firebase-perf/CHANGELOG.md +++ b/firebase-perf/CHANGELOG.md @@ -1,363 +1,331 @@ # Unreleased -- [changed] Bumped internal dependencies. -- [fixed] Fixed the behavior of app start traces on API 34+ devices. [#5920] -# 22.0.1 +# 22.0.2 +* [changed] Bumped internal dependencies. +* [fixed] Fixed the behavior of app start traces on API 34+ devices. [#5920] -- [fixed] Fixed an ANR on app launch. [#4831] +# 22.0.1 +* [fixed] Fixed an ANR on app launch. [#4831] # 22.0.0 - -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.5 +* [changed] Updated `protolite-well-known-types` dependency to v18.0.1 [#6716] +* [fixed] Fixed a bug that allowed invalid payload bytes value in network request metrics [#6721] -- [changed] Updated `protolite-well-known-types` dependency to v18.0.1 [#6716] -- [fixed] Fixed a bug that allowed invalid payload bytes value in network request metrics [#6721] ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.4 - -- [fixed] Fixed a performance issue with shared preferences calling `.apply()` every time a value is +* [fixed] Fixed a performance issue with shared preferences calling `.apply()` every time a value is read from remote config (#6407) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.3 +* [changed] Bump internal dependencies. -- [changed] Bump internal dependencies. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.2 - -- [fixed] Fixed `IllegalStateException` that happened when starting a trace before Firebase +* [fixed] Fixed `IllegalStateException` that happened when starting a trace before Firebase initializes. -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.1 - -- [fixed] Fixed an `ExceptionInInitializerError` where the `url.openStream()` causes a crash if +* [fixed] Fixed an `ExceptionInInitializerError` where the `url.openStream()` causes a crash if FirebasePerf is not yet initialized (Github #5584). -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.0 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.5.2 +* [changed] Bump internal dependencies. -- [changed] Bump internal dependencies. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.5.1 - -- [changed] Make Fireperf generate its own session Id. +* [changed] Make Fireperf generate its own session Id. # 20.5.0 - -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-perf-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) # 20.4.1 - -- [changed] Updated `firebase-sessions` dependency to v1.0.2 -- [fixed] Make fireperf data collection state is reliable for Firebase Sessions library. +* [changed] Updated `firebase-sessions` dependency to v1.0.2 +* [fixed] Make fireperf data collection state is reliable for Firebase Sessions library. # 20.4.0 - -- [feature] Integrated with Firebase sessions library to enable upcoming features related to +* [feature] Integrated with Firebase sessions library to enable upcoming features related to session-based performance metrics. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.3 +* [fixed] Fixed app start trace creation where some measured time could be NULL (#4730). +* [changed] Adjusted default behavior when remote config fetch fails. -- [fixed] Fixed app start trace creation where some measured time could be NULL (#4730). -- [changed] Adjusted default behavior when remote config fetch fails. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.2 +* [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. +* [changed] Updated [perfmon] to use double-precision for sampling. -- [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. -- [changed] Updated [perfmon] to use double-precision for sampling. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.1 +* [changed] Migrated [perfmon] to use standard Firebase executors. -- [changed] Migrated [perfmon] to use standard Firebase executors. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.0 - -- [fixed] Fixed a `NullPointerException` crash when instrumenting screen traces on Android 7, 8, +* [fixed] Fixed a `NullPointerException` crash when instrumenting screen traces on Android 7, 8, and 9. (#4146) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has the following additional updates: -- [feature] Added a +* [feature] Added a [`trace(String, Trace.() -> T)`]() extension function to create a custom trace with the specified name. # 20.2.0 +* [unchanged] Updated to accommodate the release of the updated [perfmon] Kotlin extensions library. -- [unchanged] Updated to accommodate the release of the updated [perfmon] Kotlin extensions library. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-performance-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.1 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.1.0 - -- [feature] Added support for out-of-the-box measurement of screen performance metrics for +* [feature] Added support for out-of-the-box measurement of screen performance metrics for [Fragments](//developer.android.com/guide/fragments){: .external}. For more details, visit [Learn about screen rendering performance data](/docs/perf-mon/screen-traces?platform=android). -- [fixed] Fixed a bug where screen traces were not capturing frame metrics for multi-Activity apps. -- [fixed] Excluded custom attributes that have key/value lengths of 0. +* [fixed] Fixed a bug where screen traces were not capturing frame metrics for multi-Activity apps. +* [fixed] Excluded custom attributes that have key/value lengths of 0. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.6 - -- [fixed] Fixed a null pointer exception (NPE) when instrumenting network requests. (#3406) -- [fixed] Fixed a bug where incorrect session IDs were associated with some foreground and +* [fixed] Fixed a null pointer exception (NPE) when instrumenting network requests. (#3406) +* [fixed] Fixed a bug where incorrect session IDs were associated with some foreground and background traces. -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.5 - -- [feature] Enabled global custom attributes for network request traces. -- [fixed] Updated log statement to differentiate an event being dropped due to rate limiting and +* [feature] Enabled global custom attributes for network request traces. +* [fixed] Updated log statement to differentiate an event being dropped due to rate limiting and sampling. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.4 - -- [changed] Improved [perfmon] start up time by 25%. This improvement was achieved by moving some +* [changed] Improved [perfmon] start up time by 25%. This improvement was achieved by moving some component initialization to background threads. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.3 - -- [changed] [perfmon] now has a random delay of 5 to 30 seconds before fetching [remote_config] upon +* [changed] [perfmon] now has a random delay of 5 to 30 seconds before fetching [remote_config] upon app startup. -- [fixed] Added a validation to stop screen traces with 0 total frames from being sent to the +* [fixed] Added a validation to stop screen traces with 0 total frames from being sent to the backend. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.2 - -- [fixed] Fixed inaccurate calculation of screen activity metrics for multi-activity apps. (#2672) +* [fixed] Fixed inaccurate calculation of screen activity metrics for multi-activity apps. (#2672) Note: You may see some changes in data for frozen frames and slow rendering metrics. -- [fixed] Fixed issue where screen traces were not being tracked for Android API levels 23 and +* [fixed] Fixed issue where screen traces were not being tracked for Android API levels 23 and below. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.1 - -- [feature] Logs for [firebase_perfmon] now contain URLs to view performance data in the +* [feature] Logs for [firebase_perfmon] now contain URLs to view performance data in the [name_appmanager]. -- [fixed] Fixed `RateLimiter` replenishment logic and unit alignment. +* [fixed] Fixed `RateLimiter` replenishment logic and unit alignment. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.0 - -- [feature] Introduce Dagger as a dependency injection framework for some parts of the code. -- [changed] Improved the code organization of the SDK (package restructure, code conventions, remove +* [feature] Introduce Dagger as a dependency injection framework for some parts of the code. +* [changed] Improved the code organization of the SDK (package restructure, code conventions, remove unncessary annotations). -- [changed] Improve the launch time of the SDK. +* [changed] Improve the launch time of the SDK. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.1.1 - -- [feature] The [firebase_perfmon] SDK is now +* [feature] The [firebase_perfmon] SDK is now [open sourced](//github.com/firebase/firebase-android-sdk/tree/master/firebase-perf){: .external}. -- [fixed] Fixed issue on the console logger to avoid throwing `UnknownFormatConversionException`. +* [fixed] Fixed issue on the console logger to avoid throwing `UnknownFormatConversionException`. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.1.0 - -- [changed] Removed GMS dependency from [perfmon]. Google Play services installation is no longer +* [changed] Removed GMS dependency from [perfmon]. Google Play services installation is no longer required to use [perfmon]. -- [changed] Improved performance event dispatch wait time from 2 hours to 30 seconds. +* [changed] Improved performance event dispatch wait time from 2 hours to 30 seconds. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.0.11 +* [fixed] Upgraded protobuf dependency to the latest released version (#2158) -- [fixed] Upgraded protobuf dependency to the latest released version (#2158) ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.0.10 - Note: We recommend using [perfmon] Gradle plugin v1.3.4+ with this version of the [perfmon] SDK and above. -- [changed] Integrated with the `firebase-datatransport` library for performance log dispatch +* [changed] Integrated with the `firebase-datatransport` library for performance log dispatch mechanism. -- [fixed] Synchronized the access to fix a race condition that was causing a `NullPointerException` +* [fixed] Synchronized the access to fix a race condition that was causing a `NullPointerException` when making network requests. (#2096) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.0.9 - -- [fixed] Created lazy dependency on [firebase_remote_config] to avoid main thread contention issue. +* [fixed] Created lazy dependency on [firebase_remote_config] to avoid main thread contention issue. (#1810) -- [changed] Updated the protocol buffer dependency to the `protobuf-javalite` artifact to allow for +* [changed] Updated the protocol buffer dependency to the `protobuf-javalite` artifact to allow for backward compatibility. -- [changed] Removed Guava dependency from the SDK to avoid symbol collision with any other SDKs. -- [changed] Removed proguarding for SDK; logcat messages will show original class paths for +* [changed] Removed Guava dependency from the SDK to avoid symbol collision with any other SDKs. +* [changed] Removed proguarding for SDK; logcat messages will show original class paths for debugging. -- [changed] Improved build configurations and dependencies to reduce SDK size. +* [changed] Improved build configurations and dependencies to reduce SDK size. -## Kotlin -- [feature] The [firebase_perfmon] Android library with Kotlin extensions is now available. The +## Kotlin +* [feature] The [firebase_perfmon] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-performance` library. To learn more, visit the [[perfmon] KTX documentation](/docs/reference/kotlin/com/google/firebase/perf/ktx/package-summary). # 19.0.8 - -- [changed] Updated the [logging message](/docs/perf-mon/get-started-android#view-log-messages) for +* [changed] Updated the [logging message](/docs/perf-mon/get-started-android#view-log-messages) for performance events. -- [fixed] Silenced [firebase_remote_config] logging triggered by [firebase_perfmon]. (#403) -- [fixed] Removed unnecessary logging. [perfmon] now only logs debug information if the +* [fixed] Silenced [firebase_remote_config] logging triggered by [firebase_perfmon]. (#403) +* [fixed] Removed unnecessary logging. [perfmon] now only logs debug information if the `firebase_performance_logcat_enabled` setting is `true` in `AndroidManifest.xml`. Visit the documentation for details about explicitly [enabling debug logging](/docs/perf-mon/get-started-android#view-log-messages). -- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} # 19.0.7 - -- [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step +* [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step towards a direct dependency on the [firebase_installations] service in a future release. This update to `firebase-iid` v20.1.5 fixed the following GitHub issues: @@ -366,79 +334,64 @@ Kotlin extensions library has no additional updates. [#1339](//github.com/firebase/firebase-android-sdk/issues/1339). # 19.0.6 - -- [fixed] Fixed an NPE crash when calling `trace.stop()`. (#1383) +* [fixed] Fixed an NPE crash when calling `trace.stop()`. (#1383) # 19.0.5 - -- [fixed] Muted logcat logging for [firebase_perfmon] when `firebase_performance_logcat_enabled` is +* [fixed] Muted logcat logging for [firebase_perfmon] when `firebase_performance_logcat_enabled` is not set or set to false. ([#403](//github.com/firebase/firebase-android-sdk/issues/403)) -- [fixed] Skipped automatic performance event creation when +* [fixed] Skipped automatic performance event creation when `firebase_performance_collection_enabled` is set to false. -- [changed] Internal infrastructure improvements. +* [changed] Internal infrastructure improvements. # 19.0.4 - -- [changed] Improved internal infrastructure to work better with [firebase_remote_config]. +* [changed] Improved internal infrastructure to work better with [firebase_remote_config]. # 19.0.3 - -- [changed] Internal infrastructure improvements. +* [changed] Internal infrastructure improvements. # 19.0.2 - -- [changed] Internal infrastructure improvements. +* [changed] Internal infrastructure improvements. # 19.0.1 - -- [changed] Internal infrastructure improvements. +* [changed] Internal infrastructure improvements. # 19.0.0 - -- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No +* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.1 - -- [fixed] Fixed an `IllegalStateException` that was thrown when an activity with hardware +* [fixed] Fixed an `IllegalStateException` that was thrown when an activity with hardware acceleration disabled was stopped. # 17.0.2 - -- [fixed] Fixed a `Null Pointer Exception` that was being observed on certain Android 7.0 devices. -- [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. +* [fixed] Fixed a `Null Pointer Exception` that was being observed on certain Android 7.0 devices. +* [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. # 17.0.0 - -- [removed] Removed the deprecated counter API. Use metrics API going forward. +* [removed] Removed the deprecated counter API. Use metrics API going forward. # 16.2.5 - -- [fixed] Fixed a bug that was causing apps using multiple processses to throw an +* [fixed] Fixed a bug that was causing apps using multiple processses to throw an `IllegalStateException` in the non-main processes. # 16.2.4 - -- [fixed] Fixed a bug that was causing a `NoClassDefFoundError` to be thrown which resulted in +* [fixed] Fixed a bug that was causing a `NoClassDefFoundError` to be thrown which resulted in intermittent app crashes. -- [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. -- [changed] [firebase_perfmon] no longer depends on [firebase_analytics]. +* [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. +* [changed] [firebase_perfmon] no longer depends on [firebase_analytics]. # 16.2.3 - -- [fixed] Bug fixes. +* [fixed] Bug fixes. # 16.2.1 - -- [fixed] SDK size is now smaller. +* [fixed] SDK size is now smaller. # 16.2.0 - -- [feature] Introduces the Sessions feature, which gives developers access to actionable insights +* [feature] Introduces the Sessions feature, which gives developers access to actionable insights about data captured using [perfmon]. -- [fixed] Minor bug fixes and improvements. +* [fixed] Minor bug fixes and improvements. # 16.1.0 - -- [fixed] Fixed a `SecurityException` crash on certain devices that do not have Google Play Services +* [fixed] Fixed a `SecurityException` crash on certain devices that do not have Google Play Services on them. + diff --git a/firebase-perf/gradle.properties b/firebase-perf/gradle.properties index 52281207fc6..6b8518ac711 100644 --- a/firebase-perf/gradle.properties +++ b/firebase-perf/gradle.properties @@ -15,7 +15,7 @@ # # -version=22.0.2 -latestReleasedVersion=22.0.1 +version=22.0.3 +latestReleasedVersion=22.0.2 android.enableUnitTestBinaryResources=true diff --git a/firebase-sessions/CHANGELOG.md b/firebase-sessions/CHANGELOG.md index 990e042370c..ce8a7e5c60e 100644 --- a/firebase-sessions/CHANGELOG.md +++ b/firebase-sessions/CHANGELOG.md @@ -1,78 +1,66 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 3.0.1 +# 3.0.2 +* [changed] Bumped internal dependencies. -- [fixed] Bumped DataStore dependency to include the mitigation for `CorruptionException` released +# 3.0.1 +* [fixed] Bumped DataStore dependency to include the mitigation for `CorruptionException` released in version `1.1.5`. See Jetpacks' DataStore [release notes](https://developer.android.com/jetpack/androidx/releases/datastore#1.1.5). # 3.0.0 - -- [changed] Added internal api for Crashlytics to notify Sessions of crash events -- [changed] Use multi-process DataStore instead of Preferences DataStore -- [changed] Update the heuristic to detect cold app starts -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [changed] Added internal api for Crashlytics to notify Sessions of crash events +* [changed] Use multi-process DataStore instead of Preferences DataStore +* [changed] Update the heuristic to detect cold app starts +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 2.1.1 - -- [unchanged] Updated to keep SDK versions aligned. +* [unchanged] Updated to keep SDK versions aligned. # 2.1.0 - -- [changed] Add warning for known issue b/328687152 -- [changed] Use Dagger for dependency injection -- [changed] Updated datastore dependency to v1.1.3 to fix +* [changed] Add warning for known issue b/328687152 +* [changed] Use Dagger for dependency injection +* [changed] Updated datastore dependency to v1.1.3 to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8). # 2.0.9 - -- [fixed] Make AQS resilient to background init in multi-process apps. +* [fixed] Make AQS resilient to background init in multi-process apps. # 2.0.7 - -- [fixed] Removed extraneous logs that risk leaking internal identifiers. +* [fixed] Removed extraneous logs that risk leaking internal identifiers. # 2.0.6 - -- [changed] Updated protobuf dependency to `3.25.5` to fix +* [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8). # 2.0.5 - -- [unchanged] Updated to keep SDK versions aligned. +* [unchanged] Updated to keep SDK versions aligned. # 2.0.4 - -- [fixed] Handled datastore writes when device has full internal memory more gracefully. (GitHub +* [fixed] Handled datastore writes when device has full internal memory more gracefully. (GitHub [#5859](https://github.com/firebase/firebase-android-sdk/issues/5859)) -- [fixed] Safely unbind malfunctioning session lifecycle service to release service connections. +* [fixed] Safely unbind malfunctioning session lifecycle service to release service connections. (GitHub [#5869](https://github.com/firebase/firebase-android-sdk/issues/5869)) # 1.2.3 - -- [fixed] Force validation or rotation of FIDs. +* [fixed] Force validation or rotation of FIDs. # 1.2.1 - -- [changed] Bump internal dependencies. -- [fixed] Handle corruption in DataStore Preferences more gracefully. +* [changed] Bump internal dependencies. +* [fixed] Handle corruption in DataStore Preferences more gracefully. # 1.2.0 - -- [feature] Added support for accurate sessions on multi-process apps. +* [feature] Added support for accurate sessions on multi-process apps. # 1.0.2 - -- [fixed] Made Sessions more resilient to the FirebaseApp instance being deleted. +* [fixed] Made Sessions more resilient to the FirebaseApp instance being deleted. # 1.0.1 - -- [fixed] Fixed NPE when no version name is set +* [fixed] Fixed NPE when no version name is set ([#5195](https://github.com/firebase/firebase-android-sdk/issues/5195)). -- [fixed] Populate DataCollectionStatus fields for Crashlytics and Perf. +* [fixed] Populate DataCollectionStatus fields for Crashlytics and Perf. # 1.0.0 +* [feature] Initial Firebase sessions library. -- [feature] Initial Firebase sessions library. diff --git a/firebase-sessions/gradle.properties b/firebase-sessions/gradle.properties index d590a12159a..f9c1b536899 100644 --- a/firebase-sessions/gradle.properties +++ b/firebase-sessions/gradle.properties @@ -12,5 +12,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=3.0.2 -latestReleasedVersion=3.0.1 +version=3.0.3 +latestReleasedVersion=3.0.2 diff --git a/firebase-storage/CHANGELOG.md b/firebase-storage/CHANGELOG.md index e83db5ad51e..b4ae662c2c5 100644 --- a/firebase-storage/CHANGELOG.md +++ b/firebase-storage/CHANGELOG.md @@ -1,232 +1,211 @@ # Unreleased -- [changed] Bumped internal dependencies. -# 22.0.0 +# 22.0.1 +* [changed] Bumped internal dependencies. -- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +# 22.0.0 +* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.2 - -- [fixed] Fixed an issue where tests were depending on a deprecated feature of the test framework. +* [fixed] Fixed an issue where tests were depending on a deprecated feature of the test framework. (#6927) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 21.0.1 - -- [fixed] Fixed an issue where `maxUploadRetryTimeMillis` parameter is ignored when uploading using +* [fixed] Fixed an issue where `maxUploadRetryTimeMillis` parameter is ignored when uploading using `putBytes()` # 21.0.0 +* [changed] Bump internal dependencies -- [changed] Bump internal dependencies ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.3.0 - -- [fixed] Fixed an issue where the wrong SDK version was being reported to the backend. -- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to +* [fixed] Fixed an issue where the wrong SDK version was being reported to the backend. +* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -- [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to +* [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-perf-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.2.1 - -- [changed] Migrated `firebase-storage` SDK to use standard Firebase executors. (GitHub +* [changed] Migrated `firebase-storage` SDK to use standard Firebase executors. (GitHub [#4830](//github.com/firebase/firebase-android-sdk/pull/4830){: .external}) -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.2.0 +* [changed] Internal changes to ensure alignment with other SDK releases. -- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.1.0 - -- [fixed] Fixed an issue that caused an infinite number of retries with no exponential backoff for +* [fixed] Fixed an issue that caused an infinite number of retries with no exponential backoff for `uploadChunk()`. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has the following additional updates: -- [feature] Firebase now supports Kotlin coroutines. With this release, we added +* [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-storage-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. -- [feature] Added +* [feature] Added [`StorageTask.taskState`](/docs/reference/kotlin/com/google/firebase/storage/ktx/package-summary#taskState) Kotlin Flows to monitor the progress of an upload or download `Task`. # 20.0.2 +* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.0.1 - -- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.0.0 +* [feature] Added abuse reduction features. +* [feature] Added the ability to connect to the [firebase_storage] emulator. +* [changed] Internal changes to support dynamic feature modules. +* [changed] Internal infrastructure improvements. -- [feature] Added abuse reduction features. -- [feature] Added the ability to connect to the [firebase_storage] emulator. -- [changed] Internal changes to support dynamic feature modules. -- [changed] Internal infrastructure improvements. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.2.2 - -- [fixed] Fixed an issue that caused the SDK to report incorrect values for +* [fixed] Fixed an issue that caused the SDK to report incorrect values for [`getTotalByteCount()`]() after a download was paused and resumed. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.2.1 - -- [fixed] Fixed an issue that caused the SDK to crash if the download location was deleted before +* [fixed] Fixed an issue that caused the SDK to crash if the download location was deleted before the download completed. Instead, the download now fails. -## Kotlin +## Kotlin The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.2.0 +* [changed] Updated to support improvements in the KTX library (see below). -- [changed] Updated to support improvements in the KTX library (see below). ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-storage` library and has the following additional updates: -- [feature] Added API support for destructuring of +* [feature] Added API support for destructuring of [`TaskSnapshot`](/docs/reference/kotlin/com/google/firebase/storage/StreamDownloadTask.TaskSnapshot) and [`ListResult`](/docs/reference/kotlin/com/google/firebase/storage/ListResult). # 19.1.1 +* [changed] Internal changes to ensure functionality alignment with other SDK releases. -- [changed] Internal changes to ensure functionality alignment with other SDK releases. ## Kotlin - The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.1.0 - -- [feature] Added `getCacheControl()`, `getContentDisposition()`, `getContentEncoding()`, +* [feature] Added `getCacheControl()`, `getContentDisposition()`, `getContentEncoding()`, `getContentLanguage()`, and `getContentType()` to [`StorageMetadata.Builder`](/docs/reference/android/com/google/firebase/storage/StorageMetadata.Builder) to provide access to the current state of the metadata. -- [fixed] Fixed an encoding issue in +* [fixed] Fixed an encoding issue in [`StorageReference.list()`]() that caused the API to miss entries for prefixes that contained special characters. -## Kotlin -- [feature] The beta release of a [firebase_storage_full] Android library with Kotlin extensions is +## Kotlin +* [feature] The beta release of a [firebase_storage_full] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-storage` library. To learn more, visit the [[firebase_storage_full] KTX documentation](/docs/reference/kotlin/com/google/firebase/storage/ktx/package-summary). # 19.0.1 - -- [fixed] - [`StorageReference.listAll()`]() +* [fixed] [`StorageReference.listAll()`]() now propagates the error messages if the List operation was denied by a Security Rule. # 19.0.0 - -- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No +* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.1.1 - -- [changed] Internal changes to ensure functionality alignment with other SDK releases. +* [changed] Internal changes to ensure functionality alignment with other SDK releases. # 18.1.0 - -- [feature] Added +* [feature] Added [`StorageReference.list()`]() and [`StorageReference.listAll()`](), which allows developers to list the files and folders under the given StorageReference. -- [changed] Added validation to +* [changed] Added validation to [`StorageReference.getDownloadUrl()`]() and [`StorageReference.getMetadata()`]() to return an error if the reference is the root of the bucket. # 17.0.0 - -- [changed] Internal changes that rely on an updated API to obtain authentication credentials. If +* [changed] Internal changes that rely on an updated API to obtain authentication credentials. If you use [firebase_auth], update to `firebase-auth` v17.0.0 or later to ensure functionality alignment. # 16.0.2 - -- [fixed] This release includes minor fixes and improvements. +* [fixed] This release includes minor fixes and improvements. # 16.0.1 - -- [feature] Added support for `onSuccessTask()` and `addOnCanceledListener()` to +* [feature] Added support for `onSuccessTask()` and `addOnCanceledListener()` to [`StorageTask`](/docs/reference/android/com/google/firebase/storage/StorageTask), [`UploadTask`](/docs/reference/android/com/google/firebase/storage/UploadTask), [`StreamDownloadTask`](/docs/reference/android/com/google/firebase/storage/StreamDownloadTask), and [`FileDownloadTask`](/docs/reference/android/com/google/firebase/storage/FileDownloadTask). -- [changed] Removed the deprecated `StorageMetadata.getDownloadUrl()` and +* [changed] Removed the deprecated `StorageMetadata.getDownloadUrl()` and `UploadTask.TaskSnapshot.getDownloadUrl()` methods. To get a current download URL, use [`StorageReference.getDownloadUr()`](). + diff --git a/firebase-storage/gradle.properties b/firebase-storage/gradle.properties index 575718ab54c..86bf0b02aab 100644 --- a/firebase-storage/gradle.properties +++ b/firebase-storage/gradle.properties @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=22.0.1 -latestReleasedVersion=22.0.0 +version=22.0.2 +latestReleasedVersion=22.0.1 android.enableUnitTestBinaryResources=true From 40ef7bffa3fb69bbce2e2e7dae15211c522b6478 Mon Sep 17 00:00:00 2001 From: David Motsonashvili Date: Thu, 18 Sep 2025 15:00:11 -0700 Subject: [PATCH 2/4] format --- agents.md | 2 +- .../CHANGELOG.md | 56 +- appcheck/firebase-appcheck-debug/CHANGELOG.md | 60 +- .../CHANGELOG.md | 44 +- appcheck/firebase-appcheck/CHANGELOG.md | 83 +-- firebase-abt/CHANGELOG.md | 45 +- firebase-ai/CHANGELOG.md | 66 ++- firebase-appdistribution-api/CHANGELOG.md | 62 ++- firebase-appdistribution/CHANGELOG.md | 61 +- firebase-config/CHANGELOG.md | 261 +++++---- firebase-crashlytics-ndk/CHANGELOG.md | 205 ++++--- firebase-crashlytics/CHANGELOG.md | 340 +++++++----- firebase-database/CHANGELOG.md | 153 +++-- firebase-dataconnect/CHANGELOG.md | 72 +-- firebase-datatransport/CHANGELOG.md | 12 +- firebase-firestore/CHANGELOG.md | 521 ++++++++++-------- firebase-functions/CHANGELOG.md | 123 +++-- firebase-inappmessaging-display/CHANGELOG.md | 185 ++++--- firebase-inappmessaging/CHANGELOG.md | 183 +++--- firebase-installations/CHANGELOG.md | 29 +- firebase-messaging-directboot/CHANGELOG.md | 108 ++-- firebase-messaging/CHANGELOG.md | 282 ++++++---- firebase-ml-modeldownloader/CHANGELOG.md | 94 ++-- firebase-perf/CHANGELOG.md | 263 +++++---- firebase-sessions/CHANGELOG.md | 64 ++- firebase-storage/CHANGELOG.md | 117 ++-- 26 files changed, 2090 insertions(+), 1401 deletions(-) diff --git a/agents.md b/agents.md index ff2d7d76a86..bd058e68114 100644 --- a/agents.md +++ b/agents.md @@ -194,4 +194,4 @@ After you make a change, here's the flow you should follow: ## Updating this Guide If new patterns or conventions are discovered, update this guide to ensure it remains a useful -resource. \ No newline at end of file +resource. diff --git a/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md b/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md index 1ce0810008e..d3ff3c5361b 100644 --- a/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md +++ b/appcheck/firebase-appcheck-debug-testing/CHANGELOG.md @@ -1,66 +1,82 @@ # Unreleased - # 19.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 19.0.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 18.0.0 -* [changed] Bump internal dependencies + +- [changed] Bump internal dependencies # 17.1.2 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.1 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.0.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.2 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.1 -* [changed] Integrated the [app_check] Debug Testing SDK with Firebase components. (GitHub + +- [changed] Integrated the [app_check] Debug Testing SDK with Firebase components. (GitHub [#4436](//github.com/firebase/firebase-android-sdk/issues/4436){: .external}) # 16.1.0 -* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions + +- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions library. # 16.0.1 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). + +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 -* [changed] [app_check] has exited beta and is now generally available for use. + +- [changed] [app_check] has exited beta and is now generally available for use. # 16.0.0-beta06 -* [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. + +- [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. # 16.0.0-beta05 -* [changed] Internal improvements. + +- [changed] Internal improvements. # 16.0.0-beta04 -* [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to + +- [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to succeed. -* [fixed] Fixed heartbeat reporting. +- [fixed] Fixed heartbeat reporting. # 16.0.0-beta03 -* [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network + +- [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network calls. # 16.0.0-beta02 -* [feature] Added + +- [feature] Added [`getAppCheckToken()`](), [`AppCheckTokenListener`](/docs/reference/android/com/google/firebase/appcheck/FirebaseAppCheck.AppCheckListener), and associated setters and removers for developers to request and observe changes to the [app_check] token. # 16.0.0-beta01 -* [feature] Initial beta release of the [app_check] Debug Testing SDK with abuse reduction features. +- [feature] Initial beta release of the [app_check] Debug Testing SDK with abuse reduction features. diff --git a/appcheck/firebase-appcheck-debug/CHANGELOG.md b/appcheck/firebase-appcheck-debug/CHANGELOG.md index 74ad91f98bb..b0e1b2b44ec 100644 --- a/appcheck/firebase-appcheck-debug/CHANGELOG.md +++ b/appcheck/firebase-appcheck-debug/CHANGELOG.md @@ -1,71 +1,87 @@ # Unreleased - # 19.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 19.0.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 18.0.0 -* [changed] Bump internal dependencies + +- [changed] Bump internal dependencies # 17.1.2 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.1 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.0.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.2 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.1 -* [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub + +- [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub [#4431](//github.com/firebase/firebase-android-sdk/issues/4431){: .external} and [#4449](//github.com/firebase/firebase-android-sdk/issues/4449){: .external}) -* [changed] Integrated the [app_check] Debug SDK with Firebase components. (GitHub +- [changed] Integrated the [app_check] Debug SDK with Firebase components. (GitHub [#4436](//github.com/firebase/firebase-android-sdk/issues/4436){: .external}) -* [changed] Moved Task continuations off the main thread. (GitHub +- [changed] Moved Task continuations off the main thread. (GitHub [#4453](//github.com/firebase/firebase-android-sdk/issues/4453){: .external}) # 16.1.0 -* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions + +- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions library. # 16.0.1 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). + +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 -* [changed] [app_check] has exited beta and is now generally available for use. + +- [changed] [app_check] has exited beta and is now generally available for use. # 16.0.0-beta06 -* [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. + +- [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. # 16.0.0-beta05 -* [changed] Internal improvements. + +- [changed] Internal improvements. # 16.0.0-beta04 -* [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to + +- [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to succeed. -* [fixed] Fixed heartbeat reporting. +- [fixed] Fixed heartbeat reporting. # 16.0.0-beta03 -* [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network + +- [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network calls. # 16.0.0-beta02 -* [feature] Added + +- [feature] Added [`getAppCheckToken()`](), [`AppCheckTokenListener`](/docs/reference/android/com/google/firebase/appcheck/FirebaseAppCheck.AppCheckListener), and associated setters and removers for developers to request and observe changes to the [app_check] token. # 16.0.0-beta01 -* [feature] Initial beta release of the [app_check] Debug SDK with abuse reduction features. +- [feature] Initial beta release of the [app_check] Debug SDK with abuse reduction features. diff --git a/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md b/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md index 1038758f84e..5a7b56788c0 100644 --- a/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md +++ b/appcheck/firebase-appcheck-playintegrity/CHANGELOG.md @@ -1,48 +1,58 @@ # Unreleased - # 19.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 19.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 18.0.0 -* [changed] Bump internal dependencies + +- [changed] Bump internal dependencies # 17.1.2 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.1.1 -* [fixed] Fixed client-side throttling in Play Integrity flows. -* [changed] Bumped Play Integrity API Library dependency version. + +- [fixed] Fixed client-side throttling in Play Integrity flows. +- [changed] Bumped Play Integrity API Library dependency version. # 17.1.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 17.0.0 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.2 -* [unchanged] Updated to keep [app_check] SDK versions aligned. + +- [unchanged] Updated to keep [app_check] SDK versions aligned. # 16.1.1 -* [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub + +- [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub [#4431](//github.com/firebase/firebase-android-sdk/issues/4431){: .external} and [#4449](//github.com/firebase/firebase-android-sdk/issues/4449){: .external}) -* [changed] Integrated the [app_check] Play integrity SDK with Firebase components. (GitHub +- [changed] Integrated the [app_check] Play integrity SDK with Firebase components. (GitHub [#4436](//github.com/firebase/firebase-android-sdk/issues/4436){: .external}) -* [changed] Moved Task continuations off the main thread. (GitHub +- [changed] Moved Task continuations off the main thread. (GitHub [#4453](//github.com/firebase/firebase-android-sdk/issues/4453){: .external}) # 16.1.0 -* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions + +- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions library. # 16.0.1 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). + +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 -* [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) - as an attestation provider. +- [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) + as an attestation provider. diff --git a/appcheck/firebase-appcheck/CHANGELOG.md b/appcheck/firebase-appcheck/CHANGELOG.md index 007a102bfcf..88d12d6afc3 100644 --- a/appcheck/firebase-appcheck/CHANGELOG.md +++ b/appcheck/firebase-appcheck/CHANGELOG.md @@ -1,137 +1,154 @@ # Unreleased - # 19.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 19.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 18.0.0 -* [changed] Bump internal dependencies -* [changed] Internal support for `SafetyNet` has been dropped, as the - [SafetyNet Attestation API has been deprecated.](https://developer.android.com/privacy-and-security/safetynet/deprecation-timeline#safetynet_attestation_deprecation_timeline) +- [changed] Bump internal dependencies +- [changed] Internal support for `SafetyNet` has been dropped, as the + [SafetyNet Attestation API has been deprecated.](https://developer.android.com/privacy-and-security/safetynet/deprecation-timeline#safetynet_attestation_deprecation_timeline) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.1.2 -* [changed] Bump internal dependencies. +- [changed] Bump internal dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.1.1 -* [fixed] Fixed a bug causing internal tests to depend directly on `firebase-common`. -* [fixed] Fixed client-side throttling in Play Integrity flows. +- [fixed] Fixed a bug causing internal tests to depend directly on `firebase-common`. +- [fixed] Fixed client-side throttling in Play Integrity flows. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.1.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-appcheck-ktx` to + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-appcheck-ktx` to `com.google.firebase:firebase-appcheck` under the `com.google.firebase.appcheck` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-appcheck-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-appcheck-ktx` have been added to `com.google.firebase:firebase-appcheck` under the `com.google.firebase.appcheck` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-appcheck-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 17.0.1 -* [changed] Internal updates to allow Firebase SDKs to obtain limited-use tokens. + +- [changed] Internal updates to allow Firebase SDKs to obtain limited-use tokens. # 17.0.0 -* [feature] Added + +- [feature] Added [`getLimitedUseAppCheckToken()`]() for obtaining limited-use tokens for protecting non-Firebase backends. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 16.1.2 -* [unchanged] Updated to keep [app_check] SDK versions aligned. +- [unchanged] Updated to keep [app_check] SDK versions aligned. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 16.1.1 -* [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub + +- [changed] Migrated [app_check] SDKs to use standard Firebase executors. (GitHub [#4431](//github.com/firebase/firebase-android-sdk/issues/4431){: .external} and [#4449](//github.com/firebase/firebase-android-sdk/issues/4449){: .external}) -* [changed] Moved Task continuations off the main thread. (GitHub +- [changed] Moved Task continuations off the main thread. (GitHub [#4453](//github.com/firebase/firebase-android-sdk/issues/4453){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has no additional updates. # 16.1.0 -* [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [app_check] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appcheck` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-appcheck-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 16.0.1 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). + +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 16.0.0 -* [changed] [app_check] has exited beta and is now generally available for use. -* [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) + +- [changed] [app_check] has exited beta and is now generally available for use. +- [feature] Added support for [Play Integrity](https://developer.android.com/google/play/integrity) as an attestation provider. # 16.0.0-beta06 -* [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. + +- [fixed] Fixed a bug in the [app_check] token refresh flow when using a custom provider. # 16.0.0-beta05 -* [changed] Internal improvements. + +- [changed] Internal improvements. # 16.0.0-beta04 -* [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to + +- [changed] Improved error handling logic by minimizing the amount of requests that are unlikely to succeed. -* [fixed] Fixed heartbeat reporting. +- [fixed] Fixed heartbeat reporting. # 16.0.0-beta03 -* [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network + +- [changed] Added `X-Android-Package` and `X-Android-Cert` request headers to [app_check] network calls. # 16.0.0-beta02 -* [feature] Added + +- [feature] Added [`getAppCheckToken()`](), [`AppCheckTokenListener`](/docs/reference/android/com/google/firebase/appcheck/FirebaseAppCheck.AppCheckListener), and associated setters and removers for developers to request and observe changes to the [app_check] token. # 16.0.0-beta01 -* [feature] Initial beta release of the [app_check] SDK with abuse reduction features. +- [feature] Initial beta release of the [app_check] SDK with abuse reduction features. diff --git a/firebase-abt/CHANGELOG.md b/firebase-abt/CHANGELOG.md index 19b74626f4f..5d6730988ed 100644 --- a/firebase-abt/CHANGELOG.md +++ b/firebase-abt/CHANGELOG.md @@ -1,53 +1,64 @@ # Unreleased - # 23.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 23.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 22.0.0 -* [changed] Bump internal dependencies + +- [changed] Bump internal dependencies # 21.1.2 -* [changed] Bump internal dependencies. + +- [changed] Bump internal dependencies. # 21.1.1 -* [changed] Internal changes to improve experiment reporting. + +- [changed] Internal changes to improve experiment reporting. # 21.1.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 21.0.2 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). + +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 21.0.1 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. # 21.0.0 -* [changed] Internal infrastructure improvements. -* [changed] Internal changes to support dynamic feature modules. + +- [changed] Internal infrastructure improvements. +- [changed] Internal changes to support dynamic feature modules. # 20.0.0 -* [removed] Removed the protocol buffer dependency and moved relevant protocol buffer definitions to + +- [removed] Removed the protocol buffer dependency and moved relevant protocol buffer definitions to [inappmessaging_longer]. If you use [ab_testing] with [inappmessaging], you'll need to update to [inappmessaging] v19.1.2 or later. # 19.0.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 17.1.1 -* [changed] Updated API to support the latest [remote_config] update. -* [changed] Updated minSdkVersion to API level 16. + +- [changed] Updated API to support the latest [remote_config] update. +- [changed] Updated minSdkVersion to API level 16. # 17.1.0 -* [changed] Updated API to support the latest [remote_config] update. +- [changed] Updated API to support the latest [remote_config] update. diff --git a/firebase-ai/CHANGELOG.md b/firebase-ai/CHANGELOG.md index e4977e8e992..1e76b9ee24c 100644 --- a/firebase-ai/CHANGELOG.md +++ b/firebase-ai/CHANGELOG.md @@ -1,72 +1,78 @@ # Unreleased - # 17.3.0 -* [changed] Bumped internal dependencies. -* [feature] Added support for code execution. -* [changed] Marked the public constructors for `ExecutableCodePart` and `CodeExecutionResultPart` as + +- [changed] Bumped internal dependencies. +- [feature] Added support for code execution. +- [changed] Marked the public constructors for `ExecutableCodePart` and `CodeExecutionResultPart` as deprecated. -* [feature] Introduced `MissingPermissionsException`, which is thrown when the necessary permissions +- [feature] Introduced `MissingPermissionsException`, which is thrown when the necessary permissions have not been granted by the user. -* [feature] Added helper functions to `LiveSession` to allow developers to track the status of the +- [feature] Added helper functions to `LiveSession` to allow developers to track the status of the audio session and the underlying websocket connection. -* [changed] Added new values to `HarmCategory` (#7324) -* [fixed] Fixed an issue that caused unknown or empty `Part`s to throw an exception. Instead, we now +- [changed] Added new values to `HarmCategory` (#7324) +- [fixed] Fixed an issue that caused unknown or empty `Part`s to throw an exception. Instead, we now log them and filter them from the response (#7333) # 17.2.0 -* [feature] Added support for returning thought summaries, which are synthesized versions of a + +- [feature] Added support for returning thought summaries, which are synthesized versions of a model's internal reasoning process. -* [fixed] Fixed an issue causing the accessor methods in `GenerateContentResponse` to throw an +- [fixed] Fixed an issue causing the accessor methods in `GenerateContentResponse` to throw an exception when the response contained no candidates. -* [changed] Added better description for requests which fail due to the Gemini API not being +- [changed] Added better description for requests which fail due to the Gemini API not being configured. -* [changed] Added a `dilation` parameter to `ImagenMaskReference.generateMaskAndPadForOutpainting` +- [changed] Added a `dilation` parameter to `ImagenMaskReference.generateMaskAndPadForOutpainting` (#7260) -* [feature] Added support for limited-use tokens with Firebase App Check. These limited-use tokens +- [feature] Added support for limited-use tokens with Firebase App Check. These limited-use tokens are required for an upcoming optional feature called _replay protection_. We recommend [enabling the usage of limited-use tokens](https://firebase.google.com/docs/ai-logic/app-check) now so that when replay protection becomes available, you can enable it sooner because more of your users will be on versions of your app that send limited-use tokens. (#7285) # 17.1.0 + ======= -* [feature] added support for Imagen Editing, including inpainting, outpainting, control, style +- [feature] added support for Imagen Editing, including inpainting, outpainting, control, style transfer, and subject references (#7075) -* [feature] **Preview:** Added support for bidirectional streaming in Gemini Developer Api +- [feature] **Preview:** Added support for bidirectional streaming in Gemini Developer Api # 17.0.0 -* [feature] Added support for configuring the "thinking" budget when using Gemini 2.5 series models. + +- [feature] Added support for configuring the "thinking" budget when using Gemini 2.5 series models. (#6990) -* [feature] **Breaking Change**: Add support for Grounding with Google Search (#7042). +- [feature] **Breaking Change**: Add support for Grounding with Google Search (#7042). - **Action Required:** Update all references of `groundingAttributions`, `webSearchQueries`, `retrievalQueries` in `GroundingMetadata` to be non-optional. -* [changed] require at least one argument for `generateContent()`, `generateContentStream()` and +- [changed] require at least one argument for `generateContent()`, `generateContentStream()` and `countTokens()`. -* [feature] Added new overloads for `generateContent()`, `generateContentStream()` and +- [feature] Added new overloads for `generateContent()`, `generateContentStream()` and `countTokens()` that take a `List` parameter. -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 16.2.0 -* [changed] Deprecate the `totalBillableCharacters` field (only usable with pre-2.0 models). (#7042) -* [feature] Added support for extra schema properties like `title`, `minItems`, `maxItems`, + +- [changed] Deprecate the `totalBillableCharacters` field (only usable with pre-2.0 models). (#7042) +- [feature] Added support for extra schema properties like `title`, `minItems`, `maxItems`, `minimum` and `maximum`. As well as support for the `anyOf` schema. (#7013) # 16.1.0 -* [fixed] Fixed `FirebaseAI.getInstance` StackOverflowException (#6971) -* [fixed] Fixed an issue that was causing the SDK to send empty `FunctionDeclaration` descriptions + +- [fixed] Fixed `FirebaseAI.getInstance` StackOverflowException (#6971) +- [fixed] Fixed an issue that was causing the SDK to send empty `FunctionDeclaration` descriptions to the API. -* [changed] Introduced the `Voice` class, which accepts a voice name, and deprecated the `Voices` +- [changed] Introduced the `Voice` class, which accepts a voice name, and deprecated the `Voices` class. -* [changed] **Breaking Change**: Updated `SpeechConfig` to take in `Voice` class instead of `Voices` +- [changed] **Breaking Change**: Updated `SpeechConfig` to take in `Voice` class instead of `Voices` class. - **Action Required:** Update all references of `SpeechConfig` initialization to use `Voice` class. -* [fixed] Fix incorrect model name in count token requests to the developer API backend +- [fixed] Fix incorrect model name in count token requests to the developer API backend # 16.0.0 -* [feature] Initial release of the Firebase AI SDK (`firebase-ai`). This SDK _replaces_ the previous + +- [feature] Initial release of the Firebase AI SDK (`firebase-ai`). This SDK _replaces_ the previous Vertex AI in Firebase SDK (`firebase-vertexai`) to accommodate the evolving set of supported features and services. - The new Firebase AI SDK provides **Preview** support for the Gemini Developer API, including its @@ -76,10 +82,10 @@ If you're using the old `firebase-vertexai`, we recommend [migrating to `firebase-ai`](/docs/ai-logic/migrate-to-latest-sdk) because all new development and features will be in this new SDK. -* [feature] **Preview:** Added support for specifying response modalities in `GenerationConfig` + +- [feature] **Preview:** Added support for specifying response modalities in `GenerationConfig` (only available in the new `firebase-ai` package). This includes support for image generation using [specific Gemini models](/docs/vertex-ai/models). Note: This feature is in Public Preview, which means that it is not subject to any SLA or deprecation policy and could change in backwards-incompatible ways. - diff --git a/firebase-appdistribution-api/CHANGELOG.md b/firebase-appdistribution-api/CHANGELOG.md index 308d4cadfe6..6465260ea8d 100644 --- a/firebase-appdistribution-api/CHANGELOG.md +++ b/firebase-appdistribution-api/CHANGELOG.md @@ -1,127 +1,140 @@ # Unreleased - # 16.0.0-beta17 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 16.0.0-beta16 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 16.0.0-beta15 -* [unchanged] Updated to accommodate the release of the updated [appdistro] library. +- [unchanged] Updated to accommodate the release of the updated [appdistro] library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta14 -* [unchanged] Updated to accommodate the release of the updated [appdistro] library. +- [unchanged] Updated to accommodate the release of the updated [appdistro] library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta13 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta12 -* [unchanged] Updated to accommodate the release of the updated [appdistro] library. +- [unchanged] Updated to accommodate the release of the updated [appdistro] library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta11 -* [changed] Added Kotlin extensions (KTX) APIs from + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-appdistribution-api-ktx` to `com.google.firebase:firebase-appdistribution-api` under the `com.google.firebase.appdistribution` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-appdistribution-api-ktx` have been +- [deprecated] All the APIs from `com.google.firebase:firebase-appdistribution-api-ktx` have been added to `com.google.firebase:firebase-appdistribution-api` under the `com.google.firebase.appdistribution` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-appdistribution-api-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta09 -* [feature] Improved development mode to allow all API calls to be made without having to sign in. +- [feature] Improved development mode to allow all API calls to be made without having to sign in. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta08 -* [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on - devices running Android 4.4 and lower. +- [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on + devices running Android 4.4 and lower. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta07 -* [feature] Added support for testers to attach JPEG screenshots to their feedback. +- [feature] Added support for testers to attach JPEG screenshots to their feedback. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta06 -* [feature] Added support for in-app tester feedback. To learn more, see + +- [feature] Added support for in-app tester feedback. To learn more, see [Collect feedback from testers](/docs/app-distribution/collect-feedback-from-testers?platform=android). -* [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using +- [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using `addOnProgressListener()` would receive updates. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta05 -* [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-appdistribution-api-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 16.0.0-beta04 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta03 -* [feature] The [appdistro] SDK has been split into two libraries: + +- [feature] The [appdistro] SDK has been split into two libraries: - `firebase-appdistribution-api` - The API-only library
This new API-only library is functional only when the full [appdistro] SDK implementation (`firebase-appdistribution`) is @@ -135,11 +148,10 @@ library. The Kotlin extensions library has no additional updates. [add these SDKs](/docs/app-distribution/set-up-alerts?platform=android#add-appdistro) to your Android app. - ## Kotlin + With the removal of the Kotlin extensions library `firebase-appdistribution-ktx`, its functionality has been moved to the new API-only library: `firebase-appdistribution-api-ktx`. This new Kotlin extensions library transitively includes the `firebase-appdistribution-api` library. The Kotlin extensions library has no additional updates. - diff --git a/firebase-appdistribution/CHANGELOG.md b/firebase-appdistribution/CHANGELOG.md index 29e9c49332a..fa9f7c8f02d 100644 --- a/firebase-appdistribution/CHANGELOG.md +++ b/firebase-appdistribution/CHANGELOG.md @@ -1,49 +1,61 @@ # Unreleased - # 16.0.0-beta17 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 16.0.0-beta16 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 16.0.0-beta15 -* [fixed] Added custom tab support for more browsers [#6692] + +- [fixed] Added custom tab support for more browsers [#6692] # 16.0.0-beta14 -* [changed] Internal improvements to testing on Android 14 + +- [changed] Internal improvements to testing on Android 14 # 16.0.0-beta13 -* [changed] Bump internal dependencies + +- [changed] Bump internal dependencies # 16.0.0-beta12 -* [changed] Bump internal dependencies. + +- [changed] Bump internal dependencies. # 16.0.0-beta10 -* [fixed] Updated the third-party license file to include Dagger's license. + +- [fixed] Updated the third-party license file to include Dagger's license. # 16.0.0-beta09 -* [feature] Improved development mode to allow all API calls to be made without having to sign in. + +- [feature] Improved development mode to allow all API calls to be made without having to sign in. # 16.0.0-beta08 -* [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on + +- [fixed] Fixed an issue where a crash happened whenever a feedback notification was shown on devices running Android 4.4 and lower. # 16.0.0-beta07 -* [feature] Added support for testers to attach JPEG screenshots to their feedback. + +- [feature] Added support for testers to attach JPEG screenshots to their feedback. # 16.0.0-beta06 -* [feature] Added support for in-app tester feedback. To learn more, see + +- [feature] Added support for in-app tester feedback. To learn more, see [Collect feedback from testers](/docs/app-distribution/collect-feedback-from-testers). -* [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using +- [fixed] Fixed a bug where only the last listener added to an `UpdateTask` using `addOnProgressListener()` would receive updates. # 16.0.0-beta05 -* [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions + +- [unchanged] Updated to accommodate the release of the updated [appdistro] Kotlin extensions library. # 16.0.0-beta03 -* [feature] The [appdistro] SDK has been split into two libraries: + +- [feature] The [appdistro] SDK has been split into two libraries: - `firebase-appdistribution-api` - The API-only library
This new API-only library is functional only when the full [appdistro] SDK implementation (`firebase-appdistribution`) is @@ -57,31 +69,32 @@ [add these SDKs](/docs/app-distribution/set-up-alerts?platform=android#add-appdistro) to your Android app. - ## Kotlin -* [removed] The Kotlin extensions library `firebase-appdistribution-ktx` has been removed. All its + +- [removed] The Kotlin extensions library `firebase-appdistribution-ktx` has been removed. All its functionality has been moved to the new API-only library: `firebase-appdistribution-api-ktx`. # 16.0.0-beta02 -* [fixed] Fixed a bug that prevented testers from signing in when the app had an underscore in the - package name. -* [fixed] Fixed a UI bug where the APK download notification displayed the incorrect error message. -* [changed] Internal improvements to tests. +- [fixed] Fixed a bug that prevented testers from signing in when the app had an underscore in the + package name. +- [fixed] Fixed a UI bug where the APK download notification displayed the incorrect error message. +- [changed] Internal improvements to tests. ## Kotlin + The Kotlin extensions library transitively includes the base `firebase-app-distribution` library. The Kotlin extensions library has no additional updates. # 16.0.0-beta01 -* [feature] The [appdistro] Android SDK is now available in beta. You can use this SDK to notify + +- [feature] The [appdistro] Android SDK is now available in beta. You can use this SDK to notify testers in-app when a new test build is available. To learn more, visit the [[appdistro] reference documentation](/docs/reference/android/com/google/firebase/appdistribution/package-summary). - ## Kotlin + The [appdistro] Android library with Kotlin extensions is now available in beta. The Kotlin extensions library transitively includes the base `firebase-app-distribution` library. To learn more, visit the [[appdistro] KTX reference documentation](/docs/reference/kotlin/com/google/firebase/appdistribution/ktx/package-summary). - diff --git a/firebase-config/CHANGELOG.md b/firebase-config/CHANGELOG.md index 52b870aafe6..fca96b9131f 100644 --- a/firebase-config/CHANGELOG.md +++ b/firebase-config/CHANGELOG.md @@ -1,178 +1,197 @@ # Unreleased - # 23.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 23.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [changed] This update introduces improvements to how the SDK handles real-time requests when a + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [changed] This update introduces improvements to how the SDK handles real-time requests when a Firebase project has exceeded its available quota for real-time services. Released in anticipation of future quota enforcement, this change is designed to fetch the latest template even when the quota is exhausted. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 22.1.2 -* [fixed] Fixed `NetworkOnMainThreadException` on Android versions below 8 by disconnecting - `HttpURLConnection` only on API levels 26 and higher. GitHub Issue [#6934] +- [fixed] Fixed `NetworkOnMainThreadException` on Android versions below 8 by disconnecting + `HttpURLConnection` only on API levels 26 and higher. GitHub Issue [#6934] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.1.1 -* [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain - open in the background. +- [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain + open in the background. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.1.0 -* [feature] Added support for custom signal targeting in Remote Config. Use `setCustomSignals` API - for setting custom signals and use them to build custom targeting conditions in Remote Config. +- [feature] Added support for custom signal targeting in Remote Config. Use `setCustomSignals` API + for setting custom signals and use them to build custom targeting conditions in Remote Config. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.0.1 -* [changed] Updated protobuf dependency to `3.25.5` to fix - [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). +- [changed] Updated protobuf dependency to `3.25.5` to fix + [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 22.0.0 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.6.3 -* [fixed] Fixed a bug that could cause a crash if the app was backgrounded while it was listening + +- [fixed] Fixed a bug that could cause a crash if the app was backgrounded while it was listening for real-time Remote Config updates. For more information, see #5751 # 21.6.2 -* [fixed] Fixed an issue that could cause [remote_config] personalizations to be logged early in + +- [fixed] Fixed an issue that could cause [remote_config] personalizations to be logged early in specific cases. -* [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain +- [fixed] Fixed an issue where the connection to the real-time Remote Config backend could remain open in the background. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.6.1 -* [changed] Bump internal dependencies. +- [changed] Bump internal dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.6.0 -* [changed] Added support for other Firebase products to integrate with [remote_config]. + +- [changed] Added support for other Firebase products to integrate with [remote_config]. # 21.5.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-config-ktx` to + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-config-ktx` to `com.google.firebase:firebase-config` under the `com.google.firebase.remoteconfig` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-config-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-config-ktx` have been added to `com.google.firebase:firebase-config` under the `com.google.firebase.remoteconfig` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-config-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.4.1 -* [changed] Internal improvements to support Remote Config real-time updates. +- [changed] Internal improvements to support Remote Config real-time updates. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.4.0 -* [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has the following additional updates. -* [feature] Added the +- [feature] Added the [`FirebaseRemoteConfig.configUpdates`]() Kotlin Flow to listen for real-time config updates. # 21.3.0 -* [feature] Added support for real-time config updates. To learn more, see - [Get started with [firebase_remote_config]](/docs/remote-config/get-started?platform=android#add-real-time-listener). +- [feature] Added support for real-time config updates. To learn more, see + [Get started with [firebase_remote_config]](/docs/remote-config/get-started?platform=android#add-real-time-listener). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.2.1 -* [changed] Migrated [remote_config] to use standard Firebase executors. +- [changed] Migrated [remote_config] to use standard Firebase executors. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.2.0 -* [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [remote_config] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-config-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 21.1.2 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.1.1 -* [fixed] Fixed a bug that caused HTTP errors in some locales. For more information, see + +- [fixed] Fixed a bug that caused HTTP errors in some locales. For more information, see
GitHub Issue #3757 - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.1.0 + -* [changed] Added first-open time to [remote_config] server requests. - +- [changed] Added first-open time to [remote_config] server requests. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.0.2 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.0.1 -* [fixed] Fixed a bug in the initialization of [remote_config] with a non-primary Firebase app. +- [fixed] Fixed a bug in the initialization of [remote_config] with a non-primary Firebase app. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 21.0.0 -* [changed] Internal infrastructure improvements. -* [changed] Internal changes to support dynamic feature modules. +- [changed] Internal infrastructure improvements. +- [changed] Internal changes to support dynamic feature modules. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.4 -* [changed] Improved condition targeting signals. +- [changed] Improved condition targeting signals. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.3 -* [changed] Standardize support for other Firebase products that integrate with [remote_config]. +- [changed] Standardize support for other Firebase products that integrate with [remote_config]. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.2 -* [fixed] Fixed an issue that was causing [remote_config] to return the static default value even if - a remote value was defined. (#2186) +- [fixed] Fixed an issue that was causing [remote_config] to return the static default value even if + a remote value was defined. (#2186) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.1 -* [changed] Added support for other Firebase products to integrate with [remote_config]. +- [changed] Added support for other Firebase products to integrate with [remote_config]. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 20.0.0 -* [removed] Removed the protocol buffer dependency. Also, removed support for configs saved on + +- [removed] Removed the protocol buffer dependency. Also, removed support for configs saved on device using the legacy protocol buffer format (the SDK stopped using this legacy format starting with [remote_config] v16.3.0). -* [removed] Removed the deprecated synchronous method `FirebaseRemoteConfig.activateFetched()`. Use +- [removed] Removed the deprecated synchronous method `FirebaseRemoteConfig.activateFetched()`. Use the asynchronous [`FirebaseRemoteConfig.activate()`]() instead. -* [removed] Removed the deprecated synchronous methods `FirebaseRemoteConfig.setDefaults(int)` and +- [removed] Removed the deprecated synchronous methods `FirebaseRemoteConfig.setDefaults(int)` and `FirebaseRemoteConfig.setDefaults(Map)`. Use the asynchronous [`FirebaseRemoteConfig.setDefaultsAsync(int)`]() and [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>) instead. -* [removed] Removed the deprecated synchronous method +- [removed] Removed the deprecated synchronous method `FirebaseRemoteConfig.setConfigSettings(FirebaseRemoteConfigSettings)`. Use the asynchronous [`FirebaseRemoteConfig.setConfigSettingsAsync(FirebaseRemoteConfigSettings)`]() instead. -* [removed] Removed the deprecated method `FirebaseRemoteConfig.getByteArray(String)`. Use +- [removed] Removed the deprecated method `FirebaseRemoteConfig.getByteArray(String)`. Use [`FirebaseRemoteConfig.getString(String)`]() instead. -* [removed] Removed the deprecated methods `FirebaseRemoteConfigSettings.isDeveloperModeEnabled()` +- [removed] Removed the deprecated methods `FirebaseRemoteConfigSettings.isDeveloperModeEnabled()` and `FirebaseRemoteConfigSettings.Builder.setDeveloperModeEnabled(boolean)`. Use [`FirebaseRemoteConfigSettings#getMinimumFetchIntervalInSeconds()`]() and [`FirebaseRemoteConfigSettings.Builder#setMinimumFetchIntervalInSeconds(long)`]() instead. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.2.0 -* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an + +- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} -* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The + +- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.4 -* [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step - towards a direct dependency on the Firebase installations service in a future release. +- [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step + towards a direct dependency on the Firebase installations service in a future release. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.3 -* [fixed] Fixed an issue where + +- [fixed] Fixed an issue where [`FirebaseRemoteConfig.fetch()`]() would sometimes report a misformatted language tag. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.2 -* [fixed] Resolved known issue where + +- [fixed] Resolved known issue where [`FirebaseRemoteConfigSettings.Builder.setFetchTimeoutInSeconds()`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.Builder) was not always honored. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.1 -* [changed] Updated + +- [changed] Updated [`FirebaseRemoteConfig.fetch()`]() implementation to use [`FirebaseInstanceId.getInstanceId()`]() in favor of the deprecated [`FirebaseInstanceId.getToken()`](). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.1.0 -* [changed] Added getters to the fields of the + +- [changed] Added getters to the fields of the [`FirebaseRemoteConfigSettings.Builder`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.Builder) object to provide better Kotlin patterns. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.0.4 -* [fixed] Resolved [known issue](//github.com/firebase/firebase-android-sdk/issues/973) where - network calls may fail on devices using API 19 and earlier. +- [fixed] Resolved [known issue](//github.com/firebase/firebase-android-sdk/issues/973) where + network calls may fail on devices using API 19 and earlier. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.0.3 -* [fixed] Resolved [known issue](https://github.com/firebase/firebase-android-sdk/issues/787) where + +- [fixed] Resolved [known issue](https://github.com/firebase/firebase-android-sdk/issues/787) where the [firebase_remote_config] SDK threw an error when Android [StrictMode](https://developer.android.com/reference/android/os/StrictMode) was turned on. -* [fixed] Resolved issue where setting Byte Arrays via +- [fixed] Resolved issue where setting Byte Arrays via [`FirebaseRemoteConfig.setDefaultsAsync(int)`](), [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>) and their synchronous counterparts would cause `getByteArray` to return an object reference instead of the Byte Array. Byte Arrays set via the Firebase console were unaffected by this bug. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-config` library. The Kotlin extensions library has no additional updates. # 19.0.2 -* [unchanged] Updated to accommodate the release of the [remote_config] Kotlin extensions library. +- [unchanged] Updated to accommodate the release of the [remote_config] Kotlin extensions library. ## Kotlin -* [feature] The beta release of a [remote_config] Android library with Kotlin extensions is now + +- [feature] The beta release of a [remote_config] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-config` library. To learn more, visit the [[remote_config] KTX documentation](/docs/reference/kotlin/com/google/firebase/remoteconfig/ktx/package-summary). # 19.0.1 -* [fixed] Resolved known issue where certain unicode characters were not encoded correctly. The + +- [fixed] Resolved known issue where certain unicode characters were not encoded correctly. The issue was introduced in v19.0.0. # 19.0.0 -* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No + +- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 17.0.0 -* [feature] Added an asynchronous way to set config settings: + +- [feature] Added an asynchronous way to set config settings: [`FirebaseRemoteConfig.setConfigSettingsAsync(FirebaseRemoteConfigSettings)`](). -* [feature] Added +- [feature] Added [`FirebaseRemoteConfigServerException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigServerException) and [`FirebaseRemoteConfigClientException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientException) to provide more nuanced error reporting. -* [changed] Updated all "cache expiration" references to "minimum fetch interval" and "cache" +- [changed] Updated all "cache expiration" references to "minimum fetch interval" and "cache" references to "local storage". -* [deprecated] Deprecated developer mode. Use +- [deprecated] Deprecated developer mode. Use [`FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(0L)`]() instead. -* [deprecated] Deprecated the synchronous +- [deprecated] Deprecated the synchronous [`FirebaseRemoteConfig.setConfigSettings(FirebaseRemoteConfigSettings)`](). Use the asynchronous [`FirebaseRemoteConfig.setConfigSettingsAsync(FirebaseRemoteConfigSettings)`]() instead. -* [deprecated] Deprecated +- [deprecated] Deprecated [`FirebaseRemoteConfigFetchException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigFetchException). Use the more granular [`FirebaseRemoteConfigServerException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigServerException) and [`FirebaseRemoteConfigClientException`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientException) instead. -* [removed] Removed all namespace methods. -* [removed] Removed all default constructors for Exception classes. -* [changed] Updated minSdkVersion to API level 16. +- [removed] Removed all namespace methods. +- [removed] Removed all default constructors for Exception classes. +- [changed] Updated minSdkVersion to API level 16. # 16.5.0 -* [feature] Enabled multi-App support. Use + +- [feature] Enabled multi-App support. Use [`FirebaseRemoteConfig.getInstance(FirebaseApp)`]() to retrieve a singleton instance of [`FirebaseRemoteConfig`](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig) for the given [`FirebaseApp`](/docs/reference/android/com/google/firebase/FirebaseApp). -* [feature] Added a method that fetches configs and activates them: +- [feature] Added a method that fetches configs and activates them: [`FirebaseRemoteConfig.fetchAndActivate()`](). -* [feature] Network connection timeout for fetch requests is now customizable. To set the network +- [feature] Network connection timeout for fetch requests is now customizable. To set the network timeout, use [`FirebaseRemoteConfigSettings.Builder.setFetchTimeoutInSeconds(long)`](). -* [feature] The default minimum fetch interval is now customizable. To set the default minimum fetch +- [feature] The default minimum fetch interval is now customizable. To set the default minimum fetch interval, use [`FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long)`](). -* [feature] Added a way to get all activated configs as a Java `Map`: +- [feature] Added a way to get all activated configs as a Java `Map`: [`FirebaseRemoteConfig.getAll()`](). -* [feature] Added the ability to reset a Firebase Remote Config instance: +- [feature] Added the ability to reset a Firebase Remote Config instance: [`FirebaseRemoteConfig.reset()`](). -* [feature] Added a way to determine if the Firebase Remote Config instance has finished +- [feature] Added a way to determine if the Firebase Remote Config instance has finished initializing. To get a task that will complete when the Firebase Remote Config instance is finished initializing, use [`FirebaseRemoteConfig.ensureInitialized()`](). -* [feature] Added an asynchronous way to activate configs: +- [feature] Added an asynchronous way to activate configs: [`FirebaseRemoteConfig.activate()`](). -* [feature] Added an asynchronous way to set defaults: +- [feature] Added an asynchronous way to set defaults: [`FirebaseRemoteConfig.setDefaultsAsync(int)`]() and [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>). -* [deprecated] Deprecated the synchronous +- [deprecated] Deprecated the synchronous [`FirebaseRemoteConfig.activateFetched()`](). Use the asynchronous [`FirebaseRemoteConfig.activate()`]() instead. -* [deprecated] Deprecated the synchronous +- [deprecated] Deprecated the synchronous [`FirebaseRemoteConfig.setDefaults(int)`]() and [`FirebaseRemoteConfig.setDefaults(Map)`](>). @@ -461,32 +502,36 @@ Kotlin extensions library has no additional updates. and [`FirebaseRemoteConfig.setDefaultsAsync(Map)`](>) instead. -* [deprecated] Deprecated +- [deprecated] Deprecated [`FirebaseRemoteConfig.getByteArray(String)`](). -* [deprecated] Deprecated all methods with a namespace parameter. +- [deprecated] Deprecated all methods with a namespace parameter. # 16.4.1 -* [changed] The SDK now enforces Android API Key restrictions. -* [fixed] Resolved known issue where the local cache was not honored even if it had not expired. The + +- [changed] The SDK now enforces Android API Key restrictions. +- [fixed] Resolved known issue where the local cache was not honored even if it had not expired. The issue was introduced in version 16.3.0. # 16.4.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 16.3.0 -* [changed] The [firebase_remote_config] SDK requires the [firebase_remote_config] REST API. For + +- [changed] The [firebase_remote_config] SDK requires the [firebase_remote_config] REST API. For Firebase projects created before March 7, 2018, you must manually enable the REST API. For more information, see our [[remote_config] REST API user guide](https://firebase.google.com/docs/remote-config/use-config-rest#before_you_begin_enable_the_rest_api). -* [changed] Refactored the implementation of [remote_config] to improve SDK stability and speed, and +- [changed] Refactored the implementation of [remote_config] to improve SDK stability and speed, and to remove the Google Play Services dependency. -* [changed] Improved error logs and exception messages. -* [changed] Updated the Android documentation to reflect that [remote_config] uses `Locale` to +- [changed] Improved error logs and exception messages. +- [changed] Updated the Android documentation to reflect that [remote_config] uses `Locale` to retrieve location information, similar to iOS's use of `countryCode`. # 16.1.3 -* [fixed] Fixed an issue where [remote_config] experiments were not collecting results. + +- [fixed] Fixed an issue where [remote_config] experiments were not collecting results. # 16.1.0 -* [fixed] Bug fixes and internal improvements to support Firebase Performance Monitoring features. +- [fixed] Bug fixes and internal improvements to support Firebase Performance Monitoring features. diff --git a/firebase-crashlytics-ndk/CHANGELOG.md b/firebase-crashlytics-ndk/CHANGELOG.md index f0baedb928f..7bde43ddced 100644 --- a/firebase-crashlytics-ndk/CHANGELOG.md +++ b/firebase-crashlytics-ndk/CHANGELOG.md @@ -1,84 +1,109 @@ # Unreleased - # 20.0.2 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 20.0.1 -* [changed] Updated `firebase-crashlytics` dependency to 20.0.1 + +- [changed] Updated `firebase-crashlytics` dependency to 20.0.1 # 20.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 19.4.4 -* [changed] Updated `firebase-crashlytics` dependency to v19.4.4 + +- [changed] Updated `firebase-crashlytics` dependency to v19.4.4 # 19.4.3 -* [changed] Updated internal Crashpad version to commit `21a20e`. + +- [changed] Updated internal Crashpad version to commit `21a20e`. # 19.4.2 -* [changed] Updated `firebase-crashlytics` dependency to v19.4.2 + +- [changed] Updated `firebase-crashlytics` dependency to v19.4.2 # 19.4.1 -* [changed] Updated `firebase-crashlytics` dependency to v19.4.1 + +- [changed] Updated `firebase-crashlytics` dependency to v19.4.1 # 19.3.0 -* [changed] Updated `firebase-crashlytics` dependency to v19.3.0 + +- [changed] Updated `firebase-crashlytics` dependency to v19.3.0 # 19.2.1 -* [changed] Updated `firebase-crashlytics` dependency to v19.2.1 + +- [changed] Updated `firebase-crashlytics` dependency to v19.2.1 # 19.2.0 -* [changed] Updated `firebase-crashlytics` dependency to v19.2.0 + +- [changed] Updated `firebase-crashlytics` dependency to v19.2.0 # 19.1.0 -* [changed] Updated `firebase-crashlytics` dependency to v19.1.0 + +- [changed] Updated `firebase-crashlytics` dependency to v19.1.0 # 19.0.3 -* [changed] Updated `firebase-crashlytics` dependency to v19.0.3 + +- [changed] Updated `firebase-crashlytics` dependency to v19.0.3 # 19.0.2 -* [changed] Update libcrashlytics to support 16 kb page sizes. + +- [changed] Update libcrashlytics to support 16 kb page sizes. # 19.0.1 -* [changed] Updated `firebase-crashlytics` dependency to v19.0.1 + +- [changed] Updated `firebase-crashlytics` dependency to v19.0.1 # 19.0.0 -* [changed] Bump internal dependencies + +- [changed] Bump internal dependencies # 18.6.3 -* [changed] Updated `firebase-crashlytics` dependency to v18.6.3 + +- [changed] Updated `firebase-crashlytics` dependency to v18.6.3 # 18.6.0 -* [changed] Updated `firebase-crashlytics` dependency to v18.6.0 + +- [changed] Updated `firebase-crashlytics` dependency to v18.6.0 # 18.5.0 -* [changed] Updated `firebase-crashlytics` dependency to v18.5.0 + +- [changed] Updated `firebase-crashlytics` dependency to v18.5.0 # 18.4.3 -* [changed] Updated `firebase-crashlytics` dependency to v18.4.3 + +- [changed] Updated `firebase-crashlytics` dependency to v18.4.3 # 18.4.2 -* [changed] Updated `firebase-crashlytics` dependency to v18.4.2 + +- [changed] Updated `firebase-crashlytics` dependency to v18.4.2 # 18.4.1 -* [changed] Updated `firebase-crashlytics` dependency to v18.4.1 + +- [changed] Updated `firebase-crashlytics` dependency to v18.4.1 # 18.4.0 -* [changed] Updated `firebase-crashlytics` dependency to v18.4.0 + +- [changed] Updated `firebase-crashlytics` dependency to v18.4.0 # 18.3.7 -* [changed] Updated `firebase-crashlytics` dependency to v18.3.7 + +- [changed] Updated `firebase-crashlytics` dependency to v18.3.7 # 18.3.6 -* [changed] Updated `firebase-crashlytics` dependency to v18.3.6. + +- [changed] Updated `firebase-crashlytics` dependency to v18.3.6. # 18.3.5 -* [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing + +- [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing a nondeterministic crash on startup. -* [changed] Updated `firebase-crashlytics` dependency to v18.3.5. +- [changed] Updated `firebase-crashlytics` dependency to v18.3.5. # 18.3.4 + -* [changed] [crashlytics] NDK crash reporting will now start automatically when the [crashlytics] +- [changed] [crashlytics] NDK crash reporting will now start automatically when the [crashlytics] NDK dependency is included in your app. -* [changed] The [crashlytics] Gradle plugin has new tasks to support uploading symbol files to +- [changed] The [crashlytics] Gradle plugin has new tasks to support uploading symbol files to [crashlytics] servers. See the [[crashlytics] Gradle plugin documentation](/docs/crashlytics/ndk-reports-new-sdk) for more information. - diff --git a/firebase-crashlytics/CHANGELOG.md b/firebase-crashlytics/CHANGELOG.md index 22e911d4c19..fd4d227c468 100644 --- a/firebase-crashlytics/CHANGELOG.md +++ b/firebase-crashlytics/CHANGELOG.md @@ -1,256 +1,285 @@ # Unreleased - # 20.0.2 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 20.0.1 -* [changed] Updated `firebase-sessions` dependency to v3.0.1 + +- [changed] Updated `firebase-sessions` dependency to v3.0.1 # 20.0.0 -* [changed] **Breaking Change**: Removed deprecated public constructor + +- [changed] **Breaking Change**: Removed deprecated public constructor `KeyValueBuilder(crashlytics: FirebaseCrashlytics)` -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 19.4.4 -* [fixed] Fixed more strict mode violations +- [fixed] Fixed more strict mode violations ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.3 -* [fixed] Fixed UnbufferedIoViolation strict mode violation [#6822] +- [fixed] Fixed UnbufferedIoViolation strict mode violation [#6822] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.2 -* [changed] Internal changes to read version control info more efficiently [#6754] -* [fixed] Fixed NoSuchMethodError when getting process info on Android 13 on some devices [#6720] -* [changed] Updated `firebase-sessions` dependency to v2.1.0 + +- [changed] Internal changes to read version control info more efficiently [#6754] +- [fixed] Fixed NoSuchMethodError when getting process info on Android 13 on some devices [#6720] +- [changed] Updated `firebase-sessions` dependency to v2.1.0 - [changed] Add warning for known issue [b/328687152](https://issuetracker.google.com/328687152) [#6755] - [changed] Updated datastore dependency to v1.1.3 to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8) [#6688] - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.1 -* [changed] Updated `firebase-sessions` dependency to v2.0.9 +- [changed] Updated `firebase-sessions` dependency to v2.0.9 ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.4.0 -* [feature] Added an overload for `recordException` that allows logging additional custom keys to - the non fatal event [#3551] +- [feature] Added an overload for `recordException` that allows logging additional custom keys to + the non fatal event [#3551] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.3.0 -* [fixed] Fixed inefficiency in the Kotlin `FirebaseCrashlytics.setCustomKeys` extension. -* [fixed] Execute failure listener outside the main thread [#6535] +- [fixed] Fixed inefficiency in the Kotlin `FirebaseCrashlytics.setCustomKeys` extension. +- [fixed] Execute failure listener outside the main thread [#6535] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.2.1 -* [changed] Updated protobuf dependency to `3.25.5` to fix - [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). +- [changed] Updated protobuf dependency to `3.25.5` to fix + [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.2.0 -* [fixed] Improved data consistency for rapid user actions. -* [fixed] Fixed exception propagation in the case of no default uncaught exception handler. -* [changed] Internal changes to improve startup time. -* [changed] Internal changes to the way background tasks are scheduled. -* [changed] Migrated SDK to use standard Firebase executors. + +- [fixed] Improved data consistency for rapid user actions. +- [fixed] Fixed exception propagation in the case of no default uncaught exception handler. +- [changed] Internal changes to improve startup time. +- [changed] Internal changes to the way background tasks are scheduled. +- [changed] Migrated SDK to use standard Firebase executors. # 19.1.0 -* [feature] Added the `isCrashlyticsCollectionEnabled` API to check if Crashlytics collection is + +- [feature] Added the `isCrashlyticsCollectionEnabled` API to check if Crashlytics collection is enabled. (GitHub [#5919](https://github.com/firebase/firebase-android-sdk/issues/5919){: .external}) -* [fixed] Ensure that on-demand fatal events are never processed on the main thread. (GitHub +- [fixed] Ensure that on-demand fatal events are never processed on the main thread. (GitHub [#4345](https://github.com/firebase/firebase-android-sdk/issues/4345){: .external}) -* [changed] Internal changes to the way session IDs are generated. - +- [changed] Internal changes to the way session IDs are generated. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.3 -* [changed] Update the internal file system to handle long file names. +- [changed] Update the internal file system to handle long file names. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.2 -* [changed] Changing caught exception type to fail safely on any exception type. +- [changed] Changing caught exception type to fail safely on any exception type. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.1 -* [changed] Improve cold initialization time. -* [fixed] Fixed version compatibility issues with other Firebase libraries. +- [changed] Improve cold initialization time. +- [fixed] Fixed version compatibility issues with other Firebase libraries. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 19.0.0 -* [fixed] Force validation or rotation of FIDs. -* [fixed] Added keep rule for shrinkage of Crashlytics build resources in strict mode. +- [fixed] Force validation or rotation of FIDs. +- [fixed] Added keep rule for shrinkage of Crashlytics build resources in strict mode. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.3 -* [feature] Updated `firebase-sessions` dependency. +- [feature] Updated `firebase-sessions` dependency. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.2 -* [changed] Bump internal dependencies. +- [changed] Bump internal dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.1 -* [feature] Updated `firebase-sessions` dependency for internal improvements +- [feature] Updated `firebase-sessions` dependency for internal improvements ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.6.0 -* [changed] Include more details about app processes in reports. -* [feature] Updated `firebase-sessions` dependency for more accurate sessions on multi-process apps. -* [changed] Added support for [crashlytics] to report information from [remote_config]. + +- [changed] Include more details about app processes in reports. +- [feature] Updated `firebase-sessions` dependency for more accurate sessions on multi-process apps. +- [changed] Added support for [crashlytics] to report information from [remote_config]. # 18.5.1 -* [fixed] Internal improvement to fix compatibility with Flutter and Unity SDKs. Github - [#10759](https://github.com/firebase/flutterfire/issues/10759) +- [fixed] Internal improvement to fix compatibility with Flutter and Unity SDKs. Github + [#10759](https://github.com/firebase/flutterfire/issues/10759) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.5.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-crashlytics-ktx` + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-crashlytics-ktx` to `com.google.firebase:firebase-crashlytics` under the `com.google.firebase.crashlytics` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-crashlytics-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-crashlytics-ktx` have been added to `com.google.firebase:firebase-crashlytics` under the `com.google.firebase.crashlytics` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-crashlytics-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.4.3 -* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. - [#5337] +- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. + [#5337] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.4.2 -* [feature] Expanded `firebase-sessions` library integration to work with NDK crashes and ANRs. -* [changed] Improved reliability when reporting memory usage. +- [feature] Expanded `firebase-sessions` library integration to work with NDK crashes and ANRs. +- [changed] Improved reliability when reporting memory usage. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.4.1 -* [changed] Updated `firebase-sessions` dependency to v1.0.2 + +- [changed] Updated `firebase-sessions` dependency to v1.0.2 # 18.4.0 -* [feature] Integrated with Firebase sessions library to enable upcoming features related to - session-based crash metrics. +- [feature] Integrated with Firebase sessions library to enable upcoming features related to + session-based crash metrics. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.7 -* [feature] Added collection of version control information generated by the Android Gradle plugin - (AGP). +- [feature] Added collection of version control information generated by the Android Gradle plugin + (AGP). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.6 -* [feature] Added support for upcoming [crashlytics] features to report GWP-ASan crashes on + +- [feature] Added support for upcoming [crashlytics] features to report GWP-ASan crashes on supported API levels. (GitHub [#4721](https://github.com/firebase/firebase-android-sdk/pull/4721){: .external}) -* [changed] Improved crash reporting reliability for crashes that occur early in the app's +- [changed] Improved crash reporting reliability for crashes that occur early in the app's lifecycle. (GitHub [#4608](https://github.com/firebase/firebase-android-sdk/pull/4608){: .external}, [#4786](https://github.com/firebase/firebase-android-sdk/pull/4786){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.5 -* [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing - a nondeterministic crash on startup. +- [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing + a nondeterministic crash on startup. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.4 + -* [changed] Improved crash reporting reliability for crashes that occur early in the app's +- [changed] Improved crash reporting reliability for crashes that occur early in the app's lifecycle. -* [changed] Added improved support for capturing `BuildId`s for native ANRs on older Android +- [changed] Added improved support for capturing `BuildId`s for native ANRs on older Android versions. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.3 -* [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.3. +- [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.3. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.2 -* [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.2. +- [unchanged] Updated to accommodate the release of the updated `firebase-crashlytics-ndk` v18.3.2. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.1 -* [fixed] Fixed an [issue](https://github.com/firebase/firebase-android-sdk/issues/4223){: - .external} in v18.3.0 that caused a `NoClassDefFoundError` in specific cases. +- [fixed] Fixed an [issue](https://github.com/firebase/firebase-android-sdk/issues/4223){: + .external} in v18.3.0 that caused a `NoClassDefFoundError` in specific cases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.3.0 + Warning: We're aware of an [issue](https://github.com/firebase/firebase-android-sdk/issues/4223){: .external} in this version of the [crashlytics] Android SDK.
**We strongly recommend using the latest version of the SDK (v18.3.1+ or [bom] v31.0.1+).** -* [changed] Improved reporting for crashes that occur early in the app's lifecycle. After updating +- [changed] Improved reporting for crashes that occur early in the app's lifecycle. After updating to this version, you might notice a sudden _increase_ in the number of crashes that are reported for your app. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-crashlytics-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 18.2.13 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.12 -* [changed] Internal changes to avoid accessing device-specific information. +- [changed] Internal changes to avoid accessing device-specific information. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.11 -* [changed] Improved crash reporting reliability for multi-process apps on Android 28 and above. +- [changed] Improved crash reporting reliability for multi-process apps on Android 28 and above. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.10 -* [fixed] Fixed a bug that could prevent unhandled exceptions from being propagated to the default + +- [fixed] Fixed a bug that could prevent unhandled exceptions from being propagated to the default handler when the network is unavailable. -* [changed] Internal changes to support on-demand fatal crash reporting for Flutter apps. -* [fixed] Fixed a bug that prevented [crashlytics] from initializing on some devices in some cases. +- [changed] Internal changes to support on-demand fatal crash reporting for Flutter apps. +- [fixed] Fixed a bug that prevented [crashlytics] from initializing on some devices in some cases. (#3269) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.9 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.8 -* [changed] Updated to the latest version of the `firebase-datatransport` library. +- [changed] Updated to the latest version of the `firebase-datatransport` library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.7 -* [changed] Improved runtime efficiency of the + +- [changed] Improved runtime efficiency of the [`setCustomKey` functions](/docs/crashlytics/customize-crash-reports?platform=android#add-keys), significantly reducing the number of `Task` objects and disk writes when keys are updated frequently. (#3254) -* [fixed] Fixed a StrictMode `DiskReadViolation`. (#3265) - +- [fixed] Fixed a StrictMode `DiskReadViolation`. (#3265) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.6 -* [changed] Internal changes to support future improvements to Flutter crash reporting. +- [changed] Internal changes to support future improvements to Flutter crash reporting. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.5 -* [fixed] Fixed a bug that prevented some [crashlytics] session files from being removed after the + +- [fixed] 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. -* [changed] Internal improvements to [crashlytics] file management, to ensure consistent creation +- [changed] Internal improvements to [crashlytics] file management, to ensure consistent creation and removal of intermediate [crashlytics] files. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.4 -* [changed] Internal changes to support ANR collection and their upcoming display in the console. +- [changed] Internal changes to support ANR collection and their upcoming display in the console. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.3 -* [fixed] Fixed a race condition that prevented some launch-time crashes from being reported to - Crashlytics. -* [changed] Internal changes to support upcoming Unity crash reporting improvements. +- [fixed] Fixed a race condition that prevented some launch-time crashes from being reported to + Crashlytics. +- [changed] Internal changes to support upcoming Unity crash reporting improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.1 -* [fixed] Fixed a `ConcurrentModificationException` that could be logged to logcat when setting - multiple custom key/values in rapid succession. +- [fixed] Fixed a `ConcurrentModificationException` that could be logged to logcat when setting + multiple custom key/values in rapid succession. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.2.0 -* [changed] Internal changes. +- [changed] Internal changes. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.1.0 -* [changed] Internal changes to support upcoming Unity features. +- [changed] Internal changes to support upcoming Unity features. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.0.1 -* [fixed] Fixed a bug that could prevent proper removal of [crashlytics] NDK crash report files when - crash reporting is disabled, resulting in excessive disk use. +- [fixed] Fixed a bug that could prevent proper removal of [crashlytics] NDK crash report files when + crash reporting is disabled, resulting in excessive disk use. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 18.0.0 -* [changed] Removed call to + +- [changed] Removed call to [`FirebaseInstallations#getId()`]() when [automatic data collection](/docs/crashlytics/customize-crash-reports?platform=android#enable-reporting) is disabled for [crashlytics]. [crashlytics] no longer makes any network calls when reporting is disabled. -* [changed] Internal changes to support dynamic feature modules. - +- [changed] Internal changes to support dynamic feature modules. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.4.1 -* [changed] Improved rooted device detection. (#2515) -* [fixed] Fix an uncaught IllegalStateExeception that could be thrown if [crashlytics] is unable to + +- [changed] Improved rooted device detection. (#2515) +- [fixed] Fix an uncaught IllegalStateExeception that could be thrown if [crashlytics] is unable to register a receiver that collects battery state information. If registration fails due to the app already having registered too many receivers, [crashlytics] will report default values for the battery state rather than crashing. (#2504) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.4.0 -* [feature] Added the + +- [feature] Added the [`setCustomKeys`](/docs/reference/android/com/google/firebase/crashlytics/CustomKeysAndValues) API to allow bulk logging of custom keys and values. ([Github PR #2443](//github.com/firebase/firebase-android-sdk/pull/2443){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.3.1 -* [changed] Removed OkHttp dependency to eliminate conflicts with apps and SDKs using incompatible - versions. +- [changed] Removed OkHttp dependency to eliminate conflicts with apps and SDKs using incompatible + versions. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.3.0 -* [changed] Clarified debug logs for crash reports enqueued to be sent via the + +- [changed] Clarified debug logs for crash reports enqueued to be sent via the `firebase-datatransport` library. -* [fixed] Addressed an issue which could cause a `RejectedExecutionException` in rare cases. +- [fixed] Addressed an issue which could cause a `RejectedExecutionException` in rare cases. ([Github Issue #2013](//github.com/firebase/firebase-android-sdk/issues/2013){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.2.2 -* [fixed] Fixed crash that can occur when using a built-in resource as the app launcher icon. + +- [fixed] Fixed crash that can occur when using a built-in resource as the app launcher icon. ([Github Issue #1935](//github.com/firebase/firebase-android-sdk/issues/1935){: .external}) -* [fixed] Fixed a bug preventing crash reports from being sent in some cases when an app is using +- [fixed] Fixed a bug preventing crash reports from being sent in some cases when an app is using [crashlytics] on multiple processes. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.2.1 -* [fixed] Improved handling of asynchronous tasks that need to wait for completion on the main + +- [fixed] Improved handling of asynchronous tasks that need to wait for completion on the main thread. ([Github PR #1739](//github.com/firebase/firebase-android-sdk/pull/1739){: .external}) -* [changed] Added an overload to the `setCrashlyticsCollectionEnabled` API to allow for passing +- [changed] Added an overload to the `setCrashlyticsCollectionEnabled` API to allow for passing `null` to clear any previously set value. ([Github PR #1434](//github.com/firebase/firebase-android-sdk/pull/1434){: .external}) -* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. ([Github PR #1760](//github.com/firebase/firebase-android-sdk/pull/1760){: .external}) {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.1.1 -* [changed] To improve the reliability of submitting crash uploads on poor networks, changed the + +- [changed] To improve the reliability of submitting crash uploads on poor networks, changed the Transport SDK to retry connection errors ([Github Issue #1705](//github.com/firebase/firebase-android-sdk/issues/1705){: .external}) and increased the number of retries before deleting events ([Github Issue #1708](//github.com/firebase/firebase-android-sdk/issues/1708){: .external}). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-crashlytics` library. The Kotlin extensions library has no additional updates. # 17.1.0 -* [fixed] Updated [crashlytics] integration with [firebase_analytics] to include native crashes in + +- [fixed] Updated [crashlytics] integration with [firebase_analytics] to include native crashes in crash-free users counts. -* [fixed] Removed a harmless, yet unexpected `FileNotFoundException` log output that printed when an +- [fixed] Removed a harmless, yet unexpected `FileNotFoundException` log output that printed when an optional file is unavailable. ([Github Issue #1559](//github.com/firebase/firebase-android-sdk/issues/1559#issuecomment-638387614){: .external}) - ## Kotlin -* [feature] The [firebase_crashlytics] Android library with Kotlin extensions is now available. The + +- [feature] The [firebase_crashlytics] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-crashlytics` library. To learn more, visit the [[crashlytics] KTX documentation](/docs/reference/kotlin/com/google/firebase/crashlytics/ktx/package-summary). # 17.0.1 -* [fixed] Fixed an issue causing a `SQLiteException` when changing versions of [crashlytics]. + +- [fixed] Fixed an issue causing a `SQLiteException` when changing versions of [crashlytics]. ([Github Issue #1531](https://github.com/firebase/firebase-android-sdk/issues/1531){: .external}) -* [fixed] Improved reliability of sending reports at crash time on Android API level 28+. +- [fixed] Improved reliability of sending reports at crash time on Android API level 28+. # 17.0.0 -* [changed] The [firebase_crashlytics] SDK is now generally available. -* [fixed] Fixed an issue that could cause apps to crash if a crash report payload is too large + +- [changed] The [firebase_crashlytics] SDK is now generally available. +- [fixed] Fixed an issue that could cause apps to crash if a crash report payload is too large (rare). -* [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step +- [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step towards a direct dependency on the [firebase_installations] service in a future release. # 17.0.0-beta04 -* [changed] Imposed a limit on the maximum crash report payload size. -* [fixed] Reduced crash report payload size. + +- [changed] Imposed a limit on the maximum crash report payload size. +- [fixed] Reduced crash report payload size. # 17.0.0-beta03 -* [fixed] Fixed internal bugs to improve crash analysis and grouping. -* [changed] Improved compatibility with Google Analytics. For best performance, make sure you're + +- [fixed] Fixed internal bugs to improve crash analysis and grouping. +- [changed] Improved compatibility with Google Analytics. For best performance, make sure you're using the latest versions of the [firebase_crashlytics] SDK and the Firebase SDK for Google Analytics. -* [changed] Updated remaining [crashlytics] backend API calls to prepare for Fabric sunset. +- [changed] Updated remaining [crashlytics] backend API calls to prepare for Fabric sunset. # 17.0.0-beta02 -* [changed] Removed superfluous `D/FirebaseCrashlytics` prefix from logs. + +- [changed] Removed superfluous `D/FirebaseCrashlytics` prefix from logs. ([#1202](https://github.com/firebase/firebase-android-sdk/issues/1202)) -* [changed] Updated [crashlytics] backend API calls in preparation for Fabric sunset. -* [changed] Upgraded [firebase_analytics] integration to improve crash-free users accuracy. For +- [changed] Updated [crashlytics] backend API calls in preparation for Fabric sunset. +- [changed] Upgraded [firebase_analytics] integration to improve crash-free users accuracy. For improved performance, we recommend that you upgrade to the latest version of the Firebase SDK for [firebase_analytics] with this version of [firebase_crashlytics]. # 17.0.0-beta01 + This release for [firebase_crashlytics] includes the initial beta release of the [firebase_crashlytics] SDK. @@ -619,12 +682,11 @@ name change. The following release notes describe changes in the new SDK. -* [changed] Replaced static methods with new instance methods that are more consistent with other +- [changed] Replaced static methods with new instance methods that are more consistent with other Firebase SDKs and more intuitive to use. The new APIs give your users more control over how you collect their data. -* [removed] Removed the Fabric [crashlytics] API key. Now, [crashlytics] will always use the +- [removed] Removed the Fabric [crashlytics] API key. Now, [crashlytics] will always use the `google-services.json` file to associate your app with your Firebase project. If you linked your app from Fabric, remove the Fabric API key from your `AndroidManifest.xml` file. -* [removed] The `fabric.properties` and `crashlytics.properties` files are no longer supported. +- [removed] The `fabric.properties` and `crashlytics.properties` files are no longer supported. Remove them from your app. - diff --git a/firebase-database/CHANGELOG.md b/firebase-database/CHANGELOG.md index 6938d8467d4..0fc6708714b 100644 --- a/firebase-database/CHANGELOG.md +++ b/firebase-database/CHANGELOG.md @@ -1,252 +1,277 @@ # Unreleased - # 22.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 22.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.0 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.3.1 -* [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge - methods. [#5626](//github.com/firebase/firebase-android-sdk/pull/5706) +- [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge + methods. [#5626](//github.com/firebase/firebase-android-sdk/pull/5706) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.3.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-database-ktx` to + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-database-ktx` to `com.google.firebase:firebase-database` under the `com.google.firebase.database` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-database-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-database-ktx` have been added to `com.google.firebase:firebase-database` under the `com.google.firebase.database` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-database-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.2.2 -* [changed] Internal changes to ensure alignment with other SDK releases. +- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.2.1 -* [changed] Internal changes to ensure alignment with other SDK releases. +- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.2.0 -* [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions + library. ## Kotlin -* [feature] Added + +- [feature] Added [`Query.values()`](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary#values) Kotlin Flows to listen for realtime updates and convert its values to a specific type. # 20.1.0 -* [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [database] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-database-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. -* [feature] Added +- [feature] Added [`Query.snapshots`](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary#snapshots) and [`Query.childEvents`](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary#childEvents) Kotlin Flows to listen to realtime events. # 20.0.6 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). -* [fixed] Fixed issue where `Query.get()` was propagating events to listeners on unrelated queries. +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [fixed] Fixed issue where `Query.get()` was propagating events to listeners on unrelated queries. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.5 -* [fixed] `Query.get` no longer throws "Client is offline" exception when local value is not - available. Instead, it waits for a backend connection. +- [fixed] `Query.get` no longer throws "Client is offline" exception when local value is not + available. Instead, it waits for a backend connection. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.4 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.3 -* [fixed] Fixed a crash that prevented the SDK from connecting to the backend if a credential - refresh was unsuccesful. +- [fixed] Fixed a crash that prevented the SDK from connecting to the backend if a credential + refresh was unsuccesful. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.2 -* [fixed] The SDK can now continue to issue writes for apps that send invalid [app_check] tokens if - [app_check] enforcement is not enabled. +- [fixed] The SDK can now continue to issue writes for apps that send invalid [app_check] tokens if + [app_check] enforcement is not enabled. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.1 -* [fixed] Fixed an issue that prevented clients from connecting to the backend when the app used - [app_check] without [auth]. +- [fixed] Fixed an issue that prevented clients from connecting to the backend when the app used + [app_check] without [auth]. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 20.0.0 -* [feature] Added abuse reduction features. -* [changed] Internal changes to support dynamic feature modules. -* [changed] Internal infrastructure improvements. +- [feature] Added abuse reduction features. +- [changed] Internal changes to support dynamic feature modules. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.7.0 -* [feature] Added + +- [feature] Added [`Query#startAfter()`]() and [`Query#endBefore()`]() filters to help with paginated queries. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.6.0 -* [feature] Added + +- [feature] Added [`DatabaseReference#get()`]() and [`Query#get()`](), which return data from the server even when older data is available in the local cache. -* [fixed] Fixed a crash that occured on some Pixel devices when closing the network connection. - +- [fixed] Fixed a crash that occured on some Pixel devices when closing the network connection. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.5.1 -* [fixed] Fixed a regression introduced in v19.3.0 that may cause assertion failures, especially - when persistence is enabled. +- [fixed] Fixed a regression introduced in v19.3.0 that may cause assertion failures, especially + when persistence is enabled. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.5.0 -* [feature] The SDK can now infer a default database URL even if it is omitted in the project's - configuration. +- [feature] The SDK can now infer a default database URL even if it is omitted in the project's + configuration. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.4.0 -* [feature] Added support for connecting to the Firebase Emulator Suite via a new method, - [`FirebaseDatabase#useEmulator()`](). +- [feature] Added support for connecting to the Firebase Emulator Suite via a new method, + [`FirebaseDatabase#useEmulator()`](). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.3.1 -* [changed] Added internal HTTP header to the WebChannel connection. +- [changed] Added internal HTTP header to the WebChannel connection. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.3.0 -* [feature] Added + +- [feature] Added [`ServerValue.increment()`]() to support atomic field value increments without transactions. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.2.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [changed] Internal changes to ensure functionality alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-database` library. The Kotlin extensions library has no additional updates. # 19.2.0 -* [feature] Added support for type wildcards in + +- [feature] Added support for type wildcards in [`GenericTypeIndicator`](/docs/reference/android/com/google/firebase/database/GenericTypeIndicator), expanding our custom class serialization to include classes with wildcard generics. - ## Kotlin -* [feature] The beta release of a [database] Android library with Kotlin extensions is now + +- [feature] The beta release of a [database] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-database` library. To learn more, visit the [[database] KTX documentation](/docs/reference/kotlin/com/google/firebase/database/ktx/package-summary). # 19.1.0 -* [feature] Added support for the [firebase_database] Emulator. To connect to the emulator, specify + +- [feature] Added support for the [firebase_database] Emulator. To connect to the emulator, specify "http://:/?ns=" as your Database URL (via [`FirebaseDatabase.getInstance(String)`]()). Note that if you are running the [database] Emulator on "localhost" and connecting from an app @@ -254,30 +279,36 @@ Kotlin extensions library has no additional updates. followed by its port. # 19.0.0 -* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No + +- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. -* [fixed] The SDK now reports the correct version number (via + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [fixed] The SDK now reports the correct version number (via [`FirebaseDatabase.getSdkVersion()`](). # 17.0.0 -* [changed] Internal changes that rely on an updated API to obtain authentication credentials. If + +- [changed] Internal changes that rely on an updated API to obtain authentication credentials. If you use [firebase_auth], update to `firebase-auth` v17.0.0 or later to ensure functionality alignment. # 16.0.6 -* [fixed] Fixed a potential `NullPointerException` calling method `java.lang.String.toLowerCase`. + +- [fixed] Fixed a potential `NullPointerException` calling method `java.lang.String.toLowerCase`. (https://github.com/firebase/firebase-android-sdk/issues/179) # 16.0.3 -* [fixed] Fixed an initialization issue that prevented the Realtime Database client from being + +- [fixed] Fixed an initialization issue that prevented the Realtime Database client from being initialized outside of Android's main thread. # 16.0.2 -* [fixed] This release includes minor fixes and improvements. + +- [fixed] This release includes minor fixes and improvements. # 16.0.1 -* [changed] Added `Nullability` annotations to all public API classes/methods. +- [changed] Added `Nullability` annotations to all public API classes/methods. diff --git a/firebase-dataconnect/CHANGELOG.md b/firebase-dataconnect/CHANGELOG.md index 386d0ed28bd..8e4352ff35f 100644 --- a/firebase-dataconnect/CHANGELOG.md +++ b/firebase-dataconnect/CHANGELOG.md @@ -1,96 +1,106 @@ # Unreleased - # 17.0.1 -* [changed] Bumped internal dependencies. -* [changed] Ignore unknown fields in response data instead of throwing a + +- [changed] Bumped internal dependencies. +- [changed] Ignore unknown fields in response data instead of throwing a `DataConnectOperationException` with message "decoding data from the server's response failed: An unknown field for index -3" ([#7314](https://github.com/firebase/firebase-android-sdk/pull/7314)) -- [changed] Added classes `EnumValue` and `EnumValueSerializer`. These classes are identical to + +* [changed] Added classes `EnumValue` and `EnumValueSerializer`. These classes are identical to those produced by the Data Connect code generator; however, a future version of the code generator will start using these classes from the SDK rather than generating them. ([#7153](https://github.com/firebase/firebase-android-sdk/pull/7153)) # 17.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [changed] Removed superfluous and noisy debug logging of operation variables. + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [changed] Removed superfluous and noisy debug logging of operation variables. # 16.0.3 -* [fixed] Fixed occasional `NullPointerException` when registering with FirebaseAuth, leading to + +- [fixed] Fixed occasional `NullPointerException` when registering with FirebaseAuth, leading to erroneous UNAUTHENTICATED exceptions. ([#7001](https://github.com/firebase/firebase-android-sdk/pull/7001)) # 16.0.2 -* [changed] Improved code robustness related to state management in `FirebaseDataConnect` objects. + +- [changed] Improved code robustness related to state management in `FirebaseDataConnect` objects. ([#6861](https://github.com/firebase/firebase-android-sdk/pull/6861)) # 16.0.1 -* [changed] Internal improvements. + +- [changed] Internal improvements. # 16.0.0 -* [changed] DataConnectOperationException added, enabling support for partial errors; that is, any + +- [changed] DataConnectOperationException added, enabling support for partial errors; that is, any data that was received and/or was able to be decoded is now available via the "response" property of the exception thrown when a query or mutation is executed. ([#6794](https://github.com/firebase/firebase-android-sdk/pull/6794)) # 16.0.0-beta05 -* [changed] Changed gRPC proto package to v1 (was v1beta). + +- [changed] Changed gRPC proto package to v1 (was v1beta). ([#6729](https://github.com/firebase/firebase-android-sdk/pull/6729)) # 16.0.0-beta04 -* [changed] `FirebaseDataConnect.logLevel` type changed from `LogLevel` to + +- [changed] `FirebaseDataConnect.logLevel` type changed from `LogLevel` to `MutableStateFlow`. This enables apps to "collect" the flow to, for example, update a UI component when the log level changes. ([#6586](https://github.com/firebase/firebase-android-sdk/pull/6586)) # 16.0.0-beta03 -* [changed] Requires Data Connect emulator version 1.6.1 or later for code generation. -* [feature] QueryRef and MutationRef gain methods copy(), withDataDeserializer(), and + +- [changed] Requires Data Connect emulator version 1.6.1 or later for code generation. +- [feature] QueryRef and MutationRef gain methods copy(), withDataDeserializer(), and withVariablesSerializer(). ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -* [feature] GeneratedConnector gains methods copy(), operations(), queries(), and mutations(). +- [feature] GeneratedConnector gains methods copy(), operations(), queries(), and mutations(). ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -* [feature] GeneratedQuery and GeneratedMutation gain methods copy(), withVariablesSerializer(), and +- [feature] GeneratedQuery and GeneratedMutation gain methods copy(), withVariablesSerializer(), and withDataDeserializer(). ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -* [feature] GeneratedConnector, GeneratedQuery, and GeneratedMutation now must implement equals() to +- [feature] GeneratedConnector, GeneratedQuery, and GeneratedMutation now must implement equals() to be a _logical_ comparsion, rather than just checking for _referencial_ equality using the `===` operator. ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) -* [feature] ExperimentalFirebaseDataConnect annotation added, and some APIs have been annotated with +- [feature] ExperimentalFirebaseDataConnect annotation added, and some APIs have been annotated with it, requiring applications that make use of these experimental APIs to opt-in using `@OptIn(ExperimentalFirebaseDataConnect::class)` to suppress warnings or errors related to using these experimental APIs. ([#6424](https://github.com/firebase/firebase-android-sdk/pull/6424)) and ([#6433](https://github.com/firebase/firebase-android-sdk/pull/6433)) -* [changed] Replaced java.util.Date with com.google.firebase.dataconnect.LocalDate. +- [changed] Replaced java.util.Date with com.google.firebase.dataconnect.LocalDate. ([#6434](https://github.com/firebase/firebase-android-sdk/pull/6434)) -* [changed] `DateSerializer` removed, as it is superceded by `LocalDateSerializer`. As of Data +- [changed] `DateSerializer` removed, as it is superceded by `LocalDateSerializer`. As of Data Connect emulator version 1.7.0, the generated Kotlin code uses `com.google.firebase.dataconnect.LocalDate` instead of `java.util.Date`. Therefore, this version of the SDK must be paired with code generated by version 1.7.0 (or later) of the Data Connect emulator. ([#6513](https://github.com/firebase/firebase-android-sdk/pull/6513)) -* [feature] JavaTimeLocalDateSerializer and KotlinxDatetimeLocalDateSerializer added, to enable +- [feature] JavaTimeLocalDateSerializer and KotlinxDatetimeLocalDateSerializer added, to enable using the standard "local date" classes `java.time.LocalDate` and/or `kotlinx.datetime.LocalDate` instead of the bespoke `com.google.firebase.dataconnect.LocalDate` class for `Date` GraphQL fields and variables. ([#6519](https://github.com/firebase/firebase-android-sdk/pull/6519)) # 16.0.0-beta02 -* [changed] Updated protobuf dependency to `3.25.5` to fix + +- [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). # 16.0.0-beta01 -* [feature] Initial release of the Data Connect SDK (public preview). Learn how to + +- [feature] Initial release of the Data Connect SDK (public preview). Learn how to [get started](https://firebase.google.com/docs/data-connect/android-sdk) with the SDK in your app. -* [feature] Added App Check support. +- [feature] Added App Check support. ([#6176](https://github.com/firebase/firebase-android-sdk/pull/6176)) -* [feature] Added `AnyValue` to support the `Any` custom GraphQL scalar type. +- [feature] Added `AnyValue` to support the `Any` custom GraphQL scalar type. ([#6285](https://github.com/firebase/firebase-android-sdk/pull/6285)) -* [feature] Added `OrderDirection` enum support. +- [feature] Added `OrderDirection` enum support. ([#6307](https://github.com/firebase/firebase-android-sdk/pull/6307)) -* [feature] Added ability to specify `SerializersModule` when serializing. +- [feature] Added ability to specify `SerializersModule` when serializing. ([#6297](https://github.com/firebase/firebase-android-sdk/pull/6297)) -* [feature] Added `CallerSdkType`, which enables tracking of the generated SDK usage. +- [feature] Added `CallerSdkType`, which enables tracking of the generated SDK usage. ([#6298](https://github.com/firebase/firebase-android-sdk/pull/6298) and [#6179](https://github.com/firebase/firebase-android-sdk/pull/6179)) -* [changed] Changed gRPC proto package to v1beta (was v1alpha). +- [changed] Changed gRPC proto package to v1beta (was v1alpha). ([#6299](https://github.com/firebase/firebase-android-sdk/pull/6299)) -* [changed] Added `equals` and `hashCode` methods to `GeneratedConnector`. +- [changed] Added `equals` and `hashCode` methods to `GeneratedConnector`. ([#6177](https://github.com/firebase/firebase-android-sdk/pull/6177)) - diff --git a/firebase-datatransport/CHANGELOG.md b/firebase-datatransport/CHANGELOG.md index 17b5a8c33b0..dab5b20aacb 100644 --- a/firebase-datatransport/CHANGELOG.md +++ b/firebase-datatransport/CHANGELOG.md @@ -1,15 +1,17 @@ # Unreleased - # 20.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 20.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 19.0.0 -* [changed] Bump internal dependencies. + +- [changed] Bump internal dependencies. # 18.2.0 -* [feature] Expose the transport factory as a qualified dependency based on the endpoint connected. +- [feature] Expose the transport factory as a qualified dependency based on the endpoint connected. diff --git a/firebase-firestore/CHANGELOG.md b/firebase-firestore/CHANGELOG.md index 88accf80c67..58e2808d72d 100644 --- a/firebase-firestore/CHANGELOG.md +++ b/firebase-firestore/CHANGELOG.md @@ -1,539 +1,591 @@ # Unreleased - # 26.0.1 -* [changed] Bumped internal dependencies. -* [changed] Improve the performance of queries in collections that contain many deleted documents. + +- [changed] Bumped internal dependencies. +- [changed] Improve the performance of queries in collections that contain many deleted documents. [#7295](//github.com/firebase/firebase-android-sdk/issues/7295) -- [changed] Improve query performance in large result sets by replacing the deprecated AsyncTask + +* [changed] Improve query performance in large result sets by replacing the deprecated AsyncTask thread pool with a self-managed thread pool. [#7376](//github.com/firebase/firebase-android-sdk/issues/7376) -- [changed] Improve query performance via internal memoization of calculated document data. +* [changed] Improve query performance via internal memoization of calculated document data. [#7370](//github.com/firebase/firebase-android-sdk/issues/7370) # 26.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). -* [fixed] Further improved performance of UTF-8 string ordering logic, which had degraded in v25.1.2 +- [fixed] Further improved performance of UTF-8 string ordering logic, which had degraded in v25.1.2 and received some improvements in v25.1.3. [#7053](//github.com/firebase/firebase-android-sdk/issues/7053) -* [changed] Use the `compare()` methods defined in standard `Integer`, `Long`, and `Character` +- [changed] Use the `compare()` methods defined in standard `Integer`, `Long`, and `Character` classes instead of Firestore's bespoke implementations. [#7109](//github.com/firebase/firebase-android-sdk/pull/7109) # 25.1.4 -* [fixed] Fixed the `null` value handling in `whereNotEqualTo` and `whereNotIn` filters. -* [fixed] Catch exception when stream is already cancelled during close. - [#6894](//github.com/firebase/firebase-android-sdk/pull/6894) +- [fixed] Fixed the `null` value handling in `whereNotEqualTo` and `whereNotIn` filters. +- [fixed] Catch exception when stream is already cancelled during close. + [#6894](//github.com/firebase/firebase-android-sdk/pull/6894) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.3 -* [fixed] Use lazy encoding in UTF-8 encoded byte comparison for strings to solve performance - issues. [#6706](//github.com/firebase/firebase-android-sdk/pull/6706) -* [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] +- [fixed] Use lazy encoding in UTF-8 encoded byte comparison for strings to solve performance + issues. [#6706](//github.com/firebase/firebase-android-sdk/pull/6706) +- [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.2 -* [fixed] Fixed a server and sdk mismatch in unicode string sorting. - [#6615](//github.com/firebase/firebase-android-sdk/pull/6615) +- [fixed] Fixed a server and sdk mismatch in unicode string sorting. + [#6615](//github.com/firebase/firebase-android-sdk/pull/6615) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.1 -* [changed] Update Firestore proto definitions. + +- [changed] Update Firestore proto definitions. [#6369](//github.com/firebase/firebase-android-sdk/pull/6369) -* [changed] Updated protobuf dependency to `3.25.5` to fix +- [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.1.0 -* [feature] Add support for the VectorValue type. - [#6154](//github.com/firebase/firebase-android-sdk/pull/6154) +- [feature] Add support for the VectorValue type. + [#6154](//github.com/firebase/firebase-android-sdk/pull/6154) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 25.0.0 -* [feature] Enable queries with range & inequality filters on multiple fields. + +- [feature] Enable queries with range & inequality filters on multiple fields. [#5729](//github.com/firebase/firebase-android-sdk/pull/5729) -* [changed] Internal improvements. -* [feature] Support conversion between `java.time.Instant` and `Timestamp` +- [changed] Internal improvements. +- [feature] Support conversion between `java.time.Instant` and `Timestamp` [#5853](//github.com/firebase/firebase-android-sdk/pull/5853) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.11.0 -* [feature] Enable snapshot listener option to retrieve data from local cache only. - [#5690](//github.com/firebase/firebase-android-sdk/pull/5690) +- [feature] Enable snapshot listener option to retrieve data from local cache only. + [#5690](//github.com/firebase/firebase-android-sdk/pull/5690) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.3 -* [fixed] Fixed the missing handling setter annotations bug introduced by + +- [fixed] Fixed the missing handling setter annotations bug introduced by [#5626](//github.com/firebase/firebase-android-sdk/pull/5626). [#5706](//github.com/firebase/firebase-android-sdk/pull/5706) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.2 -* [changed] Internal test improvements. -* [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge - methods. [#5626](//github.com/firebase/firebase-android-sdk/pull/5626) +- [changed] Internal test improvements. +- [fixed] Fixed the `@Exclude` annotation doesn't been propagated to Kotlin's corresponding bridge + methods. [#5626](//github.com/firebase/firebase-android-sdk/pull/5626) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.1 -* [fixed] Fixed an issue caused by calling mutation on immutable map object. + +- [fixed] Fixed an issue caused by calling mutation on immutable map object. [#5573](//github.com/firebase/firebase-android-sdk/pull/5573) -* [fixed] Fixed an issue in the local cache synchronization logic where all locally-cached documents +- [fixed] Fixed an issue in the local cache synchronization logic where all locally-cached documents that matched a resumed query would be unnecessarily re-downloaded; with the fix it now only downloads the documents that are known to be out-of-sync. [#5506](//github.com/firebase/firebase-android-sdk/pull/5506) -* [fixed] Fixed an issue where GC runs into a infinite loop in a certain case. +- [fixed] Fixed an issue where GC runs into a infinite loop in a certain case. [#5417](https://github.com/firebase/firebase-android-sdk/issues/5417) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.10.0 -* [fixed] Fixed the `DocumentSnapshot` equals method to not consider internal state when comparing + +- [fixed] Fixed the `DocumentSnapshot` equals method to not consider internal state when comparing snapshots. # 24.9.1 -* [feature] Expose Sum/Average aggregate query support in API. - [#5217](//github.com/firebase/firebase-android-sdk/pull/5217) +- [feature] Expose Sum/Average aggregate query support in API. + [#5217](//github.com/firebase/firebase-android-sdk/pull/5217) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.9.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-firestore-ktx` to + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-firestore-ktx` to `com.google.firebase:firebase-firestore` under the `com.google.firebase.firestore` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-firestore-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-firestore-ktx` have been added to `com.google.firebase:firebase-firestore` under the `com.google.firebase.firestore` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-firestore-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.8.1 -* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. - [#5337] +- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. + [#5337] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.8.0 -* [feature] Added the option to allow the SDK to create cache indexes automatically to improve query + +- [feature] Added the option to allow the SDK to create cache indexes automatically to improve query execution locally. See [`db.getPersistentCacheIndexManager().enableIndexAutoCreation()`]() ([GitHub [#4987](//github.com/firebase/firebase-android-sdk/pull/4987){: .external}). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.7.1 -* [fixed] Implement equals method on Filter class. + +- [fixed] Implement equals method on Filter class. [#5210](//github.com/firebase/firebase-android-sdk/issues/5210) # 24.7.0 -* [feature] Expose MultiDb support in API. + +- [feature] Expose MultiDb support in API. [#4015](//github.com/firebase/firebase-android-sdk/issues/4015) -* [fixed] Fixed a thread interference issue that may lead to a ConcurrentModificationException. +- [fixed] Fixed a thread interference issue that may lead to a ConcurrentModificationException. (GitHub [#5091](//github.com/firebase/firebase-android-sdk/issues/5091){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.6.1 -* [feature] Implemented an optimization in the local cache synchronization logic that reduces the + +- [feature] Implemented an optimization in the local cache synchronization logic that reduces the number of billed document reads when documents were deleted on the server while the client was not actively listening to the query (e.g. while the client was offline). (GitHub [#4982](//github.com/firebase/firebase-android-sdk/pull/4982){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.6.0 -* [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub + +- [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub [#4702](//github.com/firebase/firebase-android-sdk/issues/4702){: .external}) -* [feature] Added new +- [feature] Added new [cache config APIs]() to customize the SDK's cache setup. -* [feature] Added +- [feature] Added [LRU garbage collector](/docs/reference/android/com/google/firebase/firestore/MemoryLruGcSettings) to the SDK's memory cache. -* [deprecated] Deprecated the following APIs from +- [deprecated] Deprecated the following APIs from [`FirebaseFirestoreSettings`](/docs/reference/android/com/google/firebase/firestore/FirebaseFirestoreSettings):
`isPersistenceEnabled` and `getCacheSizeBytes`. -* [deprecated] Deprecated the following APIs from +- [deprecated] Deprecated the following APIs from [`FirebaseFirestoreSettings.Builder`]():
`isPersistenceEnabled`, `getCacheSizeBytes`, `setPersistenceEnabled`, and `setCacheSizeBytes`. -* [changed] Internal changes to ensure alignment with other SDK releases. - +- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.5.0 -* [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub - [#4702](//github.com/firebase/firebase-android-sdk/issues/4702){: .external}) +- [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub + [#4702](//github.com/firebase/firebase-android-sdk/issues/4702){: .external}) ## Kotlin -* [feature] Added + +- [feature] Added [`Query.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects) and [`DocumentReference.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects_1) Kotlin Flows to listen for realtime updates and convert its values to a specific type. # 24.4.5 -* [feature] Added support for disjunctions in queries (`OR` queries). +- [feature] Added support for disjunctions in queries (`OR` queries). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.4 -* [changed] Relaxed certain query validations performed by the SDK - ([GitHub Issue #4231](//github.com/firebase/firebase-android-sdk/issues/4231)). -* [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, and protobuf-java-util to 3.21.11. +- [changed] Relaxed certain query validations performed by the SDK + ([GitHub Issue #4231](//github.com/firebase/firebase-android-sdk/issues/4231)). +- [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, and protobuf-java-util to 3.21.11. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.3 -* [fixed] Fixed a potential high-memory usage issue. -* [fixed] Fixed an issue that stopped some performance optimization from being applied. +- [fixed] Fixed a potential high-memory usage issue. +- [fixed] Fixed an issue that stopped some performance optimization from being applied. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.2 -* [fixed] Fixed an issue that stopped some performance optimization from being applied. +- [fixed] Fixed an issue that stopped some performance optimization from being applied. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.1 -* [fixed] Fix `FAILED_PRECONDITION` when writing to a deleted document in a transaction. (#5871) -* [fixed] Fixed [firestore] failing to raise initial snapshot from an empty local cache result. - (#4207) -* [fixed] Removed invalid suggestions to use `GenericTypeIndicator` from error messages. (#222) -* [changed] Updated dependency of `io.grpc.*` to its latest version (v1.50.2). +- [fixed] Fix `FAILED_PRECONDITION` when writing to a deleted document in a transaction. (#5871) +- [fixed] Fixed [firestore] failing to raise initial snapshot from an empty local cache result. + (#4207) +- [fixed] Removed invalid suggestions to use `GenericTypeIndicator` from error messages. (#222) +- [changed] Updated dependency of `io.grpc.*` to its latest version (v1.50.2). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.4.0 -* [feature] Added + +- [feature] Added [`Query.count()`](), which fetches the number of documents in the result set without actually downloading the documents. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-firestore-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 24.3.1 -* [changed] Updated dependency of `io.grpc.*` to its latest version (v1.48.1). +- [changed] Updated dependency of `io.grpc.*` to its latest version (v1.48.1). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. # 24.3.0 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library also has the following additional updates: -* [feature] Added +- [feature] Added [`Query.snapshots()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#snapshots_1) and [`DocumentReference.snapshots()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#snapshots) Kotlin Flows to listen for realtime updates. # 24.2.2 -* [fixed] Fixed an issue in `waitForPendingWrites()` that could lead to a `NullPointerException`. +- [fixed] Fixed an issue in `waitForPendingWrites()` that could lead to a `NullPointerException`. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.2.1 -* [changed] Internal refactor and test improvements. +- [changed] Internal refactor and test improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.2.0 -* [feature] Added customization support for - [`FirebaseFirestore.runTransaction`](). +- [feature] Added customization support for + [`FirebaseFirestore.runTransaction`](). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.1.2 -* [fixed] Fixed an issue where patching multiple fields shadows each other. (#3528). +- [fixed] Fixed an issue where patching multiple fields shadows each other. (#3528). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.1.1 -* [fixed] Fixed an issue in the beta version of the index engine that might cause [firestore] to - exclude document results for limit queries with local modifications. -* [changed] [firestore] can now serialize objects with `android.net.Uri`s. +- [fixed] Fixed an issue in the beta version of the index engine that might cause [firestore] to + exclude document results for limit queries with local modifications. +- [changed] [firestore] can now serialize objects with `android.net.Uri`s. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.1.0 -* [feature] Added beta support for indexed query execution. You can enable indexes by invoking + +- [feature] Added beta support for indexed query execution. You can enable indexes by invoking `FirebaseFirestore.setIndexConfiguration()` with the JSON index definition exported by the [firebase_cli]. Queries against the cache are executed using an index once the asynchronous index generation completes. -* [fixed] Fixed missing document fields issue with offline overlays. (#3528). - +- [fixed] Fixed missing document fields issue with offline overlays. (#3528). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.0.2 -* [fixed] Fixed a [firebase_app_check] issue that caused [firestore] listeners to stop working and + +- [fixed] Fixed a [firebase_app_check] issue that caused [firestore] listeners to stop working and receive a `Permission Denied` error. This issue only occurred if the [app_check] expiration time was set to under an hour. -* [fixed] Fixed a potential problem during the shutdown of [firestore] that prevented the shutdown +- [fixed] Fixed a potential problem during the shutdown of [firestore] that prevented the shutdown from proceeding if a network connection was opened right before. -* [fixed] Fixed an NPE issue where mutations with multiple documents were not handled correctly +- [fixed] Fixed an NPE issue where mutations with multiple documents were not handled correctly during previous mutation acknowledgement. (#3490). -* [changed] Queries are now sent to the backend before the SDK starts local processing, which +- [changed] Queries are now sent to the backend before the SDK starts local processing, which reduces overall query latency. -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.0.1 -* [changed] Optimized performance for offline usage. -* [changed] Optimized performance for queries with collections that contain subcollections. +- [changed] Optimized performance for offline usage. +- [changed] Optimized performance for queries with collections that contain subcollections. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 24.0.0 -* [changed] This SDK now requires devices and emulators to target API level 19 (KitKat) or higher + +- [changed] This SDK now requires devices and emulators to target API level 19 (KitKat) or higher and to use Android 4.4 or higher. This is due to an update in its gRPC dependency version and to align with requirements of other Firebase libraries. -* [feature] Added support for [firebase_app_check]. - +- [feature] Added support for [firebase_app_check]. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.4 -* [fixed] Fixed an issue where some fields were missed when copying in the - `FirebaseFirestoreSettings.Builder` copy constructor. +- [fixed] Fixed an issue where some fields were missed when copying in the + `FirebaseFirestoreSettings.Builder` copy constructor. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.3 -* [fixed] Fixed an issue that was causing failures when a data bundle with multi-byte Unicode - characters was loaded. +- [fixed] Fixed an issue that was causing failures when a data bundle with multi-byte Unicode + characters was loaded. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.2 -* [changed] Improved Firestore's network condition detection. +- [changed] Improved Firestore's network condition detection. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.1 -* [changed] The SDK now tries to immediately establish a connection to the backend when the app - enters the foreground. +- [changed] The SDK now tries to immediately establish a connection to the backend when the app + enters the foreground. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 23.0.0 -* [changed] Internal infrastructure improvements. -* [changed] Internal changes to support dynamic feature modules. +- [changed] Internal infrastructure improvements. +- [changed] Internal changes to support dynamic feature modules. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.1.2 -* [changed] Internal changes in preparation for future support of dynamic feature modules. +- [changed] Internal changes in preparation for future support of dynamic feature modules. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.1.1 -* [fixed] Fixed an issue that dropped the limit for queries loaded from [firestore] bundles that + +- [fixed] Fixed an issue that dropped the limit for queries loaded from [firestore] bundles that were generated by the NodeJS SDK. -* [fixed] Fixed a bug where local cache inconsistencies were unnecessarily being resolved, causing +- [fixed] Fixed a bug where local cache inconsistencies were unnecessarily being resolved, causing the `Task` objects returned from `get()` invocations to never complete. #2404 - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.1.0 -* [feature] Added support for [firestore] bundles via + +- [feature] Added support for [firestore] bundles via [`FirebaseFirestore.loadBundle()`]() and [`FirebaseFirestore.getNamedQuery()`](). Bundles contain pre-packaged data produced with the Firebase Admin Node.js SDK and can be used to populate the cache for [firestore] without the need to read documents from the backend. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.0.2 -* [changed] A write to a document that contains `FieldValue` transforms is no longer split into two + +- [changed] A write to a document that contains `FieldValue` transforms is no longer split into two separate operations. This reduces the number of writes that the backend performs and allows each `WriteBatch` to hold 500 writes regardless of how many `FieldValue` transformations are attached. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.0.1 -* [changed] Removed excess validation of null and NaN values in query filters. This more closely + +- [changed] Removed excess validation of null and NaN values in query filters. This more closely aligns the SDK with the [firestore] backend, which has always accepted null and NaN for all operators. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 22.0.0 -* [changed] Removed the deprecated `timestampsInSnapshotsEnabled` setting. Any timestamp in a + +- [changed] Removed the deprecated `timestampsInSnapshotsEnabled` setting. Any timestamp in a [firestore] document is now returned as a `Timestamp`. To convert `Timestamp` classes to `java.util.Date`, use [`Timestamp.toDate()`](). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.7.1 -* [changed] Added new internal HTTP headers to the gRPC connection. +- [changed] Added new internal HTTP headers to the gRPC connection. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.7.0 -* [feature] Added + +- [feature] Added [`Query.whereNotIn()`](>) and [`Query.whereNotEqualTo()`]() @@ -545,373 +597,406 @@ Kotlin extensions library has no additional updates. specified value. Neither query operator finds documents where the specified field isn't present. -* [fixed] Fixed an issue that caused poor performance for queries that filtered results using nested - array values. +- [fixed] Fixed an issue that caused poor performance for queries that filtered results using nested + array values. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.6.0 -* [fixed] Removed a delay that may have prevented [firestore] from immediately reestablishing a + +- [fixed] Removed a delay that may have prevented [firestore] from immediately reestablishing a network connection if a connectivity change occurred while the app was in the background. -* [fixed] Fixed an issue that may have prevented the client from connecting to the backend +- [fixed] Fixed an issue that may have prevented the client from connecting to the backend immediately after a user signed in. -* [feature] Added support for connecting to the Firebase Emulator Suite via a new method, +- [feature] Added support for connecting to the Firebase Emulator Suite via a new method, [`FirebaseFirestore#useEmulator()`](). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.5.0 -* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The + +- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.3 -* [changed] [firestore] now limits the number of concurrent document lookups it will perform when - resolving inconsistencies in the local cache. +- [changed] [firestore] now limits the number of concurrent document lookups it will perform when + resolving inconsistencies in the local cache. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.2 -* [changed] Removed Guava dependency from the SDK. This change is the first step in eliminating + +- [changed] Removed Guava dependency from the SDK. This change is the first step in eliminating crashes caused by apps that depend on the wrong flavor of Guava. ([Issue #1125](//github.com/firebase/firebase-android-sdk/issues/1125)) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.1 -* [fixed] Fixed a performance regression introduced by the addition of `Query.limitToLast(n: long)` + +- [fixed] Fixed a performance regression introduced by the addition of `Query.limitToLast(n: long)` in [firestore] v21.3.1. -* [changed] Changed the in-memory representation of [firestore] documents to reduce memory +- [changed] Changed the in-memory representation of [firestore] documents to reduce memory allocations and improve performance. Calls to `DocumentSnapshot.getData()` and `DocumentSnapshot.toObject()` will see the biggest improvement. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.4.0 -* [feature] Cloud Firestore previously required that every document read in a transaction must also + +- [feature] Cloud Firestore previously required that every document read in a transaction must also be written. This requirement has been removed, and you can now read a document in a transaction without writing to it. -* [changed] Cloud Firestore now recovers more quickly when connections suffering packet loss return +- [changed] Cloud Firestore now recovers more quickly when connections suffering packet loss return to normal. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.3.1 -* [feature] Added `Query.limitToLast(n: long)`, which returns the last `n` documents as the result. +- [feature] Added `Query.limitToLast(n: long)`, which returns the last `n` documents as the result. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.3.0 -* [feature] Added `Query.whereIn()` and `Query.whereArrayContainsAny()` query operators. + +- [feature] 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. -* [changed] Improved the performance of repeatedly executed queries. Recently executed queries +- [changed] Improved the performance of repeatedly executed queries. Recently executed queries should see dramatic improvements. This benefit is reduced if changes accumulate while the query is inactive. Queries that use the `limit()` API may not always benefit, depending on the accumulated changes. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.2.1 -* [fixed] Fixed an issue where devices targeting Android API level 19 or earlier would crash when + +- [fixed] Fixed an issue where devices targeting Android API level 19 or earlier would crash when they were unable to connect to [firestore]. -* [fixed] Fixed a race condition in Documents where access to `getData` and `getField` on the same +- [fixed] Fixed a race condition in Documents where access to `getData` and `getField` on the same document in different threads could cause a `NullPointerException`. -* [fixed] Fixed a race condition that could cause a `NullPointerException` during client +- [fixed] Fixed a race condition that could cause a `NullPointerException` during client initialization. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.2.0 -* [feature] Added an + +- [feature] Added an [`addSnapshotsInSyncListener()`]() method to `FirebaseFirestore` that notifies you when all your snapshot listeners are in sync with each other. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.1.1 -* [fixed] Addressed a regression in v21.1.0 that caused the crash: "Cannot add document to the - RemoteDocumentCache with a read time of zero". +- [fixed] Addressed a regression in v21.1.0 that caused the crash: "Cannot add document to the + RemoteDocumentCache with a read time of zero". ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.1.0 + Warning: We have received reports that this **v21.1.0 release** of the Firebase Android SDK for [firestore] can trigger an uncaught exception. Make sure to update to the next version of the Cloud Firestore SDK to get the fix. -* [feature] Added a +- [feature] Added a [`FirebaseFirestore.terminate()`]() method which terminates the instance, releasing any held resources. Once it completes, you can optionally call `clearPersistence()` to wipe persisted [firestore] data from disk. -* [feature] Added a +- [feature] Added a [`FirebaseFirestore.waitForPendingWrites()`]() method which allows users to wait on a promise that resolves when all pending writes are acknowledged by the [firestore] backend. -* [changed] Transactions now perform exponential backoff before retrying. This means transactions on +- [changed] Transactions now perform exponential backoff before retrying. This means transactions on highly contended documents are more likely to succeed. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 21.0.0 -* [changed] Transactions are now more flexible. Some sequences of operations that were previously + +- [changed] Transactions are now more flexible. Some sequences of operations that were previously incorrectly disallowed are now allowed. For example, after reading a document that doesn't exist, you can now set it multiple times successfully in a transaction. -* [fixed] Fixed an issue where query results were temporarily missing documents that previously had +- [fixed] Fixed an issue where query results were temporarily missing documents that previously had not matched but had been updated to now match the query. Refer to this [GitHub issue](https://github.com/firebase/firebase-android-sdk/issues/155) for more details. -* [changed] Added nullability annotations to improve the Kotlin developer experience. - +- [changed] Added nullability annotations to improve the Kotlin developer experience. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 20.2.0 -* [feature] Added a `@DocumentId` annotation which can be used on a `DocumentReference` or `String` + +- [feature] Added a `@DocumentId` annotation which can be used on a `DocumentReference` or `String` property in a POJO to indicate that the SDK should automatically populate it with the document's ID. -* [fixed] Fixed an internal assertion that was triggered when an update with a +- [fixed] Fixed an internal assertion that was triggered when an update with a `FieldValue.serverTimestamp()` and an update with a `FieldValue.increment()` were pending for the same document. Refer to this [GitHub issue](https://github.com/firebase/firebase-android-sdk/issues/491) for more details. -* [changed] Improved performance of queries with large result sets. -* [changed] Improved performance for queries with filters that only return a small subset of the +- [changed] Improved performance of queries with large result sets. +- [changed] Improved performance for queries with filters that only return a small subset of the documents in a collection. -* [changed] Instead of failing silently, [firestore] now crashes the client app if it fails to load +- [changed] Instead of failing silently, [firestore] now crashes the client app if it fails to load SSL Ciphers. To avoid these crashes, you must bundle Conscrypt to support non-GMSCore devices on Android API level 19 (KitKat) or earlier (for more information, refer to [TLS on Android](https://github.com/grpc/grpc-java/blob/master/SECURITY.md#tls-on-android)). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 20.1.0 -* [changed] SSL and gRPC initialization now happens on a separate thread, which reduces the time + +- [changed] SSL and gRPC initialization now happens on a separate thread, which reduces the time taken to produce the first query result. -* [feature] Added `clearPersistence()`, which clears the persistent storage including pending writes +- [feature] Added `clearPersistence()`, which clears the persistent storage including pending writes and cached documents. This is intended to help write reliable tests. Refer to this [GitHub issue](https://github.com/firebase/firebase-js-sdk/issues/449) for more details. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 19.0.2 -* [fixed] Updated gRPC to 1.21.0. A bug in the prior version would occasionally cause a crash if a + +- [fixed] Updated gRPC to 1.21.0. A bug in the prior version would occasionally cause a crash if a network state change occurred concurrently with an RPC. Refer to [GitHub issue #428](https://github.com/firebase/firebase-android-sdk/issues/428) for more details. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 19.0.1 -* [fixed] Fixed an issue that prevented schema migrations for clients with large offline datasets. + +- [fixed] Fixed an issue that prevented schema migrations for clients with large offline datasets. Refer to this [GitHub issue](https://github.com/firebase/firebase-android-sdk/issues/370) for more details. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 19.0.0 -* [feature] You can now query across all collections in your database with a given collection ID + +- [feature] You can now query across all collections in your database with a given collection ID using the [`FirebaseFirestore.collectionGroup()`](/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore#collectionGroup) method. -* [changed] The garbage collection process for on-disk persistence that removes older documents is +- [changed] The garbage collection process for on-disk persistence that removes older documents is now enabled by default. The SDK will attempt to periodically clean up older, unused documents once the on-disk cache passes a threshold size (default: 100 MB). See [Configure cache size](/docs/firestore/manage-data/enable-offline#configure_cache_size) for details on how to configure this. -* [changed] Internal changes that rely on an updated API to obtain authentication credentials. If +- [changed] Internal changes that rely on an updated API to obtain authentication credentials. If you use [firebase_auth], update to `firebase-auth` v17.0.0 or later to ensure functionality alignment. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-firestore` library. The Kotlin extensions library has no additional updates. # 18.2.0 -* [unchanged] No changes to the base `firebase-firestore` library. +- [unchanged] No changes to the base `firebase-firestore` library. ## Kotlin -* [feature] The beta release of a [firestore] Android library with Kotlin extensions is now + +- [feature] The beta release of a [firestore] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-firestore` library. To learn more, visit the [[firestore] KTX documentation](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary). # 18.2.0 -* [feature] Added + +- [feature] Added [`FieldValue.increment()`](), which can be used in `update()` and `set(..., SetOptions.merge())` to increment or decrement numeric field values safely without transactions. -* [feature] Added functional interface +- [feature] Added functional interface [`FirebaseFirestore.runBatch()`](/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore#runBatch( com.google.firebase.firestore.WriteBatch.Function)), similar to [`FirebaseFirestore.runTransaction()`](), which allows a developer to focus on the mutations of the batch rather than on creating and committing the batch. -* [changed] Prepared the persistence layer to support collection group queries. While this feature +- [changed] Prepared the persistence layer to support collection group queries. While this feature is not yet available, all schema changes are included in this release. -* [changed] Added `@RestrictTo` annotations to discourage the use of APIs that are not public. This +- [changed] Added `@RestrictTo` annotations to discourage the use of APIs that are not public. This affects internal APIs that were previously obfuscated and are not mentioned in our documentation. -* [changed] Improved error messages for certain Number types that are not supported by our +- [changed] Improved error messages for certain Number types that are not supported by our serialization layer. # 18.1.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. -* [fixed] Fixed calculation of SQLite database size on Android 9 Pie devices. On these devices, the + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [fixed] Fixed calculation of SQLite database size on Android 9 Pie devices. On these devices, the previous method sometimes incorrectly calculated the size by a few MBs, potentially delaying garbage collection. # 18.0.1 -* [fixed] Fixed an issue where [firestore] would crash if handling write batches larger than 2 MB in + +- [fixed] Fixed an issue where [firestore] would crash if handling write batches larger than 2 MB in size. -* [changed] [firestore] now recovers more quickly from long periods without network access. +- [changed] [firestore] now recovers more quickly from long periods without network access. # 18.0.0 -* [changed] The `timestampsInSnapshotsEnabled` setting is now enabled by default. Timestamp fields + +- [changed] The `timestampsInSnapshotsEnabled` setting is now enabled by default. Timestamp fields that read from a `DocumentSnapshot` are now returned as `Timestamp` objects instead of `Date` objects. This is a breaking change; developers must update any code that expects to receive a `Date` object. See [`FirebaseFirestoreSettings.Builder.setTimestampsInSnapshotsEnabled()`]() for more details. -* [feature] Custom objects (POJOs) can now be passed in several ways: as a field value in +- [feature] Custom objects (POJOs) can now be passed in several ways: as a field value in `update()`, within `Map<>` objects passed to `set()`, in array transform operations, and in query filters. -* [feature] `DocumentSnapshot.get()` now supports retrieving fields as custom objects (POJOs) by +- [feature] `DocumentSnapshot.get()` now supports retrieving fields as custom objects (POJOs) by passing a `Class` instance, e.g., `snapshot.get("field", CustomType.class)`. -* [fixed] Fixed an issue where if an app sent a write to the server, but the app was shut down +- [fixed] Fixed an issue where if an app sent a write to the server, but the app was shut down before a listener received the write, the app could crash. # 17.1.5 -* [changed] [firestore] now recovers more quickly from bad network states. -* [changed] Improved performance for reading large collections. -* [fixed] Offline persistence now properly records schema downgrades. This is a forward-looking + +- [changed] [firestore] now recovers more quickly from bad network states. +- [changed] Improved performance for reading large collections. +- [fixed] Offline persistence now properly records schema downgrades. This is a forward-looking change that allows you to safely downgrade from future SDK versions to this version (v17.1.5). You can already safely downgrade versions now depending on the source version. For example, you can safely downgrade from v17.1.4 to v17.1.2 because there are no schema changes between those versions. Related: https://github.com/firebase/firebase-android-sdk/issues/134 # 17.1.4 -* [fixed] Fixed a SQLite transaction-handling issue that occasionally masked exceptions when + +- [fixed] Fixed a SQLite transaction-handling issue that occasionally masked exceptions when Firestore closed a transaction that was never started. For more information, see the [issue report in GitHub](https://github.com/firebase/firebase-android-sdk/issues/115). -* [fixed] Fixed a race condition that caused a `SQLiteDatabaseLockedException` when an app attempted +- [fixed] Fixed a race condition that caused a `SQLiteDatabaseLockedException` when an app attempted to access the SQLite database from multiple threads. # 17.1.2 -* [changed] Changed how the SDK handles locally-updated documents while syncing those updates with + +- [changed] Changed how the SDK handles locally-updated documents while syncing those updates with Cloud Firestore servers. This can lead to slight behavior changes and may affect the [`SnapshotMetadata.hasPendingWrites()`]() metadata flag. -* [changed] Eliminated superfluous update events for locally cached documents that are known to lag +- [changed] Eliminated superfluous update events for locally cached documents that are known to lag behind the server version. Instead, the SDK buffers these events until the client has caught up with the server. # 17.1.1 -* [fixed] Fixed an issue where the first `get()` call made after being offline could incorrectly + +- [fixed] Fixed an issue where the first `get()` call made after being offline could incorrectly return cached data without attempting to reach the backend. -* [changed] Changed `get()` to only make one attempt to reach the backend before returning cached +- [changed] Changed `get()` to only make one attempt to reach the backend before returning cached data, potentially reducing delays while offline. -* [fixed] Fixed an issue that caused Firebase to drop empty objects from calls to +- [fixed] Fixed an issue that caused Firebase to drop empty objects from calls to `set(..., SetOptions.merge())`. -* [fixed] Updated printf-style templates to ensure that they're compile time constants. Previously, +- [fixed] Updated printf-style templates to ensure that they're compile time constants. Previously, some were influenced by error messages. When those error messages contained `%p` or other, related tokens, `String.format()` would throw an exception. -* [changed] Some SDK errors that represent common mistakes, like permission errors or missing +- [changed] Some SDK errors that represent common mistakes, like permission errors or missing indexes, are automatically logged as warnings in addition to being surfaced via the API. # 17.1.0 -* [fixed] Corrected an issue with methods in the Cloud Firestore v17.0.5 release. To avoid potential + +- [fixed] Corrected an issue with methods in the Cloud Firestore v17.0.5 release. To avoid potential errors, don't use v17.0.5. # 17.0.5 -* [feature] Added + +- [feature] Added [`FieldValue.arrayUnion()`]() and [`FieldValue.arrayRemove()`]() to atomically add and remove elements from an array field in a document. -* [feature] Added +- [feature] Added [`Query.whereArrayContains()`](/docs/reference/android/com/google/firebase/firestore/Query.html#whereArrayContains(com.google.firebase.firestore.FieldPath, java.lang.Object)) query operator to find documents where an array field contains a specific element. -* [changed] Improved offline performance with many outstanding writes. -* [fixed] Firestore will now recover from auth token expiration when the system clock is wrong. +- [changed] Improved offline performance with many outstanding writes. +- [fixed] Firestore will now recover from auth token expiration when the system clock is wrong. # 17.0.4 -* [fixed] Fixed an issue where queries returned fewer results than they should. The issue related to + +- [fixed] Fixed an issue where queries returned fewer results than they should. The issue related to [improper caching](https://github.com/firebase/firebase-ios-sdk/issues/1548), so clients may use extra bandwidth the first time they launch with this version of the SDK, as they re-download cleared cached data. # 17.0.3 -* [changed] The [`Timestamp`](/docs/reference/android/com/google/firebase/Timestamp) class now + +- [changed] The [`Timestamp`](/docs/reference/android/com/google/firebase/Timestamp) class now implements [`Parcelable`](//developer.android.com/reference/android/os/Parcelable) in addition to [`Comparable`](//developer.android.com/reference/java/lang/Comparable). # 17.0.2 -* [changed] gRPC requirement updated from 1.8.0 to 1.12.0. This allows quicker failover between + +- [changed] gRPC requirement updated from 1.8.0 to 1.12.0. This allows quicker failover between Wi-Fi and cellular networks. # 17.0.1 -* [fixed] Fixed an issue where `set()` didn't correctly respect + +- [fixed] Fixed an issue where `set()` didn't correctly respect [`SetOptions.mergeFields()`](>) for data containing [`FieldValue.delete()`]() or [`FieldValue.serverTimestamp()`]() values. - diff --git a/firebase-functions/CHANGELOG.md b/firebase-functions/CHANGELOG.md index 04d1b7c8a64..829bf9a431c 100644 --- a/firebase-functions/CHANGELOG.md +++ b/firebase-functions/CHANGELOG.md @@ -1,233 +1,258 @@ # Unreleased - # 22.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 22.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.2.1 -* [fixed] Fixed issue that caused the SDK to crash when trying to stream a function that does not - exist. +- [fixed] Fixed issue that caused the SDK to crash when trying to stream a function that does not + exist. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.2.0 -* [feature] Streaming callable functions are now supported. -* [fixed] Fixed an issue that prevented the App Check token from being handled correctly in case of - error. +- [feature] Streaming callable functions are now supported. +- [fixed] Fixed an issue that prevented the App Check token from being handled correctly in case of + error. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.1.1 -* [fixed] Resolve Kotlin migration visibility issues - ([#6522](//github.com/firebase/firebase-android-sdk/pull/6522)) +- [fixed] Resolve Kotlin migration visibility issues + ([#6522](//github.com/firebase/firebase-android-sdk/pull/6522)) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.1.0 -* [changed] Migrated to Kotlin +- [changed] Migrated to Kotlin ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 21.0.0 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.4.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-functions-ktx` to + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-functions-ktx` to `com.google.firebase:firebase-functions` under the `com.google.firebase.functions` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-functions-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-functions-ktx` have been added to `com.google.firebase:firebase-functions` under the `com.google.firebase.functions` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-functions-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.3.1 -* [changed] Added support for App Check limited-use tokens in HTTPS Callable Functions. +- [changed] Added support for App Check limited-use tokens in HTTPS Callable Functions. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.3.0 -* [changed] Internal changes to ensure alignment with other SDK releases. +- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.2.2 -* [changed] Moved Task continuations off the main thread. -* [changed] Internal infrastructure improvements. +- [changed] Moved Task continuations off the main thread. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.2.1 -* [changed] Updated dependency of `firebase-iid` to its latest version (v21.1.0). +- [changed] Updated dependency of `firebase-iid` to its latest version (v21.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.2.0 -* [unchanged] Updated to accommodate the release of the updated [functions_client] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [functions_client] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-functions-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.1 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.1.0 -* [feature] Added a new method + +- [feature] Added a new method [`getHttpsCallableFromUrl(java.net.URL)`](/docs/reference/android/com/google/firebase/functions/FirebaseFunctions#public-httpscallablereference-gethttpscallablefromurl-url-url) to create callables with URLs. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.0.2 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.0.1 -* [fixed] Fixed an issue that prevented functions from proceeding after [app_check] failures. +- [fixed] Fixed an issue that prevented functions from proceeding after [app_check] failures. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 20.0.0 -* [feature] Added abuse reduction features. -* [changed] Internal changes to support dynamic feature modules. +- [feature] Added abuse reduction features. +- [changed] Internal changes to support dynamic feature modules. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.2.0 -* [feature] Added support for custom domains, - [`FirebaseFunctions#getInstance()`](). +- [feature] Added support for custom domains, + [`FirebaseFunctions#getInstance()`](). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.1.0 -* [feature] Added support for connecting to the Firebase Emulator Suite via a new method, - [`FirebaseFunctions#UseEmulator()`](). -* [deprecated] Deprecated the `useFunctionsEmulator(String)` method. +- [feature] Added support for connecting to the Firebase Emulator Suite via a new method, + [`FirebaseFunctions#UseEmulator()`](). +- [deprecated] Deprecated the `useFunctionsEmulator(String)` method. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.0.2 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [changed] Internal changes to ensure functionality alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-functions` library. The Kotlin extensions library has no additional updates. # 19.0.1 -* [unchanged] Updated to accommodate the release of the [functions_client] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the [functions_client] Kotlin extensions + library. ## Kotlin -* [feature] The beta release of a [functions_client] Android library with Kotlin extensions is now + +- [feature] The beta release of a [functions_client] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-functions` library. To learn more, visit the [[cloud_functions] KTX documentation](/docs/reference/kotlin/com/google/firebase/functions/ktx/package-summary). # 19.0.0 -* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No + +- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.1.0 -* [feature] Added + +- [feature] Added [`getTimeout`](/docs/reference/android/com/google/firebase/functions/HttpsCallableReference) method to get the timeout for a callable. For more details, refer to [GitHub PR #574](//github.com/firebase/firebase-android-sdk/pull/574). # 17.0.0 -* [changed] Updated minSdkVersion to API level 16. + +- [changed] Updated minSdkVersion to API level 16. # 16.3.0 -* [changed] Changed the default timeout for callable functions to 70 seconds + +- [changed] Changed the default timeout for callable functions to 70 seconds ([#2329](//github.com/firebase/firebase-android-sdk/pull/224)). -* [feature] Added +- [feature] Added [`setTimeout`](/docs/reference/android/com/google/firebase/functions/HttpsCallableReference) and [`withTimeout`](/docs/reference/android/com/google/firebase/functions/HttpsCallableReference) methods to change the timeout for a callable ([#2329](//github.com/firebase/firebase-android-sdk/pull/224)). # 16.1.0 -* [feature] `FirebaseFunctions.getInstance()` now allows passing in an optional region to override + +- [feature] `FirebaseFunctions.getInstance()` now allows passing in an optional region to override the default "us-central1". -* [feature] New `useFunctionsEmulator` method allows testing against a local instance of the +- [feature] New `useFunctionsEmulator` method allows testing against a local instance of the [Cloud Functions Emulator](https://firebase.google.com/docs/functions/local-emulator). - diff --git a/firebase-inappmessaging-display/CHANGELOG.md b/firebase-inappmessaging-display/CHANGELOG.md index e45c8682f77..176060b0822 100644 --- a/firebase-inappmessaging-display/CHANGELOG.md +++ b/firebase-inappmessaging-display/CHANGELOG.md @@ -1,335 +1,374 @@ # Unreleased - # 22.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 22.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.2 -* [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] +- [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 21.0.1 -* [changed] Updated protobuf dependency to `3.25.5` to fix - [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). +- [changed] Updated protobuf dependency to `3.25.5` to fix + [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 21.0.0 -* [fixed] Fixed bad token exception while showing FIAM (GitHub + +- [fixed] Fixed bad token exception while showing FIAM (GitHub [#5567](//github.com/firebase/firebase-android-sdk/issues/5567)) (GitHub [#5780](//github.com/firebase/firebase-android-sdk/issues/5780)) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.4.1 -* [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub - [#5644](//github.com/firebase/firebase-android-sdk/issues/5644)) +- [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub + [#5644](//github.com/firebase/firebase-android-sdk/issues/5644)) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.4.0 -* [changed] Added Kotlin extensions (KTX) APIs from + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-inappmessaging-display-ktx` to `com.google.firebase:firebase-inappmessaging-display` under the `com.google.firebase.inappmessaging.display` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-display-ktx` have been +- [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-display-ktx` have been added to `com.google.firebase:firebase-inappmessaging-display` under the `com.google.firebase.inappmessaging.display` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-inappmessaging-display-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.5 -* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. - [#5337] +- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. + [#5337] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.4 -* [changed] Updated internal logging backend. +- [changed] Updated internal logging backend. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.3 -* [unchanged] Updated internal Dagger dependency. + +- [unchanged] Updated internal Dagger dependency. # 20.3.2 -* [fixed] Fixed nullpointer crash when using experiments (GitHub - [#4716](//github.com/firebase/firebase-android-sdk/issues/4716){: .external}) +- [fixed] Fixed nullpointer crash when using experiments (GitHub + [#4716](//github.com/firebase/firebase-android-sdk/issues/4716){: .external}) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.1 -* [fixed] Fixed nullpointer crash - ([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4214)) -* [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. +- [fixed] Fixed nullpointer crash + ([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4214)) +- [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.3.0 -* [changed] Migrated [inappmessaging] Display to use standard Firebase executors. -* [changed] Moved Task continuations off the main thread. -* [feature] Added a new API for + +- [changed] Migrated [inappmessaging] Display to use standard Firebase executors. +- [changed] Moved Task continuations off the main thread. +- [feature] Added a new API for [removing a dismiss listener](). (GitHub [#4492](//github.com/firebase/firebase-android-sdk/issues/4492){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.2.0 -* [fixed] Fixed a bug that prevented marking more than one message as impressed. +- [fixed] Fixed a bug that prevented marking more than one message as impressed. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-inappmessaging-display-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.3 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.1.2 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.1.1 -* [changed] Updated the gRPC dependency version. +- [changed] Updated the gRPC dependency version. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.1.0 -* [changed] Migrated to Glide library for image downloading. +- [changed] Migrated to Glide library for image downloading. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 20.0.0 -* [changed] Internal infrastructure improvements. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.5 -* [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. +- [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.4 -* [fixed] Fixed in-app message button click not working in Android 11 because of package visibility - changes. +- [fixed] Fixed in-app message button click not working in Android 11 because of package visibility + changes. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.3 -* [changed] Internal changes to maintain compatibility with other Firebase SDKs. +- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.2 -* [changed] Internal changes to maintain compatibility with other Firebase SDKs. +- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.1 -* [fixed] Improved link handling on devices without any browser installed or without Chrome - installed. -* [feature] Added the ability to register a dismiss listener that reacts to message dismissal. +- [fixed] Improved link handling on devices without any browser installed or without Chrome + installed. +- [feature] Added the ability to register a dismiss listener that reacts to message dismissal. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.1.0 -* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The + +- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.7 -* [fixed] Improved handling of activity transitions. (GitHub + +- [fixed] Improved handling of activity transitions. (GitHub [Issue #1410](//github.com/firebase/firebase-android-sdk/issues/1410) and [Issue #1092](//github.com/firebase/firebase-android-sdk/issues/1092)) -* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.6 -* [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. - [GitHub Issue #1430](//github.com/firebase/firebase-android-sdk/issues/1430) +- [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. + [GitHub Issue #1430](//github.com/firebase/firebase-android-sdk/issues/1430) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.5 -* [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple - times. +- [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple + times. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.4 -* [fixed] Fixed issue with messages not being fetched on app first open. -* [fixed] Fixed issue with first foreground trigger not being picked up. +- [fixed] Fixed issue with messages not being fetched on app first open. +- [fixed] Fixed issue with first foreground trigger not being picked up. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.3 -* [changed] Internal changes to enable future SDK improvements. +- [changed] Internal changes to enable future SDK improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging-display` library. The Kotlin extensions library has no additional updates. # 19.0.2 -* [changed] Updated version of Dagger to 2.24. -* [fixed] Bug fixes to improve SDK stability. -* [fixed] Fixed memory leak. +- [changed] Updated version of Dagger to 2.24. +- [fixed] Bug fixes to improve SDK stability. +- [fixed] Fixed memory leak. ## Kotlin -* [feature] The beta release of a [inappmessaging] Display Android library with Kotlin extensions is + +- [feature] The beta release of a [inappmessaging] Display Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-inappmessaging-display` library. To learn more, visit the [[inappmessaging] Display KTX documentation](/docs/reference/kotlin/com/google/firebase/inappmessaging/display/ktx/package-summary). # 19.0.1 -* [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality + +- [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality alignment with other SDK releases. # 19.0.0 -* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No + +- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.2 -* [changed] Updated to support Picasso version 2.71828. -* [fixed] Updated to send engagement metrics via [analytics]. -* [fixed] Fixed issue with callbacks triggering for Card templates. + +- [changed] Updated to support Picasso version 2.71828. +- [fixed] Updated to send engagement metrics via [analytics]. +- [fixed] Fixed issue with callbacks triggering for Card templates. # 17.2.0 -* [feature] Adds support for card in-app messages. -* [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. + +- [feature] Adds support for card in-app messages. +- [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. # 17.1.1 -* [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The + +- [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The underlying issue was that [firestore] and [cloud_functions] couldn't agree on which ciphers to use; this update fixes this issue by overriding the set of ciphers that they use. Refer to [GitHub issue 244](https://github.com/firebase/firebase-android-sdk/issues/244) for more information. # 17.1.0 -* [feature] Adds functionality to programmatically register listeners for updates on in-app + +- [feature] Adds functionality to programmatically register listeners for updates on in-app engagement (for example, impression, click, display errors). See [`FirebaseInAppMessaging.addClickListener()`]() for more details. # 17.0.5 -* [fixed] Users with restricted API keys can now use the SDK as expected. + +- [fixed] Users with restricted API keys can now use the SDK as expected. # 17.0.3 -* [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface + +- [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface to prepare for open sourcing. # 17.0.1 -* [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, + +- [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, because of an obfuscation collision. # 17.0.0 -* [feature] The initial public beta release of the Firebase In-App Messaging Display SDK for Android + +- [feature] The initial public beta release of the Firebase In-App Messaging Display SDK for Android is now available. To learn more, see the [Firebase In-App Messaging documentation](/docs/in-app-messaging). - diff --git a/firebase-inappmessaging/CHANGELOG.md b/firebase-inappmessaging/CHANGELOG.md index b1787731b14..8d66296db08 100644 --- a/firebase-inappmessaging/CHANGELOG.md +++ b/firebase-inappmessaging/CHANGELOG.md @@ -1,333 +1,372 @@ # Unreleased - # 22.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 22.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.2 -* [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] +- [changed] Updated `protolite-well-known-types` dependency to `18.0.1`. [#6716] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 21.0.1 -* [changed] Updated protobuf dependency to `3.25.5` to fix - [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). +- [changed] Updated protobuf dependency to `3.25.5` to fix + [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 21.0.0 -* [fixed] Fixed bad token exception while showing FIAM (GitHub + +- [fixed] Fixed bad token exception while showing FIAM (GitHub [#5567](//github.com/firebase/firebase-android-sdk/issues/5567)) (GitHub [#5780](//github.com/firebase/firebase-android-sdk/issues/5780)) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.4.1 -* [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub - [#5644](//github.com/firebase/firebase-android-sdk/issues/5644)) +- [fixed] Fixed FirebaseInAppMessagingDisplayErrorListener not being called (GitHub + [#5644](//github.com/firebase/firebase-android-sdk/issues/5644)) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.4.0 -* [changed] Added Kotlin extensions (KTX) APIs from + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-inappmessaging-ktx` to `com.google.firebase:firebase-inappmessaging` under the `com.google.firebase.inappmessaging` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-ktx` have been added +- [deprecated] All the APIs from `com.google.firebase:firebase-inappmessaging-ktx` have been added to `com.google.firebase:firebase-inappmessaging` under the `com.google.firebase.inappmessaging` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-inappmessaging-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.5 -* [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. - [#5337] +- [fixed] Disabled `GradleMetadataPublishing` to fix breakage of the Kotlin extensions library. + [#5337] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.4 -* [changed] Updated internal logging backend. +- [changed] Updated internal logging backend. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.3 -* [unchanged] Updated internal Dagger dependency. + +- [unchanged] Updated internal Dagger dependency. # 20.3.2 -* [fixed] Fixed nullpointer crash when using experiments (GitHub - [#4716](//github.com/firebase/firebase-android-sdk/issues/4716){: .external}) +- [fixed] Fixed nullpointer crash when using experiments (GitHub + [#4716](//github.com/firebase/firebase-android-sdk/issues/4716){: .external}) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.1 -* [fixed] Fixed nullpointer crash - ([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4214)) -* [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. +- [fixed] Fixed nullpointer crash + ([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4214)) +- [changed] Updated gRPC to 1.52.1, and updated JavaLite, protoc, protobuf-java-util to 3.21.11. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.3.0 -* [changed] Migrated [inappmessaging] to use standard Firebase executors. -* [changed] Moved Task continuations off the main thread. -* [feature] Added a new API for + +- [changed] Migrated [inappmessaging] to use standard Firebase executors. +- [changed] Moved Task continuations off the main thread. +- [feature] Added a new API for [removing a dismiss listener](). (GitHub [#4492](//github.com/firebase/firebase-android-sdk/issues/4492){: .external}) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.2.0 -* [fixed] Fixed a bug that prevented marking more than one message as impressed. +- [fixed] Fixed a bug that prevented marking more than one message as impressed. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-inappmessaging-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.3 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.1.2 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.1.1 -* [changed] Updated the gRPC dependency version. +- [changed] Updated the gRPC dependency version. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.1.0 -* [changed] Migrated to Glide library for image downloading. +- [changed] Migrated to Glide library for image downloading. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 20.0.0 -* [changed] Internal infrastructure improvements. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.5 -* [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. +- [fixed] Fixed `WindowManager$BadTokenException` when showing an in-app message. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.4 -* [fixed] Fixed in-app message button click not working in Android 11 because of package visibility - changes. +- [fixed] Fixed in-app message button click not working in Android 11 because of package visibility + changes. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.3 -* [changed] Internal changes to maintain compatibility with other Firebase SDKs. +- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.2 -* [changed] Internal changes to maintain compatibility with other Firebase SDKs. +- [changed] Internal changes to maintain compatibility with other Firebase SDKs. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.1 -* [fixed] Improved link handling on devices without any browser installed or without Chrome - installed. -* [feature] Added the ability to register a dismiss listener that reacts to message dismissal. +- [fixed] Improved link handling on devices without any browser installed or without Chrome + installed. +- [feature] Added the ability to register a dismiss listener that reacts to message dismissal. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.1.0 -* [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The + +- [changed] Updated the protocol buffer dependency to the newer `protobuf-javalite` artifact. The new artifact is incompatible with the old one, so this library needed to be upgraded to avoid conflicts. No developer action is necessary. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.7 -* [fixed] Improved handling of activity transitions. (GitHub + +- [fixed] Improved handling of activity transitions. (GitHub [Issue #1410](//github.com/firebase/firebase-android-sdk/issues/1410) and [Issue #1092](//github.com/firebase/firebase-android-sdk/issues/1092)) -* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.6 -* [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. - [GitHub Issue #1430](//github.com/firebase/firebase-android-sdk/issues/1430) +- [fixed] Fixed issue causing apps to become unresponsive in limited network conditions. + [GitHub Issue #1430](//github.com/firebase/firebase-android-sdk/issues/1430) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.5 -* [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple - times. +- [fixed] Fixed issue where campaigns with frequency limits were not properly displaying multiple + times. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.4 -* [fixed] Fixed issue with messages not being fetched on app first open. -* [fixed] Fixed issue with first foreground trigger not being picked up. -* [changed] Internal migration to use the [firebase_installations] service. +- [fixed] Fixed issue with messages not being fetched on app first open. +- [fixed] Fixed issue with first foreground trigger not being picked up. +- [changed] Internal migration to use the [firebase_installations] service. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.3 -* [changed] Internal changes to enable future SDK improvements. +- [changed] Internal changes to enable future SDK improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-inappmessaging` library. The Kotlin extensions library has no additional updates. # 19.0.2 -* [changed] Updated version of Dagger to 2.24. -* [changed] Made info messages more clear in logcat. +- [changed] Updated version of Dagger to 2.24. +- [changed] Made info messages more clear in logcat. ## Kotlin -* [feature] The beta release of a [inappmessaging] Android library with Kotlin extensions is now + +- [feature] The beta release of a [inappmessaging] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-inappmessaging` library. To learn more, visit the [[inappmessaging] KTX documentation](/docs/reference/kotlin/com/google/firebase/inappmessaging/ktx/package-summary). # 19.0.1 -* [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality + +- [changed] Internal changes to accommodate open-sourcing of the library and to ensure functionality alignment with other SDK releases. # 19.0.0 -* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No + +- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.2 -* [fixed] Updated to send engagement metrics via [analytics]. -* [fixed] Fixed issue with callbacks triggering for Card templates. + +- [fixed] Updated to send engagement metrics via [analytics]. +- [fixed] Fixed issue with callbacks triggering for Card templates. # 17.2.0 -* [feature] Adds support for card in-app messages. -* [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. + +- [feature] Adds support for card in-app messages. +- [feature] Adds direct triggering (via [inappmessaging] SDK) of in-app messages. # 17.1.1 -* [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The + +- [fixed] Fixed [firestore] and [inappmessaging] compatibility on Android API level 19 (KitKat). The underlying issue was that [firestore] and [cloud_functions] couldn't agree on which ciphers to use; this update fixes this issue by overriding the set of ciphers that they use. Refer to [GitHub issue 244](https://github.com/firebase/firebase-android-sdk/issues/244) for more information. # 17.1.0 -* [feature] Adds functionality to programmatically register listeners for updates on in-app + +- [feature] Adds functionality to programmatically register listeners for updates on in-app engagement (for example, impression, click, display errors). See [`FirebaseInAppMessaging.addClickListener()`]() for more details. # 17.0.5 -* [fixed] Users with restricted API keys can now use the SDK as expected. + +- [fixed] Users with restricted API keys can now use the SDK as expected. # 17.0.3 -* [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface + +- [fixed] Improved caching logic, added safeguards for cache expiration, and cleaned up API surface to prepare for open sourcing the [inappmessaging]-display SDK. # 17.0.1 -* [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, + +- [fixed] Fixed an issue where [fiam] and Firestore could not be included/built into the same app, because of an obfuscation collision. # 17.0.0 -* [feature] The initial public beta release of the Firebase In-App Messaging SDK for Android is now + +- [feature] The initial public beta release of the Firebase In-App Messaging SDK for Android is now available. To learn more, see the [Firebase In-App Messaging documentation](/docs/in-app-messaging). - diff --git a/firebase-installations/CHANGELOG.md b/firebase-installations/CHANGELOG.md index 1e59ebaf70b..3427fdbc9ca 100644 --- a/firebase-installations/CHANGELOG.md +++ b/firebase-installations/CHANGELOG.md @@ -1,50 +1,55 @@ # Unreleased - # 19.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 19.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 18.0.0 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-installations` library. The Kotlin extensions library has no additional updates. # 17.2.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-installations-ktx` + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-installations-ktx` to `com.google.firebase:firebase-installations` under the `com.google.firebase.installations` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-installations-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-installations-ktx` have been added to `com.google.firebase:firebase-installations` under the `com.google.firebase.installations` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-installations-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-installations` library. The Kotlin extensions library has no additional updates. # 17.1.3 -* [changed] Internal changes to improve startup time + +- [changed] Internal changes to improve startup time # 17.1.2 -* [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing + +- [fixed] Updated `firebase-common` to its latest version (v20.3.0) to fix an issue that was causing a nondeterministic crash on startup. # 17.1.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [Firebase Instance ID v21.1.0 release notes](/support/release-notes/android#iid_v21-1-0). - diff --git a/firebase-messaging-directboot/CHANGELOG.md b/firebase-messaging-directboot/CHANGELOG.md index 515e325d72e..baf25a78f6a 100644 --- a/firebase-messaging-directboot/CHANGELOG.md +++ b/firebase-messaging-directboot/CHANGELOG.md @@ -1,142 +1,172 @@ # Unreleased - # 25.0.1 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 25.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 24.1.2 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 24.1.1 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 24.1.0 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 24.0.3 -* [changed] Updated protobuf dependency to `3.25.5` to fix + +- [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8). # 24.0.2 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 24.0.1 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 24.0.0 -* [changed] Bump internal dependencies + +- [changed] Bump internal dependencies # 23.4.0 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 23.3.0 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 23.1.2 -* [unchanged] Updated to keep messaging SDK versions aligned. + +- [unchanged] Updated to keep messaging SDK versions aligned. # 23.1.1 -* [changed] Removed unused classes. + +- [changed] Removed unused classes. # 23.1.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 23.0.8 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). + +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). # 23.0.7 -* [changed] Updated `minSdkVersion` to 19 to match [messaging_longer] `minSdkVersion`. -* [changed] Updated `FirebaseMessagingDirectBootReceiver` to match [messaging_longer] + +- [changed] Updated `minSdkVersion` to 19 to match [messaging_longer] `minSdkVersion`. +- [changed] Updated `FirebaseMessagingDirectBootReceiver` to match [messaging_longer] `FirebaseInstanceIdReceiver`. -* [changed] Removed unused dependencies. +- [changed] Removed unused dependencies. # 23.0.6 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.6 release notes](/support/release-notes/android#messaging_v23-0-6). # 23.0.5 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.5 release notes](/support/release-notes/android#messaging_v23-0-5). # 23.0.3 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.3 release notes](/support/release-notes/android#messaging_v23-0-3). # 23.0.2 -* [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the + +- [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the `httpcomponents` transitive dependencies. # 23.0.1 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.1 release note](/support/release-notes/android#messaging_v23-0-1). # 23.0.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v23.0.0 release notes](/support/release-notes/android#messaging_v23-0-0). # 22.0.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. -* [changed] Internal changes to support dynamic feature modules. -* [changed] Internal infrastructure improvements. + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [changed] Internal changes to support dynamic feature modules. +- [changed] Internal infrastructure improvements. # 21.1.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v21.1.0 release notes](/support/release-notes/android#messaging_v21-1-0). # 21.0.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v21.0.1 release note](/support/release-notes/android#messaging_v21-0-1). # 21.0.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, refer to the [[messaging_longer] v21.0.0 release note](/support/release-notes/android#messaging_v21-0-0). # 20.3.0 -* [changed] Internal changes to the Google Play services interface to improve future development + +- [changed] Internal changes to the Google Play services interface to improve future development velocity. # 20.2.4 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Installations v16.3.3 release notes](/support/release-notes/android#installations_v16-3-3). # 20.2.3 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more details, see the [`firebase-messaging` v20.2.3 release note](/support/release-notes/android#messaging_v20-2-3). # 20.2.2 + Warning: **This version of `firebase-messaging-directboot` (v20.2.2) should not be used.** A related library has a known issue (for more details, see [`firebase-messaging` v20.2.2](/support/release-notes/android#messaging_v20-2-2)). A fix for this issue was released on July 08, 2020 (see [v20.2.3](/support/release-notes/android#messaging-directboot_v20-2-3)). -* [changed] Internal improvements. +- [changed] Internal improvements. # 20.2.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Instance ID v20.2.1 release notes](/support/release-notes/android#iid_v20-2-1). # 20.2.0 -* [feature] The Firebase Cloud Messaging Direct Boot SDK is now available and supports receiving FCM + +- [feature] The Firebase Cloud Messaging Direct Boot SDK is now available and supports receiving FCM messages in Direct Boot mode. See [Receive FCM messages in direct boot mode](/docs/cloud-messaging/android/receive#receive_fcm_messages_in_direct_boot_mode) for more information. - diff --git a/firebase-messaging/CHANGELOG.md b/firebase-messaging/CHANGELOG.md index a74c660f034..57eb532a2c4 100644 --- a/firebase-messaging/CHANGELOG.md +++ b/firebase-messaging/CHANGELOG.md @@ -1,393 +1,435 @@ # Unreleased - # 25.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 25.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 24.1.2 -* [changed] Added a NamedThreadFactory to WithinAppServiceConnection's service connection Executor. +- [changed] Added a NamedThreadFactory to WithinAppServiceConnection's service connection Executor. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.1.1 -* [changed] Bug fix in SyncTask to always unregister the receiver on the same context on which it - was registered. +- [changed] Bug fix in SyncTask to always unregister the receiver on the same context on which it + was registered. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.1.0 -* [deprecated] Deprecated additional FCM upstream messaging methods and updated all upstream methods + +- [deprecated] Deprecated additional FCM upstream messaging methods and updated all upstream methods to indicate they are now decommissioned. See the [FAQ](https://firebase.google.com/support/faq#fcm-23-deprecation) for more details. -* [changed] Changed WithinAppServiceConnection's ScheduledThreadPoolExecutor's configuration to +- [changed] Changed WithinAppServiceConnection's ScheduledThreadPoolExecutor's configuration to allow the thread to stop polling after the timeout task has been canceled. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.3 -* [changed] Updated protobuf dependency to `3.25.5` to fix - [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). +- [changed] Updated protobuf dependency to `3.25.5` to fix + [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.2 -* [changed] Included message priority when logging to Firelog. + +- [changed] Included message priority when logging to Firelog. # 24.0.1 -* [changed] Retry Topic Subscribe/Unsubscribe operations with exponential backoff if they hit a + +- [changed] Retry Topic Subscribe/Unsubscribe operations with exponential backoff if they hit a quota error. -* [changed] Checked for notification_open duplicate logging based on message ID instead of the +- [changed] Checked for notification_open duplicate logging based on message ID instead of the Activity's Intent. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.0 -* [changed] Switched Firelog to use the new TransportBackend. -* [changed] Log analytics for notifications displayed by Google Play services on behalf of the app. +- [changed] Switched Firelog to use the new TransportBackend. +- [changed] Log analytics for notifications displayed by Google Play services on behalf of the app. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.4.1 -* [changed] Bump internal dependencies. +- [changed] Bump internal dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 24.0.0 -* [changed] Called messageHandled() after a message has been handled to indicate that the message + +- [changed] Called messageHandled() after a message has been handled to indicate that the message has been handled successfully. -* [changed] Added an internal identifier to Firelog logging for compliance. +- [changed] Added an internal identifier to Firelog logging for compliance. # 23.3.1 -* [changed] Added metadata to FirebaseInstanceIdReceiver to signal that it finishes background - broadcasts after the message has been handled. -* [changed] Specified notification's dismiss intent target via action instead of component name. +- [changed] Added metadata to FirebaseInstanceIdReceiver to signal that it finishes background + broadcasts after the message has been handled. +- [changed] Specified notification's dismiss intent target via action instead of component name. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.3.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-messaging-ktx` to + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-messaging-ktx` to `com.google.firebase:firebase-messaging` under the `com.google.firebase.messaging` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-messaging-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-messaging-ktx` have been added to `com.google.firebase:firebase-messaging` under the `com.google.firebase.messaging` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-messaging-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.2.1 -* [changed] Changed to finish a background broadcast after the message has been handled, subject to + +- [changed] Changed to finish a background broadcast after the message has been handled, subject to a timeout. This keeps the `FirebaseMessagingService`'s process in an active state while it is handling an FCM message, up to the 20 seconds allowed. # 23.2.0 -* [deprecated] Deprecated FCM upstream messaging. See the - [FAQ](https://firebase.google.com/support/faq#fcm-23-deprecation) for more details. +- [deprecated] Deprecated FCM upstream messaging. See the + [FAQ](https://firebase.google.com/support/faq#fcm-23-deprecation) for more details. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.1.2 -* [fixed] Fixed a breakage related to Jetpack core library related to an - [upstream update](https://android-review.googlesource.com/c/platform/frameworks/support/+/2399893). -* [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. +- [fixed] Fixed a breakage related to Jetpack core library related to an + [upstream update](https://android-review.googlesource.com/c/platform/frameworks/support/+/2399893). +- [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.1.1 -* [fixed] Fixed deadlock when handling simultaneous messages. +- [fixed] Fixed deadlock when handling simultaneous messages. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.1.0 -* [unchanged] Updated to accommodate the release of the updated [messaging_longer] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [messaging_longer] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-messaging-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 23.0.8 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.7 -* [changed] Message broadcasts now finish immediately after binding to the service. This change - should reduce the chance of ANRs. +- [changed] Message broadcasts now finish immediately after binding to the service. This change + should reduce the chance of ANRs. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.6 -* [changed] Added the `POST_NOTIFICATIONS` permission to enable posting notifications when targeting + +- [changed] Added the `POST_NOTIFICATIONS` permission to enable posting notifications when targeting SDK level 33. See [messaging] guidance on how to [request runtime notification permission on Android 13+](/docs/cloud-messaging/android/client#request-permission13) -* [fixed] Added an annotation to an internal class to fix a missing class warning. - +- [fixed] Added an annotation to an internal class to fix a missing class warning. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.5 -* [fixed] Fixed a dependency on the `firebase-datatransport` layer. - ([GitHub #3716](https://github.com/firebase/firebase-android-sdk/issues/3716){: .external}) -* [fixed] Upgraded logging priority for message delivery events to avoid dropped logs. +- [fixed] Fixed a dependency on the `firebase-datatransport` layer. + ([GitHub #3716](https://github.com/firebase/firebase-android-sdk/issues/3716){: .external}) +- [fixed] Upgraded logging priority for message delivery events to avoid dropped logs. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.3 -* [fixed] Removed test resources from library. -* [fixed] Changed to catch `RuntimeException` when getting the `Bundle` from an `Activity Intent` - while checking for notification analytics data. -* [changed] Internal changes to notification building methods. +- [fixed] Removed test resources from library. +- [fixed] Changed to catch `RuntimeException` when getting the `Bundle` from an `Activity Intent` + while checking for notification analytics data. +- [changed] Internal changes to notification building methods. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.2 -* [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the - `httpcomponents` transitive dependencies. +- [fixed] Fixed an issue where the messaging component in the [firebase_bom_long] leaked the + `httpcomponents` transitive dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.1 -* [changed] Updated to the latest version of the `firebase-datatransport` library. -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated to the latest version of the `firebase-datatransport` library. +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. -* [fixed] On Android 7.0 and earlier, the SDK now logs that a notification was opened after +- [fixed] On Android 7.0 and earlier, the SDK now logs that a notification was opened after `onActivityCreated` to avoid a race condition when unparceling the extras Bundle. -* [fixed] Switched to stopping an image download by canceling a `Future` to interrupt the download +- [fixed] Switched to stopping an image download by canceling a `Future` to interrupt the download thread. This change avoids errors that can occur in the image downloading library when trying to close the stream on a different thread than the one that started the download. -* [fixed] Fixed reference documentation for +- [fixed] Fixed reference documentation for [`RemoteMessage.getMessageId()`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage#public-string-getmessageid) and updated obsolete references to Google Cloud Messaging (GCM). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 23.0.0 -* [changed] Due to its [dependency on Google Play services](/docs/android/android-play-services), + +- [changed] Due to its [dependency on Google Play services](/docs/android/android-play-services), this SDK now requires devices and emulators to target API level 19 (KitKat) or higher and to use Android 4.4 or higher. -* [feature] Added methods for determining and controlling whether Google Play services is set as the +- [feature] Added methods for determining and controlling whether Google Play services is set as the app’s notification delegate. By default, FCM will now set Google Play services as the app’s notification delegate so that it is allowed to display notifications for the app. This could be used in the future to show an app’s notifications without needing to start the app, which may improve message reliability and timeliness. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 22.0.0 -* [changed] Removed dependency on the deprecated Firebase Instance ID SDK. Caution: **This is a + +- [changed] Removed dependency on the deprecated Firebase Instance ID SDK. Caution: **This is a breaking change for apps that use [messaging] and the deprecated Firebase Instance ID API to manage registration tokens.**
We strongly recommend [migrating to [messaging]'s token APIs](/docs/projects/manage-installations#fid-iid). If you're unable to migrate to the replacement APIs, add a direct dependency on the `firebase-iid` library to your `build.gradle` file. -* [feature] Changed to open an `Activity` directly when a notification is tapped instead of passing +- [feature] Changed to open an `Activity` directly when a notification is tapped instead of passing it through `FirebaseMessagingService`. This change is to comply with Android 12 notification trampoline restrictions. -* [feature] Internal changes to use proto instead of JSON for logging. -* [changed] Internal changes to support dynamic feature modules. -* [changed] Internal infrastructure improvements. - +- [feature] Internal changes to use proto instead of JSON for logging. +- [changed] Internal changes to support dynamic feature modules. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 21.1.0 -* [feature] Migrated internal handling of new token callbacks and notification actions from Firebase + +- [feature] Migrated internal handling of new token callbacks and notification actions from Firebase Instance ID to [firebase_messaging]. -* [feature] Added functionality to generate [messaging] tokens from `FirebaseMessaging.getToken`, +- [feature] Added functionality to generate [messaging] tokens from `FirebaseMessaging.getToken`, while continuing to call through to Firebase Instance ID if it is present. This will allow [firebase_messaging] to remove its dependency on Firebase Instance ID in the future. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 21.0.1 -* [changed] Updated to latest version of the `firebase-datatransport` library. -* [feature] The SDK now gracefully handles missing default resources. +- [changed] Updated to latest version of the `firebase-datatransport` library. +- [feature] The SDK now gracefully handles missing default resources. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 21.0.0 -* [feature] Migrated auto-initialization from Firebase Instance ID to [firebase_messaging]. -* [feature] Added a check for incompatible versions of Firebase Instance ID. An exception is thrown - during instantiation if one is found. -* [fixed] Fixed an issue where events were erronously logged to [firebase_analytics] twice. +- [feature] Migrated auto-initialization from Firebase Instance ID to [firebase_messaging]. +- [feature] Added a check for incompatible versions of Firebase Instance ID. An exception is thrown + during instantiation if one is found. +- [fixed] Fixed an issue where events were erronously logged to [firebase_analytics] twice. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-messaging` library. The Kotlin extensions library has no additional updates. # 20.3.0 -* [feature] Added + +- [feature] Added [`getToken`]() and [`deleteToken`]() methods directly to `FirebaseMessaging`. -* [changed] Internal changes to the Google Play services interface to improve future development +- [changed] Internal changes to the Google Play services interface to improve future development velocity. - ## Kotlin -* [feature] The [messaging_longer] Android library with Kotlin extensions is now available. The + +- [feature] The [messaging_longer] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-messaging` library. To learn more, visit the [[messaging_longer] KTX documentation](/docs/reference/kotlin/com/google/firebase/messaging/ktx/package-summary). # 20.2.4 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Installations v16.3.3 release notes](/support/release-notes/android#installations_v16-3-3). # 20.2.3 -* [fixed] Fixed an issue that caused an app to crash when a user tapped on a received notification. + +- [fixed] Fixed an issue that caused an app to crash when a user tapped on a received notification. # 20.2.2 + Warning: **This version of `firebase-messaging` (v20.2.2) should not be used.** It has a known issue that causes an app to crash when a user taps on a received notification. A fix for this issue was released on July 08, 2020 (see [v20.2.3](/support/release-notes/android#messaging_v20-2-3)). -* [changed] Internal improvements. +- [changed] Internal improvements. # 20.2.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. For more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. For more information, refer to the [Firebase Instance ID v20.2.1 release notes](/support/release-notes/android#iid_v20-2-1). # 20.2.0 -* [changed] Internal changes to ensure functionality alignment with other SDK releases (for more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases (for more information, refer to the [[messaging_longer] Direct Boot v20.2.0 release notes](/support/release-notes/android#messaging-directboot_v20-2-0)). # 20.1.7 -* [changed] Internal changes to ensure functionality alignment with other SDK releases (for more + +- [changed] Internal changes to ensure functionality alignment with other SDK releases (for more information, refer to the [Firebase Instance ID v20.1.7 release notes](/support/release-notes/android#iid_v20-1-7)). # 20.1.6 -* [fixed] Fixed a bug in topic syncing that was causing increased usage of shared system resources + +- [fixed] Fixed a bug in topic syncing that was causing increased usage of shared system resources when waiting for a working network connection. # 20.1.5 + Warning: In some cases, `firebase-messaging` v20.1.4 and v20.1.5 are erroneously consuming system resources which can negatively impact the performance of a user's device. To avoid this effect, **update your app's version of `firebase-messaging` to [v20.1.6](/support/release-notes/android#messaging_v20-1-6) or later**. -* [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 20.1.4 + Warning: In some cases, `firebase-messaging` v20.1.4 and v20.1.5 are erroneously consuming system resources which can negatively impact the performance of a user's device. To avoid this effect, **update your app's version of `firebase-messaging` to [v20.1.6](/support/release-notes/android#messaging_v20-1-6) or later**. -* [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 20.1.3 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 20.1.2 + **As of v20.1.1, the [messaging_longer] SDK depends on the [installations_sdk]. Learn about possible impacts in the [v20.1.1 release notes](/support/release-notes/android#messaging_v20-1-1).** -* [changed] Internal changes to ensure functionality alignment with other SDK releases (for more +- [changed] Internal changes to ensure functionality alignment with other SDK releases (for more information, refer to the bug fix in the [Firebase Instance ID v20.1.1 release notes](/support/release-notes/android#iid_v20-1-1)). # 20.1.1 + Warning: This version of `firebase-messaging` (v20.1.1) has known issues involving silent failures and should not be used. A fix for these issues was released on [March 03, 2020](/support/release-notes/android#2020-03-03). -* [changed] Changed the default for notification titles. Previously, an empty title was replaced +- [changed] Changed the default for notification titles. Previously, an empty title was replaced with the app's label, but now an empty title causes the notification title to be omitted. -* [fixed] Fixed an issue that could cause ANRs when receiving messages. -* [changed] [messaging_longer] now transitively depends on the [installations_sdk]. After updating +- [fixed] Fixed an issue that could cause ANRs when receiving messages. +- [changed] [messaging_longer] now transitively depends on the [installations_sdk]. After updating to the latest dependency versions, make sure that push notifications still work as expected. Also, be aware of the following: @@ -404,70 +446,82 @@ and should not be used. A fix for these issues was released on ID. # 20.1.0 -* [feature] Added + +- [feature] Added [`setDeliveryMetricsExportToBigQuery(boolean)`]() and [`deliveryMetricsExportToBigQueryEnabled()`]() to control and query if messsage delivery metrics are exported to BigQuery. -* [changed] Changed to catch and log NullPointerException when trying to close the image download +- [changed] Changed to catch and log NullPointerException when trying to close the image download stream. This NPE can happen if the image download takes too long and times out. # 20.0.1 -* [fixed] Fixed notifications on API level 24 and later to display the event time when `event_time` + +- [fixed] Fixed notifications on API level 24 and later to display the event time when `event_time` is set. # 20.0.0 -* [feature] Added support for more Android notification parameters, including: `ticker`, + +- [feature] Added support for more Android notification parameters, including: `ticker`, `sticky`,`event_time`, `local_only`, `notification_priority`, `default_sound`, `default_vibrate_timings`, `default_light_settings`, `visibility`, `notification_count`, `vibrate_timings` and `light_settings`. -* [feature] Added support for Android notifications that include an image. -* [changed] Added nullability annotations to improve the Kotlin developer experience. +- [feature] Added support for Android notifications that include an image. +- [changed] Added nullability annotations to improve the Kotlin developer experience. # 19.0.1 -* [fixed] Fixed an issue where `FirebaseMessagingService.onNewToken` would be invoked for tokens + +- [fixed] Fixed an issue where `FirebaseMessagingService.onNewToken` would be invoked for tokens created for non-default FirebaseApp instances. -* [fixed] SDK now only retries topic subscriptions and token registration on the following errors: +- [fixed] SDK now only retries topic subscriptions and token registration on the following errors: "ERROR_SERVICE_NOT_AVAILABLE" and "ERROR_INTERNAL_SERVER_ERROR". # 18.0.0 -* [changed] Updated minSdkVersion to API level 16. + +- [changed] Updated minSdkVersion to API level 16. # 17.6.0 -* [feature] Added functionality to automatically download and show an image in a notification + +- [feature] Added functionality to automatically download and show an image in a notification message. Retrieve the image URL set in the message with the `getImageUrl` method in [`RemoteMessage.Notification`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage.Notification). # 17.5.0 -* [changed] Added internal improvements and refactored code. + +- [changed] Added internal improvements and refactored code. # 17.4.0 -* [feature] Added `getChannelId` method to + +- [feature] Added `getChannelId` method to [`RemoteMessage.Notification`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage.Notification) for getting the channel ID set in a notification message. -* [fixed] Fixed a rare `ClassCastException` while receiving a message. +- [fixed] Fixed a rare `ClassCastException` while receiving a message. # 17.3.4 -* [fixed] Bug fixes and internal improvements. + +- [fixed] Bug fixes and internal improvements. # 17.3.2 -* [fixed] Fixed an issue that would occasionally cause apps to crash with Android Not Responding + +- [fixed] Fixed an issue that would occasionally cause apps to crash with Android Not Responding (ANR) errors when receiving a message. # 17.3.0 -* [changed] Incremented the version number to 17.3.0 due to internal SDK changes. These changes do + +- [changed] Incremented the version number to 17.3.0 due to internal SDK changes. These changes do not affect client functionality, and developers do not need to take any action. # 17.1.0 -* [feature] Added `onNewToken` method to + +- [feature] Added `onNewToken` method to [`FirebaseMessagingService`](/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService) which is invoked when the app gets a new Instance ID token or its existing token changes. # 17.0.0 -* [feature] Added `getPriority()` and `getOriginalPriority()` methods to + +- [feature] Added `getPriority()` and `getOriginalPriority()` methods to [`RemoteMessage`](/docs/reference/android/com/google/firebase/messaging/RemoteMessage). -* [changed] The methods `subscribeToTopic()` and `unsubscribeFromTopic()` on +- [changed] The methods `subscribeToTopic()` and `unsubscribeFromTopic()` on [`FirebaseMessaging`](/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging) now return a [`Task`](/docs/reference/android/com/google/android/gms/tasks/Task) that can be used to see when the request has completed. - diff --git a/firebase-ml-modeldownloader/CHANGELOG.md b/firebase-ml-modeldownloader/CHANGELOG.md index 8efddcb1b1d..6f2a4714fa2 100644 --- a/firebase-ml-modeldownloader/CHANGELOG.md +++ b/firebase-ml-modeldownloader/CHANGELOG.md @@ -1,176 +1,195 @@ # Unreleased - # 26.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 26.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 25.0.1 -* [changed] Updated protobuf dependency to `3.25.5` to fix - [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). +- [changed] Updated protobuf dependency to `3.25.5` to fix + [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 25.0.0 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.3 -* [changed] Bump internal dependencies. +- [changed] Bump internal dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.2 -* [fixed] Fixed `SecurityException` where the `RECEIVER_EXPORTED` or `RECEIVER_NOT_EXPORTED` flag + +- [fixed] Fixed `SecurityException` where the `RECEIVER_EXPORTED` or `RECEIVER_NOT_EXPORTED` flag should be specified when registerReceiver is being used. [#5597](https://github.com/firebase/firebase-android-sdk/pull/5597) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.1 -* [changed] Internal infrastructure improvements. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.2.0 -* [changed] Added Kotlin extensions (KTX) APIs from + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-ml-modeldownloader-ktx` to `com.google.firebase:firebase-ml-modeldownloader` under the `com.google.firebase.ml.modeldownloader` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-ml-modeldownloader-ktx` have been +- [deprecated] All the APIs from `com.google.firebase:firebase-ml-modeldownloader-ktx` have been added to `com.google.firebase:firebase-ml-modeldownloader` under the `com.google.firebase.ml.modeldownloader` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-ml-modeldownloader-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.1.3 -* [unchanged] Updated internal Dagger dependency. -* [fixed] Updated the third-party license file to include Dagger's license. + +- [unchanged] Updated internal Dagger dependency. +- [fixed] Updated the third-party license file to include Dagger's license. # 24.1.2 -* [changed] Internal infrastructure improvements. -* [changed] Migrated [firebase_ml] to use standard Firebase executors. +- [changed] Internal infrastructure improvements. +- [changed] Migrated [firebase_ml] to use standard Firebase executors. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.1.1 -* [fixed] Fixed an issue where `FirebaseModelDownloader.getModel` was throwing + +- [fixed] Fixed an issue where `FirebaseModelDownloader.getModel` was throwing `FirebaseMlException.PERMISSION_DENIED` when the model name was empty. It now throws `FirebaseMlException.INVALID_ARGUMENT` (#4157) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.1.0 -* [unchanged] Updated to accommodate the release of the updated [firebase_ml] Kotlin extensions - library. +- [unchanged] Updated to accommodate the release of the updated [firebase_ml] Kotlin extensions + library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-ml-modeldownloader-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 24.0.5 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.4 -* [fixed] Fixed a race condition that was caused when differently sized models were concurrently + +- [fixed] Fixed a race condition that was caused when differently sized models were concurrently downloaded using this SDK and the Model Downloader from the `com.google.firebase:firebase-ml-common` SDK. (#3321) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.3 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.2 -* [fixed] Fixed an issue where `FirebaseModelDownloader.getInstance` would crash when using - non-default FirebaseApp instances. (#3321) -* [changed] Updated to the latest version of the `firebase-datatransport` library. +- [fixed] Fixed an issue where `FirebaseModelDownloader.getInstance` would crash when using + non-default FirebaseApp instances. (#3321) +- [changed] Updated to the latest version of the `firebase-datatransport` library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 24.0.1 -* [fixed] Added support for Android API key restrictions. + +- [fixed] Added support for Android API key restrictions. # 24.0.0 -* [changed] Internal infrastructure improvements. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-ml-modeldownloader` library. The Kotlin extensions library has no additional updates. # 23.0.1 -* [unchanged] Updated to accommodate the release of the [firebase_ml] Kotlin extensions library. +- [unchanged] Updated to accommodate the release of the [firebase_ml] Kotlin extensions library. ## Kotlin -* [feature] The beta release of a [firebase_ml] Android library with Kotlin extensions is now + +- [feature] The beta release of a [firebase_ml] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-ml-model-downloader` library. To learn more, visit the [[firebase_ml] KTX documentation](/docs/reference/android/com/google/firebase/ml/modeldownloader/package-summary). # 23.0.0 + This release includes the initial beta release of the [firebase_ml] Model Downloader SDK. The [firebase_ml] Model Downloader SDK provides APIs for downloading models hosted with @@ -178,7 +197,6 @@ The [firebase_ml] Model Downloader SDK provides APIs for downloading models host of the ML Kit Custom Models library (`firebase-ml-model-interpreter`), allowing you to work with custom hosted models without the interpreter API, which is now provided directly by TFLite runtime. -* [feature] Added custom hosted model download and on-device management capabilities. -* [feature] Added ability to get the model download ID, which allows progress tracking of file +- [feature] Added custom hosted model download and on-device management capabilities. +- [feature] Added ability to get the model download ID, which allows progress tracking of file downloads. - diff --git a/firebase-perf/CHANGELOG.md b/firebase-perf/CHANGELOG.md index 4668d27a9b2..b859ec94029 100644 --- a/firebase-perf/CHANGELOG.md +++ b/firebase-perf/CHANGELOG.md @@ -1,331 +1,365 @@ # Unreleased - # 22.0.2 -* [changed] Bumped internal dependencies. -* [fixed] Fixed the behavior of app start traces on API 34+ devices. [#5920] + +- [changed] Bumped internal dependencies. +- [fixed] Fixed the behavior of app start traces on API 34+ devices. [#5920] # 22.0.1 -* [fixed] Fixed an ANR on app launch. [#4831] + +- [fixed] Fixed an ANR on app launch. [#4831] # 22.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.5 -* [changed] Updated `protolite-well-known-types` dependency to v18.0.1 [#6716] -* [fixed] Fixed a bug that allowed invalid payload bytes value in network request metrics [#6721] +- [changed] Updated `protolite-well-known-types` dependency to v18.0.1 [#6716] +- [fixed] Fixed a bug that allowed invalid payload bytes value in network request metrics [#6721] ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.4 -* [fixed] Fixed a performance issue with shared preferences calling `.apply()` every time a value is - read from remote config (#6407) +- [fixed] Fixed a performance issue with shared preferences calling `.apply()` every time a value is + read from remote config (#6407) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.3 -* [changed] Bump internal dependencies. +- [changed] Bump internal dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.2 -* [fixed] Fixed `IllegalStateException` that happened when starting a trace before Firebase + +- [fixed] Fixed `IllegalStateException` that happened when starting a trace before Firebase initializes. -* [changed] Updated protobuf dependency to `3.25.5` to fix +- [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://nvd.nist.gov/vuln/detail/CVE-2024-7254). - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.1 -* [fixed] Fixed an `ExceptionInInitializerError` where the `url.openStream()` causes a crash if - FirebasePerf is not yet initialized (Github #5584). +- [fixed] Fixed an `ExceptionInInitializerError` where the `url.openStream()` causes a crash if + FirebasePerf is not yet initialized (Github #5584). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 21.0.0 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.5.2 -* [changed] Bump internal dependencies. +- [changed] Bump internal dependencies. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.5.1 -* [changed] Make Fireperf generate its own session Id. + +- [changed] Make Fireperf generate its own session Id. # 20.5.0 -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to + +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-perf-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) # 20.4.1 -* [changed] Updated `firebase-sessions` dependency to v1.0.2 -* [fixed] Make fireperf data collection state is reliable for Firebase Sessions library. + +- [changed] Updated `firebase-sessions` dependency to v1.0.2 +- [fixed] Make fireperf data collection state is reliable for Firebase Sessions library. # 20.4.0 -* [feature] Integrated with Firebase sessions library to enable upcoming features related to - session-based performance metrics. +- [feature] Integrated with Firebase sessions library to enable upcoming features related to + session-based performance metrics. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.3 -* [fixed] Fixed app start trace creation where some measured time could be NULL (#4730). -* [changed] Adjusted default behavior when remote config fetch fails. +- [fixed] Fixed app start trace creation where some measured time could be NULL (#4730). +- [changed] Adjusted default behavior when remote config fetch fails. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.2 -* [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. -* [changed] Updated [perfmon] to use double-precision for sampling. +- [changed] Updated JavaLite, protoc, protobuf-java-util to 3.21.11. +- [changed] Updated [perfmon] to use double-precision for sampling. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.1 -* [changed] Migrated [perfmon] to use standard Firebase executors. +- [changed] Migrated [perfmon] to use standard Firebase executors. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.3.0 -* [fixed] Fixed a `NullPointerException` crash when instrumenting screen traces on Android 7, 8, - and 9. (#4146) +- [fixed] Fixed a `NullPointerException` crash when instrumenting screen traces on Android 7, 8, + and 9. (#4146) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has the following additional updates: -* [feature] Added a +- [feature] Added a [`trace(String, Trace.() -> T)`]() extension function to create a custom trace with the specified name. # 20.2.0 -* [unchanged] Updated to accommodate the release of the updated [perfmon] Kotlin extensions library. +- [unchanged] Updated to accommodate the release of the updated [perfmon] Kotlin extensions library. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-performance-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. # 20.1.1 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.1.0 -* [feature] Added support for out-of-the-box measurement of screen performance metrics for + +- [feature] Added support for out-of-the-box measurement of screen performance metrics for [Fragments](//developer.android.com/guide/fragments){: .external}. For more details, visit [Learn about screen rendering performance data](/docs/perf-mon/screen-traces?platform=android). -* [fixed] Fixed a bug where screen traces were not capturing frame metrics for multi-Activity apps. -* [fixed] Excluded custom attributes that have key/value lengths of 0. - +- [fixed] Fixed a bug where screen traces were not capturing frame metrics for multi-Activity apps. +- [fixed] Excluded custom attributes that have key/value lengths of 0. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.6 -* [fixed] Fixed a null pointer exception (NPE) when instrumenting network requests. (#3406) -* [fixed] Fixed a bug where incorrect session IDs were associated with some foreground and + +- [fixed] Fixed a null pointer exception (NPE) when instrumenting network requests. (#3406) +- [fixed] Fixed a bug where incorrect session IDs were associated with some foreground and background traces. -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.5 -* [feature] Enabled global custom attributes for network request traces. -* [fixed] Updated log statement to differentiate an event being dropped due to rate limiting and - sampling. +- [feature] Enabled global custom attributes for network request traces. +- [fixed] Updated log statement to differentiate an event being dropped due to rate limiting and + sampling. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.4 -* [changed] Improved [perfmon] start up time by 25%. This improvement was achieved by moving some - component initialization to background threads. +- [changed] Improved [perfmon] start up time by 25%. This improvement was achieved by moving some + component initialization to background threads. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.3 -* [changed] [perfmon] now has a random delay of 5 to 30 seconds before fetching [remote_config] upon + +- [changed] [perfmon] now has a random delay of 5 to 30 seconds before fetching [remote_config] upon app startup. -* [fixed] Added a validation to stop screen traces with 0 total frames from being sent to the +- [fixed] Added a validation to stop screen traces with 0 total frames from being sent to the backend. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.2 -* [fixed] Fixed inaccurate calculation of screen activity metrics for multi-activity apps. (#2672) + +- [fixed] Fixed inaccurate calculation of screen activity metrics for multi-activity apps. (#2672) Note: You may see some changes in data for frozen frames and slow rendering metrics. -* [fixed] Fixed issue where screen traces were not being tracked for Android API levels 23 and +- [fixed] Fixed issue where screen traces were not being tracked for Android API levels 23 and below. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.1 -* [feature] Logs for [firebase_perfmon] now contain URLs to view performance data in the - [name_appmanager]. -* [fixed] Fixed `RateLimiter` replenishment logic and unit alignment. +- [feature] Logs for [firebase_perfmon] now contain URLs to view performance data in the + [name_appmanager]. +- [fixed] Fixed `RateLimiter` replenishment logic and unit alignment. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 20.0.0 -* [feature] Introduce Dagger as a dependency injection framework for some parts of the code. -* [changed] Improved the code organization of the SDK (package restructure, code conventions, remove - unncessary annotations). -* [changed] Improve the launch time of the SDK. +- [feature] Introduce Dagger as a dependency injection framework for some parts of the code. +- [changed] Improved the code organization of the SDK (package restructure, code conventions, remove + unncessary annotations). +- [changed] Improve the launch time of the SDK. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.1.1 -* [feature] The [firebase_perfmon] SDK is now - [open sourced](//github.com/firebase/firebase-android-sdk/tree/master/firebase-perf){: .external}. -* [fixed] Fixed issue on the console logger to avoid throwing `UnknownFormatConversionException`. +- [feature] The [firebase_perfmon] SDK is now + [open sourced](//github.com/firebase/firebase-android-sdk/tree/master/firebase-perf){: .external}. +- [fixed] Fixed issue on the console logger to avoid throwing `UnknownFormatConversionException`. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.1.0 -* [changed] Removed GMS dependency from [perfmon]. Google Play services installation is no longer - required to use [perfmon]. -* [changed] Improved performance event dispatch wait time from 2 hours to 30 seconds. +- [changed] Removed GMS dependency from [perfmon]. Google Play services installation is no longer + required to use [perfmon]. +- [changed] Improved performance event dispatch wait time from 2 hours to 30 seconds. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.0.11 -* [fixed] Upgraded protobuf dependency to the latest released version (#2158) +- [fixed] Upgraded protobuf dependency to the latest released version (#2158) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.0.10 + Note: We recommend using [perfmon] Gradle plugin v1.3.4+ with this version of the [perfmon] SDK and above. -* [changed] Integrated with the `firebase-datatransport` library for performance log dispatch +- [changed] Integrated with the `firebase-datatransport` library for performance log dispatch mechanism. -* [fixed] Synchronized the access to fix a race condition that was causing a `NullPointerException` +- [fixed] Synchronized the access to fix a race condition that was causing a `NullPointerException` when making network requests. (#2096) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-performance` library. The Kotlin extensions library has no additional updates. # 19.0.9 -* [fixed] Created lazy dependency on [firebase_remote_config] to avoid main thread contention issue. + +- [fixed] Created lazy dependency on [firebase_remote_config] to avoid main thread contention issue. (#1810) -* [changed] Updated the protocol buffer dependency to the `protobuf-javalite` artifact to allow for +- [changed] Updated the protocol buffer dependency to the `protobuf-javalite` artifact to allow for backward compatibility. -* [changed] Removed Guava dependency from the SDK to avoid symbol collision with any other SDKs. -* [changed] Removed proguarding for SDK; logcat messages will show original class paths for +- [changed] Removed Guava dependency from the SDK to avoid symbol collision with any other SDKs. +- [changed] Removed proguarding for SDK; logcat messages will show original class paths for debugging. -* [changed] Improved build configurations and dependencies to reduce SDK size. - +- [changed] Improved build configurations and dependencies to reduce SDK size. ## Kotlin -* [feature] The [firebase_perfmon] Android library with Kotlin extensions is now available. The + +- [feature] The [firebase_perfmon] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-performance` library. To learn more, visit the [[perfmon] KTX documentation](/docs/reference/kotlin/com/google/firebase/perf/ktx/package-summary). # 19.0.8 -* [changed] Updated the [logging message](/docs/perf-mon/get-started-android#view-log-messages) for + +- [changed] Updated the [logging message](/docs/perf-mon/get-started-android#view-log-messages) for performance events. -* [fixed] Silenced [firebase_remote_config] logging triggered by [firebase_perfmon]. (#403) -* [fixed] Removed unnecessary logging. [perfmon] now only logs debug information if the +- [fixed] Silenced [firebase_remote_config] logging triggered by [firebase_perfmon]. (#403) +- [fixed] Removed unnecessary logging. [perfmon] now only logs debug information if the `firebase_performance_logcat_enabled` setting is `true` in `AndroidManifest.xml`. Visit the documentation for details about explicitly [enabling debug logging](/docs/perf-mon/get-started-android#view-log-messages). -* [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an +- [changed] Migrated to use the [firebase_installations] service _directly_ instead of using an indirect dependency via the Firebase Instance ID SDK. {% include "docs/reference/android/client/_includes/_iid-indirect-dependency-solutions.html" %} # 19.0.7 -* [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step + +- [changed] Updated dependency on the Firebase Instance ID library to v20.1.5, which is a step towards a direct dependency on the [firebase_installations] service in a future release. This update to `firebase-iid` v20.1.5 fixed the following GitHub issues: @@ -334,64 +368,79 @@ Kotlin extensions library has no additional updates. [#1339](//github.com/firebase/firebase-android-sdk/issues/1339). # 19.0.6 -* [fixed] Fixed an NPE crash when calling `trace.stop()`. (#1383) + +- [fixed] Fixed an NPE crash when calling `trace.stop()`. (#1383) # 19.0.5 -* [fixed] Muted logcat logging for [firebase_perfmon] when `firebase_performance_logcat_enabled` is + +- [fixed] Muted logcat logging for [firebase_perfmon] when `firebase_performance_logcat_enabled` is not set or set to false. ([#403](//github.com/firebase/firebase-android-sdk/issues/403)) -* [fixed] Skipped automatic performance event creation when +- [fixed] Skipped automatic performance event creation when `firebase_performance_collection_enabled` is set to false. -* [changed] Internal infrastructure improvements. +- [changed] Internal infrastructure improvements. # 19.0.4 -* [changed] Improved internal infrastructure to work better with [firebase_remote_config]. + +- [changed] Improved internal infrastructure to work better with [firebase_remote_config]. # 19.0.3 -* [changed] Internal infrastructure improvements. + +- [changed] Internal infrastructure improvements. # 19.0.2 -* [changed] Internal infrastructure improvements. + +- [changed] Internal infrastructure improvements. # 19.0.1 -* [changed] Internal infrastructure improvements. + +- [changed] Internal infrastructure improvements. # 19.0.0 -* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No + +- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.0.1 -* [fixed] Fixed an `IllegalStateException` that was thrown when an activity with hardware + +- [fixed] Fixed an `IllegalStateException` that was thrown when an activity with hardware acceleration disabled was stopped. # 17.0.2 -* [fixed] Fixed a `Null Pointer Exception` that was being observed on certain Android 7.0 devices. -* [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. + +- [fixed] Fixed a `Null Pointer Exception` that was being observed on certain Android 7.0 devices. +- [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. # 17.0.0 -* [removed] Removed the deprecated counter API. Use metrics API going forward. + +- [removed] Removed the deprecated counter API. Use metrics API going forward. # 16.2.5 -* [fixed] Fixed a bug that was causing apps using multiple processses to throw an + +- [fixed] Fixed a bug that was causing apps using multiple processses to throw an `IllegalStateException` in the non-main processes. # 16.2.4 -* [fixed] Fixed a bug that was causing a `NoClassDefFoundError` to be thrown which resulted in + +- [fixed] Fixed a bug that was causing a `NoClassDefFoundError` to be thrown which resulted in intermittent app crashes. -* [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. -* [changed] [firebase_perfmon] no longer depends on [firebase_analytics]. +- [fixed] Updates to make [perfmon] work better with the latest version of [firebase_remote_config]. +- [changed] [firebase_perfmon] no longer depends on [firebase_analytics]. # 16.2.3 -* [fixed] Bug fixes. + +- [fixed] Bug fixes. # 16.2.1 -* [fixed] SDK size is now smaller. + +- [fixed] SDK size is now smaller. # 16.2.0 -* [feature] Introduces the Sessions feature, which gives developers access to actionable insights + +- [feature] Introduces the Sessions feature, which gives developers access to actionable insights about data captured using [perfmon]. -* [fixed] Minor bug fixes and improvements. +- [fixed] Minor bug fixes and improvements. # 16.1.0 -* [fixed] Fixed a `SecurityException` crash on certain devices that do not have Google Play Services - on them. +- [fixed] Fixed a `SecurityException` crash on certain devices that do not have Google Play Services + on them. diff --git a/firebase-sessions/CHANGELOG.md b/firebase-sessions/CHANGELOG.md index ce8a7e5c60e..68138496d76 100644 --- a/firebase-sessions/CHANGELOG.md +++ b/firebase-sessions/CHANGELOG.md @@ -1,66 +1,80 @@ # Unreleased - # 3.0.2 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 3.0.1 -* [fixed] Bumped DataStore dependency to include the mitigation for `CorruptionException` released + +- [fixed] Bumped DataStore dependency to include the mitigation for `CorruptionException` released in version `1.1.5`. See Jetpacks' DataStore [release notes](https://developer.android.com/jetpack/androidx/releases/datastore#1.1.5). # 3.0.0 -* [changed] Added internal api for Crashlytics to notify Sessions of crash events -* [changed] Use multi-process DataStore instead of Preferences DataStore -* [changed] Update the heuristic to detect cold app starts -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. + +- [changed] Added internal api for Crashlytics to notify Sessions of crash events +- [changed] Use multi-process DataStore instead of Preferences DataStore +- [changed] Update the heuristic to detect cold app starts +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. # 2.1.1 -* [unchanged] Updated to keep SDK versions aligned. + +- [unchanged] Updated to keep SDK versions aligned. # 2.1.0 -* [changed] Add warning for known issue b/328687152 -* [changed] Use Dagger for dependency injection -* [changed] Updated datastore dependency to v1.1.3 to fix + +- [changed] Add warning for known issue b/328687152 +- [changed] Use Dagger for dependency injection +- [changed] Updated datastore dependency to v1.1.3 to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8). # 2.0.9 -* [fixed] Make AQS resilient to background init in multi-process apps. + +- [fixed] Make AQS resilient to background init in multi-process apps. # 2.0.7 -* [fixed] Removed extraneous logs that risk leaking internal identifiers. + +- [fixed] Removed extraneous logs that risk leaking internal identifiers. # 2.0.6 -* [changed] Updated protobuf dependency to `3.25.5` to fix + +- [changed] Updated protobuf dependency to `3.25.5` to fix [CVE-2024-7254](https://github.com/advisories/GHSA-735f-pc8j-v9w8). # 2.0.5 -* [unchanged] Updated to keep SDK versions aligned. + +- [unchanged] Updated to keep SDK versions aligned. # 2.0.4 -* [fixed] Handled datastore writes when device has full internal memory more gracefully. (GitHub + +- [fixed] Handled datastore writes when device has full internal memory more gracefully. (GitHub [#5859](https://github.com/firebase/firebase-android-sdk/issues/5859)) -* [fixed] Safely unbind malfunctioning session lifecycle service to release service connections. +- [fixed] Safely unbind malfunctioning session lifecycle service to release service connections. (GitHub [#5869](https://github.com/firebase/firebase-android-sdk/issues/5869)) # 1.2.3 -* [fixed] Force validation or rotation of FIDs. + +- [fixed] Force validation or rotation of FIDs. # 1.2.1 -* [changed] Bump internal dependencies. -* [fixed] Handle corruption in DataStore Preferences more gracefully. + +- [changed] Bump internal dependencies. +- [fixed] Handle corruption in DataStore Preferences more gracefully. # 1.2.0 -* [feature] Added support for accurate sessions on multi-process apps. + +- [feature] Added support for accurate sessions on multi-process apps. # 1.0.2 -* [fixed] Made Sessions more resilient to the FirebaseApp instance being deleted. + +- [fixed] Made Sessions more resilient to the FirebaseApp instance being deleted. # 1.0.1 -* [fixed] Fixed NPE when no version name is set + +- [fixed] Fixed NPE when no version name is set ([#5195](https://github.com/firebase/firebase-android-sdk/issues/5195)). -* [fixed] Populate DataCollectionStatus fields for Crashlytics and Perf. +- [fixed] Populate DataCollectionStatus fields for Crashlytics and Perf. # 1.0.0 -* [feature] Initial Firebase sessions library. +- [feature] Initial Firebase sessions library. diff --git a/firebase-storage/CHANGELOG.md b/firebase-storage/CHANGELOG.md index b4ae662c2c5..46dc4c60c01 100644 --- a/firebase-storage/CHANGELOG.md +++ b/firebase-storage/CHANGELOG.md @@ -1,211 +1,234 @@ # Unreleased - # 22.0.1 -* [changed] Bumped internal dependencies. + +- [changed] Bumped internal dependencies. # 22.0.0 -* [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. -* [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and + +- [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. +- [removed] **Breaking Change**: Stopped releasing the deprecated Kotlin extensions (KTX) module and removed it from the Firebase Android BoM. Instead, use the KTX APIs from the main module. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration). # 21.0.2 -* [fixed] Fixed an issue where tests were depending on a deprecated feature of the test framework. - (#6927) +- [fixed] Fixed an issue where tests were depending on a deprecated feature of the test framework. + (#6927) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 21.0.1 -* [fixed] Fixed an issue where `maxUploadRetryTimeMillis` parameter is ignored when uploading using + +- [fixed] Fixed an issue where `maxUploadRetryTimeMillis` parameter is ignored when uploading using `putBytes()` # 21.0.0 -* [changed] Bump internal dependencies +- [changed] Bump internal dependencies ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.3.0 -* [fixed] Fixed an issue where the wrong SDK version was being reported to the backend. -* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to + +- [fixed] Fixed an issue where the wrong SDK version was being reported to the backend. +- [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-perf-ktx` to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) -* [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to +- [deprecated] All the APIs from `com.google.firebase:firebase-perf-ktx` have been added to `com.google.firebase:firebase-perf` under the `com.google.firebase.perf` package, and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-perf-ktx` are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the [FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration) - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.2.1 -* [changed] Migrated `firebase-storage` SDK to use standard Firebase executors. (GitHub - [#4830](//github.com/firebase/firebase-android-sdk/pull/4830){: .external}) +- [changed] Migrated `firebase-storage` SDK to use standard Firebase executors. (GitHub + [#4830](//github.com/firebase/firebase-android-sdk/pull/4830){: .external}) ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.2.0 -* [changed] Internal changes to ensure alignment with other SDK releases. +- [changed] Internal changes to ensure alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.1.0 -* [fixed] Fixed an issue that caused an infinite number of retries with no exponential backoff for - `uploadChunk()`. +- [fixed] Fixed an issue that caused an infinite number of retries with no exponential backoff for + `uploadChunk()`. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has the following additional updates: -* [feature] Firebase now supports Kotlin coroutines. With this release, we added +- [feature] Firebase now supports Kotlin coroutines. With this release, we added [`kotlinx-coroutines-play-services`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/){: .external} to `firebase-storage-ktx` as a transitive dependency, which exposes the `Task.await()` suspend function to convert a [`Task`](https://developers.google.com/android/guides/tasks) into a Kotlin coroutine. -* [feature] Added +- [feature] Added [`StorageTask.taskState`](/docs/reference/kotlin/com/google/firebase/storage/ktx/package-summary#taskState) Kotlin Flows to monitor the progress of an upload or download `Task`. # 20.0.2 -* [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). +- [changed] Updated dependency of `play-services-basement` to its latest version (v18.1.0). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.0.1 -* [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and + +- [changed] Updated dependencies of `play-services-basement`, `play-services-base`, and `play-services-tasks` to their latest versions (v18.0.0, v18.0.1, and v18.0.1, respectively). For more information, see the [note](#basement18-0-0_base18-0-1_tasks18-0-1) at the top of this release entry. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 20.0.0 -* [feature] Added abuse reduction features. -* [feature] Added the ability to connect to the [firebase_storage] emulator. -* [changed] Internal changes to support dynamic feature modules. -* [changed] Internal infrastructure improvements. +- [feature] Added abuse reduction features. +- [feature] Added the ability to connect to the [firebase_storage] emulator. +- [changed] Internal changes to support dynamic feature modules. +- [changed] Internal infrastructure improvements. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.2.2 -* [fixed] Fixed an issue that caused the SDK to report incorrect values for + +- [fixed] Fixed an issue that caused the SDK to report incorrect values for [`getTotalByteCount()`]() after a download was paused and resumed. - ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.2.1 -* [fixed] Fixed an issue that caused the SDK to crash if the download location was deleted before - the download completed. Instead, the download now fails. +- [fixed] Fixed an issue that caused the SDK to crash if the download location was deleted before + the download completed. Instead, the download now fails. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.2.0 -* [changed] Updated to support improvements in the KTX library (see below). +- [changed] Updated to support improvements in the KTX library (see below). ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library and has the following additional updates: -* [feature] Added API support for destructuring of +- [feature] Added API support for destructuring of [`TaskSnapshot`](/docs/reference/kotlin/com/google/firebase/storage/StreamDownloadTask.TaskSnapshot) and [`ListResult`](/docs/reference/kotlin/com/google/firebase/storage/ListResult). # 19.1.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. +- [changed] Internal changes to ensure functionality alignment with other SDK releases. ## Kotlin + The Kotlin extensions library transitively includes the updated `firebase-storage` library. The Kotlin extensions library has no additional updates. # 19.1.0 -* [feature] Added `getCacheControl()`, `getContentDisposition()`, `getContentEncoding()`, + +- [feature] Added `getCacheControl()`, `getContentDisposition()`, `getContentEncoding()`, `getContentLanguage()`, and `getContentType()` to [`StorageMetadata.Builder`](/docs/reference/android/com/google/firebase/storage/StorageMetadata.Builder) to provide access to the current state of the metadata. -* [fixed] Fixed an encoding issue in +- [fixed] Fixed an encoding issue in [`StorageReference.list()`]() that caused the API to miss entries for prefixes that contained special characters. - ## Kotlin -* [feature] The beta release of a [firebase_storage_full] Android library with Kotlin extensions is + +- [feature] The beta release of a [firebase_storage_full] Android library with Kotlin extensions is now available. The Kotlin extensions library transitively includes the base `firebase-storage` library. To learn more, visit the [[firebase_storage_full] KTX documentation](/docs/reference/kotlin/com/google/firebase/storage/ktx/package-summary). # 19.0.1 -* [fixed] [`StorageReference.listAll()`]() + +- [fixed] + [`StorageReference.listAll()`]() now propagates the error messages if the List operation was denied by a Security Rule. # 19.0.0 -* [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No + +- [changed] Versioned to add nullability annotations to improve the Kotlin developer experience. No other changes. # 18.1.1 -* [changed] Internal changes to ensure functionality alignment with other SDK releases. + +- [changed] Internal changes to ensure functionality alignment with other SDK releases. # 18.1.0 -* [feature] Added + +- [feature] Added [`StorageReference.list()`]() and [`StorageReference.listAll()`](), which allows developers to list the files and folders under the given StorageReference. -* [changed] Added validation to +- [changed] Added validation to [`StorageReference.getDownloadUrl()`]() and [`StorageReference.getMetadata()`]() to return an error if the reference is the root of the bucket. # 17.0.0 -* [changed] Internal changes that rely on an updated API to obtain authentication credentials. If + +- [changed] Internal changes that rely on an updated API to obtain authentication credentials. If you use [firebase_auth], update to `firebase-auth` v17.0.0 or later to ensure functionality alignment. # 16.0.2 -* [fixed] This release includes minor fixes and improvements. + +- [fixed] This release includes minor fixes and improvements. # 16.0.1 -* [feature] Added support for `onSuccessTask()` and `addOnCanceledListener()` to + +- [feature] Added support for `onSuccessTask()` and `addOnCanceledListener()` to [`StorageTask`](/docs/reference/android/com/google/firebase/storage/StorageTask), [`UploadTask`](/docs/reference/android/com/google/firebase/storage/UploadTask), [`StreamDownloadTask`](/docs/reference/android/com/google/firebase/storage/StreamDownloadTask), and [`FileDownloadTask`](/docs/reference/android/com/google/firebase/storage/FileDownloadTask). -* [changed] Removed the deprecated `StorageMetadata.getDownloadUrl()` and +- [changed] Removed the deprecated `StorageMetadata.getDownloadUrl()` and `UploadTask.TaskSnapshot.getDownloadUrl()` methods. To get a current download URL, use [`StorageReference.getDownloadUr()`](). - From 78a2d6882a9ad5aeb54df8c091fd7d371b7c3111 Mon Sep 17 00:00:00 2001 From: David Motsonashvili Date: Thu, 18 Sep 2025 16:49:32 -0700 Subject: [PATCH 3/4] update common for mergeback --- firebase-common/CHANGELOG.md | 4 ++++ firebase-common/gradle.properties | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/firebase-common/CHANGELOG.md b/firebase-common/CHANGELOG.md index e293f80284d..ed9082936bd 100644 --- a/firebase-common/CHANGELOG.md +++ b/firebase-common/CHANGELOG.md @@ -1,5 +1,9 @@ # Unreleased +# 22.0.1 + +- [changed] Improve datastore support (#7277) + # 22.0.0 - [changed] **Breaking Change**: Updated minSdkVersion to API level 23 or higher. diff --git a/firebase-common/gradle.properties b/firebase-common/gradle.properties index 01f62dc58df..ad317096e94 100644 --- a/firebase-common/gradle.properties +++ b/firebase-common/gradle.properties @@ -1,3 +1,3 @@ -version=22.0.1 -latestReleasedVersion=22.0.0 +version=22.0.2 +latestReleasedVersion=22.0.1 android.enableUnitTestBinaryResources=true From 9b67a0e2796c76e4fadc58ea5d81620542e38cc1 Mon Sep 17 00:00:00 2001 From: David Motsonashvili Date: Thu, 18 Sep 2025 21:44:29 -0700 Subject: [PATCH 4/4] fixes for incosistencies --- firebase-ai/CHANGELOG.md | 2 ++ firebase-firestore/CHANGELOG.md | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/firebase-ai/CHANGELOG.md b/firebase-ai/CHANGELOG.md index 1e76b9ee24c..0d4a2333f7d 100644 --- a/firebase-ai/CHANGELOG.md +++ b/firebase-ai/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased +- [changed] **Breaking Change**: Removed the `candidateCount` option from `LiveGenerationConfig` + # 17.3.0 - [changed] Bumped internal dependencies. diff --git a/firebase-firestore/CHANGELOG.md b/firebase-firestore/CHANGELOG.md index 58e2808d72d..de9df18607b 100644 --- a/firebase-firestore/CHANGELOG.md +++ b/firebase-firestore/CHANGELOG.md @@ -5,11 +5,10 @@ - [changed] Bumped internal dependencies. - [changed] Improve the performance of queries in collections that contain many deleted documents. [#7295](//github.com/firebase/firebase-android-sdk/issues/7295) - -* [changed] Improve query performance in large result sets by replacing the deprecated AsyncTask +- [changed] Improve query performance in large result sets by replacing the deprecated AsyncTask thread pool with a self-managed thread pool. [#7376](//github.com/firebase/firebase-android-sdk/issues/7376) -* [changed] Improve query performance via internal memoization of calculated document data. +- [changed] Improve query performance via internal memoization of calculated document data. [#7370](//github.com/firebase/firebase-android-sdk/issues/7370) # 26.0.0