3.5.0
Deprecation Notes
- Tracing
opentracing: Support for OpenTracing has been deprecated and will be removed in v4.0.0. Please use the OpenTelemetry API instead.DD_RUNTIME_METRICS_INTERVALis deprecated and will be removed in the 4.0.0 release.
New Features
-
LLM Observability
- Introduces tracing for
converse_streamcalls to the Bedrock Converse API.converse_streamcalls are traced as LLM spans withmax_tokens,temperatureinference parameters and input/output messages. - Introduces tracing support for LangGraph graph and node invocation.
- Introduces tracing support for CrewAI crew, task, agent, and tool executions.
- Introduces tracing support for OpenAI Agents SDK. Agent, guardrail, tool, handoff, response, and custom operations are traced. Input/output data for the trace is only set if the default Responses API is used.
botocore: Introduces capturing prompts, token usage, and inference parameters forconverse_streamcalls to the Bedrock API.crewai: Introduces tracing support for the CrewAI SDK, specifically tracing crew, task, agent, and tool executions. See the docs for more information.litellm: Introduces tracing support for the LiteLLM Python SDK's synchronous and asynchronouscompletionandtext_completionmethods. See the docs for more information.openai_agents: Introduces tracing support for OpenAI Agents SDK. Agent, guardrail, tool, handoff, response, and custom operations are traced. See the docs for more information.
- Introduces tracing for
-
Tracing
-
Support for Database Monitoring (DBM) propagation in pymongo. Two propagation modes are supported:
- Full mode: Injects both service information and trace context, allowing complete correlation between traces and database monitoring samples.
- Service mode: Injects only service information, enabling service-level correlation without trace-specific details.
This feature can be controlled using the
DD_DBM_PROPAGATION_MODEenvironment variable with valuesfull,service, ordisabled. Example of enabling full or service propagation mode:DD_DBM_PROPAGATION_MODE=full|service
Note that this feature requires PyMongo 3.9 or higher. -
A subset of the tracer configuration is now stored on disk throughout the tracer's lifetime. This enables the monitoring of which processes are instrumented.
-
azure_functions: Introduces tracing support for timer triggers. -
langgraph: Introduces tracing support for LangGraph, specifically tracing graph and node executions. See the docs for more information.
-
Bug Fixes
-
Code Security
- IAST: Fixes a bug where invalid f-strings didn’t raise the expected "Unknown format code" error when IAST was enabled.
- Fixes an issue with PosixPath handling in path operations that could cause errors during taint tracking. This fix improves stability and slightly reduces import times.
-
CI Visibility
- Resolves an issue where the
CODEOWNERSfile of the project being tested was looked up in the current working directory rather than the repository root. - Resolves an issue where an
I/O operation on closed fileerror was raised while printingddtracelogs during a pytest session, due to a conflict with pytest's log capture.
- Resolves an issue where the
-
Profiling
- Fixes an infinite recursion from calling logging module when lock profiler fails to delete
_self_acquired_atattribute.
- Fixes an infinite recursion from calling logging module when lock profiler fails to delete
-
Tracing
- Resolves an issue where
Django,Flask,Cherrypy,wsgi,asgi,pyramid,molten,falcon,tornado,aiohttp,bottle,rq, andsanicintegrations were unnecessarily running code to activate distributed tracing headers multiple times per request. This is fixed by only activating distributed tracing headers once per request. azure_functions: Resolves an issue where the function name set by the function_name decorator was ignored.azure_functions: Resolves an issue where a function would not start if thetrigger_arg_nameparameter was set to anything other thanreq.azure_functions: Resolves an issue where timer triggers had a span kind ofserverinstead ofinternalgraphql: ResolvesAttributeErrorraised when used with older versions ofgraphql-corethat do not haveformattedproperty forSourceLocation.opentelemetry: Updates trace flags inopentelemetry.trace.Span.get_span_context()to match OpenTelemetry specification.subprocess: Removes unnecessary debug log variables.
- Resolves an issue where