github DataDog/dd-trace-py v2.6.0
2.6.0

latest releases: v2.12.2, v2.11.6, v2.11.5...
7 months ago

Upgrade Notes

  • CI Visibility: DD_CIVISIBILITY_ITR_ENABLED now defaults to true, and the Datadog API (configured via the Datadog dashboard) now determines whether code coverage and test skipping are enabled.
  • CI Visibility: the CI Visibility service is no longer enabled when the initial query to the Datadog test service settings API fails due to a 403 status code.

New Features

  • botocore: Adds optional feature to propagate context between producers and consumers for AWS SQS, AWS SNS, and AWS Kinesis via DD_BOTOCORE_PROPAGATION_ENABLED environment variable. Adds optional feature to disable tracing of AWS SQS poll() operation and AWS Kinesis 'get_records()' operation when no data is consumed via DD_BOTOCORE_EMPTY_POLL_ENABLED environment variable.
  • tracing: Adds new tag python_main_package containing the name of the main package of the application.
  • profiling: Adds new tag python_main_package containing the name of the main package of the application.
  • ASM: API Security schema collection is now officially supported for Django, Flask and FastAPI. It is enabled by default and can be disabled in the tracer using environment variable DD_API_SECURITY_ENABLED=false It will only be active when ASM is also enabled.
  • elasticsearch: This allows custom tags to be set on Elasticsearch spans via the Pin interface.
  • botocore: This introduces tracing support for bedrock-runtime operations.
    See the docs for more information.
  • datastreams: this change adds kombu auto-instrumentation for datastreams monitoring.
  • tracing: this change adds the DD_KOMBU_DISTRIBUTED_TRACING flag (default True)
  • Vulnerability Management for Code-level (IAST): Add support for CMDi in langchain.
  • botocore: Add the ability to inject trace context into the input field of botocore stepfunction start_execution and start_sync_execution calls.
  • Removes another place where we always load instrumentation telemetry, even if it is disabled
  • tracing: This introduces the ability to disable tracing at runtime based on configuration values sent from the Datadog frontend. Disabling tracing in this way also disables instrumentation telemetry.
  • tracing: Adds support for remote configuration of DD_TRACE_HEADER_TAGS
  • tracing: Add support for remote configuration of trace-logs correlation.
  • grpc/grpc_aio: reports the available target host in client spans as network.destination.ip if only an IP is available, peer.hostname otherwise.
  • span: Adds a public api for setting span links
  • starlette,fastapi: Trace background tasks using span links

Bug Fixes

  • ASM: This fix resolves an issue where an exception would be logged while parsing an empty body JSON request.
  • CI Visibility: fixes an issue where coverage data for suites could be lost for long-running test sessions, reducing the possibility of skipping tests when using the Intelligent Test Runner.
  • IAST: Don't split AST Assign nodes since it's not needed for propagation to work.
  • ASM: This fix resolves an issue where suspicious request blocking on request data was preventing API Security to collect schemas in FastAPI, due to route not being computed.
  • ASM: This fix resolves an issue where ASM custom blocking actions with a redirect action could cause the server to drop the response.
  • Fixed an incompatible version requirements for one of the internal dependencies that could have caused an exception to be raised at runtime with Python 3.12.
  • data_streams: This change fixes a bug leading to lag being reported as 1 offset instead of 0 offsets.
  • IAST: fixes import overhead when IAST is disabled.
  • Fix an incomplete support for pkg_resouces that could have caused an exception on start-up.
  • Fix an issue that caused an exception to be raised when trying to access resource files via pkg_resources.
  • Fix for an import issue that caused the pytest plugin to fail to properly initialize a test session and exit with an import exception.
  • openai: This fixes a bug that prevents logs from being correlated with traces in the Datadog UI.
  • langchain: This fixes a bug that prevents logs from being correlated with traces in the Datadog UI.
  • openai: This fix resolves an issue where an internal OpenAI method SyncAPIClient._process_response
    was not being patched correctly and led to to an AttributeError while patching.
  • profiling: handle a potential system error that may be raised when running a Celery-based application with CPython 3.11.
  • Fixed an issue that could have caused an exception as a result of a concurrent access to some internal value cache.
  • tracing: Ensures span links are serialized with the expected traceflag when DD_TRACE_API_VERSION=v0.4
  • ASM: This fix resolves an issue where IP Headers configured by the user in the environment could not work for frameworks handling requests with case insensitive headers like FastAPI.
  • Vulnerability Management for Code-level (IAST): Fixes a bug in the str aspect where encoding and errors arguments were not honored correctly.
  • Vulnerability Management for Code-level (IAST): Fix an unhandled ValueError in ast_function thrown in some cases (i.e. Numpy arrays when converted to bool).
  • opentelemetry: Ensures that span links are serialized in a json-compatible representation.
  • Pin importlib_metadata to 6.5.0 to avoid its issue 455 (python/importlib_metadata#455).
  • profiler: Fixes a sigabrt when shutdown occurs during an upload
  • otel: Ensures all otel sampling decisions are consistent with Datadog Spans. This prevents otel spans in a distrbuted trace from being sampled differently than Datadog spans in the same trace.
  • tracing: Fix an issue where remote configuration values would not be reverted when unset in the UI.
  • tracing: Ensures hostnames are reported in statsd metrics if DD_TRACE_REPORT_HOSTNAME=True (default value is False).

Other Changes

  • setup: pins the default macOS deployment target to 10.14.
  • tracing: Updates the default value of DD_TRACE_PROPAGATION_STYLE from tracecontext,datadog to datadog,tracecontext. With this change datadog headers will be parsed before tracecontext headers. This change is backwards compatible and should not affect existing users.

Don't miss a new dd-trace-py release

NewReleases is sending notifications on new releases.