v4.8.2
📦 datadog-sdkView on GitHub →
🐛 5 fixes🔧 8 symbols
Summary
This release fixes several issues related to header parsing limits for W3C tracestate and baggage, ensuring compliance with specifications and preventing unbounded work during extraction. It also resolves an import conflict affecting the Strands integration.
🐛 Bug Fixes
- Resolved a conflict between ddtrace.auto and strands imports that caused Strands hooks to be silently disabled; Strands integration now loads lazily on first attribute access.
- W3C tracestate header parsing during tracecontext extraction is now limited to 32 list-members and 512 UTF-8 bytes, ignoring extra members or trailing entries that exceed the budget.
- The Datadog dd= list-member in tracestate is now preferred and kept when present, with other vendors dropped first during size trimming.
- List-members longer than DD_TRACE_TRACESTATE_ITEM_MAX_CHARS (128) characters are removed first when trimming by list-member count or byte budget.
- Parsing of incoming baggage HTTP headers now respects DD_TRACE_BAGGAGE_MAX_ITEMS (default 64) and DD_TRACE_BAGGAGE_MAX_BYTES (default 8192), dropping excess pairs and recording truncation telemetry.