Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
e1dec0c
Adds stop_signal field to run_async
BowedMars2 Apr 2, 2026
b0799cc
Moves stop_signal implementation to a more reasonable spot
BowedMars2 Apr 2, 2026
5d4bd49
Moves the stop signal check to a more reasonable spot
BowedMars2 Apr 16, 2026
320bbdb
Merge branch 'google:main' into Issue-#4796
BowedMars2 Apr 23, 2026
2fe9544
Merge branch 'google:main' into Issue-#4796
BowedMars2 Apr 23, 2026
5fc0d25
Adds a unit test for the code
BowedMars2 Apr 23, 2026
e133e3b
autoformat.sh
BowedMars2 Apr 23, 2026
d935df5
chore: Add pre-commit hooks for code formatting and licensing
DeanChensj Apr 23, 2026
c6d02c8
chore: Format contributing folder using pre-commit
DeanChensj Apr 23, 2026
2565cc6
chore: Format using pre-commit, resolving pyink, isort, trailing spac…
DeanChensj Apr 24, 2026
909a8c2
feat: Add sample agent demonstrating 2LO, 3LO, and API Key auth via G…
google-genai-bot Apr 24, 2026
45ae084
chore: Align pyproject.toml metadata, dependency ordering, and isort …
DeanChensj Apr 24, 2026
b848390
fix(samples): Upgrade google-adk to 1.28.1 to fix vulnerability
sasha-gitg Apr 24, 2026
a69f861
fix: fix lifecycle issues with credentials in BigQuery Agent Analytic…
haiyuan-eng-google Apr 24, 2026
9a0d2f7
fix: Fix malformated skill.md
DeanChensj Apr 24, 2026
533776e
chore: Switch to pre-commit and cleanup redundant tools
DeanChensj Apr 24, 2026
4d5438c
fix: preserve cache fingerprint stability on creation failure
GWeale Apr 24, 2026
0c4f157
fix: Sanitize user_id derived from PubSub subscription and Eventarc s…
GWeale Apr 24, 2026
5ce33b9
fix: Capture and include LLM usage metadata in summarized events
GWeale Apr 24, 2026
c3d50db
refactor: Use artifact_service.load_artifact during rewind
GWeale Apr 24, 2026
1cdd1e7
fix: Add support for overriding the API version in GoogleLLM
GWeale Apr 24, 2026
0447e93
fix: Fix SSRF and local-file access in load_web_page
GWeale Apr 24, 2026
66bfedc
perf: lazy-load optional providers and auth chain to cut cold start ~25%
GWeale Apr 24, 2026
7a7083c
fix: accumulate list values when merging parallel tool call state_delta
GWeale Apr 24, 2026
c263426
fix: fix dataset location handling in BigQueryAgentAnalyticsPlugin
haiyuan-eng-google Apr 24, 2026
f0c787f
fix: preserve function call IDs for Anthropic models
GWeale Apr 24, 2026
78a8851
fix: avoid double-execution of sync FunctionTools returning None
GWeale Apr 24, 2026
34c7505
docs(gemini): show subclass pattern for custom Client config
GWeale Apr 24, 2026
70a7add
fix: catch ValueError in safe-JSON serializers for circular refs
GWeale Apr 24, 2026
3838dd4
fix: fix rewind to preserve initial session state
GWeale Apr 24, 2026
16952bd
feat: Add support for Anthropic's thinking blocks
GWeale Apr 24, 2026
599079b
chore: Rename utils.py to gepa_utils.py to ensure consistent first-pa…
DeanChensj Apr 24, 2026
02deeb9
feat(analytics): add support for logging LLM cache metadata to BigQuery
google-genai-bot Apr 24, 2026
4073238
fix(litellm): emit input_audio for audio inline_data parts
GWeale Apr 25, 2026
49985c9
fix: cancel siblings in parallel function calling on failure
sasha-gitg Apr 25, 2026
b0b8b31
fix: accumulate list values when merging parallel tool call state_delta
GWeale Apr 25, 2026
c65dd55
feat: Add OpenTelemetry tracing for event compaction
GWeale Apr 25, 2026
af1b00a
fix: fix rewind to preserve initial session state
google-genai-bot Apr 25, 2026
f1532f9
chore: Update pre-commit workflow name
DeanChensj Apr 25, 2026
784350d
fix: Scope Vertex RAG memory display names
petrmarinec Apr 25, 2026
2d61cb6
fix: preserve empty-string text parts in A2A converter
voidborne-d Apr 25, 2026
7de5bc5
fix: Fix RecursionError in ADK framework by adding circular reference…
google-genai-bot Apr 25, 2026
c87ee1e
fix: Use correct camelCase functionCallId
google-genai-bot Apr 27, 2026
f455974
docs: use sphinx-click to generate docs for google.adk.cli
sasha-gitg Apr 27, 2026
98f961c
chore: reapply pyprojectfmt
GWeale Apr 27, 2026
684a6e7
fix(optimization): handle None metric scores in LocalEvalSampler (#5415)
JesserHamdaoui Apr 27, 2026
1deab6d
fix: Fix exception handling and argument order in ReflectRetryToolPlugin
xuanyang15 Apr 28, 2026
ad937fe
fix: Fix GcpAuthProvider to return capitalized Bearer scheme
google-genai-bot Apr 28, 2026
6d2ada8
fix(deps): bump litellm cap to >=1.83.7 to admit CVE patches
cwest Apr 28, 2026
3e282d2
feat: Implement Skill Registry interface in ADK
wukath Apr 28, 2026
662354a
feat: Added indication of user message in history event list
google-genai-bot Apr 28, 2026
029b87d
fix(otel): change `gen_ai.tool_definitions` to `gen_ai.tool.definitions`
wikaaaaa Apr 29, 2026
ed8b31c
chore: migrate from gemini-1.* and gemini-2.0* to gemini-2.5-*
google-genai-bot Apr 29, 2026
e1e652d
docs: update `output_schema` docstring to reflect support for `tools`…
google-genai-bot Apr 30, 2026
2343973
fix: Fix misplaced pytest decorator on helper dataclass in 2LO integr…
google-genai-bot Apr 30, 2026
2b04996
feat: Add express mode onboarding support to adk deploy cli
wukath Apr 30, 2026
282db87
feat: Allow user to define credential_key for McpToolset
wukath Apr 30, 2026
492ebe0
Adds stop_signal field to run_async
BowedMars2 Apr 2, 2026
611b8d1
Moves stop_signal implementation to a more reasonable spot
BowedMars2 Apr 2, 2026
601a1b2
Moves the stop signal check to a more reasonable spot
BowedMars2 Apr 16, 2026
04f056f
Adds a unit test for the code
BowedMars2 Apr 23, 2026
6912151
autoformat.sh
BowedMars2 Apr 23, 2026
e181405
Merge remote-tracking branch 'origin/Issue-#4796' into Issue-#4796
BowedMars2 Apr 30, 2026
a0682b5
Fix missing imports
BowedMars2 Apr 30, 2026
e75678d
Fix failed checks
BowedMars2 Apr 30, 2026
4f63c65
Fix isort failure
BowedMars2 Apr 30, 2026
4a786ab
chore: bump OpenTelemetry to allow >=1.39 and fix load_web_page test
sasha-gitg Apr 30, 2026
f57b05d
fix: yield tool_call_parts immediately in live mode to unblock Gemini…
sandeshveerani4 Apr 30, 2026
5139a00
Merge branch 'main' into Issue-#4796
BowedMars2 Apr 30, 2026
8788d1c
fix: make `_EvalMetricResultWithInvocation.expected_invocation` `Opti…
GWeale Apr 30, 2026
dca90d2
Merge branch 'main' into Issue-#4796
rohityan Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ If you have ideas on how this should look in code, please share a
pseudo-code example.

### Additional Context
Add any other context or screenshots about the feature request here.
Add any other context or screenshots about the feature request here.
69 changes: 0 additions & 69 deletions .github/workflows/isort.yml

This file was deleted.

16 changes: 8 additions & 8 deletions .github/workflows/mypy-new-errors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,38 +33,38 @@ jobs:
git checkout origin/main

git checkout ${{ github.sha }} -- pyproject.toml

# Install dependencies for main
uv venv .venv
source .venv/bin/activate
uv sync --all-extras

# Run mypy, filter for errors only, remove line numbers (file:123: -> file::), and sort
# We ignore exit code (|| true) because we expect errors on main
uv run mypy . | grep "error:" | sed 's/:\([0-9]\+\):/::/g' | sort > main_errors.txt || true

echo "Found $(wc -l < main_errors.txt) errors on main."

- name: Check PR Branch
run: |
# Switch back to the PR commit
git checkout ${{ github.sha }}

# Re-sync dependencies in case the PR changed them
source .venv/bin/activate
uv sync --all-extras

# Run mypy on PR code, apply same processing
uv run mypy . | grep "error:" | sed 's/:\([0-9]\+\):/::/g' | sort > pr_errors.txt || true

echo "Found $(wc -l < pr_errors.txt) errors on PR branch."

- name: Compare and Fail on New Errors
run: |
# 'comm -13' suppresses unique lines in file1 (main) and common lines,
# 'comm -13' suppresses unique lines in file1 (main) and common lines,
# leaving only lines unique to file2 (PR) -> The new errors.
comm -13 main_errors.txt pr_errors.txt > new_errors.txt

if [ -s new_errors.txt ]; then
echo "::error::The following NEW mypy errors were introduced:"
cat new_errors.txt
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

name: pre-commit
name: Pre-commit Checks

on:
push:
Expand Down
69 changes: 0 additions & 69 deletions .github/workflows/pyink.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/python-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ jobs:
source .venv/bin/activate
pytest tests/unittests \
--ignore=tests/unittests/artifacts/test_artifact_service.py \
--ignore=tests/unittests/tools/google_api_tool/test_googleapi_to_openapi_converter.py
--ignore=tests/unittests/tools/google_api_tool/test_googleapi_to_openapi_converter.py
2 changes: 1 addition & 1 deletion .github/workflows/stale-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,4 @@ jobs:
LLM_MODEL_NAME: "gemini-2.5-flash"
PYTHONPATH: contributing/samples

run: python -m adk_stale_agent.main
run: python -m adk_stale_agent.main
62 changes: 33 additions & 29 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,34 +1,38 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: check-added-large-files
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: local
- id: check-yaml
args: [--allow-multiple-documents]
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.5.0
hooks:
- id: isort
name: isort
entry: isort
language: system
types: [python]
- id: pyink
name: pyink
entry: pyink --config pyproject.toml
- id: pyproject-fmt
- repo: https://github.com/PyCQA/isort
rev: 8.0.1
hooks:
- id: isort
- repo: https://github.com/google/pyink
rev: 25.12.0
hooks:
- id: pyink
- repo: local
hooks:
- id: addlicense
name: addlicense
entry: >
bash -c 'if command -v addlicense >/dev/null 2>&1;
then addlicense -c "Google LLC" -l apache "$@";
else echo "Warning: addlicense not installed, skipping"; fi' --
language: system
types: [python]
files: \.(py|sh)$
- repo: https://github.com/executablebooks/mdformat
rev: 0.7.22
hooks:
- id: mdformat
files: ^(README\.md|CONTRIBUTING\.md|contributing/.*\.md)$
exclude: (?i)SKILL\.md$
additional_dependencies:
- mdformat-gfm
16 changes: 4 additions & 12 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,17 +255,7 @@ the key style points:

### Autoformat (Required Before Committing)

**Always run** before committing code: `bash ./autoformat.sh`

**Manual formatting** (if needed): ```bash

# Format imports

isort src/ tests/ contributing/

# Format code style

pyink --config pyproject.toml src/ tests/ contributing/ ```
**Always run** before committing code: `pre-commit run --all-files`

**Check formatting** without making changes: `bash pyink --check --diff --config
pyproject.toml src/ isort --check src/`
Expand Down Expand Up @@ -512,7 +502,9 @@ Quick reference to important project files:
- **Main config:** `pyproject.toml` (uses `flit_core` build backend)
- **Dependencies:** `uv.lock` (managed by `uv`)
- **Linting:** `pylintrc` (Google Python Style Guide)
- **Auto-format:** `autoformat.sh` (runs isort + pyink)
- **Auto-format:** `pre-commit` (runs isort + pyink)
- **Run on all files:** `pre-commit run --all-files`
- **Install as hook:** `pre-commit install`
- **CLI entry point:** `src/google/adk/cli/cli_tools_click.py`
- **Web UI backend:** `src/google/adk/cli/adk_web_server.py`
- **Main exports:** `src/google/adk/__init__.py` (exports Agent, Runner)
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@
* Rolling back change to fix issue affecting LlmAgent creation due to missing version field ([0e18f81](https://github.com/google/adk-python/commit/0e18f81a5cd0d0392ded653b1a63a236449a2685))


## [1.27.0](https://github.com/google/adk-python/compare/v1.26.0...v1.27.0) (2026-03-12)
## [1.27.0](https://github.com/google/adk-python/compare/v1.26.0...v1.27.0) (2026-03-12)

### Features
* **[Core]**
Expand Down Expand Up @@ -261,7 +261,7 @@
* **otel:** add experimental semantic convention and emit `gen_ai.client.inference.operation.details` event ([19718e9](https://github.com/google/adk-python/commit/19718e9c174af7b1287b627e6b23a609db1ee5e2))
* add missing token usage span attributes during model usage ([77bf325](https://github.com/google/adk-python/commit/77bf325d2bf556621c3276f74ee2816fce2a7085))
* capture tool execution error code in OpenTelemetry spans ([e0a6c6d](https://github.com/google/adk-python/commit/e0a6c6db6f8e2db161f8b86b9f11030f0cec807a))

* **[Tools]**
* Warn when accessing DEFAULT_SKILL_SYSTEM_INSTRUCTION ([35366f4](https://github.com/google/adk-python/commit/35366f4e2a0575090fe12cd85f51e8116a1cd0d3))
* add preserve_property_names option to OpenAPIToolset ([078b516](https://github.com/google/adk-python/commit/078b5163ff47acec69b1c8e105f62eb7b74f5548))
Expand Down
Loading
Loading