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.