github DataDog/dd-trace-py v2.7.0rc1
2.7.0rc1

latest releases: v2.17.0rc1, v2.16.1, v2.14.7...
pre-release8 months ago

Deprecation Notes

  • tracing: Using [] for DD_TRACE_METHODS (mymod.mysubmod.myclass[myfunc,otherfunc];...) is deprecated and will be removed in 3.0.0.
  • This deprecates the passing in of methods or regex patterns for service, name, and resource for sampling rules. Please use the new Glob matching support instead.

New Features

  • asgi: Trace websockets in asgi middleware behind feature flag. Set DD_ASGI_TRACE_WEBSOCKET=true to enable.
  • tracing: Span and trace sampling rules are case insensitive.
  • tracing: Tags provided in span and trace sampling rules now attempt to match against span._metrics in addition to span._meta, which was previously the only supported field.
  • dbm: adds new ddh and dddb SQL comment attributes to enable connection with APM when using peer.service.
  • tracing: Updates DD_TRACE_METHODS to use a new notation with : to differentiate between the base module and the method name (mymod.mysubmod:myclass.myfunc,myclass.otherfunc;...)
  • tracing: This adds the Datadog-Entity-ID header to payloads sent to the Datadog Agent. This header can be set to the container ID or the container's cgroup node inode, and serves as a unique identifier for containers running under Linux cgroupv2.
  • tracing: This introduces Glob matching support for service, name, and resource passed in with envar DD_TRACE_SAMPLE_RULES. Previously, the service, name, and resource were matched using exact string matching.
  • lib-injection: Adds supports for installing ddtrace via single step instrumentation on python3.12

Bug Fixes

  • tracing: This fix resolves an issue where previously some traces that were not sampled were not sent to the trace-agent, possibly affecting metrics. With this fix, all traces are sent to the agent.
  • IAST: fix potentially empty ranges after executing the decode aspect.
  • CI Visibility: fixes issues with pytest~=8.0 that would case crashes in certain scenarios, and returned different module names
  • CI Visibility: fix a potential crash for Python<3.10 when a socket.timeout error was raised instead of the expected TimeoutError during CI Visibility API requests
  • CI Visibility: This fix makes the CI Visibility system resilient to RuntimeErrors that can occur between pytest tests with coverage enabled.
  • IAST: don't patch BytesIO since we don't have any aspects for it.
  • tracing: This fix resolves an issue where the tracer could throw an uncaught error during process shutdown.
  • botocore: Fixes bug where SQS and Kinesis results and errors were not recorded when DD_BOTOCORE_EMPTY_POLL_ENABLED=false. config.botocore.empty_poll_enabled=false and no records were found.
  • profiling: fixes an issue that could have caused the profiler to stop if unable to determine the class name of a profiled function with CPython 3.11 and newer.
  • tracing: Resolves telemetry import error raised when DD_INSTRUMENTATION_TELEMETRY_ENABLED is set to False.
  • ASM: This fix resolves an issue where rules updated through remote config were not properly updating required waf addresses. This could lead to custom rules being ignored.
  • ASM: This fix resolves an issue where remote config update in WAF policy from block attack tools policy to monitoring only policy could be ignored by tracer.
  • Vulnerability Management for Code-level (IAST): Fixes an issue where requests stopped being analyzed after some time due.
  • Vulnerability Management for Code-level (IAST): Fixes issues derived from AST patching code with type annotations.
  • kafka: This fix resolves an issue where the use of a Kafka DeserializingConsumer could result in a crash when the deserializer in use returns a type without a __len__ attribute.

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

NewReleases is sending notifications on new releases.