Releases: DataDog/dd-trace-py
3.1.1
Bug Fixes
-
ASM
- SCA: Resolves an issue where some dependencies where reported with an inaccurate name.
-
CI Visibility
- Resolves an issue where ddtrace's own sys.monitoring coverage tool in Python 3.12+ would block other sys.monitoring tools such as
pytest-covfrom being used. - Resolves an issue where JUnit XML output would not count tests retried by Early Flake Detection, Auto Test Retries, and Attempt-to-Fix.
- Resolves an issue where ddtrace's own sys.monitoring coverage tool in Python 3.12+ would block other sys.monitoring tools such as
-
LLM Observability
- Resolves issue where Pydantic model objects were encoded as unhelpful default placeholder text.
- Improves encoding of non-JSON serializable I/O objects by attempting to convert to string before resorting to default placeholder text.
-
Profiling
- Resolves an issue where the Lock profiler would throw an
AttributeError: '_ProfiledThreadingLock' object has no attribute '_self_acquired_at'.
- Resolves an issue where the Lock profiler would throw an
-
Tracing
- Changes the name of the span event generated by a
record_exceptioncall as it was not following OTEL semantics.
- Changes the name of the span event generated by a
3.3.0
New Features
-
Includes
dynamodbin the default list of cloud services for payload tagging, i.e.DD_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES. Note that cloud services payload tagging feature is still gated byDD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGINGandDD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING. -
LLM Observability: This introduces tracing for
conversecalls to the Bedrock Converse API.conversecalls are traced as
LLM spans withmax_tokens,temperatureinference parameters and input/output messages. -
botocore: This introduces capturing prompts, token usage, and inference parameters for
conversecalls to the Bedrock API. -
SCA: This add support for extended heartbeat every 24h with dependencies payload.
-
kafka: Adds messaging.destination.name tag to kafka
produceandconsumespans. -
LLM Observability: Avoids submitting spans to LLM Observability when a non-default base URL is detected in request for the Anthropic, Bedrock, LangChain, Open AI, and Azure Open AI integrations.
-
ASM: This introduces support for automatic instrumentation of session monitoring and blocking for Django.
-
ASM: This introduces new metrics span tags to keep track of truncations of WAF payloads.
-
runtime_metrics: Adds support for sending runtime metrics as gauge metrics (instead of distributions). To enable this feature set
DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED=DD_RUNTIME_METRICS_ENABLED. -
runtime_metrics: Adds support for tagging runtime metrics with the current runtime ID. To enable tagging, set
DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED=True.
Bug Fixes
-
SCA: This fix resolves an issue where some dependencies where reported with an inaccurate name.
-
profiling: This fix resolves an issue where the Lock profiler would throw an
AttributeError: '_ProfiledThreadingLock' object has no attribute '_self_acquired_at'. -
tags: Updates
DD_TAGSparsing to match the Datadog Agent and other SDKs. Key-value pairs can now be separated by both commas and spaces (e.g.,DD_TAGS="key1:value1, key2:value2, key3:value3"). This reverts a change introduced in v2.11.0, which only allowed one separator type. -
dynamic sampling: Ensures that dynamic sampling rates are always consistent with the rates received from the agent via remote configuration. Previously, setting a global sample rate and then sampling rules via remote config would result in both configurations being applied. With this fix only the most recent sampling configuration will be applied.
-
LLM Observability: This fix resolves an issue where enabling LLM Observability caused all botocore submodules to be patched instead
of onlybedrock-runtime. -
LLM Observability: Resolves issue where Pydantic model objects were encoded as unhelpful default placeholder text.
-
LLM Observability: Improves encoding of non-JSON serializable I/O objects by attempting to convert to string before resorting to default placeholder text.
-
tracing: Resolves an issue where trace information, such as span links, baggage, and trace-level tags (ex: sampling decision maker), could be lost when a new process was created while a trace was active.
-
internal: Fixes an issue where trimming a traceback to attach it to the span could result in the loss of the most recent frames.
-
pylibmc: fixes an issue where using
Client(server=[url])would throw the error__init__() got multiple values for argument 'servers' -
tracing: Ensures remote sampling rules no longer overwrite existing samplers, preserving service-based sample rates set by the Agent and ensuring tracer rate limits configured by ddtrace products (e.g., ASM) are always respected.
Other Changes
- tracing: Ensures a single DatadogSampler is initialized per Tracer instance, improving Tracer object initialization speed by approximately 7% and simplifying sampling logic.
- agent: Migrates agent connection configurations to envier. This provides better documentation and validation for expected types. The following configurations are affected:
DD_TRACE_AGENT_URLDD_DOGSTATSD_URLDD_TRACE_AGENT_HOSTNAMEDD_AGENT_HOSTDD_TRACE_AGENT_PORTDD_DOGSTATSD_PORTDD_AGENT_PORTDD_TRACE_AGENT_TIMEOUT_SECONDS
Of the above impacted configurations, these had a precedence change:
DD_TRACE_AGENT_HOSTNAMEoverDD_AGENT_HOSTDD_TRACE_AGENT_PORToverDD_AGENT_PORTDD_DOGSTATSD_HOSToverDD_AGENT_HOSTDD_DOGSTATSD_PORToverDD_AGENT_PORT
3.3.0rc3
Bug Fixes
-
ASM
- SCA: Resolves an issue where some dependencies where reported with an inaccurate name.
-
Profiling
- Resolves an issue where the Lock profiler would throw an
AttributeError: '_ProfiledThreadingLock' object has no attribute '_self_acquired_at'.
- Resolves an issue where the Lock profiler would throw an
3.3.0rc2
No new changes since 3.3.0rc1. One CI fix implemented to unblock release pipeline.
2.21.5rc2
See 2.21.4 release notes
2.21.5rc1
See 2.21.4 release notes
2.21.4
Known Issues
This release is missing the OCI images due to issues with the release pipeline. If you need an OCI image with the features introduced in the 2.14 release line, please use v2.14.5 instead.
Bug Fixes
- CI Visibility: This fix resolves an issue where ddtrace's own sys.monitoring coverage tool in Python 3.12+ would block other sys.monitoring tools such as pytest-cov from being used.
3.3.0rc1
New Features
-
ASM
- Introduces new metrics span tags to keep track of truncations of WAF payloads.
- Introduces support for automatic instrumentation of session monitoring and blocking for Django.
-
LLM Observability
- Introduces tracing for
conversecalls to the Bedrock Converse API.conversecalls are traced as LLM spans withmax_tokens,temperatureinference parameters and input/output messages. - Avoids submitting spans to LLM Observability when a non-default base URL is detected in request for the Anthropic, Bedrock, LangChain, Open AI, and Azure Open AI integrations.
- Introduces tracing for
-
Telemetry
- SCA: This add support for extended heartbeat every 24h with dependencies payload.
-
Tracing
botocore: Introduces capturing prompts, token usage, and inference parameters forconversecalls to the Bedrock API.kafka: Adds messaging.destination.name tag to kafkaproduceandconsumespans.- runtime_metrics: Adds support for sending runtime metrics as gauge metrics (instead of distributions). To enable this feature set
DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED=DD_RUNTIME_METRICS_ENABLED. - runtime_metrics: Adds support for tagging runtime metrics with the current runtime ID. To enable tagging, set
DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED=True. - Includes
dynamodbin the default list of cloud services for payload tagging, i.e.DD_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES. Note that cloud services payload tagging feature is still gated byDD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGINGandDD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING.
Bug Fixes
-
LLM Observability
- Resolves an issue where enabling LLM Observability caused all botocore submodules to be patched instead of only
bedrock-runtime. - Resolves issue where Pydantic model objects were encoded as unhelpful default placeholder text.
- Improves encoding of non-JSON serializable I/O objects by attempting to convert to string before resorting to default placeholder text.
- Resolves an issue where enabling LLM Observability caused all botocore submodules to be patched instead of only
-
Tracing
- dynamic sampling: Ensures that dynamic sampling rates are always consistent with the rates received from the agent via remote configuration. Previously, setting a global sample rate and then sampling rules via remote config would result in both configurations being applied. With this fix only the most recent sampling configuration will be applied.
- internal: Fixes an issue where trimming a traceback to attach it to the span could result in the loss of the most recent frames.
pylibmc: Fixes an issue where usingClient(server=[url])would throw the error__init__() got multiple values for argument 'servers'- tags: Updates
DD_TAGSparsing to match the Datadog Agent and other SDKs. Key-value pairs can now be separated by both commas and spaces (e.g.,DD_TAGS="key1:value1, key2:value2, key3:value3"). This reverts a change introduced in v2.11.0, which only allowed one separator type. - sampling: Ensures remote sampling rules no longer overwrite existing samplers, preserving service-based sample rates set by the Agent and ensuring tracer rate limits configured by ddtrace products (e.g., ASM) are always respected.
- Resolves an issue where trace information, such as span links, baggage, and trace-level tags (ex: sampling decision maker), could be lost when a new process was created while a trace was active.
Other Changes
- Tracing
- Ensures a single DatadogSampler is initialized per Tracer instance, improving Tracer object initialization speed by approximately 7% and simplifying sampling logic.
- agent: Migrates agent connection configurations to envier. This provides better documentation and validation for expected types. The following configuration are affected:
DD_TRACE_AGENT_URLDD_DOGSTATSD_URLDD_TRACE_AGENT_HOSTNAMEDD_AGENT_HOSTDD_TRACE_AGENT_PORTDD_DOGSTATSD_PORTDD_AGENT_PORTDD_TRACE_AGENT_TIMEOUT_SECONDS
Of the above impacted configurations, these had a precedence change:DD_TRACE_AGENT_HOSTNAMEoverDD_AGENT_HOSTDD_TRACE_AGENT_PORToverDD_AGENT_PORTDD_DOGSTATSD_HOSToverDD_AGENT_HOSTDD_DOGSTATSD_PORToverDD_AGENT_PORT
3.2.1
Bug Fixes
- Library Injection
- Fix for release script causing lib injection OCI images to not get published.
3.2.1rc2
No notes.