Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
888 commits
Select commit Hold shift + click to select a range
11df1e8
fix: Change `pass` to `yield` in BaseLlmConnection.receive
google-genai-bot Nov 21, 2025
a4453c8
fix: adk deploy agent_engine uses correct URI during an update
RKest Nov 21, 2025
89aee16
chore: Allow google-cloud-storage >=2.18.0
DeanChensj Nov 21, 2025
5583bb8
chore: Update MCP requirement to >1.10.0
DeanChensj Nov 21, 2025
23f1d89
docs(agent): Implement stale issue bot
ryanaiagent Nov 21, 2025
9d331ab
ci: bump action scripts versions
gioboa Nov 21, 2025
609c617
docs: too many E(inv=2, role=user) plus reformatting
adrianad Nov 21, 2025
2247a45
feat(agents): add validation for unique sub-agent names (#3557)
sarojrout Nov 21, 2025
777dba3
feat(tools): Add an option to disallow propagating runner plugins to …
davidkl97 Nov 21, 2025
52674e7
fix: Update AgentTool to use Agent's description when input_schema is…
xuanyang15 Nov 21, 2025
2e1f730
fix: Update LiteLLM system instruction role from "developer" to "system"
GWeale Nov 21, 2025
a9a418b
fix: Remove distructive validation
DeanChensj Nov 22, 2025
cf21ca3
fix: double function response processing issue
AlexeyChernenkoPlato Nov 22, 2025
a1c09b7
fix: Windows Path Handling and Normalize Cross-Platform Path Resoluti…
p-kris10 Nov 25, 2025
4eb2a11
fix: fix bug where remote a2a agent wasn't using its a2a part converter
google-genai-bot Nov 25, 2025
728abe4
feat(agents): Add warning for duplicate sub-agent names
DeanChensj Nov 25, 2025
4a42d0d
feat: Add enum constraint to `agent_name` for `transfer_to_agent`
qieqieplus Nov 25, 2025
b331d97
docs: Remove the `list_unlabeled_issues` tool from the issue triaging…
xuanyang15 Nov 25, 2025
c6e7d6b
feat(tools): Add debug logging to VertexAiSearchTool
omkute10 Nov 25, 2025
e6be5bc
fix: Add type annotations to Runner.__aenter__
bjacotg Nov 25, 2025
d29261a
feat(models): Enable multi-provider support for Claude and LiteLLM
Virtuoso633 Nov 25, 2025
5cad8a7
fix: Throw warning when using transparent session resumption in ADK L…
hangfei Nov 25, 2025
5453b5b
fix: Allow image parts in user messages for Anthropic Claude
Happy-ryan Nov 25, 2025
06e6fc9
feat: wire runtime entrypoints to service factory defaults
GWeale Nov 25, 2025
f283027
feat: expose service URI flags
GWeale Nov 25, 2025
ec4ccd7
feat: Create APIRegistryToolset to add tools from Cloud API registry …
wukath Nov 26, 2025
73e5687
fix: Remove 'per_agent' from kwargs when using remote session service…
GWeale Nov 26, 2025
786aaed
feat: Support streaming function call arguments in progressive SSE st…
xuanyang15 Nov 26, 2025
0094eea
feat!: Migrate DatabaseSessionService to use JSON serialization schema
DeanChensj Nov 27, 2025
7edd7ea
chore: Add warning for full resource path in VertexAiMemoryBankServic…
ishanrajsingh Dec 1, 2025
8e82838
fix: Refactor Anthropic integration to support both direct API and Ve…
EItanya Dec 1, 2025
2a1a41d
chore: Adding Eval Client label to model calls made during evals
ankursharmas Dec 1, 2025
cb19d07
fix: Optimize Stale Agent with GraphQL and Search API to resolve 429 …
ryanaiagent Dec 1, 2025
dd827af
chore: Move simulation related modules to a sub-package in evaluation
KPJoshi Dec 1, 2025
ed9da3f
feat!: Introduction of ADK folder for local session and artifact storage
GWeale Dec 2, 2025
7e8eeca
fix: Add a FastAPI endpoint for saving artifacts
GWeale Dec 2, 2025
98d8293
fix: allow LlmAgent model to be provided via CodeConfig
GWeale Dec 2, 2025
8da61be
fix: Flush pending transcriptions on turn/generation complete or inte…
hangfei Dec 2, 2025
0907119
feat: add Spanner vector_store_similarity_search tool
google-genai-bot Dec 2, 2025
7740113
chore: Add migration guide for DatabaseSessionService
DeanChensj Dec 2, 2025
3aef9a1
docs: Update ADK issue triaging agent to add component label before p…
xuanyang15 Dec 2, 2025
b807d62
feat(bigquery): Add labels support to BigQueryToolConfig for job trac…
Faraaz1994 Dec 3, 2025
b638a48
fix: Update API Registry Toolset to prod cloudapiregistry URL now tha…
wukath Dec 3, 2025
76dc169
fix: Add editLimit parameter to GraphQL query
ryanaiagent Dec 3, 2025
e02b9fb
fix: Add a warning when deploying with the ADK Web UI enabled
GWeale Dec 3, 2025
8c9105b
chore: Drop Python 3.9 support, set minimum to Python 3.10
GWeale Dec 3, 2025
9d918d4
feat!: Rollback the DB migration as it is breaking
DeanChensj Dec 3, 2025
5947c41
chore: Update component owners
boyangsvl Dec 3, 2025
960b206
chore: Bumps version to v1.20.0 and updates CHANGELOG.md
ankursharmas Dec 3, 2025
92821b8
docs: Remove the duplicated label instructions for the ADK triaging a…
xuanyang15 Dec 4, 2025
507424a
feat: Add location for table in agent events in plugin BigQueryAgentA…
lipinski Dec 4, 2025
bb8a269
fix: Extract and propagate task_id in RemoteA2aAgent
GWeale Dec 4, 2025
b0c3cc6
fix: Support file uploads for OpenAI/Azure in LiteLLM
Dec 4, 2025
e9182e5
feat: Add Gemma3Ollama model integration and a sample
douglas-reid Dec 4, 2025
0a07a66
feat: Change service creation and add app name mapping for sessions
GWeale Dec 4, 2025
2b64715
fix: Handle string function responses in LiteLLM conversion
GWeale Dec 4, 2025
f273517
fix(oauth): add client id to token exchange
davidkl97 Dec 4, 2025
c557b0a
fix: Update FastAPI and Starlette to fix CVE-2025-62727 (ReDoS vulner…
GWeale Dec 4, 2025
82bd4f3
fix: Extract and propagate task_id in RemoteA2aAgent
google-genai-bot Dec 4, 2025
3d444cc
chore: Ignore the .adk/ directory
GWeale Dec 4, 2025
a9b853f
fix: ApigeeLLM support for Built-in tools like GoogleSearch, BuiltInC…
google-genai-bot Dec 5, 2025
711df01
feat(otel): remove experimental status from otel_to_cloud
jawoszek Dec 5, 2025
9d2388a
feat: Add SSL certificate verification configuration to OpenAPI tools
xuanyang15 Dec 5, 2025
b7ce5e1
fix: Yield event with error code when agent run raised A2AClientHTTPE…
google-genai-bot Dec 5, 2025
de841a4
chore: Improve error message for missing invocation_id and new_messag…
GWeale Dec 5, 2025
f22bac0
feat: add Spanner execute sql query result mode
google-genai-bot Dec 6, 2025
143ad44
fix: pass context to client inceptors
google-genai-bot Dec 6, 2025
82e6623
fix: Add tool_name_prefix support to OpenAPIToolset
xuanyang15 Dec 8, 2025
cde7f7c
feat: Allow overriding connection template
google-genai-bot Dec 9, 2025
56775af
fix: OpenAPI schema generation by skipping JSON schema for judge_mode…
GWeale Dec 9, 2025
32e87f6
feat: Adds ADK EventActions to A2A response
hoonji Dec 9, 2025
1ae944b
chore: Migrate computer to use the new feature decorator
xuanyang15 Dec 9, 2025
bab5729
chore: Migrate Google tools to use the new feature decorator
xuanyang15 Dec 9, 2025
ee743bd
chore: Update component definition for triaging agent
seanzhougoogle Dec 9, 2025
4f54660
fix: Update the code to work with either 1 event or more than 1 events
google-genai-bot Dec 9, 2025
6388ba3
fix: Avoid false positive "App name mismatch" warnings in Runner
GWeale Dec 10, 2025
51a638b
chore: Introduce `build_function_declaration_with_json_schema` to use…
xuanyang15 Dec 10, 2025
b23deeb
docs: Update adk docs update workflow to invoke the updater agent onc…
xuanyang15 Dec 10, 2025
4111f85
docs(adk): fix run_async example and correct ticketId payload key
krishna-dhulipalla Dec 11, 2025
7b356dd
feat: Add add_session_to_memory to CallbackContext and ToolContext
GWeale Dec 11, 2025
f0bdcab
chore: Update genAI SDK version
seanzhougoogle Dec 11, 2025
c6320ca
feat: Support interactions API for calling models
seanzhougoogle Dec 11, 2025
68d7048
chore: Add sample agent for interaction api integration
seanzhougoogle Dec 11, 2025
7b2fe14
feat: Upgrade BigQueryAgentAnalyticsPlugin to v2.0
google-genai-bot Dec 11, 2025
99f893a
fix: Resolve project and credentials before creating Spanner client
GWeale Dec 11, 2025
894d8c6
fix: Refactor LiteLLM response schema formatting for different models
GWeale Dec 11, 2025
cb3244b
feat: Use json schema for function tool declaration when feature enabled
xuanyang15 Dec 11, 2025
e1a7593
feat: Add header_provider to OpenAPIToolset and RestApiTool
xuanyang15 Dec 11, 2025
9cccab4
fix: installing dependencies for py 3.10
google-genai-bot Dec 11, 2025
df86847
chore: update adk web, fixes image not rendering, state not updating,…
wyf7107 Dec 11, 2025
055dfc7
fix: Normalize multipart content for LiteLLM's ollama_chat provider
GWeale Dec 11, 2025
db711cd
fix: Redirect LiteLLM logs from stderr to stdout
GWeale Dec 11, 2025
ee9b4ca
feat: Add .yml to watched file extensions and add unit tests for Agen…
GWeale Dec 11, 2025
60e314a
fix: Update SQLite database URL for async connection
wuliang229 Dec 12, 2025
29c1115
chore: Bumps version to v1.21.0 and updates CHANGELOG.md
seanzhougoogle Dec 12, 2025
8782a69
feat: add token_endpoint_auth_method support to OAuth2 credentials
sully90 Dec 12, 2025
5c4bae7
fix: Add MIME type inference and default for file URIs in LiteLLM
GWeale Dec 12, 2025
69997cd
fix: oauth refresh not triggered on token expiry
MarlzRana Dec 12, 2025
e515e0f
feat: Introduce a post-hoc, per-turn evaluator for user simulations
google-genai-bot Dec 15, 2025
8335f35
fix: Change error_message column type to TEXT in DatabaseSessionService
hiroakis Dec 15, 2025
e8ab7da
chore: Move SQLite migration script to migration/ folder
wuliang229 Dec 15, 2025
a088506
chore: Add `override_feature_enabled` to override the default feature…
xuanyang15 Dec 15, 2025
7e6ef71
feat: Introduce new database schema for DatabaseSessionService
wuliang229 Dec 16, 2025
b6f6dcb
feat: Add a handwritten tool for Cloud Pub/Sub
kamalaboulhosn Dec 16, 2025
2ea6e51
feat: support regex for allowed origins
seanzhougoogle Dec 16, 2025
ba91fea
feat: Use new JSON-based schema for newly-created databases
wuliang229 Dec 16, 2025
42317f8
fix: Add missing space in README.md
hiroakis Dec 17, 2025
322dd18
docs: Fix typos, broken links, and grammar across documentation
Goodnight77 Dec 17, 2025
43270bc
fix: Move and enhance the deprecation warning for the plugins argumen…
google-genai-bot Dec 17, 2025
fa717ad
fix: Upgrade GitHub Actions to latest versions
salmanmkc Dec 17, 2025
1add41e
fix: Upgrade GitHub Actions for Node 24 compatibility
salmanmkc Dec 17, 2025
c6f389d
fix: Refine Ollama content flattening and provider checks
GWeale Dec 17, 2025
e3bac1a
fix: Built-in agents (names starting with "__") now use in-memory ses…
GWeale Dec 17, 2025
78c96e9
fix: update Api Registry Agent prompt to be more specific and give it…
wukath Dec 17, 2025
589f15c
feat: Add an internal function name 'adk_framework' to allow passing …
DeanChensj Dec 17, 2025
f35d129
feat(fix): Check all content parts for emptiness in _contains_empty_c…
google-genai-bot Dec 18, 2025
fcea86f
chore: Update _flatten_ollama_content return type and add tests
GWeale Dec 18, 2025
0088b0f
fix: Add x-goog-user-project header to http calls in API Registry
wukath Dec 18, 2025
253ac87
fix: nit fixes for API Registry - updating imports / type hints and f…
wukath Dec 18, 2025
f5f4c01
fix: Pin aiosqlite version to 0.21.0
xuanyang15 Dec 18, 2025
d58ea58
chore: Update google-genai and google-cloud-aiplatform versions
seanzhougoogle Dec 18, 2025
f1eb1c0
chore: Update latest Live Model names for sample agent
seanzhougoogle Dec 18, 2025
e4ee9d7
feat: Update event_converter used in A2ARemote agent to use a2a_task.…
google-genai-bot Dec 18, 2025
f51b9b7
fix: Prevent stale bot from flagging internal maintainer discussions
ryanaiagent Dec 19, 2025
71b3289
fix: Only prepend "https://" to the MCP server url if it doesn't alre…
wukath Dec 19, 2025
0b1cff2
feat: Enable PROGRESSIVE_SSE_STREAMING feature by default
xuanyang15 Dec 19, 2025
4f3b733
fix: label response as thought if task is immediately returned as wor…
google-genai-bot Dec 22, 2025
0f5b677
feat: Mark Vertex calls made from non-gemini models
google-genai-bot Dec 23, 2025
871571d
feat: Mark Vertex calls made from non-gemini models
google-genai-bot Dec 23, 2025
1f546df
feat: Set log level when deploying to Agent Engine
yeesian Dec 23, 2025
26e77e1
fix: Fix issue with MCP tools throwing an error
google-genai-bot Dec 27, 2025
38a30a4
fix: Handle overriding of requirements when deploying to agent engine
yeesian Dec 30, 2025
0918b64
fix: fix inconsistent method signatures for evaluate_invocations
KPJoshi Dec 30, 2025
a364388
feat: Add custom instructions support to LlmBackedUserSimulator
KPJoshi Dec 30, 2025
07bb164
fix: Exclude thought parts when merging agent output
google-genai-bot Dec 30, 2025
5b7c8c0
chore: Introduce MetricInfoProvider interface, and refactor metric ev…
jcpagadora737 Jan 2, 2026
6b7386b
fix: Heal missing tool results before LiteLLM requests
GWeale Jan 5, 2026
3ec7ae3
fix: ignore adk-bot administrative actions in stale agent
ryanaiagent Jan 5, 2026
6f259f0
fix: Harden YAML builder tmp save/cleanup
GWeale Jan 5, 2026
688f48f
fix: Update empty event check to include executable code and executio…
GWeale Jan 5, 2026
e32f017
fix: Prevent ContextFilterPlugin from creating orphaned function resp…
GWeale Jan 5, 2026
8bed01c
fix: make the BigQuery analytics plugin work with agents that don't h…
mimisun Jan 5, 2026
838530e
fix: rehydration of EventActions in StorageEvent.to_event
GWeale Jan 5, 2026
e850e9c
chore: Update disconnecting log message
seanzhougoogle Jan 5, 2026
93d6e4c
fix: Allow string values for ToolTrajectoryCriterion.match_type
GWeale Jan 5, 2026
8789ad8
fix: Include back-ticks around the BQ asset names in the tools examples
google-genai-bot Jan 5, 2026
4ddb2cb
chore: Close database engines to avoid aiosqlite pytest hangs
GWeale Jan 5, 2026
e3db2d0
fix: Propagate RunConfig custom metadata to all events
GWeale Jan 5, 2026
bfed19c
feat: expose mcps streamable http custom httpx factory parameter
mikeedjones Jan 5, 2026
fc4e3d6
fix: Fix double JSON encoding when saving eval set results
GWeale Jan 5, 2026
6f2c70f
chore: add docstring for BIDI streaming mode
seanzhougoogle Jan 5, 2026
30d3411
fix: Prevent retry_on_errors from retrying asyncio.CancelledError
GWeale Jan 5, 2026
1ae0e16
fix: Remove fallback to cached exchanged credential in _load_existing…
GWeale Jan 6, 2026
084fcfa
fix: Split SSE events with both content and artifactDelta in ADK Web …
GWeale Jan 6, 2026
1ace8fc
fix: Filter out thought parts in lite_llm._get_content
GWeale Jan 6, 2026
8329fec
chore: Add disambiguation message to enterprise_search_tool
wuliang229 Jan 6, 2026
0827d12
fix: Prevent .env files from overriding existing environment variables
GWeale Jan 7, 2026
ce64787
feat: Add database schema migration command and script
wuliang229 Jan 7, 2026
6dce7f8
fix: Add schema type sanitization to OpenAPI spec parser
GWeale Jan 7, 2026
ecc9f18
chore: remove unecessary event loop creation in LiveRequstQueue const…
seanzhougoogle Jan 7, 2026
35308d3
chore: add min version of Google Auth to include fix
wuliang229 Jan 7, 2026
9403a44
chore: Cleanup the workaround logic for streamlit
seanzhougoogle Jan 7, 2026
742c926
fix: Validate app name in `adk create` command
GWeale Jan 7, 2026
b287215
feat: make LlmAgent.model optional with a default fallback
GWeale Jan 7, 2026
19de45b
fix: Honor the modalities parameter in adk api server for live API
seanzhougoogle Jan 7, 2026
a4b914b
fix: Set the default response modality to AUDIO only
seanzhougoogle Jan 7, 2026
10bdc07
chore: Add docstring for StreamingMode
xuanyang15 Jan 7, 2026
96c5db5
fix: use mode='json' in model_dump to serialize bytes correctly when …
sasha-gitg Jan 7, 2026
d5bd8d9
chore: Clean up the invocation context initialization logic for LIVE
seanzhougoogle Jan 7, 2026
b30c2f4
fix: avoid local .adk storage in Cloud Run/GKE
GWeale Jan 7, 2026
5912835
fix: Add checks for event content and parts before accessing
GWeale Jan 7, 2026
45a25d7
chore: update adk web to match main branch
wyf7107 Jan 7, 2026
aaf76a6
feat: add new conversational analytics api tool set
google-genai-bot Jan 7, 2026
c34feb4
feat: add new conversational analytics api tool set
google-genai-bot Jan 8, 2026
3cd3d56
fix: Add google-cloud-geminidataanalytics to dependencies
google-genai-bot Jan 8, 2026
a0b2aac
fix: Add google-cloud-geminidataanalytics to dependencies
google-genai-bot Jan 8, 2026
392dda1
chore: Update live multi agent sample with latest live models
seanzhougoogle Jan 8, 2026
9b2bd41
chore: Put user_id in the error message when session is not found
seanzhougoogle Jan 8, 2026
6c67b6c
fix: map LiteLLM thought parts to reasoning_content
GWeale Jan 8, 2026
6887913
chore: Bumps version to v1.22.0 and updates CHANGELOG.md
wuliang229 Jan 8, 2026
8afb99a
feat: Support per-eval case and per-invocation rubrics in rubric-base…
jcpagadora737 Jan 8, 2026
226e873
fix: Ensure consistent ADC quota project override in ADK
wukath Jan 8, 2026
da2c933
feat: Filter invocation and eval case rubrics by type when running ru…
jcpagadora737 Jan 8, 2026
8e41f7f
chore: Annotate the type of transcription parameter in _has_non_empty…
seanzhougoogle Jan 8, 2026
f1ccc0c
feat: Support page token in API Registry
wukath Jan 8, 2026
3c51ee7
fix: fix SSRF vulnerability in load_web_page by disabling automatic r…
sasha-gitg Jan 8, 2026
b8917bc
fix: Handle SQLite URLs in SqliteSessionService
GWeale Jan 9, 2026
23d330e
feat: Include model ID with token usage for live events
wukath Jan 9, 2026
d6c964e
fix: Create a new session resumption config if it's None
seanzhougoogle Jan 9, 2026
4dd5434
chore: Make live request queue required
seanzhougoogle Jan 9, 2026
62fa4e5
feat(cli): add `otel_to_cloud` flag to adk deploy cloud_run and adk d…
wikaaaaa Jan 9, 2026
fdc286a
fix: Handle mixed tool and non-tool parts in LiteLLM content conversion
GWeale Jan 9, 2026
0fe3870
chore: Migrate the rest of tools to use the new feature decorator
xuanyang15 Jan 9, 2026
86e7664
feat(runners): Allow app_name to override app.name when both provided
sarojrout Jan 9, 2026
6b241f5
feat: Use json schema for agent tool declaration when feature enabled
xuanyang15 Jan 9, 2026
8fb2be2
chore: Add back `adk migrate session` CLI
wuliang229 Jan 9, 2026
59eda98
feat: add SpannerVectorStore for orchestrating and providing utility …
google-genai-bot Jan 10, 2026
2bd984a
feat: Add option to send full history to stateless RemoteA2aAgents
google-genai-bot Jan 10, 2026
94d48fc
fix: Database reserved keyword issue
DineshThumma9 Jan 10, 2026
43b484f
fix: Handle file URI conversion for LiteLLM based on provider and model
GWeale Jan 12, 2026
4a34501
chore: Remove unnecessary assert of live request queue
seanzhougoogle Jan 12, 2026
458d24e
fix: Convert examples for A2A agent card
timn Jan 12, 2026
5880109
fix: Set empty JSON string as placeholder for redacted content in traces
GWeale Jan 12, 2026
7c8bc69
fix: Ensure open api tool service account exchanger uses quota projec…
wukath Jan 12, 2026
6c0bf85
fix: add back migration_runner in cli_tools_click
GWeale Jan 12, 2026
2592f01
chore: Bumps version to v1.22.1 and updates CHANGELOG.md
wuliang229 Jan 12, 2026
a4116a6
feat: Enhance TraceManager async safety, enrich BigQuery plugin loggi…
google-genai-bot Jan 12, 2026
b725045
fix: fix httpx client closure during event pagination
AlexisMarasigan Jan 13, 2026
75231a3
fix: Handle NOT_FOUND error when fetching Vertex AI sessions
wuliang229 Jan 13, 2026
a4732a8
chore: Updatedate the doc string of LiveRequest
seanzhougoogle Jan 13, 2026
905604f
refactor: Import migration_runner lazily within the migrate command
GWeale Jan 13, 2026
6d2f33a
feat: Update EvalConfig and EvalMetric data models to support custom …
jcpagadora737 Jan 13, 2026
fd2c0f5
chore: Upgrade the sample BQ agent model version to `gemini-2.5-flash`
google-genai-bot Jan 13, 2026
a5f0d33
feat: Use json schema for RestApiTool declaration when feature enabled
xuanyang15 Jan 13, 2026
f668a5d
chore: Update comments about why we can return upon flushing audio ca…
seanzhougoogle Jan 13, 2026
ab62b1b
fix: Use the agent name as the author of the audio event
seanzhougoogle Jan 13, 2026
277084e
refactor(tools): Update `ToolboxToolset` to wrap `toolbox-adk`
google-genai-bot Jan 13, 2026
1bedffe
chore: Remove dead codes for flushing model audio when generation com…
seanzhougoogle Jan 13, 2026
8e69a58
feat: Add support to automatically create a session if one does not e…
lwangverizon Jan 14, 2026
8973618
chore: Add a DebugLoggingPlugin to record human readable debugging logs
xuanyang15 Jan 14, 2026
79fcddb
feat: Add `--enable_features` CLI option to ADK CLI
xuanyang15 Jan 14, 2026
38d52b2
fix(cli): pass log_level to uvicorn in web and api_server commands (#…
kotaitos Jan 14, 2026
672b57f
chore: add a sample BigQuery agent using BigQuery MCP tools
google-genai-bot Jan 14, 2026
7b035aa
chore: Always log api backend when connecting to live model
seanzhougoogle Jan 14, 2026
fdc98d5
fix: Convert unsupported inline artifact MIME types to text in LoadAr…
GWeale Jan 15, 2026
8e7cc16
docs: Refactor ADK release analyzer with workflow agents
xuanyang15 Jan 15, 2026
8264211
chore: Consolidate test_mcp_toolset.py into one file
wukath Jan 15, 2026
89bed43
fix: Add finish reason mapping and remove custom file URI handling in…
GWeale Jan 15, 2026
712b5a3
fix: Only filter out audio content when sending history
seanzhougoogle Jan 15, 2026
1133ce2
feat: convert A2UI messages between A2A DataPart metadata and ADK events
google-genai-bot Jan 15, 2026
cce430d
feat: start and close ClientSession in a single task in McpSessionMan…
wukath Jan 15, 2026
d4da1bb
fix: Initialize self._auth_config inside BaseAuthenticatedTool
wukath Jan 15, 2026
7c28297
fix: Support Generator and AsyncGenerator tool declaration
seanzhougoogle Jan 15, 2026
ec6abf4
fix: Use canonical tools to find streaming tools and use tool.name to…
seanzhougoogle Jan 15, 2026
2ed6865
feat: Use json schema for IntegrationConnectorTool declaration when f…
xuanyang15 Jan 15, 2026
7db3ce9
fix: 'NoneType' object is not iterable
ananthanarayanan-28 Jan 15, 2026
50c4b8d
chore: Disable scheduled GitHub Actions workflows in forks
ftnext Jan 15, 2026
ed2c3eb
fix: Prevent stopping event processing on events with None content
google-genai-bot Jan 15, 2026
19555e7
fix: Support Generator and Async Generator tool declaration in JSON s…
seanzhougoogle Jan 15, 2026
83d7bb6
fix: Use the correct path for config-based agents when deploying to A…
yeesian Jan 15, 2026
6ad18cc
fix: Use json.dumps for error messages in SSE events
GWeale Jan 15, 2026
6dbe851
chore: Add back unit tests for CLI utility to deploy to AgentEngine
yeesian Jan 15, 2026
19315fe
feat: Support authentication for MCP tool listing
wukath Jan 15, 2026
e162bb8
feat: Allow `thinking_config` in `generate_content_config`
Akshat8510 Jan 15, 2026
d0aef8a
docs: Update the migration guide for adding a new database session sc…
wuliang229 Jan 16, 2026
dd83677
feat: enable to will_continue-like function response in BaseLlmFlow.r…
Aug 29, 2025
62b27ee
update: fix gemini code review.
Sep 2, 2025
44efdad
Merge remote-tracking branch 'origin/feat/generative-function-calling…
Jan 16, 2026
1bfe199
resolve
Jan 16, 2026
bce8a8e
resolve
Jan 16, 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
  •  
  •  
  •  
8 changes: 5 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@ assignees: ''
A clear and concise description of what the bug is.

**To Reproduce**
Please share a minimal code and data to reproduce your problem.
Steps to reproduce the behavior:
1. Install '...'
2. Run '....'
3. Open '....'
4. See error
4. Provide error or stacktrace

**Expected behavior**
A clear and concise description of what you expected to happen.
Expand All @@ -27,12 +28,13 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- OS: [e.g. macOS, Linux, Windows]
- Python version(python -V):
- ADK version(pip show google-adk):

**Model Information:**
For example, which model is being used.
- Are you using LiteLLM: Yes/No
- Which model is being used(e.g. gemini-2.5-pro)

**Additional context**
Add any other context about the problem here.
52 changes: 52 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
**Please ensure you have read the [contribution guide](https://github.com/google/adk-python/blob/main/CONTRIBUTING.md) before creating a pull request.**

### Link to Issue or Description of Change

**1. Link to an existing issue (if applicable):**

- Closes: #_issue_number_
- Related: #_issue_number_

**2. Or, if no issue exists, describe the change:**

_If applicable, please follow the issue templates to provide as much detail as
possible._

**Problem:**
_A clear and concise description of what the problem is._

**Solution:**
_A clear and concise description of what you want to happen and why you choose
this solution._

### Testing Plan

_Please describe the tests that you ran to verify your changes. This is required
for all PRs that are not small documentation or typo fixes._

**Unit Tests:**

- [ ] I have added or updated unit tests for my change.
- [ ] All unit tests pass locally.

_Please include a summary of passed `pytest` results._

**Manual End-to-End (E2E) Tests:**

_Please provide instructions on how to manually test your changes, including any
necessary setup or configuration. Please provide logs or screenshots to help
reviewers better understand the fix._

### Checklist

- [ ] I have read the [CONTRIBUTING.md](https://github.com/google/adk-python/blob/main/CONTRIBUTING.md) document.
- [ ] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] I have added tests that prove my fix is effective or that my feature works.
- [ ] New and existing unit tests pass locally with my changes.
- [ ] I have manually tested my changes end-to-end.
- [ ] Any dependent changes have been merged and published in downstream modules.

### Additional context

_Add any other context or screenshots about the feature request here._
47 changes: 47 additions & 0 deletions .github/workflows/analyze-releases-for-adk-docs-updates.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Analyze New Release for ADK Docs Updates

on:
# Runs on every new release.
release:
types: [published]
# Manual trigger for testing and retrying.
workflow_dispatch:

jobs:
analyze-new-release-for-adk-docs-updates:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write

steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.11'

- name: Load adk-bot SSH Private Key
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.ADK_BOT_SSH_PRIVATE_KEY }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests google-adk

- name: Run Analyzing Script
env:
GITHUB_TOKEN: ${{ secrets.ADK_TRIAGE_AGENT }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_GENAI_USE_VERTEXAI: 0
DOC_OWNER: 'google'
CODE_OWNER: 'google'
DOC_REPO: 'adk-docs'
CODE_REPO: 'adk-python'
INTERACTIVE: 0
PYTHONPATH: contributing/samples/adk_documentation
run: python -m adk_release_analyzer.main
4 changes: 2 additions & 2 deletions .github/workflows/check-file-contents.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 2

Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:
- name: Check for import from cli package in certain changed Python files
run: |
git fetch origin ${{ github.base_ref }}
CHANGED_FILES=$(git diff --diff-filter=ACMR --name-only origin/${{ github.base_ref }}...HEAD | grep -E '\.py$' | grep -v -E 'cli/.*|tests/.*|contributing/samples/' || true)
CHANGED_FILES=$(git diff --diff-filter=ACMR --name-only origin/${{ github.base_ref }}...HEAD | grep -E '\.py$' | grep -v -E 'cli/.*|src/google/adk/tools/apihub_tool/apihub_toolset.py|tests/.*|contributing/samples/' || true)
if [ -n "$CHANGED_FILES" ]; then
echo "Changed Python files to check:"
echo "$CHANGED_FILES"
Expand Down
134 changes: 134 additions & 0 deletions .github/workflows/copybara-pr-handler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Copybara PR Handler

on:
push:
branches:
- main
workflow_dispatch:
inputs:
pr_number:
description: 'PR number to close (for testing)'
required: true
type: string
commit_sha:
description: 'Commit SHA reference (optional, for testing)'
required: false
type: string

jobs:
close-imported-pr:
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
contents: read

steps:
- name: Check for Copybara commits and close PRs
uses: actions/github-script@v8
with:
github-token: ${{ secrets.ADK_TRIAGE_AGENT }}
script: |
// Check if this is a manual test run
const isManualRun = context.eventName === 'workflow_dispatch';

let prsToClose = [];

if (isManualRun) {
// Manual testing mode
const prNumber = parseInt(context.payload.inputs.pr_number);
const commitSha = context.payload.inputs.commit_sha || context.sha.substring(0, 7);

console.log('=== MANUAL TEST MODE ===');
console.log(`Testing with PR #${prNumber}, commit ${commitSha}`);

prsToClose.push({ prNumber, commitSha });
} else {
// Normal mode: process commits from push event
const commits = context.payload.commits || [];
console.log(`Found ${commits.length} commit(s) in this push`);

// Process each commit
for (const commit of commits) {
const sha = commit.id;
const committer = commit.committer.name;
const message = commit.message;

console.log(`\n--- Processing commit ${sha.substring(0, 7)} ---`);
console.log(`Committer: ${committer}`);

// Check if this is a Copybara commit
if (committer !== 'Copybara-Service') {
console.log('Not a Copybara commit, skipping');
continue;
}

// Extract PR number from commit message
// Pattern: "Merge https://github.com/google/adk-python/pull/3333"
const prMatch = message.match(/Merge https:\/\/github\.com\/google\/adk-python\/pull\/(\d+)/);

if (!prMatch) {
console.log('No PR number found in Copybara commit message');
continue;
}

const prNumber = parseInt(prMatch[1]);
const commitSha = sha.substring(0, 7);

prsToClose.push({ prNumber, commitSha });
}
}

// Process PRs to close
for (const { prNumber, commitSha } of prsToClose) {
console.log(`\n--- Processing PR #${prNumber} ---`);

// Get PR details to check if it's open
let pr;
try {
pr = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber
});
} catch (error) {
console.log(`PR #${prNumber} not found or inaccessible:`, error.message);
continue;
}

// Only close if PR is still open
if (pr.data.state !== 'open') {
console.log(`PR #${prNumber} is already ${pr.data.state}, skipping`);
continue;
}

const author = pr.data.user.login;

try {
// Add comment with commit reference
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: `Thank you @${author} for your contribution! 🎉\n\nYour changes have been successfully imported and merged via Copybara in commit ${commitSha}.\n\nClosing this PR as the changes are now in the main branch.`
});

// Close the PR
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber,
state: 'closed'
});

console.log(`Successfully closed PR #${prNumber}`);
} catch (error) {
console.log(`Error closing PR #${prNumber}:`, error.message);
}
}

if (isManualRun) {
console.log('\n=== TEST COMPLETED ===');
} else {
console.log('\n--- Finished processing all commits ---');
}
20 changes: 14 additions & 6 deletions .github/workflows/discussion_answering.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,28 @@ name: ADK Answering Agent for Discussions
on:
discussion:
types: [created]
discussion_comment:
types: [created]

jobs:
agent-answer-questions:
if: github.event.discussion.category.name == 'Q&A'
if: >-
(github.event_name == 'discussion' && github.event.discussion.category.name == 'Q&A') ||
(github.event_name == 'discussion_comment' && contains(github.event.comment.body, '@adk-bot') && github.event.sender.login != 'adk-bot')
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'

- name: Authenticate to Google Cloud
id: auth
uses: 'google-github-actions/auth@v2'
uses: 'google-github-actions/auth@v3'
with:
credentials_json: '${{ secrets.ADK_GCP_SA_KEY }}'

Expand All @@ -41,6 +45,10 @@ jobs:
OWNER: 'google'
REPO: 'adk-python'
INTERACTIVE: 0
DISCUSSION_NUMBER: ${{ github.event.discussion.number }}
PYTHONPATH: contributing/samples
run: python -m adk_answering_agent.main
run: |
# Write discussion data to temporary file to avoid secret masking issues
cat > /tmp/discussion.json << 'EOF'
${{ toJson(github.event.discussion) }}
EOF
python -m adk_answering_agent.main --discussion-file /tmp/discussion.json
4 changes: 2 additions & 2 deletions .github/workflows/isort.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 2

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.x'

Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/pr-triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,27 @@ name: ADK Pull Request Triaging Agent
on:
pull_request_target:
types: [opened, reopened, edited]
workflow_dispatch:
inputs:
pr_number:
description: 'The Pull Request number to triage'
required: true
type: 'string'

jobs:
agent-triage-pull-request:
if: github.event_name == 'workflow_dispatch' || !contains(github.event.pull_request.labels.*.name, 'google-contributor')
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'

Expand All @@ -32,7 +39,7 @@ jobs:
GOOGLE_GENAI_USE_VERTEXAI: 0
OWNER: 'google'
REPO: 'adk-python'
PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}
PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number || github.event.inputs.pr_number }}
INTERACTIVE: ${{ vars.PR_TRIAGE_INTERACTIVE }}
PYTHONPATH: contributing/samples
run: python -m adk_pr_triaging_agent.main
4 changes: 2 additions & 2 deletions .github/workflows/pyink.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 2

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.x'

Expand Down
Loading