Skip to content

Commit f735fd4

Browse files
Merge d7c97c6 into 4e027a9
2 parents 4e027a9 + d7c97c6 commit f735fd4

File tree

10 files changed

+196
-20
lines changed

10 files changed

+196
-20
lines changed

firebase-ai/CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
# Unreleased
22

33
* [fixed] Fixed `FirebaseAI.getInstance` StackOverflowException (#6971)
4-
* [fixed] Fixed an issue that was causing the SDK to send empty `FunctionDeclaration` descriptions to the API.
4+
* [fixed] Fixed an issue that was causing the SDK to send empty `FunctionDeclaration` descriptions to the API.
5+
* [changed] Introduced the `Voice` class, which accepts a voice name, and deprecated the `Voices` class.
6+
* [changed] **Breaking Change**: Updated `SpeechConfig` to take in `Voice` class instead of `Voices` class.
7+
* **Action Required:** Update all references of `SpeechConfig` initialization to use `Voice` class.
58

9+
610
# 16.0.0
711
* [feature] Initial release of the Firebase AI SDK (`firebase-ai`). This SDK *replaces* the previous
812
Vertex AI in Firebase SDK (`firebase-vertexai`) to accommodate the evolving set of supported

firebase-ai/api.txt

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -863,9 +863,9 @@ package com.google.firebase.ai.type {
863863
}
864864

865865
@com.google.firebase.ai.type.PublicPreviewAPI public final class SpeechConfig {
866-
ctor public SpeechConfig(com.google.firebase.ai.type.Voices voice);
867-
method public com.google.firebase.ai.type.Voices getVoice();
868-
property public final com.google.firebase.ai.type.Voices voice;
866+
ctor public SpeechConfig(com.google.firebase.ai.type.Voice voice);
867+
method public com.google.firebase.ai.type.Voice getVoice();
868+
property public final com.google.firebase.ai.type.Voice voice;
869869
}
870870

871871
public abstract class StringFormat {
@@ -914,19 +914,25 @@ package com.google.firebase.ai.type {
914914
property public final int totalTokenCount;
915915
}
916916

917-
@com.google.firebase.ai.type.PublicPreviewAPI public final class Voices {
918-
method public int getOrdinal();
919-
property public final int ordinal;
920-
field public static final com.google.firebase.ai.type.Voices AOEDE;
921-
field public static final com.google.firebase.ai.type.Voices CHARON;
922-
field public static final com.google.firebase.ai.type.Voices.Companion Companion;
923-
field public static final com.google.firebase.ai.type.Voices FENRIR;
924-
field public static final com.google.firebase.ai.type.Voices KORE;
925-
field public static final com.google.firebase.ai.type.Voices PUCK;
926-
field public static final com.google.firebase.ai.type.Voices UNSPECIFIED;
917+
@com.google.firebase.ai.type.PublicPreviewAPI public final class Voice {
918+
ctor public Voice(String voiceName);
919+
method public String getVoiceName();
920+
property public final String voiceName;
921+
}
922+
923+
@Deprecated @com.google.firebase.ai.type.PublicPreviewAPI public final class Voices {
924+
method @Deprecated public int getOrdinal();
925+
property @Deprecated public final int ordinal;
926+
field @Deprecated public static final com.google.firebase.ai.type.Voices AOEDE;
927+
field @Deprecated public static final com.google.firebase.ai.type.Voices CHARON;
928+
field @Deprecated public static final com.google.firebase.ai.type.Voices.Companion Companion;
929+
field @Deprecated public static final com.google.firebase.ai.type.Voices FENRIR;
930+
field @Deprecated public static final com.google.firebase.ai.type.Voices KORE;
931+
field @Deprecated public static final com.google.firebase.ai.type.Voices PUCK;
932+
field @Deprecated public static final com.google.firebase.ai.type.Voices UNSPECIFIED;
927933
}
928934

929-
public static final class Voices.Companion {
935+
@Deprecated public static final class Voices.Companion {
930936
}
931937

932938
}

firebase-ai/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
version=16.0.1
15+
version=16.1.0
1616
latestReleasedVersion=16.0.0

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/SpeechConfig.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ import kotlinx.serialization.Serializable
2323
@PublicPreviewAPI
2424
public class SpeechConfig(
2525
/** The voice to be used for the server's speech response. */
26-
public val voice: Voices
26+
public val voice: Voice
2727
) {
2828

2929
@Serializable
3030
internal data class Internal(@SerialName("voice_config") val voiceConfig: VoiceConfigInternal) {
3131
@Serializable
3232
internal data class VoiceConfigInternal(
33-
@SerialName("prebuilt_voice_config") val prebuiltVoiceConfig: Voices.Internal,
33+
@SerialName("prebuilt_voice_config") val prebuiltVoiceConfig: Voice.Internal,
3434
)
3535
}
3636

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright 2025 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.firebase.ai.type
18+
19+
import kotlinx.serialization.SerialName
20+
import kotlinx.serialization.Serializable
21+
22+
/**
23+
* Various voices supported by the server. The list of all voices can be found
24+
* [here](https://cloud.google.com/text-to-speech/docs/chirp3-hd)
25+
*/
26+
@PublicPreviewAPI
27+
public class Voice public constructor(public val voiceName: String) {
28+
29+
@Serializable internal data class Internal(@SerialName("voice_name") val voiceName: String)
30+
31+
internal fun toInternal(): Internal {
32+
return Internal(this.voiceName)
33+
}
34+
}

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/Voices.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import kotlinx.serialization.SerialName
2020
import kotlinx.serialization.Serializable
2121

2222
/** Various voices supported by the server */
23+
@Deprecated("Please use the Voice class instead.", ReplaceWith("Voice"))
2324
@PublicPreviewAPI
2425
public class Voices private constructor(public val ordinal: Int) {
2526

firebase-ai/src/testUtil/java/com/google/firebase/ai/JavaCompileTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
import com.google.firebase.ai.type.SpeechConfig;
6262
import com.google.firebase.ai.type.TextPart;
6363
import com.google.firebase.ai.type.UsageMetadata;
64-
import com.google.firebase.ai.type.Voices;
64+
import com.google.firebase.ai.type.Voice;
6565
import com.google.firebase.concurrent.FirebaseExecutors;
6666
import java.util.ArrayList;
6767
import java.util.Calendar;
@@ -137,7 +137,7 @@ private LiveGenerationConfig getLiveConfig() {
137137
.setFrequencyPenalty(1.0F)
138138
.setPresencePenalty(2.0F)
139139
.setResponseModality(ResponseModality.AUDIO)
140-
.setSpeechConfig(new SpeechConfig(Voices.AOEDE))
140+
.setSpeechConfig(new SpeechConfig(new Voice("AOEDE")))
141141
.build();
142142
}
143143

release.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "m165",
3+
"libraries": [
4+
":firebase-ai",
5+
":firebase-crashlytics",
6+
":firebase-crashlytics-ndk",
7+
":firebase-sessions",
8+
":firebase-crashlytics:ktx"
9+
]
10+
}

release_report.json

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
{
2+
"changesByLibraryName": {
3+
"firebase-ai": [
4+
{
5+
"commitId": "4e027a9f2751584cf5f8d411c9a031e72ef208a2",
6+
"prId": "6995",
7+
"author": "Rosário P. Fernandes",
8+
"message": "Update ImagenPersonFilterLevel refdocs to match the iOS SDK (#6995)\n\nThis PR updates the ImagenPersonFilter refdocs to match the [iOS\nSDK](https://github.com/firebase/firebase-ios-sdk/blob/4f6c342424df416d78dfc12d08c97769fd4e1152/FirebaseAI/Sources/Types/Public/Imagen/ImagenPersonFilterLevel.swift#L33-L45),\nincluding the information about the [Person and face generation\nallowlist](https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#person-face-gen).",
9+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/4e027a9f2751584cf5f8d411c9a031e72ef208a2",
10+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6995"
11+
},
12+
{
13+
"commitId": "82ad185491d1134f66ce5bfa6020b1d1ab8b8270",
14+
"prId": "6972",
15+
"author": "emilypgoogle",
16+
"message": "Fix Firebase AI StackOverflow (#6972)\n\nSee #6971",
17+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/82ad185491d1134f66ce5bfa6020b1d1ab8b8270",
18+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6972"
19+
},
20+
{
21+
"commitId": "9c004772e550ac5f83eb95afb4c27b05ff8f1f0d",
22+
"prId": "6957",
23+
"author": "Rosário P. Fernandes",
24+
"message": "fix(ai): pass FunctionDeclaration#description arg to internal class (#6957)\n\nIt seems like the value set in `FunctionDeclaration#description` was\nnever making it to the API.",
25+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/9c004772e550ac5f83eb95afb4c27b05ff8f1f0d",
26+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6957"
27+
},
28+
{
29+
"commitId": "129cb89fb28d3d76519e85471e6fcaad90db3b90",
30+
"prId": "6970",
31+
"author": "Daymon",
32+
"message": "Update changelog and Vertex version from M164 (#6970)\n\nPer [b/419000235](https://b.corp.google.com/issues/419000235),\n\nThis updates the changelogs and vai version changes we made on the\nrelease branch for M164. This should be merged before we create the\nmerge-back branch, such that the merge-back works as expected.",
33+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/129cb89fb28d3d76519e85471e6fcaad90db3b90",
34+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6970"
35+
},
36+
{
37+
"commitId": "2a1776413caaa70182c1c782fe7efcc5d73b2303",
38+
"prId": "6948",
39+
"author": "Vinay Guthal",
40+
"message": "update headers in the correct location (#6948)\n\n",
41+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/2a1776413caaa70182c1c782fe7efcc5d73b2303",
42+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6948"
43+
}
44+
],
45+
"firebase-crashlytics": [
46+
{
47+
"commitId": "a9960190582812b7298196828509fbb5e49e4b33",
48+
"prId": "6945",
49+
"author": "Matthew Robertson",
50+
"message": "Update Crashlytics changelog (#6945)\n\n",
51+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/a9960190582812b7298196828509fbb5e49e4b33",
52+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6945"
53+
}
54+
],
55+
"firebase-crashlytics-ndk": [
56+
{
57+
"commitId": "78360ad0ccd55589d37206729916ac57b61b7907",
58+
"prId": "6946",
59+
"author": "Daymon",
60+
"message": "Add crashlytics-ndk changelog entry (#6946)\n\n#6945 was missing a changelog entry for the dependent library. This PR\nadds that changelog.",
61+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/78360ad0ccd55589d37206729916ac57b61b7907",
62+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6946"
63+
}
64+
],
65+
"firebase-sessions": [
66+
{
67+
"commitId": "9f5839fd4e823703629e60e876034b791f589c6e",
68+
"prId": "6982",
69+
"author": "Matthew Robertson",
70+
"message": "Add macrobenchmark module for sessions test app (#6982)\n\nAdd macrobenchmark module for sessions test app. This is just the setup\nand the example startup benchmark. I will add more in the PerfAQS\nproject, and write instructions in the readme then.",
71+
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/9f5839fd4e823703629e60e876034b791f589c6e",
72+
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/6982"
73+
}
74+
],
75+
"firebase-crashlytics/ktx": [
76+
]
77+
},
78+
"changedLibrariesWithNoChangelog": [
79+
":firebase-inappmessaging",
80+
":firebase-inappmessaging-display",
81+
":firebase-inappmessaging:ktx",
82+
":firebase-inappmessaging-display:ktx"
83+
]
84+
}

release_report.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Release Report
2+
## firebase-ai
3+
4+
* Update ImagenPersonFilterLevel refdocs to match the iOS SDK (#6995)
5+
[pr](https://github.com/firebase/firebase-android-sdk/pull/6995) [commit](https://github.com/firebase/firebase-android-sdk/commit/4e027a9f2751584cf5f8d411c9a031e72ef208a2) [Rosário P. Fernandes]
6+
7+
* Fix Firebase AI StackOverflow (#6972)
8+
[pr](https://github.com/firebase/firebase-android-sdk/pull/6972) [commit](https://github.com/firebase/firebase-android-sdk/commit/82ad185491d1134f66ce5bfa6020b1d1ab8b8270) [emilypgoogle]
9+
10+
* fix(ai): pass FunctionDeclaration#description arg to internal class (#6957)
11+
[pr](https://github.com/firebase/firebase-android-sdk/pull/6957) [commit](https://github.com/firebase/firebase-android-sdk/commit/9c004772e550ac5f83eb95afb4c27b05ff8f1f0d) [Rosário P. Fernandes]
12+
13+
* Update changelog and Vertex version from M164 (#6970)
14+
[pr](https://github.com/firebase/firebase-android-sdk/pull/6970) [commit](https://github.com/firebase/firebase-android-sdk/commit/129cb89fb28d3d76519e85471e6fcaad90db3b90) [Daymon]
15+
16+
* update headers in the correct location (#6948)
17+
[pr](https://github.com/firebase/firebase-android-sdk/pull/6948) [commit](https://github.com/firebase/firebase-android-sdk/commit/2a1776413caaa70182c1c782fe7efcc5d73b2303) [Vinay Guthal]
18+
19+
## firebase-crashlytics
20+
21+
* Update Crashlytics changelog (#6945)
22+
[pr](https://github.com/firebase/firebase-android-sdk/pull/6945) [commit](https://github.com/firebase/firebase-android-sdk/commit/a9960190582812b7298196828509fbb5e49e4b33) [Matthew Robertson]
23+
24+
## firebase-crashlytics-ndk
25+
26+
* Add crashlytics-ndk changelog entry (#6946)
27+
[pr](https://github.com/firebase/firebase-android-sdk/pull/6946) [commit](https://github.com/firebase/firebase-android-sdk/commit/78360ad0ccd55589d37206729916ac57b61b7907) [Daymon]
28+
29+
30+
## firebase-crashlytics/ktx
31+
32+
33+
## SDKs with changes, but no changelogs
34+
:firebase-inappmessaging
35+
:firebase-inappmessaging-display
36+
:firebase-inappmessaging:ktx
37+
:firebase-inappmessaging-display:ktx

0 commit comments

Comments
 (0)