Change8

v4.9.0rc1

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

Summary

This release introduces configuration for ignoring Ray actor methods, enhances AI Guard IP tagging, and fixes numerous bugs across CI Visibility, Django endpoint discovery, LLM Observability, and profiling stability.

Migration Steps

  1. If using Ray actors, review the new DD_TRACE_RAY_IGNORED_ACTORS configuration if you need to exclude specific actor methods from instrumentation.

✨ New Features

  • When DD_AI_GUARD_ENABLED=true is set and an ai_guard span is created, the tracer now populates http.client_ip and network.client.ip on the service-entry (local root) span, mirroring Application Security behavior. DD_TRACE_CLIENT_IP_ENABLED is ignored if AI Guard reports.
  • ray: Adds DD_TRACE_RAY_IGNORED_ACTORS configuration to exclude specific Ray actor methods from instrumentation.

🐛 Bug Fixes

  • CI Visibility: Fixes code coverage instrumentation on Python 3.13, 3.14, and 3.15, resolving lost per-test line data due to sys.monitoring context issues, empty module events, and ProcessPoolExecutor propagation.
  • CI Visibility: Fixes a stale-data bug where child process executable lines could inflate coverage denominators after stop_coverage() was called before join().
  • django: API endpoint discovery now correctly supports Django sub-applications mounted with django.urls.include(...), reporting the full URL path.
  • django: API endpoint discovery now reports the correct HTTP methods for views decorated with @require_http_methods combined with other decorators like @csrf_exempt.
  • LLM Observability: Fixes a crash in the summary evaluator caused by TypeError when processing dataset records with null metadata.
  • LLM Observability: Changes the default model_name and model_provider of LLM and embedding spans from 'custom' to 'unknown' if not explicitly provided or empty.
  • profiling: Fixed a crash that could happen in child processes after fork.
  • profiling: Fixed a rare crash caused by the memory allocation profiler.
  • profiling: Fixed a rare crash happening on systems with small stack sizes when profiling asyncio code.
  • RemoteConfig: Fixed an issue where deleted remote configurations were not applied, leading to stale settings persistence.
  • wsgi: Resolves an issue where http.url tag on inbound request spans contained the WSGI mount prefix twice when using DispatcherMiddleware or similar in-process mounts.

Affected Symbols