Releases: DataDog/dd-trace-py
Releases · DataDog/dd-trace-py
2.6.8
Bug Fixes
- internal telemetry: Ensures heartbeat events are sent at regular intervals even when no other events are being sent.
- Fix an incompatibility between the handling of namespace module imports and parts of the functionalities of the standard library importlib module.
- Fix for the declaration of dependencies for the package.
- profiling: handle unexpected stack data to prevent the profiler from stopping.
- appsec: This fix resolves an issue in which the library attempted to finalize twice a context object used by the Application Security Management product.
2.5.6
Bug Fixes
- internal telemetry: Ensures heartbeat events are sent at regular intervals even when no other events are being sent.
- Fix an incompatibility between the handling of namespace module imports and parts of the functionalities of the standard library importlib module.
- appsec: This fix resolves an issue in which the library attempted to finalize twice a context object used by the Application Security Management product.
2.6.7
2.5.5
2.7.2
Bug Fixes
- profiling: handle unexpected stack data to prevent the profiler from stopping.
- profiling: implement an experimental stack sampling feature, which can be enabled by setting
DD_PROFILING_STACK_V2_ENABLED=true. This new sampler should resolve segfault issues on Python 3.11 and later, while also decreasing the latency contribution of the profiler in many situations, and also improving the accuracy of stack-sampling data. This feature is currently only available on Linux using CPython 3.8 or greater. RequiresDD_PROFILING_EXPORT_LIBDD_ENABLED=trueto be set. - ASM: This fix resolves an issue with Flask instrumentation causing CPU leak with ASM, API Security and Telemetry enabled.
- starlette: Ensures correct URL tag is set for starlette v0.34.0 and above.
2.7.1
Bug Fixes
- CI Visibility: fixes an issue where git author or committer names containing commas (eg: "Lastname, Firstname") would not work (and log an error) due to the use of comma as a separator.
- Vulnerability Management for Code-level (IAST): Addresses an issue where the IAST native module was imported even though IAST was not enabled.
- Vulnerability Management for Code-level (IAST): Fixes an issue where an atexit handler could lead to a segmentation fault.
2.6.6
Bug Fixes
- CI Visibility: fixes an issue where git author or committer names containing commas (eg: "Lastname, Firstname") would not work (and log an error) due to the use of comma as a separator.
- 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): Addresses an issue where the IAST native module was imported even though IAST was not enabled.
- Vulnerability Management for Code-level (IAST): This fix addresses an issue where AST patching would generate code that fails to compile, thereby preventing the application from starting correctly.
- Vulnerability Management for Code-level (IAST): This fix addresses AST patching issues where other subscript operations than
Loadwere being unintentionally patched, leading to compilation errors for the patched module. - Vulnerability Management for Code-level (IAST): Fixes an issue where an atexit handler could lead to a segmentation fault.
- Vulnerability Management for Code-level (IAST): This fix addresses an issue where a vulnerability would be reported at line 0 if we couldn't extract the proper line number, whereas the default line number should be -1.
- kafka: This fix resolves an issue where the use of a Kafka
DeserializingConsumercould result in a crash when the deserializer in use returns a type without a__len__attribute.
2.5.4
Bug Fixes
- IAST: fix potentially empty ranges after executing the decode aspect.
- CI Visibility: fixes an issue where git author or committer names containing commas (eg: "Lastname, Firstname") would not work (and log an error) due to the use of comma as a separator.
- 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
- 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.
- 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): This fix addresses an issue where AST patching would generate code that fails to compile, thereby preventing the application from starting correctly.
- Vulnerability Management for Code-level (IAST): This fix addresses AST patching issues where other subscript operations than
Loadwere being unintentionally patched, leading to compilation errors for the patched module. - Vulnerability Management for Code-level (IAST): Fixes an issue where an atexit handler could lead to a segmentation fault.
- Vulnerability Management for Code-level (IAST): This fix addresses an issue where a vulnerability would be reported at line 0 if we couldn't extract the proper line number, whereas the default line number should be -1.
- kafka: This fix resolves an issue where the use of a Kafka
DeserializingConsumercould result in a crash when the deserializer in use returns a type without a__len__attribute.
1.20.18
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.
- CI Visibility: fixes an issue where git author or committer names containing commas (eg: "Lastname, Firstname") would not work (and log an error) due to the use of comma as a separator.
- 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.
2.7.0
New Features
- asgi: Trace websockets in asgi middleware behind feature flag. Set
DD_ASGI_TRACE_WEBSOCKET=trueto 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._metricsin addition tospan._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-IDheader 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 Linuxcgroupv2. - tracing: This introduces Glob matching support for
service,name, andresourcepassed in with envarDD_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
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, andresourcefor sampling rules. Please use the new Glob matching support instead.
Bug Fixes
- Vulnerability Management for Code-level (IAST): This fix addresses an issue where AST patching would generate code that fails to compile, thereby preventing the application from starting correctly.
- Vulnerability Management for Code-level (IAST): This fix addresses AST patching issues where other subscript operations than
Loadwere being unintentionally patched, leading to compilation errors for the patched module. - Vulnerability Management for Code-level (IAST): This fix addresses an issue where a vulnerability would be reported at line 0 if we couldn't extract the proper line number, whereas the default line number should be -1.
- 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=falseand 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_ENABLEDis set toFalse. - 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
DeserializingConsumercould result in a crash when the deserializer in use returns a type without a__len__attribute.