github DataDog/dd-trace-py v2.0.10
2.0.10

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

New Features

  • wsgi: This change introduces the keyword argument app_is_iterator to the DDWSGIMiddleware constructor. It's provided as a workaround for an issue where the Datadog WSGI middleware would fail to handle WSGI apps that are not their own iterators. This condition can arise when a Django app attempts to send its "request finished" signal, in which case it may cause connection leaks. Standard methods of distinguishing an iterable from its iterator, such as checking for the presence of iter and next dunder methods, don't work in this case for unknown reasons. Instead of adding brittle special-case detection logic to the middleware, this new argument allows users to indicate when this is the case.

Bug Fixes

  • 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.
  • 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).
  • tracing: This fix resolves an issue where unserializable tracer attributes caused crashes when DD_TRACE_DEBUG was set.
  • kafka: This fix resolves an issue where calls to confluent_kafka's produce method with key=None would cause an exception to be raised.
  • tracing: This fix resolves an issue where ddtrace's signal handlers could cause Flask apps not to respond correctly to SIGINT.
  • 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.
  • This fix resolves an issue where type-checking would fail on valid application code due to a type hint on Span.set_tags that was too restrictive.

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

NewReleases is sending notifications on new releases.