github google/adk-python v1.27.0

8 hours ago

Features

  • [Core]

    • Introduce A2A request interceptors in RemoteA2aAgent (6f772d2)
    • Add UiWidget to EventActions for supporting new experimental UI Widgets feature (530ff06)
    • auth: Add pluggable support for auth integrations using AuthProviderRegistry within CredentialManager (d004074)
    • Support all types.SchemaUnion as output_schema in LLM Agent (63f450e)
    • durable runtime support (07fdd23)
    • runners: pass GetSessionConfig through Runner to session service (eff724a)
  • [Models]

    • Add support for PDF documents in Anthropic LLM (4c8ba74)
    • Add streaming support for Anthropic models (5770cd3), closes #3250
    • Enable output schema with tools for LiteLlm models (89df5fc), closes #3969
    • Preserve thought_signature in LiteLLM tool calls (ae565be), closes #4650
  • [Web]

    • Updated human in the loop: developers now can respond to long running functions directly in chat
    • Render artifacts when resuming
    • Fix some light mode styles
    • Fix token level streaming not working properly (22799c0)
  • [Observability]

    • telemetry: add new gen_ai.agent.version span attribute (ffe97ec)
    • otel: add gen_ai.tool.definitions to experimental semconv (4dd4d5e)
    • otel: add experimental semantic convention and emit gen_ai.client.inference.operation.details event (19718e9)
    • add missing token usage span attributes during model usage (77bf325)
    • capture tool execution error code in OpenTelemetry spans (e0a6c6d)
  • [Tools]

    • Warn when accessing DEFAULT_SKILL_SYSTEM_INSTRUCTION (35366f4)
    • add preserve_property_names option to OpenAPIToolset (078b516)
    • Add gcs filesystem support for Skills. It supports skills in text and pdf format, also has some sample agents (6edcb97)
    • Add list_skills_in_dir to skills utils (327b3af)
    • Add support for MCP App UI widgets in MCPTool (86db35c)
    • add Dataplex Catalog search tool to BigQuery ADK (82c2eef)
    • Add RunSkillScriptTool to SkillToolset (636f68f)
    • Add support for ADK tools in SkillToolset (44a5e6b)
    • limit number of user-provided BigQuery job labels and reserve internal prefixes (8c4ff74)
    • Add param support to Bigtable execute_sql (5702a4b)
    • bigtable: add Bigtable cluster metadata tools (34c560e)
    • execute-type param addition in GkeCodeExecutor (9c45166)
    • skill: Add BashTool (8a31612)
    • Add support for toolsets to additional_tools field of SkillToolset (066fcec)
  • [Optimization]

    • Add adk optimize command (b18d7a1)
    • Add interface between optimization infra and LocalEvalService (7b7ddda)
    • Add GEPA root agent prompt optimizer (4e3e2cb)
  • [Integrations]

    • Enhance BigQuery plugin schema upgrades and error reporting (bcf38fa)
    • Enhance BQ plugin with fork safety, auto views, and trace continuity (80c5a24)
    • Handle Conflict Errors in BigQuery Agent Analytics Plugin (372c76b)
    • Added tracking headers for ADK CLI command to Agent Engine (3117446)
  • [A2A]

    • New implementation of A2aAgentExecutor and A2A-ADK conversion (87ffc55)
    • New implementation of RemoteA2aAgent and A2A-ADK conversion (6770e41)

Bug Fixes

  • Allow artifact services to accept dictionary representations of types.Part (b004da5), closes #2886
  • Decode image data from ComputerUse tool response into image blobs (d7cfd8f)
  • Expand LiteLLM reasoning extraction to include 'reasoning' field (9468487), closes #3694
  • Filter non-agent directories from list_agents() (3b5937f)
  • Fix Type Error by initializing user_content as a Content object (2addf6b)
  • Handle length finish reason in LiteLLM responses (4c6096b), closes #4482
  • In SaveFilesAsArtifactsPlugin, write the artifact delta to state then event actions so that the plugin works with ADK Web UI's artifacts panel (d6f31be)
  • Make invocation_context optional in convert_event_to_a2a_message (8e79a12)
  • Optimize row-level locking in append_event (d61846f), closes #4655
  • Preserve thought_signature in FunctionCall conversions between GenAI and A2A (f9c104f)
  • Prevent splitting of SSE events with artifactDelta for function resume requests (6a929af), closes #4487
  • Propagate file names during A2A to/from Genai Part conversion (f324fa2)
  • Propagate thought from A2A TextPart metadata to GenAI Part (e59929e)
  • Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py to avoid breaking current users (de4dee8)
  • Refactor type string update in Anthropic tool param conversion (ab4b736)
  • simulation: handle NoneType generated_content (9d15517)
  • Store and retrieve EventCompaction via custom_metadata in Vertex AISessionService (2e434ca), closes #3465
  • Support before_tool_callback and after_tool_callback in Live mode (c36a708), closes #4704
  • temp-scoped state now visible to subsequent agents in same invocation (2780ae2)
  • tools: Handle JSON Schema boolean schemas in Gemini schema conversion (3256a67)
  • typo in A2A EXPERIMENTAL warning (eb55eb7)
  • Update agent_engine_sandbox_code_executor in ADK (dff4c44)
  • update Bigtable query tools to async functions (72f3e7e)
  • Update expected UsageMetadataChunk in LiteLLM tests (dd0851a), closes #4680
  • update toolbox server and SDK package versions (2e370ea)
  • Validate session before streaming instead of eagerly advancing the runner generator (ebbc114)

Code Refactoring

  • extract reusable functions from hitl and auth preprocessor (c59afc2)
  • Rename base classes and TypeVars in optimization data types (9154ef5)

Don't miss a new adk-python release

NewReleases is sending notifications on new releases.