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

latest releases: v2.8.2, v2.7.9, v2.6.11...
pre-release18 months ago

Prelude

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.

New Features

  • ASM: 1-click activation with RCM.
  • ASM: ip address collection will be enabled if not explicitly disabled and appsec is enabled.
  • ASM: HTTP query string tagged by default in http.url (sensitive query strings obfuscated).
  • ASM: add http.route for Python Flask.
  • Django: set usr.id tag by default if request.user is authenticated.
  • Introduced the public interface for the dynamic instrumentation service. See Configuration for more details.
  • IAST: Add new env var DD_IAST_ENABLED.
  • IAST: detect and report weak hash vulnerabilities.
  • 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.

Upgrade Notes

  • Pin attrs dependency to version >=20 due to incompatibility with cattrs version 22.1.0.
  • Use Span.set_tag_str() instead of Span.set_tag() when the tag value is a text type as a performance optimizations in manual instrumentation.

Bug Fixes

  • ASM: only report actor.ip on attack.
  • ASM: fix a conflict with another backport of ipaddress by using the same lib. Add a test.
  • 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.
  • Only install ipaddress dependency 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 tracing more than one wsgi app within the same process ensure wsgi spans have the correct parenting.

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

NewReleases is sending notifications on new releases.