Upgrade Notes
- google-adk: With
google-adk2.9.0 and later, tool call spans use the resource nameFunctionTool._call_tool_async(one leading underscore) instead ofFunctionTool.__call_tool_async, following a rename ingoogle-adkitself. Update any monitor or dashboard that matches on the old resource name.
Bug Fixes
- aiohttp: Fixes an issue where tracing HTTP server requests produces repeated callback errors when keep-alive connections close.
- google-adk: Fixes an issue where applications using
google-adk2.9.0 and later fail to start when tracing is enabled, or start normally but report no tool call or code execution spans. Tool calls and code execution are now traced on all supportedgoogle-adkversions.
- LLM Observability: Fixes an issue where concurrently running OpenAI Agent workflows within the same traced operation can be missing from LLM Observability or report incorrect input/output.
- vllm: Fixes an issue with vLLM >= 0.20.0 where the integration raised
AttributeError: 'EngineCoreOutput' object has no attribute 'num_cached_tokens'. This error stopped the vLLM output loop and caused all requests tofail. The integration now also handles tracing errors without interrupting vLLM.
- LLM Observability: Fixes an issue where
LLMJudgewith theanthropicprovider raisedTypeError: Object of type method is not JSON serializablewhen the model returned a thinking block before the text block (for example, Claude models with adaptive thinking). The judge now reads the first text block in the response.
- LLM Observability: Fixes a regression introduced in 4.15.2 where LLM Observability spans that were still open when an ASGI request finished (FastAPI, Starlette, Django ASGI) were force-finished at request teardown. Agents and background tasks that intentionally outlive the HTTP request had their spans truncated, and work started afterwards was detached into separate root traces instead of staying nested. Abandoned streams are still reclaimed by
TracedStream/TracedAsyncStreamfinalization and the stream context managers.