github DataDog/dd-trace-py v2.3.0rc1
2.3.0rc1

latest releases: v2.16.0rc2, v2.14.5, v2.15.1...
pre-release11 months ago

New Features

  • dsm: Adds DSM pathway.hash tag to spans when DSM is enabled. This allows traces from the instrumented service to show up in the DSM traces tab.
  • opentelemetry: Map reserved OpenTelemetry attributes to Datadog span model.
  • opentelemetry: datadog operation name from semantic conventions
  • propagation: 128-bit trace ids are now used by default for propagation. Previously the default was 64-bit. This change is backwards compatible with tracers that still use 64-bit trace ids and should not cause any breaking behavior.
  • propagation: When the tracer is configured to extract and inject tracecontext, the tracer will propagate the tracestate values from other vendors so long as the traceparent trace-id matches the first found trace context, regardless of propagator configuration order. To disable this behavior DD_TRACE_PROPAGATION_EXTRACT_FIRST=true can be set.
  • propagation: If a valid context is extracted from headers, and the following extracted trace context's trace_ids do not match the valid context's, then add a span link to the root span to represent the broken propagation.
  • tracing: This change treats spans that terminated with sys.exit(0) as successful non-error spans.
  • tracing: This introduces the DD_TRACE_SPAN_TRACEBACK_MAX_SIZE environment variable, allowing the maximum size of tracebacks included on spans to be configured.

Bug Fixes

  • build: Fixes an issue where ddtrace could not be installed from source when using setuptools>=69 due to a change in the license field.
  • CI Visibility: fixes the fact that the GITHUB_SERVER_URL environment variable was not being sanitized for credentials
  • dynamic instrumentation: Needs to update the pubsub instance when the application forks because the probe mechanism should run in the child process. For that, DI needs the callback as the method of an instance of Debugger, which lives in the child process.
  • CI Visibility: Fixes an issue where a ValueError was raised when using different path drives on Windows
  • kafka: This fix resolves an issue where calls to confluent_kafka's produce method with key=None would cause an exception to be raised.
  • logging: A log handler is automatically added to the ddtrace logger upon ddtrace import, when not using ddtrace-run. This can lead to duplicate logging if users add additional loggers and do not explicitly modify the ddtrace logger. This fix adds a feature flag that can be used to toggle this behavior off DD_TRACE_LOG_STREAM_HANDLER which defaults to true.
  • tracing: Fixes an issue where the thread responsible for sending traces is killed due to concurrent dictionary modification.
  • tracing: This fix resolves an issue where ddtrace's signal handlers could cause Flask apps not to respond correctly to SIGINT.
  • Vulnerability Management for Code-level (IAST): Generates cookies vulnerabilities report if IAST is enabled. Before this fix, Cookies vulnerabilities were only generated if both IAST and Appsec were enabled.
  • Vulnerability Management for Code-level (IAST): This fix resolves an issue where, at AST patching to replace code with IAST aspects, passing the original function/method as an extra parameter for accurate patching unintentionally triggers side effects in methods obtained from an expression (like decode in file.read(n).decode()), resulting in unexpected multiple calls to the expression (file.read(n) in the example).
  • Vulnerability Management for Code-level (IAST): This fix eliminates some reference leaks and C-API usage when IAST reports a vulnerability and calls get_info_frame.

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

NewReleases is sending notifications on new releases.