NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #494 most downloaded on PyPI
Datadog APM client library
Last release 3 days ago
01 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
5 versions withdrawn
withdrawn after publishing
10 years old
853 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
botocore: fix incorrect context propagation message attribute types for SNS. This addresses Datadog/serverless-plugin-datadog#232
Fix issue building ddtrace from source on macOS 12.
ddtrace from source on macOS 12.write_command being patched with the wrong method signature.ddtrace.constants.FILTERS_KEY is deprecated. Use settings={"FILTERS": ...} instead when calling tracer.configure.
ddtrace.constants.FILTERS_KEY is deprecated. Use settings={"FILTERS": ...} instead when calling tracer.configure.ddtrace.constants.NUMERIC_TAGS is deprecated.ddtrace.constants.LOG_SPAN_KEY is deprecated.Pin.app is deprecated.ddtrace.Span.set_meta is deprecated. Use ddtrace.Span.set_tag instead.ddtrace.Span.set_metas is deprecated. Use ddtrace.Span.set_tags instead.ddtrace.Span.metrics is deprecated. Use ddtrace.Span.get_metric and ddtrace.Span.set_metric instead.ddtrace.Span.tracer is deprecated.ddtrace.Tracer.log is deprecated. Use ddtrace.tracer.log instead.ddtrace.Tracer.sampler is deprecated.ddtrace.Tracer.priority_sampler is deprecated.ddtrace.Tracer.tags is deprecated. Use the environment variable DD_TAGS<dd-tags> to set the global tags instead.sanic>=21.9.0.ddtrace.utils module.__init__. This could otherwise be a problem for mypy.httpx service name is bytes.libddwaf to 1.0.18Nothing published for this version
Nothing published for this version
Nothing published for this version
tracing/internal: fix encoding of propagated internal tags.
Set correct service in logs correlation attributes when a span override the service.
Fixes build issues on older MacOS versions by updating libddwaf to 1.0.18
libddwaf to 1.0.18flask: fix resource naming of request span when errors occur in middleware.
Fix internal import of deprecated ddtrace.utils module.
ddtrace.utils module.__init__. This could otherwise be a problem for mypy.ddtrace.Span.meta has been deprecated. Use ddtrace.Span.get_tag and ddtrace.Span.set_tag instead.
ddtrace.Span.meta has been deprecated. Use ddtrace.Span.get_tag and ddtrace.Span.set_tag instead.ddtrace.Span.pprint is deprecated and will be removed in v1.0.ddtrace.Tracer.writer is deprecated. To force flushing of buffered traces to the agent, use ddtrace.Tracer.flush instead.ddtrace.Tracer.agent_trace_url and ddtrace.Tracer.flush.pytest integration): remove traces whose root span is not a test.channels >= 3.0.async with statements.UnicodeDecodeError that can be thrown from the aioredis integration when interacting with binary-encoded data, as is done in channels-redis.gevent is automatically patched.bytes string is used for span metadata.Span.resource is unicode on Python 2.7.tracer.enabled == FalseNothing published for this version
Fix an issue in the heap profiler where it would iterate on the wrong heap allocation tracker.
Fix JSON encoding error when a bytes string is used for span metadata.
bytes string is used for span metadata.tracer.enabled == FalseFix application crash on startup when using channels >= 3.0.
channels >= 3.0.Span.resource is unicode on Python 2.7.Fixes incompatibility of wrapped aioredis pipelines in async with statements.
async with statements.UnicodeDecodeError that can be thrown from the aioredis integration when interacting with binary-encoded data, as is done in channels-redis.ddtrace.sampler.DatadogSampler.default_sampler property is deprecated and will be removed in 1.0.
ddtrace.sampler.DatadogSampler.default_sampler property is deprecated and will be removed in 1.0.ddtrace.propagation.utils has been deprecated and will be removed in version 1.0.Add new environment variables to enable/disable django database and cache instrumentation.
DD_DJANGO_INSTRUMENT_DATABASES, DD_DJANGO_INSTRUMENT_CACHES
Add tracing support for the aioredis library. Version 1.3+ is fully supported.
Add django 4.0 support.
The profiler now automatically injects running greenlets as tasks into the main thread. They can be seen within the wall time profiles.
concurrent.futures.ThreadPoolExecutor.submit with fn keyword argument.pytest integration): Fix calculation of pipeline URL for GitHub Actions.Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix error when calling concurrent.futures.ThreadPoolExecutor.submit with fn keyword argument.
concurrent.futures.ThreadPoolExecutor.submit with fn keyword argument.The aredis integration is now enabled by default.
monkey.py have been moved into _monkey.py in an effort to internalize the module. Public methods have been imported back into monkey.py in order to retain compatibility, but monkey.py will be removed entirely in version 1.0.0.ddtrace.utils module and all of its submodules have been copied over into ddtrace.internal in an effort to internalize these modules. Their public counterparts will be removed entirely in version 1.0.0.botocore env variables to ensure they are parsed as booleans.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixes parsing of botocore env variables to ensure they are parsed as booleans.
botocore env variables to ensure they are parsed as booleans.Fix memory leak caused when the tracer is disabled.
Set the correct package name in the Pyramid instrumentation. This should fix an issue where the incorrect package name was being used which would cras
Fix Pyramid caller_package level issue which resulted in crashes when starting Pyramid applications. Level now left at default (2).
Deprecate DATADOG_TRACE_AGENT_HOSTNAME, DATADOG_TRACE_AGENT_PORT, DATADOG_PRIORITY_SAMPLING, DATADOG_PATCH_MODULES in favor of their DD equivalents.
ddtrace.ext.errors. Use constants from ddtrace.constants module. For example: ddtrace.ext.errors.ERROR_MSG -> ddtrace.constants.ERROR_MSGddtrace.ext.priority. Use constants from ddtrace.constants module. For Example:: ddtrace.ext.priority.AUTO_KEEP -> ddtrace.constants.AUTO_KEEPddtrace.ext.system. Use constants from ddtrace.constants module. For Example:: ddtrace.ext.system.PID -> ddtrace.constants.PIDDeprecate DATADOG_TRACE_AGENT_HOSTNAME, DATADOG_TRACE_AGENT_PORT, DATADOG_PRIORITY_SAMPLING, DATADOG_PATCH_MODULES in favor of their DD equivalents.
[Deprecated environment variable] | [Recommended environment variable]
DATADOG_TRACE_AGENT_HOSTNAME, use DD_AGENT_HOSTDATADOG_TRACE_AGENT_PORT use DD_AGENT_PORTDATADOG_PRIORITY_SAMPLING, follow ingestion controlsDATADOG_PATCH_MODULES, use DD_PATCH_MODULESMoved ddtrace.ext.errors constants into the ddtrace.constants module. ddtrace.ext.errors will be removed in v1.0. Shorthand error constant (MSG,TYPE,STACK) in ddtrace.ext.errors will be removed in v1.0. Function get_traceback() in ddtrace.ext.errors is now deprecated and will be removed v1.0.
Moved ddtrace.ext.priority constants into ddtrace.constants module.
Moved ddtrace.ext.system constants into ddtrace.constants module.
/var/run/datadog/dsd.socket which if exists, will be used instead of the previous UDP default, udp://localhost:8125/. To be used in conjunction with dogstatsd_socket in your datadog.yaml file, or the DD_DOGSTATSD_SOCKET environment variable set on the Datadog agent.DD_TRACE_SAMPLING_RULES environment variable to override default sampling rules. For Example:: DD_TRACE_SAMPLING_RULES='[{"sample_rate":0.5,"service":"my-service"}]'pytest integration): include pytest version as a tag in the test span.pytest integration): Extract stage and job name from environment data in Azure Pipelines.DD_LOGS_INJECTION is enabled.ddtrace.utils.wrappers.unwrap function now raises an error if trying to unwrap a non-wrapped object.pytest integration): Fix extraction of branch in GitLab CI.Nothing published for this version
Nothing published for this version
Fixed an issue with gevent worker processes that caused them to crash and stop.
DD_LOGS_INJECTION is enabled.Deprecate the DATADOG_ENV environment variable in favor of DD_ENV. The use of DD_ENV should follow Unified Service Tagging recommendations.
/var/run/datadog/apm.socket which if exists, will be used instead of the previous http default, http://localhost:8126/. To be used in conjunction with apm_config.receiver_socket in your datadog.yaml file, or the DD_APM_RECEIVER_SOCKET environment variable set on the Datadog agent.DD_PROFILING_ENDPOINT_COLLECTION_ENABLED env variable to disable endpoint name collection in profiler.DD_TRACE_HEADER_TAGS environment variable. Value must be either comma or space separated. e.g. Host:http.host,User-Agent,http.user_agent or referer:http.referer Content-Type:http.content_type.test.status tag of a test span from pytest would be missing because pytest_runtest_makereport hook is not run, like when pytest has an internal error.protobuf version to <3.18 for Python <=3.5 due to support being dropped.Your coding agent can read these notes before it upgrades. Set up the MCP server →