v3.8.0
📦 datadog-sdkView on GitHub →
✨ 5 features🐛 12 fixes🔧 6 symbols
Summary
This release introduces significant new features across LLM Observability, Error Tracking, and CI Visibility, alongside numerous bug fixes addressing stability, performance, and tracing issues.
Migration Steps
- If using Error Tracking, review and set the `DD_ERROR_TRACKING_HANDLED_ERRORS` and `DD_ERROR_TRACKING_HANDLED_ERRORS_INCLUDE` environment variables if automatic reporting of handled exceptions is desired.
- Users relying on specific truncation behavior for span attributes exceeding 25000 characters should be aware of the fix related to UTF-8 multibyte character counting.
✨ New Features
- LLM Observability: add processor capability to process span inputs and outputs.
- CI Visibility: introduces the ability to gzip the payload when using the evp proxy setup, incurring in less network bandwith consumption.
- Error Tracking: Introduces automatic reporting of handled exceptions, controllable via DD_ERROR_TRACKING_HANDLED_ERRORS and DD_ERROR_TRACKING_HANDLED_ERRORS_INCLUDE environment variables.
- Code Security: IAST support for langchain v0.1.0 and above.
- openai: introduces tracing support for the OpenAI Responses endpoint.
🐛 Bug Fixes
- tracing: Fixes an issue where truncation of span attributes longer than 25000 characters would not consistently count the size of UTF-8 multibyte characters, leading to a `unicode string is too large` error.
- tracing: Fixes a bug in distributed tracing where pickling `ddtrace.trace.Context` fails in coroutines (regression from v3.7.0).
- CI Visibility: Resolves an issue where the `DD_CIVISIBILITY_ITR_ENABLED` was not honored properly.
- CI Visibility: Resolves an issue where pytest-xdist would not exit with the proper status code if ATR was enabled.
- CI Visibility: Resolves an issue where ddtrace pytest plugin used with xdist would report test suites as failing even when all tests pass.
- profiling: Fixed an issue in the `SynchronizedSamplePool` where pool could be null when calling into `ddog_ArrayQueue_` functions, leading to segfaults in the uWSGI shutdown.
- profiling: Improve performance of the memory profiler for large heaps by switching from linear search to a fast hash map for allocation tracking.
- Code Security (IAST): Avoid excessive filtering of stacktrace locations when finding vulnerabilities; vulnerabilities previously discarded (e.g., found in site-packages or outside the working directory) will now be reported.
- LLM Observability: Resolves an issue where spans and evaluation metrics were not being sent via Unix sockets.
- dynamic instrumentation: prevent an exception when trying to remove a probe that did not resolve to a valid source code location.
- kafka: Resolves an issue where message headers were sent to Kafka brokers that do not support them; headers are now turned off if the Kafka server responds with `UNKNOWN_SERVER_ERROR (-1)`.
- code origin for spans: fixes a performance issue with exit spans.
🔧 Affected Symbols
ddtrace.trace.ContextSynchronizedSamplePoolddog_ArrayQueue_DD_CIVISIBILITY_ITR_ENABLEDDD_ERROR_TRACKING_HANDLED_ERRORSDD_ERROR_TRACKING_HANDLED_ERRORS_INCLUDE