Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions release.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "m176",
"libraries": [
":firebase-ai",
":firebase-ai-ksp-processor",
":firebase-components",
":appcheck:firebase-appcheck",
":appcheck:firebase-appcheck-debug",
":appcheck:firebase-appcheck-debug-testing",
":appcheck:firebase-appcheck-playintegrity"
]
}
173 changes: 173 additions & 0 deletions release_report.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
{
"changesByLibraryName": {
"firebase-ai": [
{
"commitId": "d0685a00a41677bfdd4fc9f6924e399edde54028",
"prId": "7688",
"author": "Rodrigo Lazo",
"message": "[AI] Don't end connection early when receiving GoAway (#7688)\n\nInstead of finishing the session when the go away message is received,\nkeeping it open leaves more room for developers to implement different\nstrategies in their callback method. Additionally, it preserves the\ncurrent behaviour.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/d0685a00a41677bfdd4fc9f6924e399edde54028",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7688"
},
{
"commitId": "355a8f67a6f26c78a04db990f8f328ee376a9e54",
"prId": "7689",
"author": "Rodrigo Lazo",
"message": "[AI] Address missing updates from previous PRs (#7689)\n\n- Update entries in Changelog\n- Update api.txt\n- Update version",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/355a8f67a6f26c78a04db990f8f328ee376a9e54",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7689"
},
{
"commitId": "426a079f080abac172cc02488ec856328408c530",
"prId": "7523",
"author": "David Motsonashvili",
"message": "Add Firebase AI KSP Processor (#7523)\n\n* Adds the `Generable` and `Guide` annotations\n* Adds the KSP processor to turn them into firebase AI schema objects\n* Adds publishing plugin to export maven repo for ADMRS\n\n---------\n\nCo-authored-by: David Motsonashvili <davidmotson@google.com>\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/426a079f080abac172cc02488ec856328408c530",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7523"
},
{
"commitId": "9014b583506bd3f81f6f7312085822007d792917",
"prId": "7649",
"author": "YooJun Hong",
"message": "[AI] Fix crash caused by unhandled goAway server message in LiveSession (#7649)\n\n## Description\n\nFixes #7648\n\nThis PR adds support for the `goAway` server message type in LiveSession\nto prevent crashes when the server initiates a disconnect. Previously,\nwhen the server sent a `goAway` message, the app would crash with a\n`SerializationException` because the message type was not recognized by\n`LiveServerMessageSerializer`.\n\n## Changes\n\n### 1. Add LiveServerGoAway message type\n\n- Added `LiveServerGoAway` class to represent server-initiated\ndisconnection\n- Includes `timeLeft: Duration?` field from parsed protobuf format\nstring (e.g., \"57s\", \"1.5s\")\n- Registered `goAway` message in `LiveServerMessageSerializer`\n\n### 2. Robust Handling & API Update\n\n- **Graceful Shutdown:** Implemented logic in `processModelResponses()`\nto recognize `GoAway` signals and automatically close the session,\npreventing zombie connections or further crashes.\n- **Public API:** Added `goAwayHandler` to\n`LiveAudioConversationConfig`.\n- *Rationale:* While internal handling prevents the crash, apps often\nneed to inform the user that the session ended due to server maintenance\nor timeouts. This handler exposes the `timeLeft` information to the\napplication layer.\n\n## Usage Example\n\nApps can now handle server disconnections gracefully using the\n`goAwayHandler`:\n\n```kotlin\nval config = LiveAudioConversationConfig.Builder()\n .setGoAwayHandler { goAway ->\n Log.i(TAG, \"Server disconnecting in ${goAway.timeLeft?.inWholeSeconds} seconds\")\n // Clean up resources, show UI notification, etc.\n }\n .build()\n\nliveGenerativeModel.startAudioConversation(config)\n```\n\n## Testing\n\n- unit tests\n- Tested with [real\napp](https://github.com/android/ai-samples/tree/prototype-ai-glasses)\nand confirmed graceful handling of goAway messages (Published to local\nMaven)\n- Spotless formatting applied\n\n## Related Issues\n\n- Android SDK: #7648\n- Flutter SDK: https://github.com/firebase/flutterfire/issues/17836\n\n---------\n\nCo-authored-by: Rodrigo Lazo <rlazo@users.noreply.github.com>",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/9014b583506bd3f81f6f7312085822007d792917",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7649"
},
{
"commitId": "55b852df698327cc7e2e7ebc66a883f0663ff509",
"prId": "7686",
"author": "Rodrigo Lazo",
"message": "[AI] Graduate UrlContext to GA (#7686)\n\nThe feature is no longer gated behind the opt-in `@PublicPreviewAPI`.\n\nInternal b/441102128",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/55b852df698327cc7e2e7ebc66a883f0663ff509",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7686"
},
{
"commitId": "0532608e7b55a891d01976a9dd307c6fa3ca63da",
"prId": "7679",
"author": "Rodrigo Lazo",
"message": "[AI] Include the \"X-Android-Package\" and \"X-Android-Cert\" headers (#7679)\n\nThese headers are necessary to support [API Key\nrestrictions](https://docs.cloud.google.com/docs/authentication/api-keys#adding-application-restrictions).\nThis feature enable you to limit which apps (by matching package name\nand certificate fingerprint) are allowed to make request.\n\n**Important**: We still *strongly* recommend the use of Firebase App\nCheck instead of, or in addition to, API key restrictions.\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/0532608e7b55a891d01976a9dd307c6fa3ca63da",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7679"
},
{
"commitId": "8bd67ff03c906a9b9a7764e044cc8f7337fb6684",
"prId": "7641",
"author": "Rodrigo Lazo",
"message": "[AI] Documentation improvements to ThinkingConfig (#7641)\n\nAdd more detailed description of the difference between `setThinkingBudget` and `setThinkingLevel`.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/8bd67ff03c906a9b9a7764e044cc8f7337fb6684",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7641"
},
{
"commitId": "0a7f78a24d865291071d21c309fc60df1eb1e96e",
"prId": "7647",
"author": "Rodrigo Lazo",
"message": "[AI] Implement cached token count in usage metadata (#7647)\n\n`UsageMetadata` now includes details about cached token usage.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/0a7f78a24d865291071d21c309fc60df1eb1e96e",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7647"
},
{
"commitId": "15420e611391ef889c2d890e1c39e765c3fe6f73",
"prId": "7642",
"author": "Rodrigo Lazo",
"message": "[AI] Remove dead code from Chat (#7642)\n\nThe code is a reminisce of an old feature since removed.\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/15420e611391ef889c2d890e1c39e765c3fe6f73",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7642"
}
],
"firebase-ai-ksp-processor": [
{
"commitId": "bf7676c2dbb0d9b67c09b9548ff2a2e8a58e99bb",
"prId": "7708",
"author": "Rodrigo Lazo",
"message": "[AI] Add CHANGELOG.md for `firebase-ai-ksp-processor` (#7708)\n\nAdds a new `CHANGELOG.md` file to the `firebase-ai-ksp-processor`\nmodule. This file will track all future changes and features, starting\nwith the initial release entry.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/bf7676c2dbb0d9b67c09b9548ff2a2e8a58e99bb",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7708"
},
{
"commitId": "426a079f080abac172cc02488ec856328408c530",
"prId": "7523",
"author": "David Motsonashvili",
"message": "Add Firebase AI KSP Processor (#7523)\n\n* Adds the `Generable` and `Guide` annotations\n* Adds the KSP processor to turn them into firebase AI schema objects\n* Adds publishing plugin to export maven repo for ADMRS\n\n---------\n\nCo-authored-by: David Motsonashvili <davidmotson@google.com>\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/426a079f080abac172cc02488ec856328408c530",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7523"
}
],
"firebase-components": [
{
"commitId": "55707ccb0d3d0535121e48dea9eecb8789488f05",
"prId": "7643",
"author": "Rodrigo Lazo",
"message": "[Components] Fix typo when logging error (#7643)\n\nThe previous message was \"Class %s is not an found.\" and it should be\n\"\"Class %s was not found.\"",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/55707ccb0d3d0535121e48dea9eecb8789488f05",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7643"
}
],
"appcheck/firebase-appcheck": [
{
"commitId": "f1644ff03e283abf877224533f71489ff343879e",
"prId": "7640",
"author": "Rodrigo Lazo",
"message": "[Appcheck] Use default message if getToken exception doesn't include one (#7640)\n\nThis addresses issue\nhttps://github.com/firebase/firebase-android-sdk/issues/7624.\nPreviously, missing error messages in custom providers would the Task to\nfail with an null argument exception. The app check contract states that\nthe task **will** succeed. In the case of error, the\n`AppCheckTokenResult` object returned will include the error\ninformation.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/f1644ff03e283abf877224533f71489ff343879e",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7640"
}
],
"appcheck/firebase-appcheck-debug": [
{
"commitId": "d000410765c5946bf9694ddf57e739f6a67c2c9a",
"prId": "7693",
"author": "Rodrigo Lazo",
"message": "[Plugin] Fix build release artifacts workflow (#7693)\n\nDownloading the dackka binary should happen **before** gradle is run to\nbuild the artifacts, otherwise it doesn't find it and fails.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/d000410765c5946bf9694ddf57e739f6a67c2c9a",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7693"
},
{
"commitId": "7f0ec568155d130e3577bb90d2250ab2e57f99ad",
"prId": "7692",
"author": "Rodrigo Lazo",
"message": "[AppCheck] Add missing changelog entries. (#7692)\n\nThe change introduced in (#7640) triggers a release of app check, and all SDKs must contain a changelog entry for it.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/7f0ec568155d130e3577bb90d2250ab2e57f99ad",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7692"
}
],
"appcheck/firebase-appcheck-debug-testing": [
{
"commitId": "d000410765c5946bf9694ddf57e739f6a67c2c9a",
"prId": "7693",
"author": "Rodrigo Lazo",
"message": "[Plugin] Fix build release artifacts workflow (#7693)\n\nDownloading the dackka binary should happen **before** gradle is run to\nbuild the artifacts, otherwise it doesn't find it and fails.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/d000410765c5946bf9694ddf57e739f6a67c2c9a",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7693"
},
{
"commitId": "7f0ec568155d130e3577bb90d2250ab2e57f99ad",
"prId": "7692",
"author": "Rodrigo Lazo",
"message": "[AppCheck] Add missing changelog entries. (#7692)\n\nThe change introduced in (#7640) triggers a release of app check, and all SDKs must contain a changelog entry for it.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/7f0ec568155d130e3577bb90d2250ab2e57f99ad",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7692"
}
],
"appcheck/firebase-appcheck-playintegrity": [
{
"commitId": "d000410765c5946bf9694ddf57e739f6a67c2c9a",
"prId": "7693",
"author": "Rodrigo Lazo",
"message": "[Plugin] Fix build release artifacts workflow (#7693)\n\nDownloading the dackka binary should happen **before** gradle is run to\nbuild the artifacts, otherwise it doesn't find it and fails.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/d000410765c5946bf9694ddf57e739f6a67c2c9a",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7693"
},
{
"commitId": "7f0ec568155d130e3577bb90d2250ab2e57f99ad",
"prId": "7692",
"author": "Rodrigo Lazo",
"message": "[AppCheck] Add missing changelog entries. (#7692)\n\nThe change introduced in (#7640) triggers a release of app check, and all SDKs must contain a changelog entry for it.",
"commitLink": "https://github.com/firebase/firebase-android-sdk/commit/7f0ec568155d130e3577bb90d2250ab2e57f99ad",
"prLink": "https://github.com/firebase/firebase-android-sdk/pull/7692"
}
]
},
"changedLibrariesWithNoChangelog": [
":firebase-firestore"
]
}
Loading
Loading