2697 Commits

Author SHA1 Message Date
wukath b4fee1cf4d chore(release/v1-candidate): release 1.35.1
Change-Id: I01547579333c8fd0658c375732c635e0b58117c9
v1.35.1
2026-06-15 13:44:02 -07:00
adk-bot 28dbdfb805 chore(release/v1-candidate): release 1.35.0 v1.35.0 2026-06-15 13:13:44 -07:00
Kathy Wu 847a259cd8 fix: Only send grounding_metadata for 3.1 live at the end of each turn (#6129) 2026-06-15 13:04:45 -07:00
Xuan Yang 6e59c61104 fix(streaming): Ensure final partial=False frame is always yielded (#6096) 2026-06-15 10:13:22 -07:00
Liang Wu ecfdaf5f5e feat(live): Handle input transcription differently for Gemini Live 3.1 models (#6045) 2026-06-09 21:35:33 -07:00
Kathy Wu 87abf230db fix(flows): Reset reconnect attempts on connection success (#6042) 2026-06-09 17:28:26 -07:00
Kathy Wu fafafb38e1 fix(models): Default grounding metadata for Gemini 3.1 live (#6018) 2026-06-08 16:19:04 -07:00
Kathy Wu aafd97f6f0 fix: Support generalized history config injection for Gemini 3.1 Live on Vertex AI (#5999) 2026-06-08 10:42:07 -07:00
wukath 15eb38701c fix release finalize 2026-06-02 16:00:31 -07:00
Kathy Wu 6d027b4ce8 fix: add missing Gemini imports in base_llm_flow (#5943) 2026-06-02 15:23:23 -07:00
wukath 19a87caae7 ci: enable precommit workflow for v1 branch 2026-06-02 11:56:26 -07:00
wukath fbe372ed27 ci: enable python unit tests workflow for v1 branch 2026-06-02 11:54:04 -07:00
Wei (Jack) Sun 597a39a669 chore: merge release v1.34.2 to v1 (#5936)
Co-authored-by: Yifan <wanyif@google.com>
Co-authored-by: Jacksunwei <1281348+Jacksunwei@users.noreply.github.com>
2026-06-01 16:20:10 -07:00
Kathy Wu 459782f479 Cherry pick fixes to v1 (#5934)
Co-authored-by: asobran <asobran@google.com>
2026-06-01 15:59:34 -07:00
Yifan 7c0e186186 Update 1.34.1 (#5933) 2026-06-01 15:29:27 -07:00
Yifan ebfff9e52b Revert "Cherry pick fixes to v1" (#5932) 2026-06-01 15:26:06 -07:00
Kathy Wu 8e9d2df46e Cherry pick fixes to v1 (#5900) 2026-05-29 16:36:05 -07:00
asobran b0d419411f ci(releases): Scope changelog strictly to v1 bug fixes
Set last-release-sha to the commit immediately prior to v1 cherry-picks (e13ada75) to prevent Release Please from scanning upstream main history and incorrectly generating minor releases rather than patch releases.

Change-Id: Ic78faa3c558b0cab1670246310c734a2e1616cc4
2026-05-22 18:36:28 +00:00
asobran 8257bf8bfc ci(releases): Use semantic versioning strategy for v1 bug fixes
Configure release-please-config-v1.json with default versioning strategy so that bug fixes correctly trigger patch releases (e.g., 1.34.1) rather than minor releases.

Change-Id: I79efe1743968c6228a470a7a84ba11bcc5b82995
2026-05-22 18:31:25 +00:00
asobran 0ebc155d02 ci(releases): Set last-release-sha to v1.34.0 tag SHA
Fix last-release-sha in release-please-config-v1.json to track the commit SHA of tag v1.34.0 so that Release Please does not generate massive changelogs including legacy commits.

Change-Id: I2e59566ebb3900975b9f86326bb53ed959a92815
2026-05-22 18:26:39 +00:00
asobran 472c770b4f ci(releases): Configure release-please for v1 stable releases
Fix release-please-config-v1.json and .release-please-manifest-v1.json to track stable v1 versioning (1.34.0) and CHANGELOG.md rather than v2 prerelease configurations.

Change-Id: I7a82c4b27cad0f0af8a6736fe6e6e4552153b80a
2026-05-22 18:04:33 +00:00
asobran c1212379f5 ci(releases): Mirror v1 release-please configurations to v1 branch
Add .release-please-manifest-v1.json and release-please-config-v1.json to v1 branch to resolve base release-please config not found error when running release action.

Change-Id: If95237eba75aeac824fed2054dbef99924cbc517
2026-05-22 17:51:38 +00:00
sasha-gitg c54e9e810d Merge pull request #5804 from google/fix-v1-workflows
ci(workflows): Synchronize release workflows into v1 branch
2026-05-22 12:14:31 -04:00
asobran d27b099f18 ci(workflows): Synchronize release workflows for v1 branch
Add release-v1-*.yml workflow files to v1 branch to resolve GitHub Actions HTTP 422 error when triggering Release Please via workflow_dispatch, and remove inapplicable v2 workflow files.

Change-Id: Ic4f5a70df4502f670e372ccfd5a46cae686386f9
2026-05-22 16:08:34 +00:00
sasha-gitg d22291d4d6 Merge pull request #5798 from google/v1-cherry-pick
fix: cherry-pick bug fixes from main into v1
2026-05-22 10:41:04 -04:00
Sasha Sobran 1fd406b90a fix(tools): Prevent session drop on MCP tool error
Enable MCP graceful error handling by default and retrieve background session context task exceptions. This prevents unhandled AnyIO TaskGroup transport failures from bubbling through the event loop and abruptly terminating live streaming sessions with 1006 abnormal closure.

Change-Id: Ib4669fb57cddfc6ce61f9a3991b80db3f2b3e9ab
2026-05-22 00:32:14 +00:00
Kathy Wu 13763d71f8 fix: fix input and output transcription finished events for Gemini v3.1
Change-Id: I3c33e84569d5f63f46c99154afa9e9d68a2fdf3c
2026-05-22 00:32:14 +00:00
Kathy Wu 9b6b9e9763 fix: Fix bug where grounding metadata in Gemini 3.1 live was being silently discarded
In Gemini 3.1 live, LlmResponse packets sometimes contain only grounding metadata - don't skip these responses

Change-Id: I9e2c1080395588d61aefffd1b6570102930e1fe0
2026-05-22 00:32:14 +00:00
Wei (Jack) Sun e13ada758a chore: merge release v1.34.0 to main
Merge https://github.com/google/adk-python/pull/5747

Syncs version bump and CHANGELOG from release v1.34.0 to main.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/5747 from google:release/v1.34.0 160b1b45e4
PiperOrigin-RevId: 917514751
2026-05-18 17:40:10 -07:00
Xuan Yang 07a9a01b3c fix: Preserve live_session_id in function call handling
Fixes https://github.com/google/adk-python/issues/5702

Co-authored-by: Xuan Yang <xygoogle@google.com>
PiperOrigin-RevId: 917452441
2026-05-18 15:17:43 -07:00
Google Team Member 03b915b1bd fix(anthropic): map negative thinking_budget to adaptive thinking
- Claude Opus 4.7 rejects `thinking.type: "enabled"` with a 400 error
  and requires `thinking.type: "adaptive"`; adaptive is also the
  recommended mode for Opus 4.6 / Sonnet 4.6 where `"enabled"` is
  deprecated.
- The genai `ThinkingConfig.thinking_budget = -1` (AUTOMATIC) sentinel
  is the natural mapping for adaptive: the model picks the depth
  itself. Callers opt in with `-1`; positive values keep the existing
  `"enabled"` path so older models are unchanged.
- Bump `anthropic>=0.78` in `pyproject.toml`; 0.78 introduced
  `ThinkingConfigAdaptiveParam`. The previous floor (`>=0.43`) let
  Kokoro install `anthropic==0.75.0`, which crashes the new tests
  with `AttributeError: module 'anthropic.types' has no attribute
  'ThinkingConfigAdaptiveParam'`.

PiperOrigin-RevId: 917449729
2026-05-18 15:12:26 -07:00
George Weale 57d8fc7d81 perf(models): guard debug log evaluation with isEnabledFor
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 917411239
2026-05-18 13:57:16 -07:00
Arpit Jain e7ca943b6b ci: declare contents: read on seven workflows missing a permissions block
Merge https://github.com/google/adk-python/pull/5687

Co-authored-by: Xuan Yang <xygoogle@google.com>
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/5687 from arpitjain099:ci/add-permissions c145c102024d761ee90d0643a8d26f399578a0f4
PiperOrigin-RevId: 917369094
2026-05-18 12:28:52 -07:00
Google Team Member baf7efbaa9 feat: Added config option to include tool calls/responses in conversation history passed to user simulator
PiperOrigin-RevId: 917340645
2026-05-18 11:31:14 -07:00
Google Team Member 48f1b30251 feat: Simplify data retrieved handling of ask_data_agent tool and ask_data_insights tool
PiperOrigin-RevId: 917326615
2026-05-18 11:04:04 -07:00
Google Team Member 59f7347a63 fix(small): Convert events to the A2A format while respecting user vs agent role
PiperOrigin-RevId: 917275872
2026-05-18 09:28:29 -07:00
Jorge Israel Frómeta Moya 3d07960a70 fix: use tool_responses role for gemma4 models in LiteLLM integration
Merge https://github.com/google/adk-python/pull/5655
Closes: #5650

Co-authored-by: Xuan Yang <xygoogle@google.com>
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/5655 from jfrometa88:main d74b5216b0937ff371b25cc8f272ee8ab33c8dc9
PiperOrigin-RevId: 917231422
2026-05-18 07:54:00 -07:00
Google Team Member 12844939f1 fix: only serialize llm_response to json if it will be included in the trace
PiperOrigin-RevId: 917108173
2026-05-18 02:36:34 -07:00
Google Team Member bd062ec9eb perf: lazy-load service registries and split apps.app to cut cold start ~8%
PiperOrigin-RevId: 916278514
2026-05-15 18:35:23 -07:00
Google Team Member 6e6621c768 perf: lazy-load service registries and split apps.app to cut cold start ~8%
PiperOrigin-RevId: 916265957
2026-05-15 17:50:01 -07:00
Google Team Member 790c9bef9a feat: add general support for Gemini Live API in ADK evaluate
* Implements live inference in evaluation_generator.py using Runner.run_live().
* Updates base_eval_service.py, local_eval_service.py to support live mode data structures and connection handling.

Testing: Added unit tests:
* test_generates_inferences_with_user_simulator_live
* test_live_session_manually_triggers_callbacks
* test_live_session_manually_triggers_callbacks_with_tools
* test_perform_inference_with_use_live
* test_perform_inference_single_eval_item_live
* test_perform_inference_single_eval_item_non_live
PiperOrigin-RevId: 916231029
2026-05-15 16:14:21 -07:00
Google Team Member a5cddb8e86 chore: Remove experimental tag from SkillToolset
PiperOrigin-RevId: 916227202
2026-05-15 16:05:59 -07:00
Sasha Sobran 4309159700 fix(tools): Prevent AnyIO CancelScope task boundary violations during MCP session creation failure
Co-authored-by: Sasha Sobran <asobran@google.com>
PiperOrigin-RevId: 916220631
2026-05-15 15:50:01 -07:00
George Weale ec54bd439e perf(utils): cache find_context_parameter introspection
Adds @functools.lru_cache to find_context_parameter so the inspect.signature
+ typing.get_type_hints lookup runs once per function, not on every MCP
confirmation callback or declaration build. No public surface change.

Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916204929
2026-05-15 15:14:36 -07:00
Kathy Wu 2388090cd2 chore: Remove experimental tag from SkillToolset
Co-authored-by: Kathy Wu <wukathy@google.com>
PiperOrigin-RevId: 916198410
2026-05-15 15:00:19 -07:00
George Weale 7e61b51702 fix(tools): preserve code_execution_result and executable_code in AgentTool
AgentTool.run_async only extracted text parts from the inner agent's
response, silently dropping code_execution_result.output and
executable_code.code. Outer agents using an inner agent with a code
executor saw nothing.

Close #5481

Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916196604
2026-05-15 14:56:02 -07:00
George Weale 6ca6a14187 perf: lazy-load service registries and split apps.app to cut cold start ~8%
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916195791
2026-05-15 14:54:10 -07:00
George Weale 0cb9ae94b3 fix(models): treat empty GenerateContentResponse without prompt feedback as successful
Previously, an empty `candidates` list without `prompt_feedback` resulted in an `UNKNOWN_ERROR`. This change updates the logic to handle such cases as a successful completion with no generated content, which is valid for certain model interactions like tool-driven turns.

Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916115022
2026-05-15 11:55:40 -07:00
Amaad Martin 0524797ac7 fix(agents): fix visibility of output_key state delta in callbacks
Co-authored-by: Amaad Martin <amaadmartin@google.com>
PiperOrigin-RevId: 916112779
2026-05-15 11:51:28 -07:00
George Weale 9a1e75f242 fix(models): preserve string content in Anthropic tool_result blocks
`part_to_message_block` iterated `content` char-by-char when a tool
returned it as a plain string (e.g. `LoadSkillResourceTool`'s
`{"content": <file text>}`), producing `"H\ne\nl\nl\no"` instead of
`"Hello"`. Guard the list branch with `isinstance(..., list)` and add
a sibling branch that passes a scalar string through directly, matching
Anthropic's `content: str | list[ContentBlockParam]` shape.

Close #5358

Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916109239
2026-05-15 11:44:41 -07:00