Repository navigation
Conversation
Release-As: 2.10.0
…eSessionService When using StaticPool (such as with in-memory SQLite databases), exactly one underlying DBAPI connection is shared across all sessions. Under SQLAlchemy 2.1+, connection pool reset on return defaults to rolling back the connection when a session context closes. Because the physical connection is shared, closing a completed session concurrently rolls back in-flight uncommitted transactions on that shared connection, causing subsequent commits in concurrent sessions to commit empty transactions. Setting pool_reset_on_return=None prevents automatic rollbacks on connection return when StaticPool is used, while preserving explicit custom overrides if provided. Co-authored-by: Shangjie Chen <deanchen@google.com> PiperOrigin-RevId: 987841864
…ed id The streaming aggregator collapsed function calls with the same name and arguments whenever the model sent no call id, as Gemini 2.5 models do, so in SSE mode a turn that called one tool twice ran it once while the same turn without streaming ran it twice. Deduplicates only by a model-provided id, which Gemini 3 calls carry, because a repeated call without one cannot be told apart from a real second call. Co-authored-by: George Weale <gweale@google.com> PiperOrigin-RevId: 987871896
…ion again ADK keeps its own state under <owner>:<key> names, some built from a plugin's configurable name, so narrowing the bypass to the app:, user: and temp: prefixes made OAuth auth_config nodes, MultimodalToolResultsPlugin with retention='session' and SaveFilesAsArtifactsPlugin raise StateSchemaError in any workflow that declares state_schema. Restores the rule that any key containing a colon bypasses validation, which also means a misspelled scope such as users: is no longer rejected. Co-authored-by: George Weale <gweale@google.com> PiperOrigin-RevId: 988321296
A caller's httpx client factory is written against one httpx major while ADK binds whichever one the installed MCP SDK uses, and each major stores the other major's Timeout whole in every field instead of rejecting it, so the client failed with a type error on its first request. Hands the factory a Timeout that is also the four-item tuple both majors accept. Co-authored-by: George Weale <gweale@google.com> PiperOrigin-RevId: 988330057
…g-capture test Co-authored-by: Yifan Wang <wanyif@google.com> PiperOrigin-RevId: 988381920
Co-authored-by: wyf7107 <14008276+wyf7107@users.noreply.github.com> Co-authored-by: Yifan <wanyif@google.com>
wyf7107
approved these changes
Sep 25, 2026
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Syncs version bump and CHANGELOG from release v2.10.0 to main.