Releases: DataDog/dd-trace-py
1.12.3
Bug Fixes
- ASM: fix calling set_user without a created span raising a ValueError.
- redis: Resolves an issue where the aioredis/aredis/yaaredis integrations cross-imported a helper method from the redis integration, which triggered redis patching before the redis integration was fully loaded.
1.11.4
Bug Fixes
- flask: Remove patching for Flask hooks
app.before_first_requestandbp.before_app_first_requestif Flask version >= 2.3.0. - kafka: Previously instantiating a subclass of kafka's Producer/Consumer classes would result in attribute errors due to patching the Producer/Consumer classes with an ObjectProxy. This fix resolves this issue by making the traced classes directly inherit from kafka's base Producer/Consumer classes.
- redis: Resolves an issue where the aioredis/aredis/yaaredis integrations cross-imported a helper method from the redis integration, which triggered redis patching before the redis integration was fully loaded.
- profiler: Fix support for latest versions of protobuf.
1.12.2
Bug Fixes
- flask: Remove patching for Flask hooks
app.before_first_requestandbp.before_app_first_requestif Flask version >= 2.3.0. - kafka: Previously instantiating a subclass of kafka's Producer/Consumer classes would result in attribute errors due to patching the Producer/Consumer classes with an ObjectProxy. This fix resolves this issue by making the traced classes directly inherit from kafka's base Producer/Consumer classes.
- profiler: Fix support for latest versions of protobuf.
Other Changes
- otel: Fixes code formatting in api docs
1.13.0rc2
1.13.0rc1
New Features
- psycopg: This release adds support for the new psycopg3 package. This new integration has all the same tracing functionality as the previous psycopg2-binary package, with added support for new methods including async connection and async cursor classes. The release also adds support for using Django>=4.2 with psycopg3 integrated tracing.
Bug Fixes
-
algoliasearch: This fix resolves an issue where non-text search query arguments caused Type Errors when being added as tags.
-
ASM: fix calling set_user without a created span raising a ValueError.
-
django: Adds fix for bug where Django cache return object throws an error if it does not implement
__bool__(). -
kafka: Previously instantiating a subclass of kafka's Producer/Consumer classes would result in attribute errors due to patching the Producer/Consumer classes with an ObjectProxy. This fix resolves this issue by making the traced classes directly inherit from kafka's base Producer/Consumer classes.
-
profiling: Fixed a regression in the memory collector that caused it to fail to cleanly re-initialize after a fork, causing error messages to be logged.
-
logging: Ensure that the logging module can report thread information, such as thread names, correctly when a framework like gevent is used that requires modules cleanup.
-
ASM: This fix resolves an issue where path parameters for the Flask framework were handled at response time instead of at request time for suspicious request blocking. This close a known issue opened in 1.10.0.
-
lib-injection: Switch installation to install from included wheels. Prior,
the wheels were merged together which caused conflicts between versions of dependencies based on Python version. -
tracer: Handle exceptions besides
ImportErrorwhen integrations are loaded.
Other Changes
- ASM: Add information about Application Security config values on ddtrace-run --info.
- otel: Fixes code formatting in api docs
1.12.1
Bug Fixes
- django: Adds fix for bug where Django cache return object throws an error if it does not implement
__bool__(). - profiling: Fixed a regression in the memory collector that caused it to fail to cleanly re-initialize after a fork, causing error messages to be logged.
- lib-injection: Switch installation to install from included wheels. Prior,
the wheels were merged together which caused conflicts between versions of dependencies based on Python version.
1.11.3
Bug Fixes
- ASM: fix calling
set_userwithout a created span raising aValueError. - django: Adds fix for bug where Django cache return object throws an error if it does not implement
__bool__(). - profiling: Corrects accounting of wall and CPU time for gevent tasks within the main Python thread.
- profiling: Fixed a regression in the memory collector that caused it to fail to cleanly re-initialize after a fork, causing error messages to be logged.
- lib-injection: Switch installation to install from included wheels. Prior,
the wheels were merged together which caused conflicts between versions of dependencies based on Python version.
1.10.3
Bug Fixes
- aws_lambda: Fix AttributeError raised when
ddtrace.patch_all(), orddtrace.patch(aws_lambda=True), is set on user handler. - ASM: fix calling set_user without a created span raising a ValueError.
- futures: Resolves an issue that prevents tasks from being submitted to a thread pool executor when gevent is used (e.g. as a worker class for gunicorn or celery).
- profiling: Corrects accounting of wall and CPU time for gevent tasks within the main Python thread.
- profiling: Fixed a regression in the memory collector that caused it to fail to cleanly re-initialize after a fork, causing error messages to be logged.
1.9.6
Bug Fixes
- aws_lambda: Fix AttributeError raised when
ddtrace.patch_all(), orddtrace.patch(aws_lambda=True), is set on user handler. - futures: Resolves an issue that prevents tasks from being submitted to a thread pool executor when gevent is used (e.g. as a worker class for gunicorn or celery).
- profiling: Corrects accounting of wall and CPU time for gevent tasks within the main Python thread.
- profiling: Fixed a regression in the memory collector that caused it to fail to cleanly re-initialize after a fork, causing error messages to be logged.
1.12.0
New Features
- tracing: Adds support for 128 bit trace ids for b3 and w3c distributing tracing headers.
- pytest: Adds the
DD_CIVISIBILITY_AGENTLESS_ENABLEDenvironment variable to configure theCIVisibilityservice to use an agent-less test reportingCIVisibilityWriter. Note that theCIVisibilityservice will use regular agent reporting by default. - sci: Extracts and sends git metadata from environment variables
DD_GIT_REPOSITORY_URL,DD_GIT_COMMIT_SHA, or from the python package specified in theDD_MAIN_PACKAGE. This feature can be disabled by settingDD_TRACE_GIT_METADATA_ENABLED=False. - otel: Adds support for the OpenTelemetry Tracing API. Please refer to the
docs <ddtrace.opentelemetry>for more details.
Bug Fixes
- tracing: Ensure datadog headers propagate 128 bit trace ids when
DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED=False - aws_lambda: Fix AttributeError raised when
ddtrace.patch_all(), orddtrace.patch(aws_lambda=True), is set on user handler. - aws_lambda: Fix AttributeError raised when extracting context from arguments.
- aws_lambda: Fix AttributeError raised when callable handlers are traced.
- dynamic instrumentation: Fixed an issue with expressions in metric probes that prevented them from being evaluated.
- Prevent exceptions when autoreloading modules that directly or indirectly import ddtrace with the iPython autoreload extension.
- profiling: Corrects accounting of wall and CPU time for gevent tasks within the main Python thread.
- profiling: Fixed an issue with the memory collector where a segmentation fault could occur during shutdown.
- lib-injection: The ddtrace package is now provided via the Docker image rather than relying on a run-time
pip install. This solves issues like containers blocking network requests, installation overhead during application startup, permissions issues with the install.