releases.shpreview

Forked-process traces no longer duplicated; async gen wrapper forwards sent values

v4.11.0rc4

7 fixesThis release7 fixesBug fixesAI-tallied from the release notes

Bug Fixes

  • celery: Fixes Celery worker and producer spans ignoring DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED, causing spans to always use celery-worker/celery-producer instead of the configured global service name.

  • tracing: This fix resolves an issue where traces buffered before os.fork() could be sent twice, once by the parent and once by the child.

  • tracing: Applying @tracer.wrap() to an async generator now forwards sent values, thrown exceptions, and close requests to the underlying generator, so it behaves like the unwrapped generator in all cases. Previously the wrapper only relayed values during forward iteration, so sent values were dropped and try/finally cleanup was skipped whenever the generator was closed early or received a thrown exception.

  • tracing: A rare crash happening on versions of CPython prior to 3.12 has been fixed.

  • LLM Observability: Resolves an issue where spans annotated with metadata containing non-string keys (e.g. int/float/bool) could be dropped during ingestion. Metadata keys are now stringified before encoding.

  • LLM Observability: Resolves an issue where the OpenAI integration recorded unset request parameters (OpenAI SDK's Omit/NotGiven sentinel values) as noise in LLM span metadata.

  • profiling: Rare crashes that could happen post-fork in fork-based applications have been fixed.

Fetched June 24, 2026