Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 7, 2025

Bumps ddtrace from 3.17.2 to 3.18.0.

Release notes

Sourced from ddtrace's releases.

3.18.0

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

Upgrade Notes

  • openai: Streamed chat/completions will no longer have token counts computed using the tiktoken library, and instead
    will default to having their token counts estimated if not explicitly provided in the OpenAI response object. To guarantee accurate streamed token metrics, set stream_options={"include_usage": True} in the OpenAI request.

Deprecation Notes

  • tracing
    • Span.set_struct_tag is deprecated and will be removed in v4.0.0 with no direct replacement.
    • Span.get_struct_tag is deprecated and will be removed in v4.0.0 with no direct replacement.
    • Span.set_tag_str is deprecated and will be removed in version 4.0.0. As an alternative to Span.set_tag_str, you can use Span.set_tag instead.
  • profiling: The V1 stack profiler is deprecated and will be removed in 4.0. V2 has been enabled by default since v2.20.0. DD_PROFILING_STACK_V2_ENABLED=false will no longer have an effect starting in 4.0.

New Features

  • AAP
    • API Security schema collection is now supported in AWS Lambda behind an Application Load Balancer or the Lambda Function URL service where the endpoint cannot be reliably known. API Security reuses the endpoint inferred by the trace resource renaming feature or recomputes it when it is not available to perform sampling instead.
    • AppSec instrumentation for downstream request is now enabled by default for urllib3 and requests. It does not require enabling APM instrumentation for urllib3 anymore.
  • profiling: Add support for threading.RLock (reentrant lock) profiling. The Lock profiler now tracks both threading.Lock and threading.RLock usage, providing comprehensive lock contention visibility for Python applications.
  • LLM Observability
    • Previous dataset versions can be optionally pulled by passing the version argument to LLMObs.pull_dataset
    • Datasets have new properties version and latest_version to provide information on the version of the dataset that is being worked with and the latest global version of the dataset, respectively

Bug Fixes

  • CI Visibility: This fix resolves performance issue affecting coverage collection for Python 3.12+
  • kafka: This fix resolves an issue where only the first message in a batch was dispatched to Data Streams Monitoring (DSM) when consuming multiple Kafka messages
  • langchain
    • This fix resolves an issue where auto instrumented prompt templates incorrectly included a version field. The version field is now omitted unless explicitly set by the user.
    • Fixes an issue where streamed responses that end before the first chunk is received would result in an IndexError.
  • LLM Observability
    • Corrected the description of the assessment argument in submit_evaluation(). assessment now refers to whether the evaluation itself passes or fails according to your application, rather than the validity of the evaluation result.
    • Resolves an issue in the bedrock integration where invoking cohere rerank models would result in missing spans due to output formatting index errors.
    • Resolves an issue where the langchain integration would incorrectly mark Azure OpenAI calls as duplicate llm operations even if the openai integration was enabled. The langchain integration will trace Azure OpenAI spans as workflow spans if there is an equivalent llm span from the openai integration.
  • openai: This fix resolves an issue where using async iteration with paginated methods (e.g., async for model in client.models.list()) caused a TypeError: 'async for' requires an object with __aiter__ method, got coroutine. See [issue #14574](DataDog/dd-trace-py#14574).
  • pytest plugin: fix for potential KeyError exceptions in test runs when gevent is detected within the environment.
  • code origin: ensure that code location information is added to entry spans when Code Origin is enabled remotely.
  • ray
    • This fix resolves an issue where exceptions raised in Ray child spans were not properly recorded in the trace.
    • This fix resolves an issue where the tracer raised an error when submitting Ray tasks without explicitly calling ray.init().
    • This fix stops instrumenting internal Ray actors (those starting with underscore) that were causing excessive noise, and adds ray.data._internal to the module denylist.
  • IAST: Fixed an issue where using weak hashing or cipher algorithms outside of a request context (e.g., during application startup) could raise an unhandled exception. The fix ensures proper error handling when IAST operations are performed without an active request context.
  • otel

... (truncated)

Commits
  • 635be97 chore(llmobs): remove tiktoken dependency (#15129)
  • 118b4c3 test(symdb): add fork behaviour test (#15079)
  • 191f10e fix(llmobs): safely output format bedrock cohere rerank spans (#15124)
  • 979e756 fix(profiling): fix silent suppression of AssertionError exceptions in _Profi...
  • 06ea45c fix(tracer): add importlib._bootstrap to keep modules (#15131)
  • d9d5ddb chore(logger): disable native logging by default (#15005)
  • 0a50af6 chore(profiling): dedupe lock profiler code in _acquire and _release (#15...
  • 4d0ed61 chore(ci): only try to publish wheels if all wheels built (#15103)
  • 06e349b fix(otlp): allow multiple signals (#15107)
  • 06564a7 refactor(ipc): more general shared file (#15085)
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR 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.17.2 to 3.18.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.17.2...v3.18.0)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-version: 3.18.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 Nov 7, 2025
@dependabot dependabot bot requested a review from a team as a code owner November 7, 2025 09:20
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Nov 7, 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