Change8

v4.12.3

📦 datadog-sdkView on GitHub →
🐛 11 fixes🔧 11 symbols

Summary

This release addresses several critical bug fixes across various integrations and internal components, including memory leak resolutions and stability improvements for Python versions 3.9-3.12.3. It also resolves issues with span export, trace data handling, and LLM observability.

🐛 Bug Fixes

  • Fixes an issue where spans were not exported when streamed responses were consumed using `get_final_message()` or `get_final_text()` with the Anthropic integration.
  • Fixes a potential memory leak triggered by having code origin for spans explicitly disabled via environment variables.
  • Fixes an issue on Python 3.9 through 3.12.3 where applications can crash when background worker threads clean up thread-local or context-local data.
  • Fixes an issue where traced cursor calls fail when `command` is passed as a keyword argument to `execute` or `executemany` with the Snowflake integration.
  • Fixes potential process memory growth when a stack profiling sampling cycle exits before completing a sample.
  • Fixes potential process memory growth in asyncio and gevent workloads after stack profiling sampling cycles exit before completion.
  • Fixed an issue that could have caused the internal symbol DB component to restart in nested fork child processes, potentially leading to high memory usage.
  • Fixes an issue where the `v0.5` trace API (`DD_TRACE_API_VERSION=v0.5`) drops traces when a single payload contains between 65,536 and 131,071 unique tag keys and values.
  • A memory leak triggered when using `@tracer.wrap` on functions created at run time has been fixed.
  • Fixes an issue where applications could crash when asynchronous tasks accessed request data after the originating request completed.
  • Resolves an issue where OpenRouter requests made through the LiteLLM integration produced no span when the OpenAI integration was also enabled.

Affected Symbols