v0.56.0 / 2026-11-04
- [Fixed] Normalize tags passed to
event()andservice_check()so|and\ncharacters (DogStatsD protocol delimiters) are replaced with_, consistent with the existing behavior of all metric methods. See #953 (thanks @tomohiro86). - [Fixed] Preserve the
cardinalitytag on DogStatsDsetmetrics when client-side aggregation is enabled; it was being silently dropped on the wire. See #980 (thanks @jaideeppyne). - [Fixed] Fix DogStatsD
stop()synchronous fallback failures:stop()could returnTrueeven though a payload flushed synchronously during shutdown failed to send; it now returnsFalsein that case. See #1009. - [Fixed] Fix DogStatsD
wait_for_pending(timeout)timeout accounting so the timeout covers both the buffered-metrics flush and the queue drain, not just the drain. See #1010. - [Fixed] Fix a DogStatsD background sender deadlock that could occur during buffered flush retries. See #1011.
- [Fixed] Check DogStatsD
stop(timeout)'s remaining timeout budget before each aggregated metric and before starting the buffered flush. In-progress sends and their telemetry can still exceed that budget because socket timeouts are not clamped. See #1012.