pypi ddtrace 2.4.0

latest releases: 2.16.1, 2.14.7, 2.14.6...
10 months ago

New Features

  • ASM: dependency telemetry metrics now will only report dependencies actually in use (imported) and will also report new imported modules periodically.

  • ASM: This introduces Threat Monitoring and Blocking on FastAPI.

    • IP Blocking and all input addresses are supported on requests and responses
    • Custom Blocking (This does not contain user blocking specific features yet).
  • Vulnerability Management for Code-level (IAST): Adds Python 3.12 compatibility

  • tracing: Introduces support for OpenTracing Baggage Items with HTTP Propagation. Enable this support by DD_TRACE_PROPAGATION_HTTP_BAGGAGE_ENABLED=true. The Context._set_baggage_item and Context._get_baggage_item internal methods are provided for manual modifications to the Baggage Items. These API changes are subject to change.

  • dynamic instrumentation: Add support for more built-in container types, such as defaultdict, frozenset, OrderedDict and Counter.

  • Optionally lazy loads and disables Instrumentation Telemetry. Users must explicitly set "DD_INSTRUMENTATION_TELEMETRY_ENABLED=false".

  • tracer: Add support for remotely setting the trace sample rate from the Datadog UI. This functionality is enabled by default when using ddtrace-run and library injection. To enable it when using the library manually, use ddtrace.config.enable_remote_config().

Upgrade Notes

  • This removes the pylons integration, which does not support Python 3.

Deprecation Notes

  • aioredis: The aioredis integration is deprecated and will be removed in a future version. As an alternative to the aioredis integration, you can use the redis integration with redis>=4.2.0.

Bug Fixes

  • ASM: This fix resolves an issue where IAST could cause circular dependency at startup.
  • Vulnerability Management for Code-level (IAST): Cookies vulnerabilities are only reported if response cookies are insecure.
  • Vulnerability Management for Code-level (IAST): Fix propagation error on .format string method.
  • Vulnerability Management for Code-level (IAST): Ensure that Cookies vulnerabilities report only the cookie name.
  • Vulnerability Management for Code-level (IAST): This fix resolves an issue where certain aspects incorrectly expected at least one argument, leading to an IndexError when none were provided. The solution removes this constraint and incorporates regression tests for stability assurance.
  • tracing: Resolves span encoding errors raised when span links do not contain expected types
  • tracer: tag spans that have been sampled due to an Agent sampling configuration.
  • lambda: This change disables the use of multiprocessing.queue in Lambda, because it is not supported in Lambda
  • langchain: This fix resolves a crash that could occur during embedding when no embeddings are found.
  • Fix a regression with the support for gevent that could have occurred if some products, like ASM, telemetry, were enabled.
  • kafka: Resolves TypeError raised by serializing producers and deserializing consumers when the message.key tag is set on spans.
  • dynamic instrumentation: Fix an issue that caused the instrumented application to fail to start if a non-standard module was imported.
  • openai: This fix resolves an issue where tagging image inputs in the chat completions endpoint resulted in attribute errors.
  • openai: This fix resolves an issue where requesting raw API responses from openai>=1.0 resulted in attribute errors while tagging.
  • profiling: Fix an issue that prevented threading locks from being traced when using gevent.
  • profiling: Fix a segmentation fault with CPython 3.12 when sampling thread stacks.
  • pylibmc: Fixes an issue where using ddtrace-run or ddtrace.patch_all() with DD_TRACE_ENABLED=False would break with get, gets, and get_multi operations on pylibmc Clients.
  • tracing: This fix resolves an issue where concurrent mutations to the context._meta dict caused RuntimeError: dictionary changed size during iteration.
  • django: Resolves AttributeError raised by traced StreamingHttpResponse.
  • requests: Updates the resource names of requests.requests spans to include the method and path of the request.
  • propagation: This fix resolves an issue where a Context generated from extracted headers could lack a span_id or trace_id, leading SpanLink encoding errors.
  • psycopg: This fix resolves an issue where a circular import of the psycopg library could cause a crash during monkeypatching.
  • psycopg: This fix resolves an issue where exceptions originating from asynchronous Psycopg cursors were not propagated up the call stack.
  • redis: This fix resolves an issue where the yaaredis and aredis integrations imported code from the redis integration, causing a circular import error.
  • tracing: Resolves trace encoding errors raised when DD_TRACE_API_VERSION is set to v0.5 and a BufferFull Exception is raised by the TraceWriter. This fix ensures span fields are not overwritten and reduces the frequency of 4XX errors in the trace agent.

Other Changes

  • tracing: Upgrades the trace encoding format to v0.5. This change improves the performance of encoding and sending spans.

Don't miss a new ddtrace release

NewReleases is sending notifications on new releases.