github DataDog/dd-trace-py v1.6.0rc2
1.6.0rc2

latest releases: v2.12.2, v2.11.6, v2.11.5...
pre-release23 months ago

Prelude

Initial library support has been added for Python 3.11. Continuous Profiler and Dynamic Instrumentation are not yet compatible and must be disabled in order to use the library with Python 3.11. Support for Continuous Profiler and Dynamic Instrumentation will be added in a future release. For full Python 3.11 support status please see: #4149

Application Security Management (ASM) has added support for preventing attacks by blocking malicious IPs using one click within Datadog.

NOTE: One click activation for ASM is currently in beta.

Dynamic instrumentation allows instrumenting a running service dynamically to extract runtime information that could be useful for, e.g., debugging purposes, or to add extra metrics without having to make code changes and re-deploy the service. See https://ddtrace.readthedocs.io/en/stable/configuration.html for more details.

New Features

  • ASM: now http.client_ip and network.client.ip will only be collected if ASM is enabled.
  • tracer: added support for Python 3.11.
  • ASM: add support for one click activation using Remote Configuration Management (RCM). Set DD_REMOTE_CONFIGURATION_ENABLED=true to enable this feature.
  • ASM: ip address collection will be enabled if not explicitly disabled and appsec is enabled.
  • tracing: HTTP query string tagged by default in http.url tag (sensitive query strings will be obfuscated).
  • Django: set usr.id tag by default if request.user is authenticated.
  • dynamic instrumentation: Introduced the public interface for the dynamic instrumentation service. See https://ddtrace.readthedocs.io/en/stable/configuration.html for more details.
  • Add Span.set_tag_str() as an alternative to the overloaded functionality of Span.set_tag() when the value can be coerced to unicode text.
  • Enable telemetry <Instrumentation Telemetry> collection when tracing is enabled.

Upgrade Notes

  • Python 3.11: Continuous Profiler and Dynamic Instrumentation must be disabled as they do not currently support Python 3.11.

Bug Fixes

  • Fix issue with attrs and contextlib2 version constraints for Python 2.7.
  • ASM: only report actor.ip on attack.
  • aioredis: added exception handling for CancelledError in the aioredis integration.
  • CI Visibility: fixed AppVeyor integration not extracting the full commit message.
  • Add iterable methods on TracedCursor. Previously these were not present and would cause iterable usage of cursors in DB API integrations to fail.
  • Fix parsing of the DD_TAGS environment variable value to include support for values with colons (e.g. URLs). Also fixed the parsing of invalid tags that begin with a space (e.g. DD_TAGS=" key:val" will now produce a tag with label key, instead of  key, and value val).
  • opentracing: don't raise an exception when distributed tracing headers are not present when attempting to extract.
  • sqlite3: fix error when using connection.backup method.
  • Change dependency from backport_ipaddress` toipaddress. Only installipaddress`` for Python < 3.7.
  • gevent: disable gevent after fork hook which could result in a performance regression.
  • profiling: restart automatically on all Python versions.
  • profiling: fixes an issue with Gunicorn child processes not storing profiling events.
  • wsgi: when using more than one nested wsgi traced middleware in the same app ensure wsgi spans have the correct parenting.

Other Notes

  • tracing: add http.route tag to root span for Flask framework.

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

NewReleases is sending notifications on new releases.