Skip to content

Releases: DataDog/dd-trace-py

1.12.3

02 May 21:38
901f56a

Choose a tag to compare

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

02 May 22:23
fb53798

Choose a tag to compare

Bug Fixes

  • flask: Remove patching for Flask hooks app.before_first_request and bp.before_app_first_request if 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

28 Apr 22:12
12f9d97

Choose a tag to compare

Bug Fixes

  • flask: Remove patching for Flask hooks app.before_first_request and bp.before_app_first_request if 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

27 Apr 13:31
b5c9edc

Choose a tag to compare

1.13.0rc2 Pre-release
Pre-release

New Features

  • OpenAI: Add integration with support for metrics, logs and traces from
    OpenAI requests. See the docs for more information.

1.13.0rc1

25 Apr 19:46
651a2c5

Choose a tag to compare

1.13.0rc1 Pre-release
Pre-release

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 ImportError when 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

24 Apr 21:30
c296a27

Choose a tag to compare

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

24 Apr 21:27
27e6982

Choose a tag to compare

Bug Fixes

  • 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__().
  • 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

25 Apr 14:01
af32256

Choose a tag to compare

Bug Fixes

  • aws_lambda: Fix AttributeError raised when ddtrace.patch_all(), or ddtrace.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

25 Apr 14:01
604b24d

Choose a tag to compare

Bug Fixes

  • aws_lambda: Fix AttributeError raised when ddtrace.patch_all(), or ddtrace.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

17 Apr 17:50
28dd2b1

Choose a tag to compare

New Features

  • tracing: Adds support for 128 bit trace ids for b3 and w3c distributing tracing headers.
  • pytest: Adds the DD_CIVISIBILITY_AGENTLESS_ENABLED environment variable to configure the CIVisibility service to use an agent-less test reporting CIVisibilityWriter. Note that the CIVisibility service 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 the DD_MAIN_PACKAGE. This feature can be disabled by setting DD_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(), or ddtrace.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.