diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.kt b/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.kt index 3f5fe5d63d9..e13453e7f7d 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.kt +++ b/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.kt @@ -151,7 +151,7 @@ internal constructor( } } - @Deprecated("Use {@link #useEmulator(String, int)} to connect to the emulator. ") + @Deprecated("Use useEmulator to connect to the emulator.") public fun useFunctionsEmulator(origin: String) { Preconditions.checkNotNull(origin, "origin cannot be null") urlFormat = "$origin/%2\$s/%1\$s/%3\$s" diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctionsException.kt b/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctionsException.kt index 1d8653a521c..1ac56639bf4 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctionsException.kt +++ b/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctionsException.kt @@ -29,8 +29,8 @@ public class FirebaseFunctionsException : FirebaseException { */ public enum class Code(private val value: Int) { /** - * The operation completed successfully. FirebaseFunctionsException will never have a status of - * OK. + * The operation completed successfully. `FirebaseFunctionsException` will never have a status + * of `OK`. */ OK(0), @@ -41,9 +41,9 @@ public class FirebaseFunctionsException : FirebaseException { UNKNOWN(2), /** - * Client specified an invalid argument. Note that this differs from FAILED_PRECONDITION. - * INVALID_ARGUMENT indicates arguments that are problematic regardless of the state of the - * system (e.g., an invalid field name). + * Client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. + * `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the + * system (For example, an invalid field name). */ INVALID_ARGUMENT(3), @@ -126,12 +126,12 @@ public class FirebaseFunctionsException : FirebaseException { } /** - * Takes an HTTP status code and returns the corresponding FUNErrorCode error code. This is - * the standard HTTP status code -> error mapping defined in: + * Takes an HTTP status code and returns the corresponding [Code] error code. This is the + * standard HTTP status code -> error mapping defined in: * https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto * * @param status An HTTP status code. - * @return The corresponding Code, or Code.UNKNOWN if none. + * @return The corresponding `Code`, or `Code.UNKNOWN` if none. */ @JvmStatic public fun fromHttpStatus(status: Int): Code { @@ -157,7 +157,7 @@ public class FirebaseFunctionsException : FirebaseException { /** * Gets the error code for the operation that failed. * - * @return the code for the FirebaseFunctionsException + * @return the code for the `FirebaseFunctionsException` */ public val code: Code @@ -183,7 +183,7 @@ public class FirebaseFunctionsException : FirebaseException { this.details = details } - public companion object { + internal companion object { /** * Takes an HTTP response and returns the corresponding Exception if any. * @@ -193,7 +193,7 @@ public class FirebaseFunctionsException : FirebaseException { * @return The corresponding Exception, or null if none. */ @JvmStatic - public fun fromResponse( + internal fun fromResponse( code: Code, body: String?, serializer: Serializer diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallOptions.kt b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallOptions.kt index 6e36efffe18..f6b0e3f07c3 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallOptions.kt +++ b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallOptions.kt @@ -17,22 +17,22 @@ import java.util.concurrent.TimeUnit import okhttp3.OkHttpClient /** An internal class for keeping track of options applied to an HttpsCallableReference. */ -public class HttpsCallOptions { +internal class HttpsCallOptions { // The timeout to use for calls from references created by this Functions. private var timeout = DEFAULT_TIMEOUT private var timeoutUnits = DEFAULT_TIMEOUT_UNITS @JvmField public val limitedUseAppCheckTokens: Boolean /** Creates an (internal) HttpsCallOptions from the (external) [HttpsCallableOptions]. */ - public constructor(publicCallableOptions: HttpsCallableOptions) { + internal constructor(publicCallableOptions: HttpsCallableOptions) { limitedUseAppCheckTokens = publicCallableOptions.limitedUseAppCheckTokens } - public constructor() { + internal constructor() { limitedUseAppCheckTokens = false } - public fun getLimitedUseAppCheckTokens(): Boolean { + internal fun getLimitedUseAppCheckTokens(): Boolean { return limitedUseAppCheckTokens } @@ -42,7 +42,7 @@ public class HttpsCallOptions { * @param timeout The length of the timeout, in the given units. * @param units The units for the specified timeout. */ - public fun setTimeout(timeout: Long, units: TimeUnit) { + internal fun setTimeout(timeout: Long, units: TimeUnit) { this.timeout = timeout timeoutUnits = units } @@ -52,12 +52,12 @@ public class HttpsCallOptions { * * @return The timeout, in milliseconds. */ - public fun getTimeout(): Long { + internal fun getTimeout(): Long { return timeoutUnits.toMillis(timeout) } /** Creates a new OkHttpClient with these options applied to it. */ - public fun apply(client: OkHttpClient): OkHttpClient { + internal fun apply(client: OkHttpClient): OkHttpClient { return client .newBuilder() .callTimeout(timeout, timeoutUnits) diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableOptions.kt b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableOptions.kt index 32b05afded2..63aa4547e64 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableOptions.kt +++ b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableOptions.kt @@ -31,7 +31,7 @@ private constructor( return limitedUseAppCheckTokens } - /** Builder class for [com.google.firebase.functions.HttpsCallableOptions] */ + /** A builder for creating [com.google.firebase.functions.HttpsCallableOptions]. */ public class Builder { @JvmField public var limitedUseAppCheckTokens: Boolean = false diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableReference.kt b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableReference.kt index 90bdb63221b..88db9db4ee4 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableReference.kt +++ b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableReference.kt @@ -32,7 +32,7 @@ public class HttpsCallableReference { private val url: URL? // Options for how to do the HTTPS call. - @VisibleForTesting public val options: HttpsCallOptions + @VisibleForTesting internal val options: HttpsCallOptions /** Creates a new reference with the given options. */ internal constructor( @@ -81,7 +81,7 @@ public class HttpsCallableReference { * Auth, an auth token for the user will also be automatically included. * * Firebase Instance ID sends data to the Firebase backend periodically to collect information - * regarding the app instance. To stop this, see [ ] + * regarding the app instance. To stop this, see * [com.google.firebase.iid.FirebaseInstanceId.deleteInstanceId]. It will resume with a new * Instance ID the next time you call this method. * @@ -111,7 +111,7 @@ public class HttpsCallableReference { * Auth, an auth token for the user will also be automatically included. * * Firebase Instance ID sends data to the Firebase backend periodically to collect information - * regarding the app instance. To stop this, see [ ] + * regarding the app instance. To stop this, see * [com.google.firebase.iid.FirebaseInstanceId.deleteInstanceId]. It will resume with a new * Instance ID the next time you call this method. * diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableResult.kt b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableResult.kt index ddda0ea57bb..c75d584b2c6 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableResult.kt +++ b/firebase-functions/src/main/java/com/google/firebase/functions/HttpsCallableResult.kt @@ -13,7 +13,7 @@ // limitations under the License. package com.google.firebase.functions -/** The result of calling a HttpsCallableReference function. */ +/** The result of calling a `HttpsCallableReference` function. */ public class HttpsCallableResult internal constructor( // The actual result data, as generic types decoded from JSON. private val data: Any?) { @@ -21,8 +21,8 @@ private val data: Any?) { * Returns the data that was returned from the Callable HTTPS trigger. * * The data is in the form of native Java objects. For example, if your trigger returned an array, - * this object would be a List. If your trigger returned a JavaScript object with keys and - * values, this object would be a Map. + * this object would be a `List`. If your trigger returned a JavaScript object with keys + * and values, this object would be a `Map`. */ public fun getData(): Any? { return data diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/Serializer.kt b/firebase-functions/src/main/java/com/google/firebase/functions/Serializer.kt index fac34490845..1d6fd2cc189 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/Serializer.kt +++ b/firebase-functions/src/main/java/com/google/firebase/functions/Serializer.kt @@ -23,7 +23,7 @@ import org.json.JSONException import org.json.JSONObject /** Converts raw Java types into JSON objects. */ -public class Serializer { +internal class Serializer { private val dateFormat: DateFormat init { @@ -32,7 +32,7 @@ public class Serializer { dateFormat.timeZone = TimeZone.getTimeZone("UTC") } - public fun encode(obj: Any?): Any { + internal fun encode(obj: Any?): Any { if (obj == null || obj === JSONObject.NULL) { return JSONObject.NULL } @@ -113,7 +113,7 @@ public class Serializer { throw IllegalArgumentException("Object cannot be encoded in JSON: $obj") } - public fun decode(obj: Any): Any? { + internal fun decode(obj: Any): Any? { // TODO: Maybe this should throw a FirebaseFunctionsException instead? if (obj is Number) { return obj @@ -170,11 +170,12 @@ public class Serializer { throw IllegalArgumentException("Object cannot be decoded from JSON: $obj") } - public companion object { + internal companion object { @VisibleForTesting - public const val LONG_TYPE: String = "type.googleapis.com/google.protobuf.Int64Value" + internal const val LONG_TYPE: String = "type.googleapis.com/google.protobuf.Int64Value" @VisibleForTesting - public const val UNSIGNED_LONG_TYPE: String = "type.googleapis.com/google.protobuf.UInt64Value" + internal const val UNSIGNED_LONG_TYPE: String = + "type.googleapis.com/google.protobuf.UInt64Value" } } diff --git a/firebase-messaging-directboot/CHANGELOG.md b/firebase-messaging-directboot/CHANGELOG.md index f2c93f3218a..732b437995e 100644 --- a/firebase-messaging-directboot/CHANGELOG.md +++ b/firebase-messaging-directboot/CHANGELOG.md @@ -1,5 +1,5 @@ # Unreleased - +* [unchanged] Updated to keep messaging SDK versions aligned. # 24.0.3 * [changed] Updated protobuf dependency to `3.25.5` to fix diff --git a/firebase-messaging-directboot/gradle.properties b/firebase-messaging-directboot/gradle.properties index 4899d4ac26e..e71c87fafca 100644 --- a/firebase-messaging-directboot/gradle.properties +++ b/firebase-messaging-directboot/gradle.properties @@ -1,3 +1,3 @@ -version=24.0.4 +version=24.1.0 latestReleasedVersion=24.0.3 android.enableUnitTestBinaryResources=true diff --git a/firebase-messaging/CHANGELOG.md b/firebase-messaging/CHANGELOG.md index c34f8b29839..4bf7a106c1c 100644 --- a/firebase-messaging/CHANGELOG.md +++ b/firebase-messaging/CHANGELOG.md @@ -1,5 +1,6 @@ # Unreleased -* [deprecated] Deprecated additional FCM upstream messaging methods. See the +* [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 diff --git a/firebase-messaging/gradle.properties b/firebase-messaging/gradle.properties index 4899d4ac26e..e71c87fafca 100644 --- a/firebase-messaging/gradle.properties +++ b/firebase-messaging/gradle.properties @@ -1,3 +1,3 @@ -version=24.0.4 +version=24.1.0 latestReleasedVersion=24.0.3 android.enableUnitTestBinaryResources=true diff --git a/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessaging.java b/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessaging.java index 454fae7be09..afba6e2f25c 100644 --- a/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessaging.java +++ b/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessaging.java @@ -514,7 +514,8 @@ public Task unsubscribeFromTopic(@NonNull String topic) { *

When there is an active connection the message will be sent immediately, otherwise the * message will be queued up to the time to live (TTL) set in the message. * - * @deprecated FCM upstream messaging is decommissioned. Learn more in the + * @deprecated This function is actually decommissioned along with all of FCM + * upstream messaging. Learn more in the * FAQ about FCM features * deprecated in June 2023. */ diff --git a/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessagingService.java b/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessagingService.java index 621e943c480..c3cf62dffaf 100644 --- a/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessagingService.java +++ b/firebase-messaging/src/main/java/com/google/firebase/messaging/FirebaseMessagingService.java @@ -127,7 +127,8 @@ public void onDeletedMessages() {} * * @param msgId of the upstream message sent using {@link FirebaseMessaging#send}. * - * @deprecated FCM upstream messaging is decommissioned. Learn more in the + * @deprecated This function is actually decommissioned along with all of FCM + * upstream messaging. Learn more in the * FAQ about FCM features * deprecated in June 2023. */ @@ -141,7 +142,8 @@ public void onMessageSent(@NonNull String msgId) {} * @param msgId of the upstream message sent using {@link FirebaseMessaging#send}. * @param exception description of the error, typically a {@link SendException}. * - * @deprecated FCM upstream messaging is decommissioned. Learn more in the + * @deprecated This function is actually decommissioned along with all of FCM + * upstream messaging. Learn more in the * FAQ about FCM features * deprecated in June 2023. */ diff --git a/firebase-messaging/src/main/java/com/google/firebase/messaging/RemoteMessage.java b/firebase-messaging/src/main/java/com/google/firebase/messaging/RemoteMessage.java index 4dd998a3040..77446191b24 100644 --- a/firebase-messaging/src/main/java/com/google/firebase/messaging/RemoteMessage.java +++ b/firebase-messaging/src/main/java/com/google/firebase/messaging/RemoteMessage.java @@ -110,7 +110,8 @@ public String getFrom() { /** * Gets the message destination. * - * @deprecated FCM upstream messaging is decommissioned. Learn more in the + * @deprecated This function is actually decommissioned along with all of FCM + * upstream messaging. Learn more in the * FAQ about FCM features * deprecated in June 2023. */ diff --git a/release.json b/release.json new file mode 100644 index 00000000000..46d9044176b --- /dev/null +++ b/release.json @@ -0,0 +1,12 @@ +{ + "name": "m156", + "libraries": [ + ":firebase-dataconnect", + ":firebase-messaging", + ":firebase-messaging-directboot", + ":firebase-messaging:ktx", + ":firebase-functions", + ":firebase-functions:ktx", + ":firebase-vertexai" + ] +} \ No newline at end of file diff --git a/release_report.json b/release_report.json new file mode 100644 index 00000000000..6705d1aff1a --- /dev/null +++ b/release_report.json @@ -0,0 +1,234 @@ +{ + "changesByLibraryName": { + "firebase-dataconnect": [ + { + "commitId": "80019caa303e76251182b1351dff6834ed678e42", + "prId": "6434", + "author": "Denver Coneybeare", + "message": "dataconnect: LocalDate and LocalDateSerializer added (#6434)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/80019caa303e76251182b1351dff6834ed678e42", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6434" + }, + { + "commitId": "93640ce59ce303475f8df2e7d80b2949f8449b17", + "prId": "6433", + "author": "Denver Coneybeare", + "message": "dataconnect: Rename FirebaseDataConnectExperimental to ExperimentalFirebaseDataConnect (#6433)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/93640ce59ce303475f8df2e7d80b2949f8449b17", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6433" + }, + { + "commitId": "312d14a71319964da182713f81863662f543f4d0", + "prId": "6424", + "author": "Denver Coneybeare", + "message": "dataconnect: some small new APIs and major testing refactor (#6424)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/312d14a71319964da182713f81863662f543f4d0", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6424" + }, + { + "commitId": "75428316385b3b8134d7c28fcd8853d3314135e8", + "prId": "6426", + "author": "Denver Coneybeare", + "message": "dataconnect: connectors.gradle.kts: fix unwarranted error from updateJson task during configure time (#6426)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/75428316385b3b8134d7c28fcd8853d3314135e8", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6426" + }, + { + "commitId": "e3ad5d79b74c46d4ec593a5fcd0fcb26bde44507", + "prId": "6425", + "author": "Denver Coneybeare", + "message": "libs.versions.toml: add kotlinx-datetime (#6425)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/e3ad5d79b74c46d4ec593a5fcd0fcb26bde44507", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6425" + }, + { + "commitId": "98ce6bb752c1fedb94a0ce77caeef400cb284aea", + "prId": "6418", + "author": "Denver Coneybeare", + "message": "dataconnect: DataConnectExecutableVersions.json updated with versions 1.5.1 and 1.6.0 (#6418)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/98ce6bb752c1fedb94a0ce77caeef400cb284aea", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6418" + }, + { + "commitId": "5af4621bfef8706387efbfc952a6bd3b484a0cdf", + "prId": "6416", + "author": "Denver Coneybeare", + "message": "libs.versions.toml: add ThreeTenAbp (backport of java.time for Android) (#6416)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/5af4621bfef8706387efbfc952a6bd3b484a0cdf", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6416" + }, + { + "commitId": "0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prId": "6377", + "author": "Daymon", + "message": "Modernize FirebaseLibraryExtension (#6377)\n\nPer [b/270576405](https://b.corp.google.com/issues/270576405),\r\n\r\nThis migrates `FirebaseLibraryExtension` to Kotlin, and takes advantage\r\nof more modern gradle features (such as properties/conventions) to help\r\nwith build time and maintenance.\r\n\r\nThis also adds documentation for all the exposed properties and options\r\non `FirebaseLibraryExtension`.\r\n\r\nFuture `TODO`s have been left denoting possible future modernization\r\nefforts.\r\n\r\nThis PR also fixes the following:\r\n\r\n- [b/374137268](https://b.corp.google.com/issues/374137268) -> Migrate\r\nbuildSrc to spotless", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6377" + }, + { + "commitId": "3afa1c4fb2051fa65742f05c387d662eeae84201", + "prId": "6399", + "author": "Rodrigo Lazo", + "message": "Add spotless support for *.gradle.kts files (#6399)\n\nThe more we cover by the formatter the better.\n\nThat being said, support for groovy is broken. I hit\nhttps://github.com/diffplug/spotless/issues/1922 when trying to use\ngroovyGradle formatting.", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/3afa1c4fb2051fa65742f05c387d662eeae84201", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6399" + } + ], + "firebase-messaging": [ + { + "commitId": "531f25bb0417370c0da56825e5f2505b3cc49666", + "prId": "6402", + "author": "Daymon", + "message": "Migrate crashlytics tests to JUnit4 (#6402)\n\nPer [b/375055031](https://b.corp.google.com/issues/375055031),\r\n\r\nThis performs various cleanups on the integration tests for crashlytics.\r\nThis should help narrow down flakey test behavior, and avoid any issues\r\nthat may arise from deprecated usages.\r\n\r\nNamely, this PR does the following:\r\n- Fully migrates all the tests to JUnit4. Some of them were still using\r\nJUnit3 behaviors.\r\n- Migrates `initMocks` to `openMocks`. There may have been broken\r\nbehavior from `initMocks` leakage.\r\n- Updates some existing `openMocks` to properly close. There may have\r\nbeen leakage into other tests, which could cause false positives.\r\n- Migrate `AndroidJunit4` usages to the new import. Some of the tests\r\nwere still using the old (deprecated) version.\r\n- Suppresses the receiver filter warning. This is a false positive as\r\nthe use-site only specifies two arguments. By suppressing the warning-\r\nit should help depollute our logs.", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/531f25bb0417370c0da56825e5f2505b3cc49666", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6402" + }, + { + "commitId": "6383f6d71218b24318372573aaf962711776f4d1", + "prId": "6414", + "author": "Greg Sakakihara", + "message": "Change WithinAppServiceConnection's ScheduledThreadPoolExecutor's con… (#6414)\n\n…figuration to avoid polling.\r\n\r\n* Changed WithinAppServiceConnection's ScheduledThreadPoolExecutor's\r\nconfiguration to allow the thread to stop polling after the timeout task\r\nhas been canceled.", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/6383f6d71218b24318372573aaf962711776f4d1", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6414" + }, + { + "commitId": "d402ad035d2fec7462130f8663987fa9ccd164a0", + "prId": "6411", + "author": "Greg Sakakihara", + "message": "Deprecate additional FCM upstream messaging methods. (#6411)\n\n* Also removed references to upstream in documentation.", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/d402ad035d2fec7462130f8663987fa9ccd164a0", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6411" + }, + { + "commitId": "0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prId": "6377", + "author": "Daymon", + "message": "Modernize FirebaseLibraryExtension (#6377)\n\nPer [b/270576405](https://b.corp.google.com/issues/270576405),\r\n\r\nThis migrates `FirebaseLibraryExtension` to Kotlin, and takes advantage\r\nof more modern gradle features (such as properties/conventions) to help\r\nwith build time and maintenance.\r\n\r\nThis also adds documentation for all the exposed properties and options\r\non `FirebaseLibraryExtension`.\r\n\r\nFuture `TODO`s have been left denoting possible future modernization\r\nefforts.\r\n\r\nThis PR also fixes the following:\r\n\r\n- [b/374137268](https://b.corp.google.com/issues/374137268) -> Migrate\r\nbuildSrc to spotless", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6377" + } + ], + "firebase-messaging-directboot": [ + { + "commitId": "0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prId": "6377", + "author": "Daymon", + "message": "Modernize FirebaseLibraryExtension (#6377)\n\nPer [b/270576405](https://b.corp.google.com/issues/270576405),\r\n\r\nThis migrates `FirebaseLibraryExtension` to Kotlin, and takes advantage\r\nof more modern gradle features (such as properties/conventions) to help\r\nwith build time and maintenance.\r\n\r\nThis also adds documentation for all the exposed properties and options\r\non `FirebaseLibraryExtension`.\r\n\r\nFuture `TODO`s have been left denoting possible future modernization\r\nefforts.\r\n\r\nThis PR also fixes the following:\r\n\r\n- [b/374137268](https://b.corp.google.com/issues/374137268) -> Migrate\r\nbuildSrc to spotless", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6377" + } + ], + "firebase-messaging/ktx": [ + { + "commitId": "0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prId": "6377", + "author": "Daymon", + "message": "Modernize FirebaseLibraryExtension (#6377)\n\nPer [b/270576405](https://b.corp.google.com/issues/270576405),\r\n\r\nThis migrates `FirebaseLibraryExtension` to Kotlin, and takes advantage\r\nof more modern gradle features (such as properties/conventions) to help\r\nwith build time and maintenance.\r\n\r\nThis also adds documentation for all the exposed properties and options\r\non `FirebaseLibraryExtension`.\r\n\r\nFuture `TODO`s have been left denoting possible future modernization\r\nefforts.\r\n\r\nThis PR also fixes the following:\r\n\r\n- [b/374137268](https://b.corp.google.com/issues/374137268) -> Migrate\r\nbuildSrc to spotless", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6377" + } + ], + "firebase-vertexai": [ + { + "commitId": "9754546e1e2c26cb6385f42df8fb09bfe716ca7e", + "prId": "6432", + "author": "Rodrigo Lazo", + "message": "Remove format from `double` helper function (#6432)\n\nWe can omit the format for the double-precision floating point type\r\n\r\nSee https://github.com/firebase/firebase-ios-sdk/pull/13990 for further\r\ncontext", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/9754546e1e2c26cb6385f42df8fb09bfe716ca7e", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6432" + }, + { + "commitId": "b9013d5cde6e80e077b4cd46849c17e47234819d", + "prId": "6428", + "author": "Rodrigo Lazo", + "message": "Improve error message for invalid locations (#6428)\n\nIf an invalid location is used when creating the `FirebaseVertexAI`\r\nobject, all requests will fail. The error returned is 404 and HTML\r\ncontent. The message as-is is not easy to read.\r\n\r\nThe new messaging points to the most likely reason for the\r\n404 (invalid location).", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/b9013d5cde6e80e077b4cd46849c17e47234819d", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6428" + }, + { + "commitId": "22ace2511b8f0ee6ada293ece60ef7f0e63de77c", + "prId": "6420", + "author": "Rodrigo Lazo", + "message": "Improved refdocs for Schema (#6420)\n\nThe improvements include:\r\n\r\n- Clarify that `integer` and `float` types are hints to the model, and\r\nthe returned data could potentially overflow the respective native\r\ntypes.\r\n- Include missing parameters for some of the functions.\r\n- Add examples for `enumerations` and `obj`.\r\n\r\n---------\r\n\r\nCo-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/22ace2511b8f0ee6ada293ece60ef7f0e63de77c", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6420" + }, + { + "commitId": "5687f6d4f69ac788e9149be6f48f4b919354f869", + "prId": "6417", + "author": "Rodrigo Lazo", + "message": "Remove unnecessary ktor client mock dep (#6417)\n\n", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/5687f6d4f69ac788e9149be6f48f4b919354f869", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6417" + }, + { + "commitId": "ec4874252a1d59c6188430c24661c3b6427e556c", + "prId": "6409", + "author": "Rodrigo Lazo", + "message": "[vertexai] Include appcheck token unconditionally (#6409)\n\nThe app check backend can differentiate between apps that do not use\r\nappcheck at all, and those sending invalid data, by using a special\r\nplaceholder token when errors happen. We were previously not including\r\nthe token value in error cases, but we should.\r\n\r\n---------\r\n\r\nCo-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/ec4874252a1d59c6188430c24661c3b6427e556c", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6409" + }, + { + "commitId": "bcb4607a22bae0e56be5c4066b38bc59f06ec0ca", + "prId": "6400", + "author": "Rodrigo Lazo", + "message": "Fix vertexAI authorization header (#6400)\n\nThe header for authenticated request from vertex was using an invalid\r\nauthorization value\r\n\r\n---------\r\n\r\nCo-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/bcb4607a22bae0e56be5c4066b38bc59f06ec0ca", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6400" + }, + { + "commitId": "3afa1c4fb2051fa65742f05c387d662eeae84201", + "prId": "6399", + "author": "Rodrigo Lazo", + "message": "Add spotless support for *.gradle.kts files (#6399)\n\nThe more we cover by the formatter the better.\n\nThat being said, support for groovy is broken. I hit\nhttps://github.com/diffplug/spotless/issues/1922 when trying to use\ngroovyGradle formatting.", + "commitLink": "https://github.com/firebase/firebase-android-sdk/commit/3afa1c4fb2051fa65742f05c387d662eeae84201", + "prLink": "https://github.com/firebase/firebase-android-sdk/pull/6399" + } + ] + }, + "changedLibrariesWithNoChangelog": [ + ":firebase-appdistribution", + ":firebase-appdistribution-api", + ":firebase-appdistribution-api:ktx", + ":firebase-common", + ":firebase-common:ktx", + ":firebase-components", + ":firebase-config", + ":firebase-config:ktx", + ":firebase-config-interop", + ":firebase-crashlytics", + ":firebase-crashlytics-ndk", + ":firebase-sessions", + ":firebase-crashlytics:ktx", + ":firebase-database", + ":firebase-database:ktx", + ":firebase-database-collection", + ":firebase-dynamic-links", + ":firebase-dynamic-links:ktx", + ":firebase-firestore", + ":firebase-firestore:ktx", + ":firebase-functions", + ":firebase-functions:ktx", + ":firebase-inappmessaging", + ":firebase-inappmessaging-display", + ":firebase-inappmessaging:ktx", + ":firebase-inappmessaging-display:ktx", + ":firebase-installations", + ":firebase-installations:ktx", + ":firebase-ml-modeldownloader", + ":firebase-ml-modeldownloader:ktx", + ":firebase-perf", + ":firebase-perf:ktx", + ":firebase-storage", + ":firebase-storage:ktx", + ":appcheck:firebase-appcheck", + ":appcheck:firebase-appcheck-debug", + ":appcheck:firebase-appcheck-debug-testing", + ":appcheck:firebase-appcheck-playintegrity", + ":appcheck:firebase-appcheck:ktx", + ":firebase-components:firebase-dynamic-module-support", + ":transport:transport-backend-cct", + ":transport:transport-runtime" + ] +} \ No newline at end of file diff --git a/release_report.md b/release_report.md new file mode 100644 index 00000000000..0af73b32eb3 --- /dev/null +++ b/release_report.md @@ -0,0 +1,121 @@ +# Release Report +## firebase-dataconnect + +* dataconnect: LocalDate and LocalDateSerializer added (#6434) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6434) [commit](https://github.com/firebase/firebase-android-sdk/commit/80019caa303e76251182b1351dff6834ed678e42) [Denver Coneybeare] + +* dataconnect: Rename FirebaseDataConnectExperimental to ExperimentalFirebaseDataConnect (#6433) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6433) [commit](https://github.com/firebase/firebase-android-sdk/commit/93640ce59ce303475f8df2e7d80b2949f8449b17) [Denver Coneybeare] + +* dataconnect: some small new APIs and major testing refactor (#6424) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6424) [commit](https://github.com/firebase/firebase-android-sdk/commit/312d14a71319964da182713f81863662f543f4d0) [Denver Coneybeare] + +* dataconnect: connectors.gradle.kts: fix unwarranted error from updateJson task during configure time (#6426) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6426) [commit](https://github.com/firebase/firebase-android-sdk/commit/75428316385b3b8134d7c28fcd8853d3314135e8) [Denver Coneybeare] + +* libs.versions.toml: add kotlinx-datetime (#6425) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6425) [commit](https://github.com/firebase/firebase-android-sdk/commit/e3ad5d79b74c46d4ec593a5fcd0fcb26bde44507) [Denver Coneybeare] + +* dataconnect: DataConnectExecutableVersions.json updated with versions 1.5.1 and 1.6.0 (#6418) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6418) [commit](https://github.com/firebase/firebase-android-sdk/commit/98ce6bb752c1fedb94a0ce77caeef400cb284aea) [Denver Coneybeare] + +* libs.versions.toml: add ThreeTenAbp (backport of java.time for Android) (#6416) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6416) [commit](https://github.com/firebase/firebase-android-sdk/commit/5af4621bfef8706387efbfc952a6bd3b484a0cdf) [Denver Coneybeare] + +* Modernize FirebaseLibraryExtension (#6377) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6377) [commit](https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b) [Daymon] + +* Add spotless support for *.gradle.kts files (#6399) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6399) [commit](https://github.com/firebase/firebase-android-sdk/commit/3afa1c4fb2051fa65742f05c387d662eeae84201) [Rodrigo Lazo] + +## firebase-messaging + +* Migrate crashlytics tests to JUnit4 (#6402) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6402) [commit](https://github.com/firebase/firebase-android-sdk/commit/531f25bb0417370c0da56825e5f2505b3cc49666) [Daymon] + +* Change WithinAppServiceConnection's ScheduledThreadPoolExecutor's con… (#6414) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6414) [commit](https://github.com/firebase/firebase-android-sdk/commit/6383f6d71218b24318372573aaf962711776f4d1) [Greg Sakakihara] + +* Deprecate additional FCM upstream messaging methods. (#6411) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6411) [commit](https://github.com/firebase/firebase-android-sdk/commit/d402ad035d2fec7462130f8663987fa9ccd164a0) [Greg Sakakihara] + +* Modernize FirebaseLibraryExtension (#6377) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6377) [commit](https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b) [Daymon] + +## firebase-messaging-directboot + +* Modernize FirebaseLibraryExtension (#6377) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6377) [commit](https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b) [Daymon] + +## firebase-messaging/ktx + +* Modernize FirebaseLibraryExtension (#6377) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6377) [commit](https://github.com/firebase/firebase-android-sdk/commit/0697dd3aadd6c13d9e2d321c75173992bfbaac3b) [Daymon] + +## firebase-vertexai + +* Remove format from `double` helper function (#6432) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6432) [commit](https://github.com/firebase/firebase-android-sdk/commit/9754546e1e2c26cb6385f42df8fb09bfe716ca7e) [Rodrigo Lazo] + +* Improve error message for invalid locations (#6428) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6428) [commit](https://github.com/firebase/firebase-android-sdk/commit/b9013d5cde6e80e077b4cd46849c17e47234819d) [Rodrigo Lazo] + +* Improved refdocs for Schema (#6420) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6420) [commit](https://github.com/firebase/firebase-android-sdk/commit/22ace2511b8f0ee6ada293ece60ef7f0e63de77c) [Rodrigo Lazo] + +* Remove unnecessary ktor client mock dep (#6417) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6417) [commit](https://github.com/firebase/firebase-android-sdk/commit/5687f6d4f69ac788e9149be6f48f4b919354f869) [Rodrigo Lazo] + +* [vertexai] Include appcheck token unconditionally (#6409) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6409) [commit](https://github.com/firebase/firebase-android-sdk/commit/ec4874252a1d59c6188430c24661c3b6427e556c) [Rodrigo Lazo] + +* Fix vertexAI authorization header (#6400) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6400) [commit](https://github.com/firebase/firebase-android-sdk/commit/bcb4607a22bae0e56be5c4066b38bc59f06ec0ca) [Rodrigo Lazo] + +* Add spotless support for *.gradle.kts files (#6399) + [pr](https://github.com/firebase/firebase-android-sdk/pull/6399) [commit](https://github.com/firebase/firebase-android-sdk/commit/3afa1c4fb2051fa65742f05c387d662eeae84201) [Rodrigo Lazo] + + +## SDKs with changes, but no changelogs +:firebase-appdistribution +:firebase-appdistribution-api +:firebase-appdistribution-api:ktx +:firebase-common +:firebase-common:ktx +:firebase-components +:firebase-config +:firebase-config:ktx +:firebase-config-interop +:firebase-crashlytics +:firebase-crashlytics-ndk +:firebase-sessions +:firebase-crashlytics:ktx +:firebase-database +:firebase-database:ktx +:firebase-database-collection +:firebase-dynamic-links +:firebase-dynamic-links:ktx +:firebase-firestore +:firebase-firestore:ktx +:firebase-functions +:firebase-functions:ktx +:firebase-inappmessaging +:firebase-inappmessaging-display +:firebase-inappmessaging:ktx +:firebase-inappmessaging-display:ktx +:firebase-installations +:firebase-installations:ktx +:firebase-ml-modeldownloader +:firebase-ml-modeldownloader:ktx +:firebase-perf +:firebase-perf:ktx +:firebase-storage +:firebase-storage:ktx +:appcheck:firebase-appcheck +:appcheck:firebase-appcheck-debug +:appcheck:firebase-appcheck-debug-testing +:appcheck:firebase-appcheck-playintegrity +:appcheck:firebase-appcheck:ktx +:firebase-components:firebase-dynamic-module-support +:transport:transport-backend-cct +:transport:transport-runtime \ No newline at end of file