Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 27, 2025

Bumps ddtrace from 3.2.3 to 3.17.0.

Release notes

Sourced from ddtrace's releases.

3.17.0

Estimated end-of-life date, accurate to within three months: 08-2026 See the support level definitions for more information.

Upgrade Notes

  • LLM Observability: Experiments can now be created to be stored under a different project from the project defined in LLMObs.enable

Deprecation Notes

  • LLM Observability: LLMObs.submit_evaluation_for() has been deprecated and will be removed in a future version. It will be replaced with LLMObs.submit_evaluation() which will take the signature of the original LLMObs.submit_evaluation_for() method in ddtrace version 4.0. Please use LLMObs.submit_evaluation() for submitting evaluations moving forward. To migrate:
    • LLMObs.submit_evaluation_for(...) users: rename to LLMObs.submit_evaluation(...)
    • LLMObs.submit_evaluation_for(...) users: rename the span_context argument to span, i.e. LLMObs.submit_evaluation(span_context={"span_id": ..., "trace_id": ...}, ...) to LLMObs.submit_evaluation(span={"span_id": ..., "trace_id": ...}, ...)
  • tracing: Tracer.on_start_span and Tracer.deregister_on_start_span are deprecated and will be removed in v4.0.0 with no planned replacement.
  • Support for ddtrace with Python 3.8 is deprecated and will be removed in version 4.0.0.

New Features

  • CI Visibility: This introduces Test Impact Analysis code coverage support for Python 3.13.
  • azure_eventhubs: Add support for Azure Event Hubs producers.
  • azure_functions: Add support for Event Hubs triggers.
  • LLM Observability
    • Introduces automatic tracing context propagation for LLM Observability traces involving asynchronous tasks created via asyncio.create_task().
    • The asyncio and futures integrations are now enabled by default on LLMObs.enable(), which enables asynchronous context propagation for those libraries.
    • The LLMObs.submit_evaluation() and LLMObs.submit_evaluation_for() methods now accept a reasoning argument to denote an explanation of the evaluation results.
    • The OpenAI integration now submits LLM spans to LLM Observability for parse() methods used for structured outputs.
    • The LLMObs.submit_evaluation_for() method now accepts a assessment argument to denote whether or not the evaluation is valid or correct. Accepted values are either "pass" or "fail".
  • openai: Adds support for tracing the parse() methods for structured outputs on chat.completions and responses endpoints (available in OpenAI SDK >= 1.92.0).
  • AAP
    • This introduces track_user_id in the ATO SDK, which is equivalent to track_user but does not require the login, only the user id.
    • This introduces supports for custom scanners for data classification.

Bug Fixes

  • AAP
    • This fix resolves an issue where downstream request analysis would not match headers in rules when using requests with urllib3\<2.
    • This PR is a tentative fix for rare memory problems with libddwaf that we were unable to reproduce for now.
  • Pin to wrapt<2 until we can ensure full compatibility with the breaking changes.
  • CI Visibility
    • This fix resolves an issue where tests would be incorrectly detected as third-party code if a third-party package containing a folder with the same name as the tests folder was installed. For instance, the sumy package installs files under tests/* in site-packages, and this would cause any modules under tests.* to be considered third-party.
    • This fix resolves an issue with our coverage implementation for Python versions 3.12+ that affects generated bytecode that isn't mapped to a line in the code
  • LLM Observability: Resolves an issue with the Google GenAI integration where processing token metrics would sometimes be skipped if the LLM message had no text part.
  • grpc: This fix resolves an issue where the internal span was left active in the caller when using the future interface.
  • Profiling: prevent potential deadlocks with thread pools.
  • ray
    • This fix resolves an issue where submitting Ray jobs caused an AttributeError crash in certain configurations.
    • This fix resolves an issue where long-running job spans could remain unfinished when an exception occurred during job submission.
    • This fix resolves an issue where long-running spans did not preserve the correct resource name when being recreated.

... (truncated)

Changelog

Sourced from ddtrace's changelog.

Changelog

Changelogs for versions not listed here can be found at https://github.com/DataDog/dd-trace-py/releases


3.8.0

New Features

  • LLM Observability: add processor capability to process span inputs and outputs. See usage documentation [here](https://docs.datadoghq.com/llm_observability/setup/sdk/python/#span-processing).
  • CI Visibility: This introduces the ability to gzip the payload when using the evp proxy setup, incurring in less network bandwith consumption.
  • Error Tracking: Introduces automatic reporting of handled exceptions. Enabling the feature will report handled exceptions to Error Tracking from the user code, the third party packages code, some specified modules or everything based on configuration. This feature can be controlled using two environment variables: - DD_ERROR_TRACKING_HANDLED_ERRORS=`allthird_party` - DD_ERROR_TRACKING_HANDLED_ERRORS_INCLUDE=`module1, module2, module3.submodule`
  • Code Security: IAST support for langchain v0.1.0 and above.
  • openai: This introduces tracing support for the OpenAI Responses endpoint.

Bug Fixes

  • tracing: Fixes an issue where truncation of span attributes longer than 25000 characters would not consistently count the size of UTF-8 multibyte characters, leading to a unicode string is too large error.

  • CI Visibility: This fix resolves an issue where the DD_CIVISIBILITY_ITR_ENABLED was not honored properly.

  • tracing: Fixes a bug in distributed tracing where pickling ddtrace.trace.Context fails in coroutines. This regression was introduced in v3.7.0.

  • CI Visibility: This fix resolves an issue where pytest-xdist would not exit with the proper status code if ATR was enabled.

  • CI Visibility: This fix resolves an issue where ddtrace pytest plugin used with xdist would report test suites as failing even when all tests pass.

  • profiling: fixed an issue in the SynchronizedSamplePool where pool could be null when calling into ddog_ArrayQueue_ functions, leading to segfaults in the uWSGI shutdown

  • Code Security: IAST: Avoid excessive filtering of stacktrace locations when finding vulnerabilities. After this change, vulnerabilities that were previously discarded will now be reported. In particular, if they were found within code in site-packages or outside of the working directory.

  • LLM Observability: Resolves an issue where spans and evaluation metrics were not being sent via Unix sockets.

  • dynamic instrumentation: prevent an exception when trying to remove a probe that did not resolve to a valid source code location.

  • kafka: This fix resolves an issue where message headers were sent to Kafka brokers that do not support them. Message headers are turned off when the Kafka server responds with UNKNOWN_SERVER_ERROR (-1).

  • code origin for spans: fixes a performance issue with exit spans.

  • profiling: improve performance of the memory profiler for large heaps. The memory profiler previously did a linear search of tracked allocations for every free, which scaled very poorly with large heaps. Switch to a fast hash map.


3.7.2

Bug Fixes

  • CI Visibility: This fix resolves an issue where the DD_CIVISIBILITY_ITR_ENABLED was not honored properly.
  • tracing: Fixes an issue where truncation of span attributes longer than 25000 characters would not consistently count the size of UTF-8 multibyte characters, leading to a unicode string is too large error.

3.7.1

Bug Fixes

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ddtrace](https://github.com/DataDog/dd-trace-py) from 3.2.3 to 3.17.0.
- [Release notes](https://github.com/DataDog/dd-trace-py/releases)
- [Changelog](https://github.com/DataDog/dd-trace-py/blob/main/CHANGELOG.md)
- [Commits](DataDog/dd-trace-py@v3.2.3...v3.17.0)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-version: 3.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant