Update dependency sentry-sdk to v2.70.0 #8

Open
renovate-bot wants to merge 1 commit from renovate/sentry-sdk-2.x into main
Collaborator

This PR contains the following updates:

Package Change Age Confidence
sentry-sdk (changelog) ==2.34.1 → ==2.70.0 age confidence

Release Notes

getsentry/sentry-python (sentry-sdk)

v2.70.0

Compare Source

New Features ✨
import sentry_sdk
from sentry_sdk.integrations.mistral import MistralIntegration

sentry_sdk.init(
    dsn="...",
    traces_sample_rate=1.0,
    integrations=[
        MistralIntegration(),
    ]
)
import sentry_sdk

sentry_sdk.init(
    data_collection={
        "user_info": False,
        "gen_ai": {"inputs": False, "outputs": False},
        "graphql": {"document": False, "variables": False},
        "database_query_data": False,
        "queues": False,
        "http_bodies": [],
        "cookies": {
            "mode": "denylist",
            "terms": ["forwarded", "-ip", "remote-", "via", "-user"],
        },
        "http_headers": {
            "request": {
                "mode": "denylist",
                "terms": ["forwarded", "-ip", "remote-", "via", "-user"],
            },
        },
        "url_query_params": {
            "mode": "denylist",
            "terms": ["forwarded", "-ip", "remote-", "via", "-user"],
        },
    }
)
Mistral
Internal Changes 🔧

v2.69.2

Compare Source

Bug Fixes 🐛
Documentation 📚
Internal Changes 🔧
Huggingface Hub
Pydantic Ai
Other
Other

v2.69.1

Compare Source

New Features ✨
Bug Fixes 🐛
Internal Changes 🔧
Mcp
Other

v2.69.0

Compare Source

New Features ✨
Other
Bug Fixes 🐛
Mcp
Openai
Starlette
Other
Internal Changes 🔧
Openai Agents
Pydantic Ai
Other

v2.68.1

Compare Source

enable_logs
  • (logs) Don't stop sending auto-collected logs when enable_logs=True by @​sentrivana in #​7237

    If you have enable_logs set to True, our logging integrations for the standard library logging module as well as Loguru will auto-collect logs and send them to Sentry as Sentry logs by default, preserving old behavior. Turning automatic collection off for a specific integration can still be achieved using the capture_sentry_logs integration option.

    import sentry_sdk
    from sentry_sdk.integrations.logging import LoggingIntegration
    from sentry_sdk.integrations.loguru import LoguruIntegration
    
    sentry_sdk.init(
        enable_logs=True,
        integrations=[
            LoggingIntegration(capture_sentry_logs=True),
            LoguruIntegration(capture_sentry_logs=False),
        ],
    )
    

    Please note that the enable_logs option is deprecated and will be removed in the next major release. The sentry_sdk.logger.X API now works regardless of it, and auto-collection can be opted into via the capture_sentry_logs integration-level options, which are False by default, unless you have enable_logs=True. We've added this compatibility layer to make the transition to a enable_logs-free world easier.

Bug Fixes 🐛

v2.68.0

Compare Source

Important
  • We're making enable_logs and enable_metrics no-op with this release (#​7177), and they'll be dropped in the next major.

    Previously, enable_logs also controlled automatic logs collection from the logging and Loguru integrations. These integrations now get an integration-level capture_sentry_logs boolean option to allow for more control over the auto-collection. These options are False by default, i.e., nothing is auto-collected without your explicit opt-in.

Action Needed

If you had enable_logs set to True:

  • If you were using the sentry_sdk.logger.X API, no action necessary, the API will just work.
  • If you were auto-collecting logs from either LoggingIntegration or LoguruIntegration, the auto-collection will be turned off in this release. You can switch auto-collection on explicitly with:
import sentry_sdk
from sentry_sdk.integrations.logging import LoggingIntegration
from sentry_sdk.integrations.loguru import LoguruIntegration

sentry_sdk.init(
    integrations=[
        LoggingIntegration(capture_sentry_logs=True),
        LoguruIntegration(capture_sentry_logs=True),
    ],
)

If you had enable_logs set to False:

  • If you were using it to gate usages of the sentry_sdk.logger.X API, you'll need to remove the calls entirely or define a before_send_log callback to filter out unwanted logs.

If you has enable_metrics set to False:

  • Any metrics emitted using the metrics API will be emitted. You'll need to drop them in a before_send_metric or remove the calls to the API.
Why We're Doing This

We recognize this is a disruptive change for some folks and want to make it clear this is a one-off. We're removing the options because they were an unnecessary hurdle that one had to jump through to be able to use logs and metrics, and it was confusing why the logging API would not just work on its own. On the other hand, we wanted to give you more fine-grained control over automatic collection.

New Features ✨
Other
Bug Fixes 🐛
Internal Changes 🔧
HTTPX, HTTPX2
Other

v2.67.1

Compare Source

Bug Fixes 🐛

v2.67.0

Compare Source

New Features ✨
Batcher
Integrations
Langchain
Openai
Streaming
Other
Bug Fixes 🐛
Openai Agents
Tests
Other
Documentation 📚
Internal Changes 🔧
Fastmcp
Mcp
Openai Agents
Other

v2.66.1

Compare Source

Bug Fixes 🐛
Tracing
Internal Changes 🔧

v2.66.0

Compare Source

New Features ✨
Bug Fixes 🐛
Tracing
Internal Changes 🔧

v2.65.0

Compare Source

New Features ✨
Huey
Other
Bug Fixes 🐛
Tracing
Other
Internal Changes 🔧

v2.64.0

Compare Source

The SDK now extracts all gen_ai spans out of a transaction and sends them as v2 envelope items by default. This prevents gen_ai spans from being dropped when the transaction payload exceeds size limits. Because they are no longer constrained by transaction size limits, AI message data is also no longer truncated. To keep the previous behavior, set stream_gen_ai_spans=False.

Self-hosted Sentry users should opt out with stream_gen_ai_spans=False, since streamed gen_ai spans may not be ingested by their Sentry instance.

Bug Fixes 🐛
Documentation 📚
Internal Changes 🔧
Other

v2.63.0

Compare Source

Bug Fixes 🐛
Fastapi
Other
Internal Changes 🔧

v2.62.0

Compare Source

New Features ✨
  • Add integration for aiomysql by @​tonal in #​4703

    We're adding support for the aiomysql package. To enable the integration, add it to your integrations list:

    import sentry_sdk
    from sentry_sdk.integrations.aiomysql import AioMySQLIntegration
    
    sentry_sdk.init(
        traces_sample_rate=1.0,
        integrations=[AioMySQLIntegration()],
    )
    
  • Support HTTPX2 by @​sentrivana in #​6463

    We're adding out-of-the-box support for HTTPX2. As long as use the package, the Sentry integration
    will be enabled automatically and you should see your requests instrumented in Sentry.

    import httpx2
    import sentry_sdk
    
    sentry_sdk.init(...)
    
    with sentry_sdk.start_transaction(name="testing_sentry"):
        httpx2.get("https://sentry.io/")
    
Bug Fixes 🐛
Internal Changes 🔧

v2.61.1

Compare Source

Internal Changes 🔧
Rq
Other

v2.61.0

Compare Source

New Features ✨
  • Add server.address to transformed spans when stream_gen_ai_spans=True by @​alexander-alderman-webb in #​6307

  • Allow integrations to define control flow exceptions by @​sentrivana in #​6425

  • Disable string truncation for events by default by @​alexander-alderman-webb in #​6290

    Following a previous significant increase of the string truncation limit, we've now completely removed the limit by default.
    In case you have large strings in your events, you should now be able to see them.

    In rare cases, if you have really long strings (or a lot of them), you might see envelopes being dropped because of their size.
    If that happens, you can set the max_value_length init option to the previous value of 100_000:

    sentry_sdk.init(
        ...,
        max_value_length=100_000,
    )
    
Bug Fixes 🐛
Langchain
Openai Agents
Pydantic AI
Strawberry
Other
  • (anthropic) Do not set gen_ai.response.model to None by @​alexander-alderman-webb in #​6312

  • (asyncpg) Use Sentry span attribute name conventions by @​ericapisani in #​6306

  • (boto3) Guard setting method by @​sentrivana in #​6288

  • (cohere) Stop setting transaction status when child span fails by @​alexander-alderman-webb in #​6300

  • (google-genai) Guard against None response ID and response model by @​alexander-alderman-webb in #​6314

  • (huey) Fix group and chord handling in enqueue by @​ericapisani in #​6392

  • (integrations) Auto-wrap root gen_ai spans for openai, cohere, langgraph, huggingface_hub by @​constantinius in #​6285

  • (serializer) Don't call __iter__ on arbitrary sequences by @​sentrivana in #​6304

    Previously, we'd attempt to serialize any Sequence by walking through it by calling its __iter__ function.
    We've now changed the serializer to only serialize built-in sequences (like lists, tuples, and sets) to avoid
    triggering side-effects from custom __iter__ implementations.

    This might mean some objects might be serialized differently. If you want to continue serializing a specific
    custom sequence class the old way, you can register it via sentry_sdk.serializer.add_repr_sequence_type (see
    here).

  • Memory leak in SentrySpanProcessor by @​volodkindv in #​6271

Documentation 📚
Internal Changes 🔧
Langchain
Openai Agents
Pydantic Ai
Other

v2.60.0

Compare Source

Adds a new stream_gen_ai_spans option that controls how gen_ai spans are
sent to Sentry. When set, the SDK extracts all gen_ai spans out of a
transaction and sends them as v2 envelope items.

Enable this option if gen_ai spans are being dropped because the transaction payload exceeds size limits.

import sentry_sdk

sentry_sdk.init(
  dsn='https://examplePublicKey@o0.ingest.sentry.io/0',
  stream_gen_ai_spans=True,
)
New Features ✨
Bug Fixes 🐛
Openai
Other
Internal Changes 🔧
Django
Openai
Other

v2.59.0

Compare Source

New Features ✨
Langchain
Other
Bug Fixes 🐛

We've put additional data that might contain sensitive information, like GraphQL documents, behind the send_default_pii option.

Httpx
Langchain
Other
Internal Changes 🔧
Stdlib
Other

v2.58.0

Compare Source

New Features ✨
Bug Fixes 🐛
Anthropic
Pydantic Ai
Other
Internal Changes 🔧
Litellm
Other
Other

v2.57.0

Compare Source

New Features ✨
Langchain
Other
Bug Fixes 🐛
Openai
Other
Internal Changes 🔧
Ai
Langchain
Openai
Other

v2.56.0

Compare Source

New Features ✨
Bug Fixes 🐛
Anthropic
Other
Documentation 📚
Internal Changes 🔧
Other

v2.55.0

Compare Source

New Features ✨
Anthropic
Pydantic Ai
Other
Bug Fixes 🐛
Documentation 📚
Internal Changes 🔧
Anthropic
Openai Agents
Other

v2.54.0

Compare Source

New Features ✨
  • Add set_attribute, remove_attribute to global API by @​sentrivana in #​5555

    You can now set and unset attributes on logs and metrics via top-level API. Think of it as sentry_sdk.set_tag() for attribute-based telemetry. Other event types (transactions, spans, errors) will be unaffected.

    import sentry_sdk
    
    sentry_sdk.init(...)
    
    sentry_sdk.set_attribute("my.attribute", "my value")
    
    # This metric will have "my.attribute" set
    sentry_sdk.metrics.count("counter", 1)
    
    # Remove the attribute
    sentry_sdk.remove_attribute("my.attribute")
    
    # This log will not have "my.attribute" set
    sentry_sdk.logger.info("An info log")
    
Bug Fixes 🐛
Openai
Other
Documentation 📚
Internal Changes 🔧
Agents
Openai
Openai Agents
Other

v2.53.0

Compare Source

Bug Fixes 🐛
Openai Agents
Other
Documentation 📚
Internal Changes 🔧
Openai Agents
Other

v2.52.0

Compare Source

New Features ✨
Other
Bug Fixes 🐛
Google Genai
Mcp
Other
Internal Changes 🔧
Fastmcp
Mcp
Other
Other

v2.51.0

Compare Source

New Features ✨
Openai
Openai Agents
Other
Bug Fixes 🐛
Internal Changes 🔧

v2.50.0

Compare Source

New Features ✨
Ai
Other
  • feat(asyncio): Add on-demand way to enable AsyncioIntegration by @​sentrivana in #​5288

    You can now enable the AsyncioIntegration on demand, after calling sentry_sdk.init(). This is useful in scenarios where you don't have
    the event loop running early on, or when you need to instrument multiple event loops.

import sentry_sdk
from sentry_sdk.integrations.asyncio import enable_asyncio_integration

# Initializing the SDK as early as possible, when there is no event loop yet
sentry_sdk.init(
    ...
    # No AsyncioIntegration in explicitly provided `integrations`
)

async def main():
    enable_asyncio_integration()  # instruments the current event loop
    # ...your code...
Bug Fixes 🐛
Integrations
  • fix(integrations): google genai report image inputs by @​constantinius in #​5337
  • fix(integrations): google-genai: reworked gen_ai.request.messages extraction from parameters by @​constantinius in #​5275
  • fix(integrations): pydantic-ai: properly format binary input message parts to be conformant with the gen_ai.request.messages structure by @​constantinius in #​5251
  • fix(integrations): Anthropic: add content transformation for images and documents by @​constantinius in #​5276
  • fix(integrations): langchain add multimodal content transformation functions for images, audio, and files by @​constantinius in #​5278
Litellm
Other
Documentation 📚
Internal Changes 🔧
Fastmcp
Release
  • ci(release): Bump Craft version to fix issues by @​BYK in #​5305
  • ci(release): Switch from action-prepare-release to Craft by @​BYK in #​5290
Other

v2.49.0

Compare Source

New Features ✨
Bug Fixes 🐛
Documentation 📚
Internal Changes 🔧

v2.48.0

Compare Source

Middleware spans are now disabled by default in Django, Starlette and FastAPI integrations. Set the middleware_spans integration-level
option to capture individual spans per middleware layer. To record Django middleware spans, for example, configure as follows

  import sentry_sdk
  from sentry_sdk.integrations.django import DjangoIntegration

  sentry_sdk.init(
      dsn="<your-dsn>",
      integrations=[
          DjangoIntegration(middleware_spans=True),
      ],
  )
New Features ✨
Langgraph
OTLP
Bug Fixes 🐛
Integrations
Internal Changes 🔧

v2.47.0

Compare Source

Bug Fixes 🐛
New Features ✨
Deprecations
Build / dependencies / internal 🔧

v2.46.0

Compare Source

Various fixes & improvements

v2.45.0

Compare Source

Various fixes & improvements
  • OTLPIntegration (#​4877) by @​sl0thentr0py

    Enable the new OTLP integration with the code snippet below, and your OpenTelemetry instrumentation will be automatically sent to Sentry's OTLP ingestion endpoint.

      import sentry_sdk
      from sentry_sdk.integrations.otlp import OTLPIntegration
    
      sentry_sdk.init(
          dsn="<your-dsn>",
          # Add data like inputs and responses;
          # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info
          send_default_pii=True,
          integrations=[
              OTLPIntegration(),
          ],
      )
    

    Under the hood, this will setup:

    • A SpanExporter that will automatically set up the OTLP ingestion endpoint from your DSN
    • A Propagator that ensures Distributed Tracing works
    • Trace/Span linking for all other Sentry events such as Errors, Logs, Crons and Metrics

    If you were using the SentrySpanProcessor before, we recommend migrating over to OTLPIntegration since it's a much simpler setup.

  • feat(integrations): implement context management for invoke_agent spans (#​5089) by @​constantinius

  • feat(loguru): Capture extra (#​5096) by @​sentrivana

  • feat: Attach server.address to metrics (#​5113) by @​alexander-alderman-webb

  • fix: Cast message and detail attributes before appending exception notes (#​5114) by @​alexander-alderman-webb

  • fix(integrations): ensure that GEN_AI_AGENT_NAME is properly set for GEN_AI spans under an invoke_agent span (#​5030) by @​constantinius

  • fix(logs): Update sentry.origin (#​5112) by @​sentrivana

  • chore: Deprecate description truncation option for Redis spans (#​5073) by @​alexander-alderman-webb

  • chore: Deprecate max_spans LangChain parameter (#​5074) by @​alexander-alderman-webb

  • chore(toxgen): Check availability of pip and add detail to exceptions (#​5076) by @​alexander-alderman-webb

  • chore: add MCP SDK Pydantic AI and OpenAI Agents to the list of auto enabled integrations (#​5111) by @​constantinius

  • test: add tests for either FastMCP implementation (#​5075) by @​constantinius

  • fix(ci): Re-enable skipped tests (#​5104) by @​sentrivana

  • ci: 🤖 Update test matrix with new releases (11/17) (#​5110) by @​github-actions

  • ci: Force coverage core ctrace for 3.14 (#​5108) by @​sl0thentr0py

v2.44.0

Compare Source

Various fixes & improvements

v2.43.0

Compare Source

Various fixes & improvements
  • Pydantic AI integration (#​4906) by @​constantinius

    Enable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:

    import sentry_sdk
    from sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration
    sentry_sdk.init(
        dsn="<your-dsn>",
        # Set traces_sample_rate to 1.0 to capture 100%
        # of transactions for tracing.
        traces_sample_rate=1.0,
        # Add data like inputs and responses;
        # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info
        send_default_pii=True,
        integrations=[
            PydanticAIIntegration(),
        ],
    )
    
  • MCP Python SDK (#​4964) by @​constantinius

    Enable the new Python MCP integration with the code snippet below:

    import sentry_sdk
    from sentry_sdk.integrations.mcp import MCPIntegration
    sentry_sdk.init(
        dsn="<your-dsn>",
        # Set traces_sample_rate to 1.0 to capture 100%
        # of transactions for tracing.
        traces_sample_rate=1.0,
        # Add data like inputs and responses;
        # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info
        send_default_pii=True,
        integrations=[
            MCPIntegration(),
        ],
    )
    
  • fix(strawberry): Remove autodetection, always use sync extension (#​4984) by @​sentrivana

    Previously, StrawberryIntegration would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, StrawberryIntegration remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:

    sentry_sdk.init(
        # ...
        integrations=[
            StrawberryIntegration(
                async_execution=True
            ),
        ],
    )
    
  • fix(google-genai): Set agent name (#​5038) by @​constantinius

  • fix(integrations): hooking into error tracing function to find out if an execute tool span should be set to error (#​4986) by @​constantinius

  • fix(django): Improve logic for classifying cache hits and misses (#​5029) by @​alexander-alderman-webb

  • chore(metrics): Rename _metrics to metrics (#​5035) by @​alexander-alderman-webb

  • fix(tracemetrics): Bump metric buffer size to 1k (#​5031) by @​k-fish

  • fix startlette deprecation warning (#​5034) by @​DeoLeung

  • build(deps): bump actions/upload-artifact from 4 to 5 (#​5032) by @​dependabot

  • fix(ai): truncate messages for google genai (#​4992) by @​shellmayr

  • fix(ai): add message truncation to litellm (#​4973) by @​shellmayr

  • feat(langchain): Support v1 (#​4874) by @​sentrivana

  • ci: Run common test suite on Python 3.14t (#​4969) by @​alexander-alderman-webb

  • feat: Officially support 3.14 & run integration tests on 3.14 (#​4974) by @​sentrivana

  • Make logger template format safer to missing kwargs (#​4981) by @​sl0thentr0py

  • tests(huggingface): Support 1.0.0rc7 (#​4979) by @​alexander-alderman-webb

  • feat: Enable HTTP request code origin by default (#​4967) by @​alexander-alderman-webb

  • ci: Run common test suite on Python 3.14 (#​4896) by @​sentrivana

v2.42.1

Compare Source

Various fixes & improvements

v2.42.0

Compare Source

Various fixes & improvements
  • feat: Add source information for slow outgoing HTTP requests (#​4902) by @​alexander-alderman-webb

  • tests: Update tox (#​4913) by @​sentrivana

  • fix(Ray): Retain the original function name when patching Ray tasks (#​4858) by @​svartalf

  • feat(ai): Add python-genai integration (#​4891) by @​vgrozdanic
    Enable the new Google GenAI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:

    import sentry_sdk
    from sentry_sdk.integrations.google_genai import GoogleGenAIIntegration
    sentry_sdk.init(
        dsn="<your-dsn>",
        # Set traces_sample_rate to 1.0 to capture 100%
        # of transactions for tracing.
        traces_sample_rate=1.0,
        # Add data like inputs and responses;
        # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info
        send_default_pii=True,
        integrations=[
            GoogleGenAIIntegration(),
        ],
    )
    

v2.41.0

Compare Source

Various fixes & improvements
  • feat: Add concurrent.futures patch to threading integration (#​4770) by @​alexander-alderman-webb

    The SDK now makes sure to automatically preserve span relationships when using ThreadPoolExecutor.

  • chore: Remove old metrics code (#​4899) by @​sentrivana

    Removed all code related to the deprecated experimental metrics feature (sentry_sdk.metrics).

  • ref: Remove "experimental" from log function name (#​4901) by @​sentrivana

  • fix(ai): Add mapping for gen_ai message roles (#​4884) by @​shellmayr

  • feat(metrics): Add trace metrics behind an experiments flag (#​4898) by @​k-fish

v2.40.0

Compare Source

Various fixes & improvements
  • Add LiteLLM integration (#​4864) by @​constantinius
    Once you've enabled the new LiteLLM integration, you can use the Sentry AI Agents Monitoring, a Sentry dashboard that helps you understand what's going on with your AI requests:

    import sentry_sdk
    from sentry_sdk.integrations.litellm import LiteLLMIntegration
    sentry_sdk.init(
        dsn="<your-dsn>",
        # Set traces_sample_rate to 1.0 to capture 100%
        # of transactions for tracing.
        traces_sample_rate=1.0,
        # Add data like inputs and responses;
        # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info
        send_default_pii=True,
        integrations=[
            LiteLLMIntegration(),
        ],
    )
    
  • Litestar: Copy request info to prevent cookies mutation (#​4883) by @​alexander-alderman-webb

  • Add tracing to DramatiqIntegration (#​4571) by @​Igreh

  • Also emit spans for MCP tool calls done by the LLM (#​4875) by @​constantinius

  • Option to not trace HTTP requests based on status codes (#​4869) by @​alexander-alderman-webb
    You can now disable transactions for incoming requests with specific HTTP status codes. The new trace_ignore_status_codes option accepts a set of status codes as integers. If a transaction wraps a request that results in one of the provided status codes, the transaction will be unsampled.

    import sentry_sdk
    
    sentry_sdk.init(
        trace_ignore_status_codes={301, 302, 303, *range(305, 400), 404},
    )
    
  • Move _set_agent_data call to ai_client_span function (#​4876) by @​constantinius

  • Add script to determine lowest supported versions (#​4867) by @​sentrivana

  • Update CONTRIBUTING.md (#​4870) by @​sentrivana

v2.39.0

Compare Source

Various fixes & improvements

Note: This is my last release. So long, and thanks for all the fish! by @​antonpirker

v2.38.0

Compare Source

Various fixes & improvements

v2.37.1

Compare Source

Various fixes & improvements

v2.37.0

Compare Source

v2.36.0

Compare Source

Various fixes & improvements
import sentry_sdk
from sentry_sdk.integrations.unraisablehook import UnraisablehookIntegration

sentry_sdk.init(
    dsn="...",
    integrations=[
        UnraisablehookIntegration(),
    ]
)

v2.35.2

Compare Source

Various fixes & improvements

v2.35.1

Compare Source

Various fixes & improvements

v2.35.0

Compare Source

Various fixes & improvements

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [sentry-sdk](https://github.com/getsentry/sentry-python) ([changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)) | `==2.34.1` → `==2.70.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/sentry-sdk/2.70.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/sentry-sdk/2.34.1/2.70.0?slim=true) | --- ### Release Notes <details> <summary>getsentry/sentry-python (sentry-sdk)</summary> ### [`v2.70.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2700) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.69.2...2.70.0) ##### New Features ✨ - **New integration:** Mistral AI ([#&#8203;4733](https://github.com/getsentry/sentry-python/issues/4733)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) Add the Mistral integration to your `sentry_sdk.init` call: ```python import sentry_sdk from sentry_sdk.integrations.mistral import MistralIntegration sentry_sdk.init( dsn="...", traces_sample_rate=1.0, integrations=[ MistralIntegration(), ] ) ``` - **New option:** A fine-grained way to configure what data should be sent from the SDK. Offers much more flexibility than `send_default_pii`, allowing you to specify what data should be collected. If `data_collection` is defined, it takes precedence over `send_default_pii`. See <https://docs.sentry.io/platforms/python/configuration/options/#data_collection> for the available configuration options. ```python import sentry_sdk sentry_sdk.init( data_collection={ "user_info": False, "gen_ai": {"inputs": False, "outputs": False}, "graphql": {"document": False, "variables": False}, "database_query_data": False, "queues": False, "http_bodies": [], "cookies": { "mode": "denylist", "terms": ["forwarded", "-ip", "remote-", "via", "-user"], }, "http_headers": { "request": { "mode": "denylist", "terms": ["forwarded", "-ip", "remote-", "via", "-user"], }, }, "url_query_params": { "mode": "denylist", "terms": ["forwarded", "-ip", "remote-", "via", "-user"], }, } ) ``` ##### Mistral - Record `gen_ai.output.messages` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7549](https://github.com/getsentry/sentry-python/pull/7549) - Record `gen_ai.input.messages` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7548](https://github.com/getsentry/sentry-python/pull/7548) - Record `gen_ai.system_instructions` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7547](https://github.com/getsentry/sentry-python/pull/7547) - Record request parameters by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7531](https://github.com/getsentry/sentry-python/pull/7531) - Record token usage by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7529](https://github.com/getsentry/sentry-python/pull/7529) - Add integration with `Chat.complete` and `Chat.complete_async` patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7528](https://github.com/getsentry/sentry-python/pull/7528) ##### Internal Changes 🔧 - (data-collection) Promote `data_collection` from `_experiments` o top-level by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7560](https://github.com/getsentry/sentry-python/pull/7560) - Close client on teardown by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7562](https://github.com/getsentry/sentry-python/pull/7562) - 🤖 Update test matrix with new releases (09/21) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;7546](https://github.com/getsentry/sentry-python/pull/7546) - Remove `getsentry/testing-ai-sdk-integrations` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7526](https://github.com/getsentry/sentry-python/pull/7526) ### [`v2.69.2`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2692) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.69.1...2.69.2) ##### Bug Fixes 🐛 - (aws-lambda) Attach user info when streaming spans by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7429](https://github.com/getsentry/sentry-python/pull/7429) - (bottle) Avoid infinite serializing loop by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7511](https://github.com/getsentry/sentry-python/pull/7511) - (clickhouse\_driver) Only set `db.result` in breadcrumb with sensitive data opt-in by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7432](https://github.com/getsentry/sentry-python/pull/7432) - (google-genai) Tolerate `None` candidates by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7519](https://github.com/getsentry/sentry-python/pull/7519) - (pydantic-ai) Stop capturing tool execution spans when validation fails by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7448](https://github.com/getsentry/sentry-python/pull/7448) - (serializer) Add type annotations to databag limits by [@&#8203;8rulerstar](https://github.com/8rulerstar) in [#&#8203;7505](https://github.com/getsentry/sentry-python/pull/7505) - (tracing) Make `functions_to_trace` work when streaming spans by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7430](https://github.com/getsentry/sentry-python/pull/7430) - (typing) Fix `disabled_integrations` type by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7506](https://github.com/getsentry/sentry-python/pull/7506) - Don't attach stacktrace to check-ins by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7497](https://github.com/getsentry/sentry-python/pull/7497) ##### Documentation 📚 - Update span streaming docstrings by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7463](https://github.com/getsentry/sentry-python/pull/7463) ##### Internal Changes 🔧 ##### Huggingface Hub - Parametrize tests on the streaming trace lifecycle by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7436](https://github.com/getsentry/sentry-python/pull/7436) - Only check relevant data with `ApproxDict` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7434](https://github.com/getsentry/sentry-python/pull/7434) ##### Pydantic Ai - Remove vacuous `_set_model_data()` tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7453](https://github.com/getsentry/sentry-python/pull/7453) - Remove vacuous `_set_agent_data()` tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7450](https://github.com/getsentry/sentry-python/pull/7450) ##### Other - (deps) Lock file maintenance by [@&#8203;renovate](https://github.com/renovate) in [#&#8203;7302](https://github.com/getsentry/sentry-python/pull/7302) - (django) Fix flaky cache tests by using uuid for cache LOCATION by [@&#8203;sentry-junior](https://github.com/sentry-junior) in [#&#8203;7444](https://github.com/getsentry/sentry-python/pull/7444) - (pymongo) Raise `maxWireVersion` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7473](https://github.com/getsentry/sentry-python/pull/7473) - Remove unused base64 utils by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7495](https://github.com/getsentry/sentry-python/pull/7495) - 🤖 Update test matrix with new releases (09/14) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;7486](https://github.com/getsentry/sentry-python/pull/7486) - 🤖 Update test matrix with new releases (09/07) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;7399](https://github.com/getsentry/sentry-python/pull/7399) ##### Other - Skip formatting log records when Sentry logs are off by [@&#8203;gyanu2507](https://github.com/gyanu2507) in [#&#8203;7422](https://github.com/getsentry/sentry-python/pull/7422) ### [`v2.69.1`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2691) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.69.0...2.69.1) ##### New Features ✨ - (django) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7428](https://github.com/getsentry/sentry-python/pull/7428) ##### Bug Fixes 🐛 - (aiohttp) Preserve SigV4-signed propagation headers by [@&#8203;Robinbinu](https://github.com/Robinbinu) in [#&#8203;7427](https://github.com/getsentry/sentry-python/pull/7427) ##### Internal Changes 🔧 ##### Mcp - Parametrize tests on the streaming trace lifecycle by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7424](https://github.com/getsentry/sentry-python/pull/7424) - Remove vacuous tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7420](https://github.com/getsentry/sentry-python/pull/7420) ##### Other - (cohere) Parametrize tests on the streaming trace lifecycle by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7419](https://github.com/getsentry/sentry-python/pull/7419) - (openai-agents) Parametrize tests on `stream_gen_ai_spans` and the streaming trace lifecycle by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7405](https://github.com/getsentry/sentry-python/pull/7405) ### [`v2.69.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2690) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.68.1...2.69.0) ##### New Features ✨ ##### Other - (aiohttp) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7341](https://github.com/getsentry/sentry-python/pull/7341) - (bottle) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7343](https://github.com/getsentry/sentry-python/pull/7343) - (clickhouse\_driver) Set breadcrumbs in the streaming trace lifecycle by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7325](https://github.com/getsentry/sentry-python/pull/7325) - (docs) Add Plausible analytics to Sphinx docs by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7319](https://github.com/getsentry/sentry-python/pull/7319) - (falcon) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7340](https://github.com/getsentry/sentry-python/pull/7340) - (fastapi) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7322](https://github.com/getsentry/sentry-python/pull/7322) - (flask) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7344](https://github.com/getsentry/sentry-python/pull/7344) - (pyramid) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7347](https://github.com/getsentry/sentry-python/pull/7347) - (quart) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7348](https://github.com/getsentry/sentry-python/pull/7348) - (sqlalchemy) Add more db system names for span data by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7329](https://github.com/getsentry/sentry-python/pull/7329) - (starlette) Add `http.route` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7338](https://github.com/getsentry/sentry-python/pull/7338) - (types) Export SpanJSON type by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7331](https://github.com/getsentry/sentry-python/pull/7331) - Add Python 3.15 to test matrix by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7326](https://github.com/getsentry/sentry-python/pull/7326) ##### Bug Fixes 🐛 ##### Mcp - Handle `None` arguments in tool and prompt handlers by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7387](https://github.com/getsentry/sentry-python/pull/7387) - Don't report stateless StreamableHTTP servers as stdio by [@&#8203;Snaylaker](https://github.com/Snaylaker) in [#&#8203;7224](https://github.com/getsentry/sentry-python/pull/7224) ##### Openai - Read `input_text` parts for the Responses API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7333](https://github.com/getsentry/sentry-python/pull/7333) - Check `Response.output` is a `list` before iterating by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7238](https://github.com/getsentry/sentry-python/pull/7238) ##### Starlette - Use `url` transaction source for host routing by [@&#8203;mjq](https://github.com/mjq) in [#&#8203;7266](https://github.com/getsentry/sentry-python/pull/7266) - Set transaction name on current scope in sync handler by [@&#8203;mjq](https://github.com/mjq) in [#&#8203;7201](https://github.com/getsentry/sentry-python/pull/7201) ##### Other - (batcher) Do not let a failed flush kill the flusher thread ([#&#8203;7138](https://github.com/getsentry/sentry-python/issues/7138)) by [@&#8203;zkasuran](https://github.com/zkasuran) in [#&#8203;7186](https://github.com/getsentry/sentry-python/pull/7186) - (boto3) Fix botocore SigV4 failures caused by post-sign trace propagation by [@&#8203;pabloDeputter](https://github.com/pabloDeputter) in [#&#8203;7050](https://github.com/getsentry/sentry-python/pull/7050) - (httpx,httpx2) Always capture breadcrumb by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7351](https://github.com/getsentry/sentry-python/pull/7351) - (mcp,langchain) Add mechanism to captured exceptions by [@&#8203;gmassello](https://github.com/gmassello) in [#&#8203;7226](https://github.com/getsentry/sentry-python/pull/7226) - (openai-agents) Use `isinstance` to determine tool type by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7412](https://github.com/getsentry/sentry-python/pull/7412) - (quart) Skip quart-flask-patch and adjust error test for quart>=0.23 by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7320](https://github.com/getsentry/sentry-python/pull/7320) - Allow to correctly compare parsed versions by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7184](https://github.com/getsentry/sentry-python/pull/7184) ##### Internal Changes 🔧 ##### Openai Agents - Capture spans instead of reading from span recorder by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7404](https://github.com/getsentry/sentry-python/pull/7404) - Pin `openai` version when incompatible by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7236](https://github.com/getsentry/sentry-python/pull/7236) ##### Pydantic Ai - Replace individual hooks with `hooks.on.model_request` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7327](https://github.com/getsentry/sentry-python/pull/7327) - Fix instructions test for pydantic-ai >=2.36.0 by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7321](https://github.com/getsentry/sentry-python/pull/7321) ##### Other - (aiohttp) Remove dead segment name code by [@&#8203;mjq](https://github.com/mjq) in [#&#8203;7284](https://github.com/getsentry/sentry-python/pull/7284) - (anthropic) Include `StreamedSpan` in type annotations by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7373](https://github.com/getsentry/sentry-python/pull/7373) - (mcp) Inline `_extract_handler_data_from_args()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7386](https://github.com/getsentry/sentry-python/pull/7386) - (quart) Fix flake caused by flushing spans on segment end by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7240](https://github.com/getsentry/sentry-python/pull/7240) - (stdlib) Remove urllib3 workaround by [@&#8203;pabloDeputter](https://github.com/pabloDeputter) in [#&#8203;7283](https://github.com/getsentry/sentry-python/pull/7283) - Add `openai-agents` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7415](https://github.com/getsentry/sentry-python/pull/7415) - Add `aiohttp` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7395](https://github.com/getsentry/sentry-python/pull/7395) - Isolate `httpx` test suite from `httpx2` by [@&#8203;ZaafirRizwan](https://github.com/ZaafirRizwan) in [#&#8203;7398](https://github.com/getsentry/sentry-python/pull/7398) - Remove `test_langchain_embeddings_error_handling()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7389](https://github.com/getsentry/sentry-python/pull/7389) - Add `tiktoken` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7394](https://github.com/getsentry/sentry-python/pull/7394) - Reference renamed coverage action by [@&#8203;MathurAditya724](https://github.com/MathurAditya724) in [#&#8203;7371](https://github.com/getsentry/sentry-python/pull/7371) - Remove flaky detector by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;7363](https://github.com/getsentry/sentry-python/pull/7363) - Add `openai` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7334](https://github.com/getsentry/sentry-python/pull/7334) - 🤖 Update test matrix with new releases (08/31) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;7303](https://github.com/getsentry/sentry-python/pull/7303) - Add `anthropic` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7324](https://github.com/getsentry/sentry-python/pull/7324) - Add `google-genai` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7323](https://github.com/getsentry/sentry-python/pull/7323) - Use tagged versions for `getsentry/codecov-action` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7241](https://github.com/getsentry/sentry-python/pull/7241) - Update test matrix with new releases (08/24) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7228](https://github.com/getsentry/sentry-python/pull/7228) - Add `httpx` dependency to tests relying on `get_model_response()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7235](https://github.com/getsentry/sentry-python/pull/7235) - Access the 'type' in an event using `.get` by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7239](https://github.com/getsentry/sentry-python/pull/7239) ### [`v2.68.1`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2681) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.68.0...2.68.1) ##### `enable_logs` - (logs) Don't stop sending auto-collected logs when `enable_logs=True` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7237](https://github.com/getsentry/sentry-python/pull/7237) If you have `enable_logs` set to `True`, our logging integrations for the standard library logging module as well as Loguru will auto-collect logs and send them to Sentry as Sentry logs by default, preserving old behavior. Turning automatic collection off for a specific integration can still be achieved using the `capture_sentry_logs` integration option. ```python import sentry_sdk from sentry_sdk.integrations.logging import LoggingIntegration from sentry_sdk.integrations.loguru import LoguruIntegration sentry_sdk.init( enable_logs=True, integrations=[ LoggingIntegration(capture_sentry_logs=True), LoguruIntegration(capture_sentry_logs=False), ], ) ``` Please note that the `enable_logs` option is deprecated and will be removed in the next major release. The `sentry_sdk.logger.X` API now works regardless of it, and auto-collection can be opted into via the `capture_sentry_logs` integration-level options, which are `False` by default, unless you have `enable_logs=True`. We've added this compatibility layer to make the transition to a `enable_logs`-free world easier. ##### Bug Fixes 🐛 - (django) Add `failed_request_status_codes` by [@&#8203;mgaligniana](https://github.com/mgaligniana) in [#&#8203;7140](https://github.com/getsentry/sentry-python/pull/7140) - (anthropic) Gate `gen_ai.response.tool_calls` on outputs, not inputs by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7207](https://github.com/getsentry/sentry-python/pull/7207) - (google\_genai) Gate streaming `gen_ai.response.tool_calls` on outputs, not inputs by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7210](https://github.com/getsentry/sentry-python/pull/7210) - (langchain) Use `gen_ai.tool.definitions` attribute when data collection is enabled by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7204](https://github.com/getsentry/sentry-python/pull/7204) - (langgraph,huggingface\_hub) Gate `gen_ai.response.tool_calls` on outputs, not inputs by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7208](https://github.com/getsentry/sentry-python/pull/7208) - (openai) Gate `gen_ai.response.tool_calls` on outputs, not inputs by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7205](https://github.com/getsentry/sentry-python/pull/7205) - (openai\_agents) Gate `gen_ai.response.tool_calls` on outputs, not inputs by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7209](https://github.com/getsentry/sentry-python/pull/7209) ### [`v2.68.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2680) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.67.1...2.68.0) ##### Important - We're making `enable_logs` and `enable_metrics` no-op with this release ([#&#8203;7177](https://github.com/getsentry/sentry-python/pull/7177)), and they'll be dropped in the next major. Previously, `enable_logs` also controlled automatic logs collection from the logging and Loguru integrations. These integrations now get an integration-level `capture_sentry_logs` boolean option to allow for more control over the auto-collection. These options are `False` by default, i.e., **nothing is auto-collected without your explicit opt-in**. ##### Action Needed If you had `enable_logs` set to `True`: - If you were using the `sentry_sdk.logger.X` API, no action necessary, the API will just work. - If you were auto-collecting logs from either `LoggingIntegration` or `LoguruIntegration`, the auto-collection **will be turned off in this release**. You can switch auto-collection on explicitly with: ```python import sentry_sdk from sentry_sdk.integrations.logging import LoggingIntegration from sentry_sdk.integrations.loguru import LoguruIntegration sentry_sdk.init( integrations=[ LoggingIntegration(capture_sentry_logs=True), LoguruIntegration(capture_sentry_logs=True), ], ) ``` If you had `enable_logs` set to `False`: - If you were using it to gate usages of the `sentry_sdk.logger.X` API, you'll need to remove the calls entirely or define a `before_send_log` callback to filter out unwanted logs. If you has `enable_metrics` set to `False`: - Any metrics emitted using the metrics API will be emitted. You'll need to drop them in a `before_send_metric` or remove the calls to the API. ##### Why We're Doing This We recognize this is a disruptive change for some folks and want to make it clear this is a one-off. We're removing the options because they were an unnecessary hurdle that one had to jump through to be able to use logs and metrics, and it was confusing why the logging API would not just work on its own. On the other hand, we wanted to give you more fine-grained control over automatic collection. ##### New Features ✨ ##### Other - Set the segment source on the scope for `NoOpStreamedSpan` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7163](https://github.com/getsentry/sentry-python/pull/7163) - Remove early return for `NoOpStreamedSpan` in `set_transaction_name()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7164](https://github.com/getsentry/sentry-python/pull/7164) - Set the segment name on the scope with `NoOpStreamedSpan` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7162](https://github.com/getsentry/sentry-python/pull/7162) ##### Bug Fixes 🐛 - (batcher) Add global flush trigger based on the span number by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7150](https://github.com/getsentry/sentry-python/pull/7150) ##### Internal Changes 🔧 ##### HTTPX, HTTPX2 - Move crumbs to integrations by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7149](https://github.com/getsentry/sentry-python/pull/7149) - Split into sync/async tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7152](https://github.com/getsentry/sentry-python/pull/7152) ##### Other - (aiohttp) Move crumbs to integration by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7135](https://github.com/getsentry/sentry-python/pull/7135) - (boto3) Move crumbs to integration by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7165](https://github.com/getsentry/sentry-python/pull/7165) - (django) Remove dead code and stale markers from the Django test suite by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7156](https://github.com/getsentry/sentry-python/pull/7156) - (pyreqwest) Move crumbs to integration by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7148](https://github.com/getsentry/sentry-python/pull/7148) - (stdlib) Move crumbs to integration by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7161](https://github.com/getsentry/sentry-python/pull/7161) - Flush trace buckets when segment spans finish by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7170](https://github.com/getsentry/sentry-python/pull/7170) - Revert global span batcher limits by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7168](https://github.com/getsentry/sentry-python/pull/7168) ### [`v2.67.1`](https://github.com/getsentry/sentry-python/releases/tag/2.67.1) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.67.0...2.67.1) ##### Bug Fixes 🐛 - (batcher) Add global flush trigger based on the span number by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7150](https://github.com/getsentry/sentry-python/pull/7150) ### [`v2.67.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2670) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.66.1...2.67.0) ##### New Features ✨ ##### Batcher - Add global flush trigger based on summed size estimates by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7144](https://github.com/getsentry/sentry-python/pull/7144) - Add hard span limit by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7143](https://github.com/getsentry/sentry-python/pull/7143) ##### Integrations - Add span for DRF authentication by [@&#8203;mgaligniana](https://github.com/mgaligniana) in [#&#8203;6984](https://github.com/getsentry/sentry-python/pull/6984) ##### Langchain - Record reasoning token usage attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7136](https://github.com/getsentry/sentry-python/pull/7136) - Record cached token usage attributes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7132](https://github.com/getsentry/sentry-python/pull/7132) ##### Openai - Set `gen_ai.tool.definitions` for the Responses API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6951](https://github.com/getsentry/sentry-python/pull/6951) - Set `gen_ai.tool.definitions` for the Chat Completions API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6950](https://github.com/getsentry/sentry-python/pull/6950) - Add `gen_ai.request.reasoning.level` to OpenAI spans by [@&#8203;pabloDeputter](https://github.com/pabloDeputter) in [#&#8203;6892](https://github.com/getsentry/sentry-python/pull/6892) ##### Streaming - Support ai\_track decorator by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6895](https://github.com/getsentry/sentry-python/pull/6895) - Promote `before_send_span` to top-level option by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6885](https://github.com/getsentry/sentry-python/pull/6885) - Make `set_conversation_id` API work by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6866](https://github.com/getsentry/sentry-python/pull/6866) ##### Other - (api) Add top-level `set_attributes` API by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6897](https://github.com/getsentry/sentry-python/pull/6897) - (aws-lambda) Enable Python 3.14 support to the Lambda layer by [@&#8203;pabloDeputter](https://github.com/pabloDeputter) in [#&#8203;6916](https://github.com/getsentry/sentry-python/pull/6916) - (openai-agents) Set the `gen_ai.tool.definitions` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6956](https://github.com/getsentry/sentry-python/pull/6956) - (pydantic-ai) Record `gen_ai.output.messages` including `ThinkingPart` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7037](https://github.com/getsentry/sentry-python/pull/7037) - Add possibility to allowlist integrations in toxgen by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6996](https://github.com/getsentry/sentry-python/pull/6996) ##### Bug Fixes 🐛 ##### Openai Agents - Patch correct `run_single_turn_streamed` reference by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7032](https://github.com/getsentry/sentry-python/pull/7032) - Stop destructively wrapping tools by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6961](https://github.com/getsentry/sentry-python/pull/6961) ##### Tests - Adapt to new exception propagation behavior in Quart by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6995](https://github.com/getsentry/sentry-python/pull/6995) - Remove redundant type filters after `capture_items` with args by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6867](https://github.com/getsentry/sentry-python/pull/6867) ##### Other - (aws-lambda) Fix flake in aws lambda tests by [@&#8203;pabloDeputter](https://github.com/pabloDeputter) in [#&#8203;6937](https://github.com/getsentry/sentry-python/pull/6937) - (langchain) Stop double-counting usage in multi-candidate responses by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7064](https://github.com/getsentry/sentry-python/pull/7064) - (mcp) Stop adding the prompt name to arguments by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6765](https://github.com/getsentry/sentry-python/pull/6765) - (pydantic-ai) Stop recording duplicate spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7056](https://github.com/getsentry/sentry-python/pull/7056) - (sampling) `sentry-trace` should take precedence over baggage by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6863](https://github.com/getsentry/sentry-python/pull/6863) - (streaming) Set segment source if unset by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6791](https://github.com/getsentry/sentry-python/pull/6791) - Do not let exceptions in before\_breadcrumb bubble up by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7133](https://github.com/getsentry/sentry-python/pull/7133) - Correct typo in test function name by [@&#8203;TheGreatApollyon](https://github.com/TheGreatApollyon) in [#&#8203;6967](https://github.com/getsentry/sentry-python/pull/6967) - Include query string and fragment in `url.full` span attribute by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6861](https://github.com/getsentry/sentry-python/pull/6861) ##### Documentation 📚 - Remove AI commit attribution requirement from AGENTS.md by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6828](https://github.com/getsentry/sentry-python/pull/6828) ##### Internal Changes 🔧 ##### Fastmcp - Skip SSE test for `fastmcp>=4` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6923](https://github.com/getsentry/sentry-python/pull/6923) - Remove assertions on `RootModel` instances by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6909](https://github.com/getsentry/sentry-python/pull/6909) - Replace broad `try...except` with `skipif` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6922](https://github.com/getsentry/sentry-python/pull/6922) ##### Mcp - Replace instance patches with middleware by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6764](https://github.com/getsentry/sentry-python/pull/6764) - Remove redundant `mcp.tool.result.is_error` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6915](https://github.com/getsentry/sentry-python/pull/6915) - Use `mcp_types` package by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6763](https://github.com/getsentry/sentry-python/pull/6763) - Inline `_set_span_output_data()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6762](https://github.com/getsentry/sentry-python/pull/6762) - Inline `_get_span_config()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6761](https://github.com/getsentry/sentry-python/pull/6761) - Inline `_prepare_handler_data()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6758](https://github.com/getsentry/sentry-python/pull/6758) - Separate tool, prompt and resource patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6726](https://github.com/getsentry/sentry-python/pull/6726) ##### Openai Agents - Stop setting `gen_ai.response.model` on Invoke Agent spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7028](https://github.com/getsentry/sentry-python/pull/7028) - Use first class tool hooks when available by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6994](https://github.com/getsentry/sentry-python/pull/6994) - Assert subset of expected dictionary is in `gen_ai.response.tool_calls` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6973](https://github.com/getsentry/sentry-python/pull/6973) - Stop setting `gen_ai.request.available_tools` on Invoke Agent spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6955](https://github.com/getsentry/sentry-python/pull/6955) - Stop setting `gen_ai.request.available_tools` on Execute Tool spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6954](https://github.com/getsentry/sentry-python/pull/6954) ##### Other - (ai) Route AI integration tests through OpenRouter by [@&#8203;sentry-junior](https://github.com/sentry-junior) in [#&#8203;6979](https://github.com/getsentry/sentry-python/pull/6979) - (arq) Avoid race between the exception and transaction events by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7052](https://github.com/getsentry/sentry-python/pull/7052) - (aws\_lambda) Add ARM64 architecture support for local Lambda testing by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;7053](https://github.com/getsentry/sentry-python/pull/7053) - (deps) Lock file maintenance by [@&#8203;renovate](https://github.com/renovate) in [#&#8203;6734](https://github.com/getsentry/sentry-python/pull/6734) - (django) Use `iscoroutinefunction` shim in `patch_views()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7024](https://github.com/getsentry/sentry-python/pull/7024) - (httpx) Replace deprecated `asyncio.iscoroutinefunction` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7023](https://github.com/getsentry/sentry-python/pull/7023) - (huggingface-hub) Fix chat completion stream type by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7070](https://github.com/getsentry/sentry-python/pull/7070) - (langchain) Remove `on_agent_finish()` hook by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7059](https://github.com/getsentry/sentry-python/pull/7059) - (pydantic-ai) Use `FunctionModel` for testing output data transformations by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7036](https://github.com/getsentry/sentry-python/pull/7036) - (serializer) Avoid copying the whole Mapping before trimming to `MAX_DATABAG_BREADTH` by [@&#8203;Malkiz223](https://github.com/Malkiz223) in [#&#8203;6783](https://github.com/getsentry/sentry-python/pull/6783) - (tests) Replace \_transport\_works\_cases loop with explicit case list by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6978](https://github.com/getsentry/sentry-python/pull/6978) - 🤖 Update test matrix with new releases (08/10) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;7142](https://github.com/getsentry/sentry-python/pull/7142) - Pin `litellm<=1.96` for generating test suites by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7147](https://github.com/getsentry/sentry-python/pull/7147) - Unpin Django version for generating test suites by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7146](https://github.com/getsentry/sentry-python/pull/7146) - Move Redis breadcrumbs to integration by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7129](https://github.com/getsentry/sentry-python/pull/7129) - Move subprocess breadcrumbs to integration by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7128](https://github.com/getsentry/sentry-python/pull/7128) - Avoid scanning installed packages when MCP SDK is not installed by [@&#8203;mangodxd](https://github.com/mangodxd) in [#&#8203;6865](https://github.com/getsentry/sentry-python/pull/6865) - Remove `test-lambda-locally` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7069](https://github.com/getsentry/sentry-python/pull/7069) - Add `pydantic-ai-slim` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7025](https://github.com/getsentry/sentry-python/pull/7025) - Add `langchain-base` to uv typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7016](https://github.com/getsentry/sentry-python/pull/7016) - 🤖 Update test matrix with new releases (08/03) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6985](https://github.com/getsentry/sentry-python/pull/6985) - Mock attributes in redis cluster tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;7022](https://github.com/getsentry/sentry-python/pull/7022) - Deprecate `ai_track()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;7005](https://github.com/getsentry/sentry-python/pull/7005) - Reduce common test suite while not reducing coverage by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6972](https://github.com/getsentry/sentry-python/pull/6972) - Use top-level options if available by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6959](https://github.com/getsentry/sentry-python/pull/6959) - Restore wrapped functions in `functions_to_trace` tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6933](https://github.com/getsentry/sentry-python/pull/6933) - Pin `mcp<2` for `fastmcp<0.3` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6925](https://github.com/getsentry/sentry-python/pull/6925) - Pin Python > 3.7 for `huey>=3.3.0` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6913](https://github.com/getsentry/sentry-python/pull/6913) - Add `httpx` dependency to `mcp` and `fastmcp` tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6905](https://github.com/getsentry/sentry-python/pull/6905) - Remove flaky circular references tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6903](https://github.com/getsentry/sentry-python/pull/6903) - Remove old Python compat code by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6902](https://github.com/getsentry/sentry-python/pull/6902) - Add span streaming DSC tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6884](https://github.com/getsentry/sentry-python/pull/6884) - Add streaming logs tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6880](https://github.com/getsentry/sentry-python/pull/6880) - Add streaming API tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6883](https://github.com/getsentry/sentry-python/pull/6883) - Add streaming continous profiler tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6879](https://github.com/getsentry/sentry-python/pull/6879) - Add streaming monitor test by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6882](https://github.com/getsentry/sentry-python/pull/6882) - Add streaming metrics test by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6881](https://github.com/getsentry/sentry-python/pull/6881) - Add sample\_rand span streaming tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6781](https://github.com/getsentry/sentry-python/pull/6781) ### [`v2.66.1`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2661) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.66.0...2.66.1) ##### Bug Fixes 🐛 ##### Tracing - Handle exceptions raised within traces\_sampler and other callbacks by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6853](https://github.com/getsentry/sentry-python/pull/6853) ##### Internal Changes 🔧 - Fix flaky decorator test by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6830](https://github.com/getsentry/sentry-python/pull/6830) ### [`v2.66.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2660) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.65.0...2.66.0) ##### New Features ✨ - (tracing) Promote trace\_lifecycle and ignore\_spans to top-level options by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6821](https://github.com/getsentry/sentry-python/pull/6821) ##### Bug Fixes 🐛 ##### Tracing - Skip child span creation in streaming path when no current span (HTTP clients) by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6811](https://github.com/getsentry/sentry-python/pull/6811) - Skip child span creation in streaming path when no current span (task queues) by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6814](https://github.com/getsentry/sentry-python/pull/6814) - Skip child span creation in streaming path when no current span (misc) by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6815](https://github.com/getsentry/sentry-python/pull/6815) - Skip child span creation in streaming path when no current span (databases) by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6808](https://github.com/getsentry/sentry-python/pull/6808) - Skip child span creation in streaming path when no current span (web frameworks) by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6810](https://github.com/getsentry/sentry-python/pull/6810) - Skip child span creation in streaming path when no current span (django) by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6809](https://github.com/getsentry/sentry-python/pull/6809) ##### Internal Changes 🔧 - (logging) Fix flaky test\_logging\_captured\_warnings by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6824](https://github.com/getsentry/sentry-python/pull/6824) - Remove flaky no cyclic garbage test by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6817](https://github.com/getsentry/sentry-python/pull/6817) - Remove Claude permission settings by [@&#8203;cleptric](https://github.com/cleptric) in [#&#8203;6806](https://github.com/getsentry/sentry-python/pull/6806) - Move `nullcontext` to `sentry_sdk.utils` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6805](https://github.com/getsentry/sentry-python/pull/6805) ### [`v2.65.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2650) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.64.0...2.65.0) ##### New Features ✨ ##### Huey - Set `messaging.destination.name` on consumer spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6779](https://github.com/getsentry/sentry-python/pull/6779) - Set `messaging.destination.name` on producer spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6778](https://github.com/getsentry/sentry-python/pull/6778) ##### Other - (arq) Set `messaging.destination.name` on consumer spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6767](https://github.com/getsentry/sentry-python/pull/6767) - (dramatiq) Set `messaging.destination.name` on consumer spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6776](https://github.com/getsentry/sentry-python/pull/6776) - (rq) Set `messaging.destination.name` on consumer spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6774](https://github.com/getsentry/sentry-python/pull/6774) ##### Bug Fixes 🐛 ##### Tracing - Take first sentry-trace header in case multiple are supplied by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6722](https://github.com/getsentry/sentry-python/pull/6722) ##### Other - (django) Avoid `ValueError` in async middleware `process_*` hooks by [@&#8203;r0ro](https://github.com/r0ro) in [#&#8203;6698](https://github.com/getsentry/sentry-python/pull/6698) - (scope) Drop None user attribute values in set\_user by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6692](https://github.com/getsentry/sentry-python/pull/6692) - (starlette) Don't overwrite user set during request in AuthenticationMiddleware by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6760](https://github.com/getsentry/sentry-python/pull/6760) ##### Internal Changes 🔧 - (mcp) Add package to the typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6727](https://github.com/getsentry/sentry-python/pull/6727) - (starlette) Add package to typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6728](https://github.com/getsentry/sentry-python/pull/6728) - Add required `cache_write_tokens` field by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6804](https://github.com/getsentry/sentry-python/pull/6804) - Pin extra test dependencies for generated test suites by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6696](https://github.com/getsentry/sentry-python/pull/6696) - Add `pydantic` to the typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6730](https://github.com/getsentry/sentry-python/pull/6730) - Add `python_multipart` to the typing group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6729](https://github.com/getsentry/sentry-python/pull/6729) - 🤖 Update test matrix with new releases (07/06) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6753](https://github.com/getsentry/sentry-python/pull/6753) - Remove dependabot by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6720](https://github.com/getsentry/sentry-python/pull/6720) - Update Renovate config by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6716](https://github.com/getsentry/sentry-python/pull/6716) - Stop inheriting secrets for `changelog-preview` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6723](https://github.com/getsentry/sentry-python/pull/6723) - Stop inheriting secrets in tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6721](https://github.com/getsentry/sentry-python/pull/6721) - Configure Renovate by [@&#8203;renovate](https://github.com/renovate) in [#&#8203;6701](https://github.com/getsentry/sentry-python/pull/6701) - Move conversation ID tests to their own file by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6699](https://github.com/getsentry/sentry-python/pull/6699) - Replace `requirements-testing.txt` with a `uv` dependency group by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6693](https://github.com/getsentry/sentry-python/pull/6693) ### [`v2.64.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2640) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.63.0...2.64.0) The SDK now extracts all `gen_ai` spans out of a transaction and sends them as v2 envelope items by default. This prevents `gen_ai` spans from being dropped when the transaction payload exceeds size limits. Because they are no longer constrained by transaction size limits, AI message data is also no longer truncated. To keep the previous behavior, set `stream_gen_ai_spans=False`. Self-hosted Sentry users should opt out with `stream_gen_ai_spans=False`, since streamed `gen_ai` spans may not be ingested by their Sentry instance. ##### Bug Fixes 🐛 - (asyncpg) Use distinct span ops for cursor iteration and fetch to prevent N+1 false positives by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6609](https://github.com/getsentry/sentry-python/pull/6609) - (aiohttp) Gate url.full, url.path, url.query on send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6650](https://github.com/getsentry/sentry-python/pull/6650) - (asgi) Add url.path to ASGI request span attributes by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6652](https://github.com/getsentry/sentry-python/pull/6652) - (boto3) Gate url.full, url.query, url.fragment behind send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6674](https://github.com/getsentry/sentry-python/pull/6674) - (httpx) Gate url.full, url.query, and url.fragment behind send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6668](https://github.com/getsentry/sentry-python/pull/6668) - (httpx2) Gate url.full, url.query on send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6670](https://github.com/getsentry/sentry-python/pull/6670) - (langgraph) Ignore `GraphBubbleUp` exceptions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6608](https://github.com/getsentry/sentry-python/pull/6608) - (litellm) Store span off-band, not in forwarded metadata by [@&#8203;jgreer013](https://github.com/jgreer013) in [#&#8203;6598](https://github.com/getsentry/sentry-python/pull/6598) - (mcp) Support MCP SDK v2 handler signature and removed request\_ctx by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6583](https://github.com/getsentry/sentry-python/pull/6583) - (pydantic-ai) Stop truncating in the streaming trace lifecycle by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6659](https://github.com/getsentry/sentry-python/pull/6659) - (pymongo) Add db.query.text to streamed query spans by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6637](https://github.com/getsentry/sentry-python/pull/6637) - (pyreqwest) Gate url.full, url.query, url.fragment on send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6673](https://github.com/getsentry/sentry-python/pull/6673) - (sanic) Gate url.full, url.path, and http.query behind send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6663](https://github.com/getsentry/sentry-python/pull/6663) - (starlette) Stop duplicating `scope["root_path"]` in URLs by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6579](https://github.com/getsentry/sentry-python/pull/6579) - (stdlib) Gate url.full and http.query behind send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6666](https://github.com/getsentry/sentry-python/pull/6666) - (tests) Fix flaky OTel propagator entry point test by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6655](https://github.com/getsentry/sentry-python/pull/6655) - (tornado) Gate url.full, url.path, url.query on send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6664](https://github.com/getsentry/sentry-python/pull/6664) - (wsgi) Gate url.full, url.path, and http.query behind send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6654](https://github.com/getsentry/sentry-python/pull/6654) - Stop unconditionally importing `contextvars` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6625](https://github.com/getsentry/sentry-python/pull/6625) - (.agents) Update project agent lockfiles by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6662](https://github.com/getsentry/sentry-python/pull/6662) ##### Documentation 📚 - Add light/dark logos by [@&#8203;hwhsu1231](https://github.com/hwhsu1231) in [#&#8203;6627](https://github.com/getsentry/sentry-python/pull/6627) - Fix typos by [@&#8203;juliosuas](https://github.com/juliosuas) in [#&#8203;6602](https://github.com/getsentry/sentry-python/pull/6602) ##### Internal Changes 🔧 - (mcp) Pin mcp package to <2.0.0 while alphas are in flight by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6687](https://github.com/getsentry/sentry-python/pull/6687) - 🤖 Update test matrix with new releases (06/29) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6682](https://github.com/getsentry/sentry-python/pull/6682) - Make `stream_gen_ai_spans` opt out by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6658](https://github.com/getsentry/sentry-python/pull/6658) - Remove `setuptools` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6618](https://github.com/getsentry/sentry-python/pull/6618) - Remove `executing` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6619](https://github.com/getsentry/sentry-python/pull/6619) - Remove `asttokens` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6615](https://github.com/getsentry/sentry-python/pull/6615) - Remove `responses` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6621](https://github.com/getsentry/sentry-python/pull/6621) - Remove `pytest-forked` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6611](https://github.com/getsentry/sentry-python/pull/6611) - Remove `docker` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6616](https://github.com/getsentry/sentry-python/pull/6616) - Add `--skip-version-update` option to `populate_tox.py` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6675](https://github.com/getsentry/sentry-python/pull/6675) - Remove `httpcore` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6622](https://github.com/getsentry/sentry-python/pull/6622) - Remove `pytest-timeout` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6613](https://github.com/getsentry/sentry-python/pull/6613) - Remove `pytest-localserver` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6612](https://github.com/getsentry/sentry-python/pull/6612) - Remove `jsonschema` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6620](https://github.com/getsentry/sentry-python/pull/6620) - Remove `socksio` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6617](https://github.com/getsentry/sentry-python/pull/6617) - Remove `pysocks` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6623](https://github.com/getsentry/sentry-python/pull/6623) - Remove `brotli` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6614](https://github.com/getsentry/sentry-python/pull/6614) - Remove `tomli` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6630](https://github.com/getsentry/sentry-python/pull/6630) - Remove `pytest-watch` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6624](https://github.com/getsentry/sentry-python/pull/6624) - Remove `pip` from `requirements-testing.txt` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6629](https://github.com/getsentry/sentry-python/pull/6629) - 🤖 Update test matrix with new releases (06/22) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6610](https://github.com/getsentry/sentry-python/pull/6610) - Pin test dependencies including package extras by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6607](https://github.com/getsentry/sentry-python/pull/6607) - 🤖 Update test matrix with new releases (06/15) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6567](https://github.com/getsentry/sentry-python/pull/6567) - Bump deps for test-lambda-locally by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6594](https://github.com/getsentry/sentry-python/pull/6594) - Catch pkg\_resource warning by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6595](https://github.com/getsentry/sentry-python/pull/6595) ##### Other - (test): exclude django 6.1 alphas and betas from tox by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6690](https://github.com/getsentry/sentry-python/pull/6690) - (test): need to include the alpha tag for mcp package inclusion by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6688](https://github.com/getsentry/sentry-python/pull/6688) ### [`v2.63.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2630) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.62.0...2.63.0) ##### Bug Fixes 🐛 ##### Fastapi - Prevent double wrapping of sync handlers on FastAPI >= 0.137 by [@&#8203;jhonny-on](https://github.com/jhonny-on) in [#&#8203;6569](https://github.com/getsentry/sentry-python/pull/6569) - Use effective\_route\_context path for prefixed routers by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6572](https://github.com/getsentry/sentry-python/pull/6572) ##### Other - (asgi) Gate query string and client IP behind send\_default\_pii by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6501](https://github.com/getsentry/sentry-python/pull/6501) - (serializer) Avoid creating reference cycles on every call by [@&#8203;Malkiz223](https://github.com/Malkiz223) in [#&#8203;6563](https://github.com/getsentry/sentry-python/pull/6563) - (user) Set `user.ip_address` on telemetry if present by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6555](https://github.com/getsentry/sentry-python/pull/6555) - Remove 0000 trace\_id fallbacks by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6570](https://github.com/getsentry/sentry-python/pull/6570) - MANIFEST.in: Graft tests directory. by [@&#8203;charlesroelli](https://github.com/charlesroelli) in [#&#8203;6237](https://github.com/getsentry/sentry-python/pull/6237) ##### Internal Changes 🔧 - (fastapi) Verify request info capture with POST endpoints by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6287](https://github.com/getsentry/sentry-python/pull/6287) - (starlette) Verify request info capture with POST endpoints by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6269](https://github.com/getsentry/sentry-python/pull/6269) ### [`v2.62.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2620) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.61.1...2.62.0) ##### New Features ✨ - Add integration for `aiomysql` by [@&#8203;tonal](https://github.com/tonal) in [#&#8203;4703](https://github.com/getsentry/sentry-python/pull/4703) We're adding support for the `aiomysql` package. To enable the integration, add it to your `integrations` list: ```python import sentry_sdk from sentry_sdk.integrations.aiomysql import AioMySQLIntegration sentry_sdk.init( traces_sample_rate=1.0, integrations=[AioMySQLIntegration()], ) ``` - Support HTTPX2 by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6463](https://github.com/getsentry/sentry-python/pull/6463) We're adding out-of-the-box support for HTTPX2. As long as use the package, the Sentry integration will be enabled automatically and you should see your requests instrumented in Sentry. ```python import httpx2 import sentry_sdk sentry_sdk.init(...) with sentry_sdk.start_transaction(name="testing_sentry"): httpx2.get("https://sentry.io/") ``` ##### Bug Fixes 🐛 - (arq) Never capture control flow exceptions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6507](https://github.com/getsentry/sentry-python/pull/6507) - (client) Guard against dotless qualified\_name in \_setup\_instrumentation by [@&#8203;devteamaegis](https://github.com/devteamaegis) in [#&#8203;6452](https://github.com/getsentry/sentry-python/pull/6452) - (pydantic-ai) Only use hooks when `ModelRequestContext.model` exists by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6480](https://github.com/getsentry/sentry-python/pull/6480) - (rq) Restore `functools.wraps()` for patched functions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6532](https://github.com/getsentry/sentry-python/pull/6532) - (tracing\_utils) Handle baggage values containing '=' in from\_incoming\_header by [@&#8203;devteamaegis](https://github.com/devteamaegis) in [#&#8203;6450](https://github.com/getsentry/sentry-python/pull/6450) - (utils) Handle image\_url string shorthand in \_is\_image\_type\_with\_blob\_content by [@&#8203;devteamaegis](https://github.com/devteamaegis) in [#&#8203;6478](https://github.com/getsentry/sentry-python/pull/6478) ##### Internal Changes 🔧 - (arq) Only pin `fakeredis<2.36.0` in tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6444](https://github.com/getsentry/sentry-python/pull/6444) - (flaky) Change env for flaky test detector by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6492](https://github.com/getsentry/sentry-python/pull/6492) - (pydantic-ai) Create event loop before invoking sync methods by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6475](https://github.com/getsentry/sentry-python/pull/6475) - Use `package-ecosystem: uv` in dependabot by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6522](https://github.com/getsentry/sentry-python/pull/6522) - 🤖 Update test matrix with new releases (06/08) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6519](https://github.com/getsentry/sentry-python/pull/6519) - Raise minimum supported `aiomysql` version and update text matrix by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6496](https://github.com/getsentry/sentry-python/pull/6496) - Deprecate OpenTelemetryIntegration in favor of OTLPIntegration and no-op for span first by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6494](https://github.com/getsentry/sentry-python/pull/6494) - 🤖 Update test matrix with new releases (06/03) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6489](https://github.com/getsentry/sentry-python/pull/6489) - Raise `update-tox` timeout to 20 minutes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6488](https://github.com/getsentry/sentry-python/pull/6488) - Prevent `grpcio-tools` source builds when generating test matrices by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6487](https://github.com/getsentry/sentry-python/pull/6487) - Add weekly flaky test detector workflow by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6484](https://github.com/getsentry/sentry-python/pull/6484) - Pin transitive dependencies for tests on Python>=3.8 by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6437](https://github.com/getsentry/sentry-python/pull/6437) - Install uv in `update-tox` job by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6453](https://github.com/getsentry/sentry-python/pull/6453) - Only pin `setuptools` in relevant tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6467](https://github.com/getsentry/sentry-python/pull/6467) ### [`v2.61.1`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2611) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.61.0...2.61.1) ##### Internal Changes 🔧 ##### Rq - Pin `fakeredis<2.36.0` in tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6454](https://github.com/getsentry/sentry-python/pull/6454) - Unpin `redis` and `fakeredis` for tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6443](https://github.com/getsentry/sentry-python/pull/6443) ##### Other - (aiohttp) Unfurl spans explicitly instead of using pop() by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6435](https://github.com/getsentry/sentry-python/pull/6435) - (tox) Migrate from pip to uv via tox-uv by [@&#8203;sentry-junior](https://github.com/sentry-junior) in [#&#8203;6390](https://github.com/getsentry/sentry-python/pull/6390) - Pin redis<8 for rq by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6438](https://github.com/getsentry/sentry-python/pull/6438) ### [`v2.61.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2610) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.60.0...2.61.0) ##### New Features ✨ - Add `server.address` to transformed spans when `stream_gen_ai_spans=True` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6307](https://github.com/getsentry/sentry-python/pull/6307) - Allow integrations to define control flow exceptions by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6425](https://github.com/getsentry/sentry-python/pull/6425) - Disable string truncation for events by default by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6290](https://github.com/getsentry/sentry-python/pull/6290) Following a previous significant increase of the string truncation limit, we've now completely removed the limit by default. In case you have large strings in your events, you should now be able to see them. In rare cases, if you have really long strings (or a lot of them), you might see envelopes being dropped because of their size. If that happens, you can set the `max_value_length` `init` option to the previous value of `100_000`: ```python sentry_sdk.init( ..., max_value_length=100_000, ) ``` ##### Bug Fixes 🐛 ##### Langchain - Stop setting transaction status when child span fails by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6301](https://github.com/getsentry/sentry-python/pull/6301) - Catch `TypeError` on `langchain.agents` import by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6268](https://github.com/getsentry/sentry-python/pull/6268) ##### Openai Agents - Handle `starting_agent` keyword argument in runner patches by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6428](https://github.com/getsentry/sentry-python/pull/6428) - Remove hosted MCP tool spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6391](https://github.com/getsentry/sentry-python/pull/6391) - Use `name`, not `description` in `start_span` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6323](https://github.com/getsentry/sentry-python/pull/6323) - Stop setting transaction status when child span fails by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6303](https://github.com/getsentry/sentry-python/pull/6303) ##### Pydantic AI - Stop setting tokens on Invoke Agent spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6320](https://github.com/getsentry/sentry-python/pull/6320) - Stop setting transaction status when child span fails by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6302](https://github.com/getsentry/sentry-python/pull/6302) - Remove `Agent.run_stream_events()` patch by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6281](https://github.com/getsentry/sentry-python/pull/6281) ##### Strawberry - Wrap yields in try-except to ensure span cleanup by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6381](https://github.com/getsentry/sentry-python/pull/6381) - Fix `AttributeError` on `graphql_span` in `resolve` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6289](https://github.com/getsentry/sentry-python/pull/6289) ##### Other - (anthropic) Do not set `gen_ai.response.model` to `None` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6312](https://github.com/getsentry/sentry-python/pull/6312) - (asyncpg) Use Sentry span attribute name conventions by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6306](https://github.com/getsentry/sentry-python/pull/6306) - (boto3) Guard setting method by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6288](https://github.com/getsentry/sentry-python/pull/6288) - (cohere) Stop setting transaction status when child span fails by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6300](https://github.com/getsentry/sentry-python/pull/6300) - (google-genai) Guard against `None` response ID and response model by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6314](https://github.com/getsentry/sentry-python/pull/6314) - (huey) Fix group and chord handling in enqueue by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6392](https://github.com/getsentry/sentry-python/pull/6392) - (integrations) Auto-wrap root gen\_ai spans for openai, cohere, langgraph, huggingface\_hub by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;6285](https://github.com/getsentry/sentry-python/pull/6285) - (serializer) Don't call `__iter__` on arbitrary sequences by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6304](https://github.com/getsentry/sentry-python/pull/6304) Previously, we'd attempt to serialize any `Sequence` by walking through it by calling its `__iter__` function. We've now changed the serializer to only serialize built-in sequences (like lists, tuples, and sets) to avoid triggering side-effects from custom `__iter__` implementations. This might mean some objects might be serialized differently. If you want to continue serializing a specific custom sequence class the old way, you can register it via `sentry_sdk.serializer.add_repr_sequence_type` (see [here](https://github.com/getsentry/sentry-python/blob/54f768680cad8a40ab97be4dddd16c12c9cba493/sentry_sdk/serializer.py#L60-L61)). - Memory leak in SentrySpanProcessor by [@&#8203;volodkindv](https://github.com/volodkindv) in [#&#8203;6271](https://github.com/getsentry/sentry-python/pull/6271) ##### Documentation 📚 - (celery) Remove duplicated "is" in `beat.py` docstring by [@&#8203;quyentonndbs](https://github.com/quyentonndbs) in [#&#8203;6266](https://github.com/getsentry/sentry-python/pull/6266) ##### Internal Changes 🔧 ##### Langchain - Deduplicate by removing `node.callspec.id` matching by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6426](https://github.com/getsentry/sentry-python/pull/6426) - Remove `WatchedSpan` class by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6407](https://github.com/getsentry/sentry-python/pull/6407) ##### Openai Agents - Deduplicate by removing `node.callspec.id` matching by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6424](https://github.com/getsentry/sentry-python/pull/6424) - Fix asyncio loop missing for sync tests by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;6412](https://github.com/getsentry/sentry-python/pull/6412) ##### Pydantic Ai - Support `Agent.run_stream_events()` returning a context manager by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6322](https://github.com/getsentry/sentry-python/pull/6322) - Remove test without assertions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6321](https://github.com/getsentry/sentry-python/pull/6321) ##### Other - (openai) Deduplicate by removing `node.callspec.id` matching by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6427](https://github.com/getsentry/sentry-python/pull/6427) - Respect context manager lifecycles in `fake_record_sql_queries` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6295](https://github.com/getsentry/sentry-python/pull/6295) ### [`v2.60.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2600) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.59.0...2.60.0) Adds a new `stream_gen_ai_spans` option that controls how `gen_ai` spans are sent to Sentry. When set, the SDK extracts all `gen_ai` spans out of a transaction and sends them as v2 envelope items. Enable this option if `gen_ai` spans are being dropped because the transaction payload exceeds size limits. ```python import sentry_sdk sentry_sdk.init( dsn='https://examplePublicKey@o0.ingest.sentry.io/0', stream_gen_ai_spans=True, ) ``` ##### New Features ✨ - (asyncpg) Add cursor span support via BaseCursor method patching by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6252](https://github.com/getsentry/sentry-python/pull/6252) - (integrations) Pass along the conversation ID for openai `responses` calls by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;6199](https://github.com/getsentry/sentry-python/pull/6199) - (wsgi,asgi) Introduce substitute values for filtered fields in span-streaming mode by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6178](https://github.com/getsentry/sentry-python/pull/6178) - Remove truncation when `stream_gen_ai_spans` is enabled by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6260](https://github.com/getsentry/sentry-python/pull/6260) - Add option to send GenAI spans in the new span format by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6079](https://github.com/getsentry/sentry-python/pull/6079) ##### Bug Fixes 🐛 ##### Openai - Guard against `choices=None` by [@&#8203;cla7aye15I4nd](https://github.com/cla7aye15I4nd) in [#&#8203;6216](https://github.com/getsentry/sentry-python/pull/6216) - Stop setting transaction status when child span fails by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6192](https://github.com/getsentry/sentry-python/pull/6192) - Only finish relevant spans in Responses patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6191](https://github.com/getsentry/sentry-python/pull/6191) - Only finish relevant spans in Chat Completions patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6190](https://github.com/getsentry/sentry-python/pull/6190) ##### Other - (stdlib) Instrument response body read for chunked HTTP responses by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6202](https://github.com/getsentry/sentry-python/pull/6202) - (typing) Add `@sentry_sdk.traces.trace` overloads to fix typing by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6236](https://github.com/getsentry/sentry-python/pull/6236) - Use proto version 2 to fix backfilled user agent and IP by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6256](https://github.com/getsentry/sentry-python/pull/6256) - Make sure `http.server` spans are segments by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6230](https://github.com/getsentry/sentry-python/pull/6230) - Handle mypy 2.0 related failures by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6218](https://github.com/getsentry/sentry-python/pull/6218) ##### Internal Changes 🔧 ##### Django - Check transaction annotations on transaction events by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6251](https://github.com/getsentry/sentry-python/pull/6251) - Reload middleware on test teardown by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6249](https://github.com/getsentry/sentry-python/pull/6249) ##### Openai - Separate sync and async embeddings patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6189](https://github.com/getsentry/sentry-python/pull/6189) - Separate sync and async Responses patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6188](https://github.com/getsentry/sentry-python/pull/6188) - Separate sync and async Chat Completions patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6187](https://github.com/getsentry/sentry-python/pull/6187) ##### Other - (langchain) Inline global state by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6261](https://github.com/getsentry/sentry-python/pull/6261) - (stdlib) Only capture relevant telemetry with `capture_items()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6214](https://github.com/getsentry/sentry-python/pull/6214) - (tests) Replace custom `envelopes_to_x` helpers with `capture_items` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6233](https://github.com/getsentry/sentry-python/pull/6233) - (traces) Cache valid span statuses in a module-level frozenset by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6208](https://github.com/getsentry/sentry-python/pull/6208) - Assert presence of profile chunks after session shutdown by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6213](https://github.com/getsentry/sentry-python/pull/6213) - 🤖 Update test matrix with new releases (05/11) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6247](https://github.com/getsentry/sentry-python/pull/6247) - Make `set_custom_sampling_context()` a classmethod by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6238](https://github.com/getsentry/sentry-python/pull/6238) - Rename `_timestamp` to `_end_timestamp` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6235](https://github.com/getsentry/sentry-python/pull/6235) - Move batcher fork safety test to batcher tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6225](https://github.com/getsentry/sentry-python/pull/6225) - Introduce inline type check for whether a span is StreamedSpan by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6180](https://github.com/getsentry/sentry-python/pull/6180) - Add `botocore-stubs` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6203](https://github.com/getsentry/sentry-python/pull/6203) - Add option to drop scrubbed user IP addresses by [@&#8203;juliosuas](https://github.com/juliosuas) in [#&#8203;6241](https://github.com/getsentry/sentry-python/pull/6241) - Add .warden to .gitignore by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6210](https://github.com/getsentry/sentry-python/pull/6210) - removed universal bdist\_wheel option by [@&#8203;Muskaan436](https://github.com/Muskaan436) in [#&#8203;6197](https://github.com/getsentry/sentry-python/pull/6197) - (transport) Add EnvelopePrinterTransport for debug logging by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6181](https://github.com/getsentry/sentry-python/pull/6181) ### [`v2.59.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2590) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.58.0...2.59.0) ##### New Features ✨ ##### Langchain - Record `run_name` as `gen_ai.function_id` on Invoke Agent Spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5926](https://github.com/getsentry/sentry-python/pull/5926) - Record `run_name` in `on_tool_start` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5925](https://github.com/getsentry/sentry-python/pull/5925) - Record `run_name` in `on_chat_model_start` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5924](https://github.com/getsentry/sentry-python/pull/5924) ##### Other - (ci) Cancel in-progress PR workflows on new commit push by [@&#8203;joshuarli](https://github.com/joshuarli) in [#&#8203;5994](https://github.com/getsentry/sentry-python/pull/5994) - (consts) Add updated span convention constants to SPANDATA by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6093](https://github.com/getsentry/sentry-python/pull/6093) - (fastapi) Support span streaming in active thread tracking by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6118](https://github.com/getsentry/sentry-python/pull/6118) - (httpx) Migrate to span first by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6084](https://github.com/getsentry/sentry-python/pull/6084) - (huggingface\_hub) Migrate to span first by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6124](https://github.com/getsentry/sentry-python/pull/6124) - (mcp) Migrate to span first by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6131](https://github.com/getsentry/sentry-python/pull/6131) - Add `db.driver.name` spans to database integrations by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6082](https://github.com/getsentry/sentry-python/pull/6082) ##### Bug Fixes 🐛 We've put additional data that might contain sensitive information, like GraphQL documents, behind the `send_default_pii` option. ##### Httpx - Consistently early-exit when adding request source by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6151](https://github.com/getsentry/sentry-python/pull/6151) - Set `code.namespace` and `code.function` instead of `code.function.name` in span streaming by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6150](https://github.com/getsentry/sentry-python/pull/6150) ##### Langchain - Record `run_name` as `gen_ai.function_id` for text completions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6073](https://github.com/getsentry/sentry-python/pull/6073) - Set agent name as `gen_ai.agent.name` for chat and tool spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5877](https://github.com/getsentry/sentry-python/pull/5877) ##### Other - (asgi) Use `inspect.iscoroutinefunction` on Python 3.14+ by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6135](https://github.com/getsentry/sentry-python/pull/6135) - (batcher) Reset lock and flusher in child after fork by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6163](https://github.com/getsentry/sentry-python/pull/6163) - (google\_genai) Redact binary data in inline\_data and fix multi-part message extraction by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5977](https://github.com/getsentry/sentry-python/pull/5977) - (grpc) Add isolation\_scope to async server interceptor by [@&#8203;robinvd](https://github.com/robinvd) in [#&#8203;5940](https://github.com/getsentry/sentry-python/pull/5940) - (metrics,logs) Don't attach `span_id` if no active span by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6162](https://github.com/getsentry/sentry-python/pull/6162) - (monitor) Release `Monitor._thread_lock` after fork ([#&#8203;6148](https://github.com/getsentry/sentry-python/issues/6148)) by [@&#8203;vokracko](https://github.com/vokracko) in [#&#8203;6159](https://github.com/getsentry/sentry-python/pull/6159) - (openai-agents) Resolve agent from `bindings` for openai-agents >= 0.14 by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6102](https://github.com/getsentry/sentry-python/pull/6102) - (profiler) Stop nulling buffer on teardown by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6075](https://github.com/getsentry/sentry-python/pull/6075) - (quart) Use `inspect.iscoroutinefunction` when Quart does by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6133](https://github.com/getsentry/sentry-python/pull/6133) - (security) Prevent GitHub script injection in update-tox workflow by [@&#8203;fix-it-felix-sentry](https://github.com/fix-it-felix-sentry) in [#&#8203;6171](https://github.com/getsentry/sentry-python/pull/6171) - (starlette/fastapi) Use `inspect.iscoroutinefunction` when Starlette does by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6134](https://github.com/getsentry/sentry-python/pull/6134) - (tornado) Make sure context manager doesn't double yield by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6152](https://github.com/getsentry/sentry-python/pull/6152) - Introduce `_get_current_streamed_span()` to keep types backwards compatible by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6177](https://github.com/getsentry/sentry-python/pull/6177) ##### Internal Changes 🔧 ##### Stdlib - Pin timestamps in `add_http_request_source()` patch by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6160](https://github.com/getsentry/sentry-python/pull/6160) - Stop mocking `HTTPSConnection.send` in trace header tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6156](https://github.com/getsentry/sentry-python/pull/6156) ##### Other - (batcher) Only flush the bucket that triggered the flush event by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6168](https://github.com/getsentry/sentry-python/pull/6168) - (celery) Remove unused `NoOpMgr` from utils by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6078](https://github.com/getsentry/sentry-python/pull/6078) - (ci) Update outdated pinned action version comments by [@&#8203;JoshuaMoelans](https://github.com/JoshuaMoelans) in [#&#8203;6088](https://github.com/getsentry/sentry-python/pull/6088) - (fastmcp) Span streaming tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6167](https://github.com/getsentry/sentry-python/pull/6167) - (graphql) Update document setting by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6153](https://github.com/getsentry/sentry-python/pull/6153) - (grpc) Mirror sync interceptor by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6158](https://github.com/getsentry/sentry-python/pull/6158) - (langchain) Separate test to remove conditional by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6076](https://github.com/getsentry/sentry-python/pull/6076) - (pydantic-ai) Remove dead `Model.request` patch by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5956](https://github.com/getsentry/sentry-python/pull/5956) - (queues) Update integrations by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6157](https://github.com/getsentry/sentry-python/pull/6157) - (tests) Replace deprecated `enable_tracing`with `traces_sample_rate` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6077](https://github.com/getsentry/sentry-python/pull/6077) - (transport) Remove redundant checks for dsn by [@&#8203;psh9508](https://github.com/psh9508) in [#&#8203;6104](https://github.com/getsentry/sentry-python/pull/6104) - Rename file by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6194](https://github.com/getsentry/sentry-python/pull/6194) - 🤖 Update test matrix with new releases (05/04) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6186](https://github.com/getsentry/sentry-python/pull/6186) - Assert presence of profile chunks after shutdown by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6174](https://github.com/getsentry/sentry-python/pull/6174) - 🤖 Update test matrix with new releases (04/29) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6173](https://github.com/getsentry/sentry-python/pull/6173) - Limit `update-tox` action to master branch by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6172](https://github.com/getsentry/sentry-python/pull/6172) - Expand scrubbing by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6161](https://github.com/getsentry/sentry-python/pull/6161) - Remove Python 2 compat from qualname\_from\_function by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;6137](https://github.com/getsentry/sentry-python/pull/6137) - Update test matrix with new releases (04/27) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6146](https://github.com/getsentry/sentry-python/pull/6146) - Raise shutdown timeout in aws lambda tests by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;6129](https://github.com/getsentry/sentry-python/pull/6129) - Join thread in continuous profiler test by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;6125](https://github.com/getsentry/sentry-python/pull/6125) - 🤖 Update test matrix with new releases (04/20) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;6100](https://github.com/getsentry/sentry-python/pull/6100) - Set explicit base-branch for codecov action by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5992](https://github.com/getsentry/sentry-python/pull/5992) ### [`v2.58.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2580) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.57.0...2.58.0) ##### New Features ✨ - (ai) Redact base64 data URLs in image\_url content blocks by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5953](https://github.com/getsentry/sentry-python/pull/5953) - (integrations) Instrument pyreqwest tracing by [@&#8203;servusdei2018](https://github.com/servusdei2018) in [#&#8203;5682](https://github.com/getsentry/sentry-python/pull/5682) - (litellm) Add async callbacks by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5969](https://github.com/getsentry/sentry-python/pull/5969) ##### Bug Fixes 🐛 ##### Anthropic - Capture exceptions for `stream()` calls by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5950](https://github.com/getsentry/sentry-python/pull/5950) - Stop setting transaction status when child span fails by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5717](https://github.com/getsentry/sentry-python/pull/5717) - Only finish relevant spans in .create() patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5716](https://github.com/getsentry/sentry-python/pull/5716) ##### Pydantic Ai - Adapt import for new library versions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5984](https://github.com/getsentry/sentry-python/pull/5984) - Use first-class hooks when available by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5947](https://github.com/getsentry/sentry-python/pull/5947) ##### Other - (huggingface\_hub) Stop setting transaction status when a child span fails by [@&#8203;Zenithatic](https://github.com/Zenithatic) in [#&#8203;5952](https://github.com/getsentry/sentry-python/pull/5952) - (litellm) Avoid double span exits when streaming by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5933](https://github.com/getsentry/sentry-python/pull/5933) - (wsgi) Respect HTTP\_X\_FORWARDED\_PROTO in request.url construction by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5963](https://github.com/getsentry/sentry-python/pull/5963) ##### Internal Changes 🔧 ##### Litellm - Replace mocks with `httpx` types in rate-limit test by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5975](https://github.com/getsentry/sentry-python/pull/5975) - Replace mocks with `httpx` types in embedding tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5970](https://github.com/getsentry/sentry-python/pull/5970) - Replace mocks with `httpx` types in nonstreaming `completion()` tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5937](https://github.com/getsentry/sentry-python/pull/5937) - Remove dead attributes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5985](https://github.com/getsentry/sentry-python/pull/5985) ##### Other - (ai) Remove `gen_ai.tool.type` span attribute by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5964](https://github.com/getsentry/sentry-python/pull/5964) - (anthropic) Separate sync and async .create() patches by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5715](https://github.com/getsentry/sentry-python/pull/5715) - (openai) Split token counting by API for easier deprecation by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5930](https://github.com/getsentry/sentry-python/pull/5930) - (openai-agents) Remove error attributes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5986](https://github.com/getsentry/sentry-python/pull/5986) - (opentelemetry) Ignore mypy error by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5927](https://github.com/getsentry/sentry-python/pull/5927) - 🤖 Update test matrix with new releases (04/13) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5983](https://github.com/getsentry/sentry-python/pull/5983) - Fix license metadata in setup.py by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5934](https://github.com/getsentry/sentry-python/pull/5934) - Update validate-pr workflow by [@&#8203;stephanie-anderson](https://github.com/stephanie-anderson) in [#&#8203;5931](https://github.com/getsentry/sentry-python/pull/5931) ##### Other - Handle `None` span context in the span processor and pin tokenizers version for anthropic tests on Python 3.8 by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5967](https://github.com/getsentry/sentry-python/pull/5967) ### [`v2.57.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2570) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.56.0...2.57.0) ##### New Features ✨ ##### Langchain - Set `gen_ai.operation.name` and `gen_ai.pipeline.name` on LLM spans by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5849](https://github.com/getsentry/sentry-python/pull/5849) - Broaden AI provider detection beyond OpenAI and Anthropic by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5707](https://github.com/getsentry/sentry-python/pull/5707) - Update LLM span operation to `gen_ai.generate_text` by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5796](https://github.com/getsentry/sentry-python/pull/5796) ##### Other - Add experimental async transport by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5646](https://github.com/getsentry/sentry-python/pull/5646) See <https://github.com/getsentry/sentry-python/discussions/5919> for details. ##### Bug Fixes 🐛 ##### Openai - Only wrap types with `_iterator` for streamed responses by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5917](https://github.com/getsentry/sentry-python/pull/5917) - Always set `gen_ai.response.streaming` for Responses by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5697](https://github.com/getsentry/sentry-python/pull/5697) - Simplify Responses input handling by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5695](https://github.com/getsentry/sentry-python/pull/5695) - Use `max_output_tokens` for Responses API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5693](https://github.com/getsentry/sentry-python/pull/5693) - Always set `gen_ai.response.streaming` for Completions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5692](https://github.com/getsentry/sentry-python/pull/5692) - Simplify Completions input handling by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5690](https://github.com/getsentry/sentry-python/pull/5690) - Simplify embeddings input handling by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5688](https://github.com/getsentry/sentry-python/pull/5688) ##### Other - (google-genai) Guard response extraction by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5869](https://github.com/getsentry/sentry-python/pull/5869) - Add cycle detection to exceptions\_from\_error by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5880](https://github.com/getsentry/sentry-python/pull/5880) ##### Internal Changes 🔧 ##### Ai - Remove unused GEN\_AI\_PIPELINE operation constant by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5886](https://github.com/getsentry/sentry-python/pull/5886) - Rename generate\_text to text\_completion by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5885](https://github.com/getsentry/sentry-python/pull/5885) ##### Langchain - Add text completion test by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5740](https://github.com/getsentry/sentry-python/pull/5740) - Add tool execution test by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5739](https://github.com/getsentry/sentry-python/pull/5739) - Add basic agent test with Responses call by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5726](https://github.com/getsentry/sentry-python/pull/5726) - Replace mocks with `httpx` types by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5724](https://github.com/getsentry/sentry-python/pull/5724) - Consolidate span origin assertion by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5723](https://github.com/getsentry/sentry-python/pull/5723) - Consolidate available tools assertion by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5721](https://github.com/getsentry/sentry-python/pull/5721) ##### Openai - Replace mocks with httpx types for streaming Responses by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5882](https://github.com/getsentry/sentry-python/pull/5882) - Replace mocks with httpx types for streaming Completions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5879](https://github.com/getsentry/sentry-python/pull/5879) - Move input handling code into API-specific functions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5687](https://github.com/getsentry/sentry-python/pull/5687) ##### Other - (asyncpg) Normalize query whitespace in integration by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5855](https://github.com/getsentry/sentry-python/pull/5855) - Exclude compromised litellm versions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5876](https://github.com/getsentry/sentry-python/pull/5876) ### [`v2.56.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2560) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.55.0...2.56.0) ##### New Features ✨ - (asgi) Add option to disable suppressing chained exceptions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5714](https://github.com/getsentry/sentry-python/pull/5714) - (logging) Separate ignore lists for events/breadcrumbs and sentry logs by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5698](https://github.com/getsentry/sentry-python/pull/5698) ##### Bug Fixes 🐛 ##### Anthropic - Set exception info on streaming span when applicable by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5683](https://github.com/getsentry/sentry-python/pull/5683) - Patch `AsyncStream.close()` and `AsyncMessageStream.close()` to finish spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5675](https://github.com/getsentry/sentry-python/pull/5675) - Patch `Stream.close()` and `MessageStream.close()` to finish spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5674](https://github.com/getsentry/sentry-python/pull/5674) ##### Other - (starlette) Catch Jinja2Templates ImportError by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5741](https://github.com/getsentry/sentry-python/pull/5741) ##### Documentation 📚 - Add note on AI PRs to CONTRIBUTING.md by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5696](https://github.com/getsentry/sentry-python/pull/5696) ##### Internal Changes 🔧 - Pin GitHub Actions to full-length commit SHAs by [@&#8203;joshuarli](https://github.com/joshuarli) in [#&#8203;5781](https://github.com/getsentry/sentry-python/pull/5781) - Add `-latest` alias for each integration test suite by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5706](https://github.com/getsentry/sentry-python/pull/5706) - Use date-based branch names for toxgen PRs by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5704](https://github.com/getsentry/sentry-python/pull/5704) - 🤖 Update test matrix with new releases (03/19) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5703](https://github.com/getsentry/sentry-python/pull/5703) - Add client report tests for span streaming by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5677](https://github.com/getsentry/sentry-python/pull/5677) ##### Other - Update CHANGELOG.md by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5685](https://github.com/getsentry/sentry-python/pull/5685) ### [`v2.55.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2550) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.54.0...2.55.0) ##### New Features ✨ ##### Anthropic - Record finish reasons in AI monitoring spans by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5678](https://github.com/getsentry/sentry-python/pull/5678) - Emit `gen_ai.chat` spans for asynchronous `messages.stream()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5572](https://github.com/getsentry/sentry-python/pull/5572) - Emit AI Client Spans for synchronous `messages.stream()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5565](https://github.com/getsentry/sentry-python/pull/5565) - Set gen\_ai.response.id span attribute by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5662](https://github.com/getsentry/sentry-python/pull/5662) - Add `gen_ai.system` attribute to spans by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5661](https://github.com/getsentry/sentry-python/pull/5661) ##### Pydantic Ai - Support ImageUrl content type in span instrumentation by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5629](https://github.com/getsentry/sentry-python/pull/5629) - Add tool description to execute\_tool spans by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5596](https://github.com/getsentry/sentry-python/pull/5596) ##### Other - (crons) Add owner field to MonitorConfig by [@&#8203;julwhitney13](https://github.com/julwhitney13) in [#&#8203;5610](https://github.com/getsentry/sentry-python/pull/5610) - (otlp) Add collector\_url option to OTLPIntegration by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5603](https://github.com/getsentry/sentry-python/pull/5603) ##### Bug Fixes 🐛 - (ai) Truncate list-based message content in AI monitoring by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5631](https://github.com/getsentry/sentry-python/pull/5631) - (anthropic) Close span on `GeneratorExit` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5643](https://github.com/getsentry/sentry-python/pull/5643) - (celery) Propagate user-set headers by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5581](https://github.com/getsentry/sentry-python/pull/5581) - (langchain) Wrap finish\_reason in array for gen\_ai span attribute by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5666](https://github.com/getsentry/sentry-python/pull/5666) - (logging) Fix deadlock in log batcher by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5684](https://github.com/getsentry/sentry-python/pull/5684) - (profiler) Prevent buffer race condition during rapid start/stop cycles by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5622](https://github.com/getsentry/sentry-python/pull/5622) - (utils) Avoid double serialization of strings in safe\_serialize by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5587](https://github.com/getsentry/sentry-python/pull/5587) - Enable unused import ruff check and fix unused imports by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5652](https://github.com/getsentry/sentry-python/pull/5652) ##### Documentation 📚 - (openai-agents) Remove inapplicable comment by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5495](https://github.com/getsentry/sentry-python/pull/5495) - Add AGENTS.md by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5579](https://github.com/getsentry/sentry-python/pull/5579) - Add `set_attribute` example to changelog by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5578](https://github.com/getsentry/sentry-python/pull/5578) ##### Internal Changes 🔧 ##### Anthropic - Check system and response ID attributes on spans created by `stream()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5665](https://github.com/getsentry/sentry-python/pull/5665) - Skip accumulation logic for unexpected types in streamed response by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5564](https://github.com/getsentry/sentry-python/pull/5564) - Factor out streamed result handling by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5563](https://github.com/getsentry/sentry-python/pull/5563) - Stream valid JSON by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5641](https://github.com/getsentry/sentry-python/pull/5641) - Stop mocking response iterator by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5573](https://github.com/getsentry/sentry-python/pull/5573) ##### Openai Agents - Do not fail on new tool fields by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5625](https://github.com/getsentry/sentry-python/pull/5625) - Stop expecting a specific function name by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5623](https://github.com/getsentry/sentry-python/pull/5623) - Set streaming header when library uses `with_streaming_response()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5583](https://github.com/getsentry/sentry-python/pull/5583) - Replace mocks with `httpx` for streamed responses by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5580](https://github.com/getsentry/sentry-python/pull/5580) - Replace mocks with `httpx` in non-MCP tool tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5602](https://github.com/getsentry/sentry-python/pull/5602) - Replace mocks with `httpx` in MCP tool tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5605](https://github.com/getsentry/sentry-python/pull/5605) - Replace mocks with `httpx` in handoff tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5604](https://github.com/getsentry/sentry-python/pull/5604) - Replace mocks with `httpx` in API error test by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5601](https://github.com/getsentry/sentry-python/pull/5601) - Replace mocks with `httpx` in non-error single-response tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5600](https://github.com/getsentry/sentry-python/pull/5600) - Remove test for unreachable state by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5584](https://github.com/getsentry/sentry-python/pull/5584) - Expect `namespace` tool field for new `openai` versions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5599](https://github.com/getsentry/sentry-python/pull/5599) ##### Other - (graphene) Simplify span creation by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5648](https://github.com/getsentry/sentry-python/pull/5648) - (httpx) Resolve type checking failures by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5626](https://github.com/getsentry/sentry-python/pull/5626) - (pyramid) Support alpha suffixes in version parsing by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5618](https://github.com/getsentry/sentry-python/pull/5618) - (rust) Don't implement separate scope management by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5639](https://github.com/getsentry/sentry-python/pull/5639) - (strawberry) Simplify span creation by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5647](https://github.com/getsentry/sentry-python/pull/5647) - 🤖 Update test matrix with new releases (03/16) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5671](https://github.com/getsentry/sentry-python/pull/5671) - Remove custom warden action by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5653](https://github.com/getsentry/sentry-python/pull/5653) - Add `httpx` to linting requirements by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5644](https://github.com/getsentry/sentry-python/pull/5644) - Remove CodeQL action by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5616](https://github.com/getsentry/sentry-python/pull/5616) - Normalize dots in package names in `populate_tox.py` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5574](https://github.com/getsentry/sentry-python/pull/5574) - Do not run actions on `potel-base` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5614](https://github.com/getsentry/sentry-python/pull/5614) ### [`v2.54.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2540) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.53.0...2.54.0) ##### New Features ✨ - Add `set_attribute`, `remove_attribute` to global API by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5555](https://github.com/getsentry/sentry-python/pull/5555) You can now set and unset attributes on logs and metrics via top-level API. Think of it as `sentry_sdk.set_tag()` for attribute-based telemetry. Other event types (transactions, spans, errors) will be unaffected. ```python import sentry_sdk sentry_sdk.init(...) sentry_sdk.set_attribute("my.attribute", "my value") # This metric will have "my.attribute" set sentry_sdk.metrics.count("counter", 1) # Remove the attribute sentry_sdk.remove_attribute("my.attribute") # This log will not have "my.attribute" set sentry_sdk.logger.info("An info log") ``` ##### Bug Fixes 🐛 ##### Openai - Attach response model with streamed Completions API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5557](https://github.com/getsentry/sentry-python/pull/5557) - Attach response model with streamed Responses API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5554](https://github.com/getsentry/sentry-python/pull/5554) - Avoid consuming iterables passed to the Completions API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5489](https://github.com/getsentry/sentry-python/pull/5489) - Avoid consuming iterables passed to the Embeddings API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5491](https://github.com/getsentry/sentry-python/pull/5491) ##### Other - (anthropic) Fix token accounting by [@&#8203;shellmayr](https://github.com/shellmayr) in [#&#8203;5490](https://github.com/getsentry/sentry-python/pull/5490) - (google-genai) Remove agent spans for simple requests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5443](https://github.com/getsentry/sentry-python/pull/5443) - (grpc) Read method from handler\_call\_details for grpcio >= 1.76 compat by [@&#8203;yeung108](https://github.com/yeung108) in [#&#8203;5521](https://github.com/getsentry/sentry-python/pull/5521) - (httpx) Correctly append baggage in async client by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5530](https://github.com/getsentry/sentry-python/pull/5530) - (pydantic-ai) Adapt to missing `ToolManager._call_tool` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5522](https://github.com/getsentry/sentry-python/pull/5522) - (utils) Use HEROKU\_BUILD\_COMMIT env var for default release by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5499](https://github.com/getsentry/sentry-python/pull/5499) - (wsgi) Do not wrap file responses when uWSGI offload-threads is enabled by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5556](https://github.com/getsentry/sentry-python/pull/5556) ##### Documentation 📚 - Add troubleshooting note for editable installs with uWSGI by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5552](https://github.com/getsentry/sentry-python/pull/5552) - Add debugging advice by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5517](https://github.com/getsentry/sentry-python/pull/5517) - New integration guide by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5476](https://github.com/getsentry/sentry-python/pull/5476) ##### Internal Changes 🔧 ##### Agents - Add security-review skill to agent configuration by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5498](https://github.com/getsentry/sentry-python/pull/5498) - Add sentry skills to be used by warden in CI reviews by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5485](https://github.com/getsentry/sentry-python/pull/5485) ##### Openai - Only handle streamed results when applicable by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5553](https://github.com/getsentry/sentry-python/pull/5553) - Extract input in API-specific functions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5546](https://github.com/getsentry/sentry-python/pull/5546) - Separate output handling by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5543](https://github.com/getsentry/sentry-python/pull/5543) ##### Openai Agents - Remove `set_data_normalized` for primitive attributes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5509](https://github.com/getsentry/sentry-python/pull/5509) - Expect new tool fields by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5471](https://github.com/getsentry/sentry-python/pull/5471) ##### Other - (ai) Add configuration for dotagents by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5480](https://github.com/getsentry/sentry-python/pull/5480) - (anthropic) Remove `set_data_normalized` for primitive attributes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5504](https://github.com/getsentry/sentry-python/pull/5504) - (github) Add warden configuration by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5484](https://github.com/getsentry/sentry-python/pull/5484) - (pydantic-ai) Remove `set_data_normalized` for the `gen_ai.response.model` attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5512](https://github.com/getsentry/sentry-python/pull/5512) - (repo) Add .serena to .gitignore by [@&#8203;ericapisani](https://github.com/ericapisani) in [#&#8203;5464](https://github.com/getsentry/sentry-python/pull/5464) - Updated codecov.yml by [@&#8203;MathurAditya724](https://github.com/MathurAditya724) in [#&#8203;5571](https://github.com/getsentry/sentry-python/pull/5571) - 🤖 Update test matrix with new releases (02/24) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5524](https://github.com/getsentry/sentry-python/pull/5524) - 🤖 Update test matrix with new releases (02/23) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5503](https://github.com/getsentry/sentry-python/pull/5503) - 🤖 Update test matrix with new releases (02/19) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5483](https://github.com/getsentry/sentry-python/pull/5483) - 🤖 Update test matrix with new releases (02/18) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5475](https://github.com/getsentry/sentry-python/pull/5475) ### [`v2.53.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2530) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.52.0...2.53.0) ##### Bug Fixes 🐛 ##### Openai Agents - Patch `execute_final_output()` functions following library refactor by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5453](https://github.com/getsentry/sentry-python/pull/5453) - Patch `execute_handoffs()` functions following library refactor by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5452](https://github.com/getsentry/sentry-python/pull/5452) - Patch `run_single_turn_streamed()` functions following library refactor by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5451](https://github.com/getsentry/sentry-python/pull/5451) - Patch `run_single_turn()` functions following library refactor by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5450](https://github.com/getsentry/sentry-python/pull/5450) - Patch models functions following library refactor by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5449](https://github.com/getsentry/sentry-python/pull/5449) - Patch tool functions following library refactor by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5445](https://github.com/getsentry/sentry-python/pull/5445) ##### Other - Close the connection we're reading driver\_type from by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5427](https://github.com/getsentry/sentry-python/pull/5427) ##### Documentation 📚 - Document `openai-agents` control-flow by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5447](https://github.com/getsentry/sentry-python/pull/5447) ##### Internal Changes 🔧 ##### Openai Agents - New tool field and library error log by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5454](https://github.com/getsentry/sentry-python/pull/5454) - Avoid calling SDK-internal functions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5437](https://github.com/getsentry/sentry-python/pull/5437) ##### Other - Improve Craft config with title stripping and artifact filtering by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5444](https://github.com/getsentry/sentry-python/pull/5444) - Use fixed clickhouse action, remove aws-sam-cli dependency by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5457](https://github.com/getsentry/sentry-python/pull/5457) - Remove references to unsupported attribute types by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5425](https://github.com/getsentry/sentry-python/pull/5425) - Pin setuptools for linting and chalice tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5438](https://github.com/getsentry/sentry-python/pull/5438) ### [`v2.52.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2520) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.51.0...2.52.0) ##### New Features ✨ ##### Other - feat(integration): add `gen_ai.conversation.id` if available by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5307](https://github.com/getsentry/sentry-python/pull/5307) ##### Bug Fixes 🐛 ##### Google Genai - fix(google-genai): Token reporting by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5404](https://github.com/getsentry/sentry-python/pull/5404) - fix(google-genai): deactivate google genai when langchain is used by [@&#8203;shellmayr](https://github.com/shellmayr) in [#&#8203;5389](https://github.com/getsentry/sentry-python/pull/5389) ##### Mcp - fix(mcp): Nest MCP spans under HTTP transactions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5292](https://github.com/getsentry/sentry-python/pull/5292) - fix(mcp): Handle all awaitable return types by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5415](https://github.com/getsentry/sentry-python/pull/5415) ##### Other - fix(anthropic): Token reporting by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5403](https://github.com/getsentry/sentry-python/pull/5403) - fix(arq): handle settings\_cls passed as keyword argument by [@&#8203;nc9](https://github.com/nc9) in [#&#8203;5393](https://github.com/getsentry/sentry-python/pull/5393) - fix(dramatiq): cleanup isolated scope and transaction when message is skipped by [@&#8203;frankie567](https://github.com/frankie567) in [#&#8203;5346](https://github.com/getsentry/sentry-python/pull/5346) - fix(openai): Token reporting by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5406](https://github.com/getsentry/sentry-python/pull/5406) - fix(openai-agents): Inject propagation headers for `HostedMCPTool` when streaming by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5405](https://github.com/getsentry/sentry-python/pull/5405) - fix: Fix list attribute type by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5417](https://github.com/getsentry/sentry-python/pull/5417) - fix: Adapt to new packaging in toxgen by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5382](https://github.com/getsentry/sentry-python/pull/5382) ##### Internal Changes 🔧 ##### Fastmcp - test(fastmcp): Wrap prompt in `Message` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5411](https://github.com/getsentry/sentry-python/pull/5411) - test(fastmcp): Remove `test_fastmcp_without_request_context()` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5412](https://github.com/getsentry/sentry-python/pull/5412) - test(fastmcp): Use `AsyncClient` for SSE by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5400](https://github.com/getsentry/sentry-python/pull/5400) - test(fastmcp): Use `TestClient` for Streamable HTTP by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5384](https://github.com/getsentry/sentry-python/pull/5384) - test(fastmcp): Simulate stdio transport with memory streams by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5333](https://github.com/getsentry/sentry-python/pull/5333) ##### Mcp - test(mcp): Use `AsyncClient` for SSE by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5396](https://github.com/getsentry/sentry-python/pull/5396) - test(mcp): Use `TestClient` for Streamable HTTP by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5383](https://github.com/getsentry/sentry-python/pull/5383) - test(mcp): Remove unused stdio helpers by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5409](https://github.com/getsentry/sentry-python/pull/5409) - test(mcp): Simulate stdio transport with memory streams by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5329](https://github.com/getsentry/sentry-python/pull/5329) ##### Other - ci: Fix lint step by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5418](https://github.com/getsentry/sentry-python/pull/5418) - ci: 🤖 Update test matrix with new releases (02/02) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5413](https://github.com/getsentry/sentry-python/pull/5413) - ci: Update tox and pin packaging version for tox by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5381](https://github.com/getsentry/sentry-python/pull/5381) - ci: migration to the new codecov action by [@&#8203;MathurAditya724](https://github.com/MathurAditya724) in [#&#8203;5392](https://github.com/getsentry/sentry-python/pull/5392) ##### Other - Revert "feat(ai): Add original input length meta attribute ([#&#8203;5375](https://github.com/getsentry/sentry-python/issues/5375))" by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5419](https://github.com/getsentry/sentry-python/pull/5419) ### [`v2.51.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2510) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.50.0...2.51.0) ##### New Features ✨ ##### Openai - feat(openai): Set system instruction attribute for Responses API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5376](https://github.com/getsentry/sentry-python/pull/5376) - feat(openai): Set system instruction attribute for Completions API by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5358](https://github.com/getsentry/sentry-python/pull/5358) - feat(integrations): OpenAI/OpenAI Agents detect and report the time to first token metric (TTFT) as `gen_ai.response.time_to_first_token` by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5348](https://github.com/getsentry/sentry-python/pull/5348) ##### Openai Agents - feat(openai-agents): Set system instruction attribute on `gen_ai.chat` spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5370](https://github.com/getsentry/sentry-python/pull/5370) - feat(openai-agents): Set system instruction attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5355](https://github.com/getsentry/sentry-python/pull/5355) - feat(integrations): openai-agents streaming support by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5291](https://github.com/getsentry/sentry-python/pull/5291) ##### Other - feat(ai): Add original input length meta attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5375](https://github.com/getsentry/sentry-python/pull/5375) - feat(anthropic): Set system instruction attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5353](https://github.com/getsentry/sentry-python/pull/5353) - feat(asyncio): Allow to turn task spans off by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5367](https://github.com/getsentry/sentry-python/pull/5367) - feat(gen\_ai): add function `set_conversation_id` and managing functions on the Scope and apply it on the Span on `.finish()` by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5362](https://github.com/getsentry/sentry-python/pull/5362) - feat(google-genai): Set system instruction attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5354](https://github.com/getsentry/sentry-python/pull/5354) - feat(langchain): Set system instruction attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5357](https://github.com/getsentry/sentry-python/pull/5357) - feat(pydantic-ai): Set system instruction attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5356](https://github.com/getsentry/sentry-python/pull/5356) - feat(transport): Report 413 responses for oversized envelopes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5380](https://github.com/getsentry/sentry-python/pull/5380) ##### Bug Fixes 🐛 - fix(ai): Keep single content input message by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5345](https://github.com/getsentry/sentry-python/pull/5345) ##### Internal Changes 🔧 - ci(release): Fix changelog-preview permissions by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5368](https://github.com/getsentry/sentry-python/pull/5368) - ref: Replace `set_data_normalized()` with `Span.set_data()` for system instructions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5374](https://github.com/getsentry/sentry-python/pull/5374) - ci: Fix path in AI integration tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5347](https://github.com/getsentry/sentry-python/pull/5347) ### [`v2.50.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2500) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.49.0...2.50.0) ##### New Features ✨ ##### Ai - feat(ai): add cache writes for gen\_ai by [@&#8203;shellmayr](https://github.com/shellmayr) in [#&#8203;5319](https://github.com/getsentry/sentry-python/pull/5319) - feat(ai): add parse\_data\_uri function to parse a data URI by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5311](https://github.com/getsentry/sentry-python/pull/5311) ##### Other - feat(asyncio): Add on-demand way to enable AsyncioIntegration by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5288](https://github.com/getsentry/sentry-python/pull/5288) You can now enable the `AsyncioIntegration` on demand, after calling `sentry_sdk.init()`. This is useful in scenarios where you don't have the event loop running early on, or when you need to instrument multiple event loops. ```python import sentry_sdk from sentry_sdk.integrations.asyncio import enable_asyncio_integration # Initializing the SDK as early as possible, when there is no event loop yet sentry_sdk.init( ... # No AsyncioIntegration in explicitly provided `integrations` ) async def main(): enable_asyncio_integration() # instruments the current event loop # ...your code... ``` - feat(openai-agents): Inject propagation headers for `HostedMCPTool` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5297](https://github.com/getsentry/sentry-python/pull/5297) - feat(stdlib): Handle proxy tunnels in httlib integration by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5303](https://github.com/getsentry/sentry-python/pull/5303) - feat: Support array types for logs and metrics attributes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5314](https://github.com/getsentry/sentry-python/pull/5314) ##### Bug Fixes 🐛 ##### Integrations - fix(integrations): google genai report image inputs by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5337](https://github.com/getsentry/sentry-python/pull/5337) - fix(integrations): google-genai: reworked `gen_ai.request.messages` extraction from parameters by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5275](https://github.com/getsentry/sentry-python/pull/5275) - fix(integrations): pydantic-ai: properly format binary input message parts to be conformant with the `gen_ai.request.messages` structure by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5251](https://github.com/getsentry/sentry-python/pull/5251) - fix(integrations): Anthropic: add content transformation for images and documents by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5276](https://github.com/getsentry/sentry-python/pull/5276) - fix(integrations): langchain add multimodal content transformation functions for images, audio, and files by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5278](https://github.com/getsentry/sentry-python/pull/5278) ##### Litellm - fix(litellm): fix `gen_ai.request.messages` to be as expected by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5255](https://github.com/getsentry/sentry-python/pull/5255) - fix(litellm): Guard against module shadowing by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5249](https://github.com/getsentry/sentry-python/pull/5249) ##### Other - fix(ai): redact message parts content of type blob by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5243](https://github.com/getsentry/sentry-python/pull/5243) - fix(clickhouse): Guard against module shadowing by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5250](https://github.com/getsentry/sentry-python/pull/5250) - fix(gql): Revert signature change of patched gql.Client.execute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5289](https://github.com/getsentry/sentry-python/pull/5289) - fix(grpc): Derive interception state from channel fields by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5302](https://github.com/getsentry/sentry-python/pull/5302) - fix(pure-eval): Guard against module shadowing by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5252](https://github.com/getsentry/sentry-python/pull/5252) - fix(ray): Guard against module shadowing by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5254](https://github.com/getsentry/sentry-python/pull/5254) - fix(threading): Handle channels shadowing by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5299](https://github.com/getsentry/sentry-python/pull/5299) - fix(typer): Guard against module shadowing by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5253](https://github.com/getsentry/sentry-python/pull/5253) - fix: Stop suppressing exception chains in AI integrations by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5309](https://github.com/getsentry/sentry-python/pull/5309) - fix: Send client reports for span recorder overflow by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5310](https://github.com/getsentry/sentry-python/pull/5310) ##### Documentation 📚 - docs(metrics): Remove experimental notice by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5304](https://github.com/getsentry/sentry-python/pull/5304) - docs: Update Python versions banner in README by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5287](https://github.com/getsentry/sentry-python/pull/5287) ##### Internal Changes 🔧 ##### Fastmcp - test(fastmcp): Narrow `AttributeError` try-except by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5339](https://github.com/getsentry/sentry-python/pull/5339) - test(fastmcp): Stop accessing non-existent attribute by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5338](https://github.com/getsentry/sentry-python/pull/5338) ##### Release - ci(release): Bump Craft version to fix issues by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5305](https://github.com/getsentry/sentry-python/pull/5305) - ci(release): Switch from action-prepare-release to Craft by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5290](https://github.com/getsentry/sentry-python/pull/5290) ##### Other - chore(gen\_ai): add auto-enablement for google genai by [@&#8203;shellmayr](https://github.com/shellmayr) in [#&#8203;5295](https://github.com/getsentry/sentry-python/pull/5295) - chore(repo): Add Claude Code settings with basic permissions by [@&#8203;philipphofmann](https://github.com/philipphofmann) in [#&#8203;5342](https://github.com/getsentry/sentry-python/pull/5342) - ci: 🤖 Update test matrix with new releases (01/19) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5330](https://github.com/getsentry/sentry-python/pull/5330) - ci: Add periodic AI integration tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5313](https://github.com/getsentry/sentry-python/pull/5313) - chore: Use pull\_request\_target for changelog preview by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5323](https://github.com/getsentry/sentry-python/pull/5323) - chore: add unlabeled trigger to changelog-preview by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5315](https://github.com/getsentry/sentry-python/pull/5315) - chore: Add type for metric units by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5312](https://github.com/getsentry/sentry-python/pull/5312) - ci: Update tox and handle generic classifiers by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5306](https://github.com/getsentry/sentry-python/pull/5306) ### [`v2.49.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2490) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.48.0...2.49.0) ##### New Features ✨ - feat(api): Add `Scope.set_attribute` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5256](https://github.com/getsentry/sentry-python/pull/5256) ##### Bug Fixes 🐛 - fix(grpc): Gate third-party imports by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5246](https://github.com/getsentry/sentry-python/pull/5246) - fix(opentelemetry): Gate third-party imports by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5247](https://github.com/getsentry/sentry-python/pull/5247) - fix(ray): Keep variadic kwargs last in signatures by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5244](https://github.com/getsentry/sentry-python/pull/5244) - fix(trytond): Gate third-party imports by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5245](https://github.com/getsentry/sentry-python/pull/5245) - Fix openai count\_tokens by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5281](https://github.com/getsentry/sentry-python/pull/5281) ##### Documentation 📚 - docs: Fix typo in comment by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5280](https://github.com/getsentry/sentry-python/pull/5280) - docs: Fix `middleware_spans` docstring by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5279](https://github.com/getsentry/sentry-python/pull/5279) ##### Internal Changes 🔧 - ref(scope): Set global attrs on global scope by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5259](https://github.com/getsentry/sentry-python/pull/5259) - chore: Ignore type migration for scripts/ and tests/ in blame by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5284](https://github.com/getsentry/sentry-python/pull/5284) - ref: Properly override parent func by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5283](https://github.com/getsentry/sentry-python/pull/5283) - ci: Allow to use Craft's new auto-versioning by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5218](https://github.com/getsentry/sentry-python/pull/5218) - ref: Deduplicate batchers by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5263](https://github.com/getsentry/sentry-python/pull/5263) - tests: Add dedicated transport format test for metrics, logs by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5264](https://github.com/getsentry/sentry-python/pull/5264) - ci: 🤖 Update test matrix with new releases (01/05) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5273](https://github.com/getsentry/sentry-python/pull/5273) - tests: General logs tests should use Sentry logs API by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5262](https://github.com/getsentry/sentry-python/pull/5262) - tests: Test preserialization of attributes by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5260](https://github.com/getsentry/sentry-python/pull/5260) - ci: Unpin Pydantic 1.x version in tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5261](https://github.com/getsentry/sentry-python/pull/5261) - ref: Make logs, metrics go via scope by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5213](https://github.com/getsentry/sentry-python/pull/5213) - ci: Fix failing arq, fastapi tests on 3.7; update test matrix by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5258](https://github.com/getsentry/sentry-python/pull/5258) ### [`v2.48.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2480) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.47.0...2.48.0) Middleware spans are now disabled by default in Django, Starlette and FastAPI integrations. Set the `middleware_spans` integration-level option to capture individual spans per middleware layer. To record Django middleware spans, for example, configure as follows ```python import sentry_sdk from sentry_sdk.integrations.django import DjangoIntegration sentry_sdk.init( dsn="<your-dsn>", integrations=[ DjangoIntegration(middleware_spans=True), ], ) ``` ##### New Features ✨ - feat(ai): add single message truncation by [@&#8203;shellmayr](https://github.com/shellmayr) in [#&#8203;5079](https://github.com/getsentry/sentry-python/pull/5079) - feat(django): Add span around `Task.enqueue` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5209](https://github.com/getsentry/sentry-python/pull/5209) - feat(starlette): Set transaction name when middleware spans are disabled by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5223](https://github.com/getsentry/sentry-python/pull/5223) - feat: Add "K\_REVISION" to environment variable release check (exposed by cloud run) by [@&#8203;rpradal](https://github.com/rpradal) in [#&#8203;5222](https://github.com/getsentry/sentry-python/pull/5222) ##### Langgraph - feat(langgraph): Response model attribute on invocation spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5212](https://github.com/getsentry/sentry-python/pull/5212) - feat(langgraph): Usage attributes on invocation spans by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5211](https://github.com/getsentry/sentry-python/pull/5211) ##### OTLP - feat(otlp): Optionally capture exceptions from otel's Span.record\_exception api by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5235](https://github.com/getsentry/sentry-python/pull/5235) - feat(otlp): Implement new Propagator.inject for OTLPIntegration by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5221](https://github.com/getsentry/sentry-python/pull/5221) ##### Bug Fixes 🐛 ##### Integrations - fix(django): Set active thread ID when middleware spans are disabled by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5220](https://github.com/getsentry/sentry-python/pull/5220) - fix(integrations): openai-agents fixing the input messages structure which was wrapped too much in some cases by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5203](https://github.com/getsentry/sentry-python/pull/5203) - fix(integrations): openai-agents fix multi-patching of `get_model` function by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5195](https://github.com/getsentry/sentry-python/pull/5195) - fix(integrations): add values for pydantic-ai and openai-agents to `_INTEGRATION_DEACTIVATES` to prohibit double span creation by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5196](https://github.com/getsentry/sentry-python/pull/5196) - fix(logs): Set `span_id` instead of `sentry.trace.parent_span_id` attribute by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5241](https://github.com/getsentry/sentry-python/pull/5241) - fix(logs, metrics): Gate metrics, logs user attributes behind `send_default_pii` by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5240](https://github.com/getsentry/sentry-python/pull/5240) - fix(pydantic-ai): Stop capturing internal exceptions by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5237](https://github.com/getsentry/sentry-python/pull/5237) - fix(ray): Actor class decorator with arguments by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5230](https://github.com/getsentry/sentry-python/pull/5230) - fix: Don't log internal exception for tornado user auth by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5208](https://github.com/getsentry/sentry-python/pull/5208) - fix: Fix changelog config by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5192](https://github.com/getsentry/sentry-python/pull/5192) ##### Internal Changes 🔧 - chore(django): Disable middleware spans by default by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5219](https://github.com/getsentry/sentry-python/pull/5219) - chore(starlette): Disable middleware spans by default by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5224](https://github.com/getsentry/sentry-python/pull/5224) - ci: Unpin Python version for LiteLLM tests by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5238](https://github.com/getsentry/sentry-python/pull/5238) - ci: 🤖 Update test matrix with new releases (12/15) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5229](https://github.com/getsentry/sentry-python/pull/5229) - chore: Ignore type annotation migration in blame by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5234](https://github.com/getsentry/sentry-python/pull/5234) - ref: Clean up get\_active\_propagation\_context by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5217](https://github.com/getsentry/sentry-python/pull/5217) - ref: Cleanup outgoing propagation\_context logic by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5215](https://github.com/getsentry/sentry-python/pull/5215) - ci: Pin Python version to at least 3.10 for LiteLLM by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5202](https://github.com/getsentry/sentry-python/pull/5202) - test: Remove skipped test by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5197](https://github.com/getsentry/sentry-python/pull/5197) - Convert all remaining type annotations into the modern format by [@&#8203;zsol](https://github.com/zsol) in [#&#8203;5239](https://github.com/getsentry/sentry-python/pull/5239) - Convert sentry\_sdk type annotations into the modern format by [@&#8203;zsol](https://github.com/zsol) in [#&#8203;5206](https://github.com/getsentry/sentry-python/pull/5206) ### [`v2.47.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2470) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.46.0...2.47.0) ##### Bug Fixes 🐛 - fix: Make PropagationContext.from\_incoming\_data always return a PropagationContext by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5186](https://github.com/getsentry/sentry-python/pull/5186) - fix(integrations): anthropic set `GEN_AI_OPERATION_NAME` by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5185](https://github.com/getsentry/sentry-python/pull/5185) - fix(spotlight): align behavior with SDK spec by [@&#8203;BYK](https://github.com/BYK) in [#&#8203;5169](https://github.com/getsentry/sentry-python/pull/5169) - fix(integrations): do not exit early when config is not passed as it is not required and prohibits setting `gen_ai.request.messages` by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5167](https://github.com/getsentry/sentry-python/pull/5167) - fix(langchain): add gen\_ai.response.model to chat spans by [@&#8203;shellmayr](https://github.com/shellmayr) in [#&#8203;5159](https://github.com/getsentry/sentry-python/pull/5159) - fix(integrations): add the system prompt to the `gen_ai.request.messages` attribute by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5161](https://github.com/getsentry/sentry-python/pull/5161) - fix(ai): Handle Pydantic model classes in \_normalize\_data by [@&#8203;skalinchuk](https://github.com/skalinchuk) in [#&#8203;5143](https://github.com/getsentry/sentry-python/pull/5143) - fix(openai-agents): Avoid double span exit on exception by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5174](https://github.com/getsentry/sentry-python/pull/5174) - fix(openai-agents): Store `invoke_agent` span on `agents.RunContextWrapper` by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5165](https://github.com/getsentry/sentry-python/pull/5165) - Add back span status by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5147](https://github.com/getsentry/sentry-python/pull/5147) ##### New Features ✨ - feat(integrations): openai-agents: add usage and response model reporting for chat and invoke\_agent spans by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5157](https://github.com/getsentry/sentry-python/pull/5157) - feat: Implement strict\_trace\_continuation by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5178](https://github.com/getsentry/sentry-python/pull/5178) - feat(integration): pydantic-ai: properly report token usage and response model for invoke\_agent spans by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5153](https://github.com/getsentry/sentry-python/pull/5153) - feat(integrations): add support for embed\_content methods in GoogleGenAI integration by [@&#8203;constantinius](https://github.com/constantinius) in [#&#8203;5128](https://github.com/getsentry/sentry-python/pull/5128) - feat(logs): Record discarded log bytes by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5144](https://github.com/getsentry/sentry-python/pull/5144) - feat: Add an initial changelog config by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5145](https://github.com/getsentry/sentry-python/pull/5145) - feat(django): Instrument database rollbacks by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5115](https://github.com/getsentry/sentry-python/pull/5115) - feat(django): Instrument database commits by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5100](https://github.com/getsentry/sentry-python/pull/5100) - feat(openai-agents): Truncate long messages by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5141](https://github.com/getsentry/sentry-python/pull/5141) - Add org\_id support by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5166](https://github.com/getsentry/sentry-python/pull/5166) ##### Deprecations - Deprecate `continue_from_headers` by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5160](https://github.com/getsentry/sentry-python/pull/5160) ##### Build / dependencies / internal 🔧 - Remove unsupported SPANSTATUS.(ERROR|UNSET) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5146](https://github.com/getsentry/sentry-python/pull/5146) - Rename setup\_otlp\_exporter to setup\_otlp\_traces\_exporter by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5142](https://github.com/getsentry/sentry-python/pull/5142) - Simplify continue\_trace to reuse propagation\_context values by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5158](https://github.com/getsentry/sentry-python/pull/5158) - Make PropagationContext hold baggage instead of dynamic\_sampling\_context by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5156](https://github.com/getsentry/sentry-python/pull/5156) - Cleanup PropagationContext.from\_incoming\_data by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) in [#&#8203;5155](https://github.com/getsentry/sentry-python/pull/5155) - chore: Add `commit_patterns` to changelog config, remove auto-labeler by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5176](https://github.com/getsentry/sentry-python/pull/5176) - build(deps): bump actions/github-script from 7 to 8 by [@&#8203;dependabot](https://github.com/dependabot) in [#&#8203;5171](https://github.com/getsentry/sentry-python/pull/5171) - build(deps): bump supercharge/redis-github-action from 1.8.1 to 2 by [@&#8203;dependabot](https://github.com/dependabot) in [#&#8203;5172](https://github.com/getsentry/sentry-python/pull/5172) - ci: 🤖 Update test matrix with new releases (12/01) by [@&#8203;github-actions](https://github.com/github-actions) in [#&#8203;5173](https://github.com/getsentry/sentry-python/pull/5173) - ci: Add auto-label GH action by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5163](https://github.com/getsentry/sentry-python/pull/5163) - ci: Split up Test AI workflow by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5148](https://github.com/getsentry/sentry-python/pull/5148) - ci: Update test matrix with new releases (11/24) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5139](https://github.com/getsentry/sentry-python/pull/5139) - test: Import integrations with empty shadow modules by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) in [#&#8203;5150](https://github.com/getsentry/sentry-python/pull/5150) - Add deprecations to changelog categories by [@&#8203;sentrivana](https://github.com/sentrivana) in [#&#8203;5162](https://github.com/getsentry/sentry-python/pull/5162) ### [`v2.46.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2460) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.45.0...2.46.0) ##### Various fixes & improvements - Preserve metadata on wrapped coroutines ([#&#8203;5105](https://github.com/getsentry/sentry-python/issues/5105)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Make imports defensive to avoid `ModuleNotFoundError` in Pydantic AI integration ([#&#8203;5135](https://github.com/getsentry/sentry-python/issues/5135)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Fix OpenAI agents integration mistakenly enabling itself ([#&#8203;5132](https://github.com/getsentry/sentry-python/issues/5132)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Add instrumentation to embedding functions for various backends ([#&#8203;5120](https://github.com/getsentry/sentry-python/issues/5120)) by [@&#8203;constantinius](https://github.com/constantinius) - Improve embeddings support for OpenAI ([#&#8203;5121](https://github.com/getsentry/sentry-python/issues/5121)) by [@&#8203;constantinius](https://github.com/constantinius) - Enhance input handling for embeddings in LiteLLM integration ([#&#8203;5127](https://github.com/getsentry/sentry-python/issues/5127)) by [@&#8203;constantinius](https://github.com/constantinius) - Expect exceptions when re-raised ([#&#8203;5125](https://github.com/getsentry/sentry-python/issues/5125)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Remove `MagicMock` from mocked `ModelResponse` ([#&#8203;5126](https://github.com/getsentry/sentry-python/issues/5126)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) ### [`v2.45.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2450) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.44.0...2.45.0) ##### Various fixes & improvements - OTLPIntegration ([#&#8203;4877](https://github.com/getsentry/sentry-python/issues/4877)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) Enable the new OTLP integration with the code snippet below, and your OpenTelemetry instrumentation will be automatically sent to Sentry's OTLP ingestion endpoint. ```python import sentry_sdk from sentry_sdk.integrations.otlp import OTLPIntegration sentry_sdk.init( dsn="<your-dsn>", # Add data like inputs and responses; # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, integrations=[ OTLPIntegration(), ], ) ``` Under the hood, this will setup: - A `SpanExporter` that will automatically set up the OTLP ingestion endpoint from your DSN - A `Propagator` that ensures Distributed Tracing works - Trace/Span linking for all other Sentry events such as Errors, Logs, Crons and Metrics If you were using the `SentrySpanProcessor` before, we recommend migrating over to `OTLPIntegration` since it's a much simpler setup. - feat(integrations): implement context management for invoke\_agent spans ([#&#8203;5089](https://github.com/getsentry/sentry-python/issues/5089)) by [@&#8203;constantinius](https://github.com/constantinius) - feat(loguru): Capture extra ([#&#8203;5096](https://github.com/getsentry/sentry-python/issues/5096)) by [@&#8203;sentrivana](https://github.com/sentrivana) - feat: Attach `server.address` to metrics ([#&#8203;5113](https://github.com/getsentry/sentry-python/issues/5113)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix: Cast message and detail attributes before appending exception notes ([#&#8203;5114](https://github.com/getsentry/sentry-python/issues/5114)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(integrations): ensure that GEN\_AI\_AGENT\_NAME is properly set for GEN\_AI spans under an invoke\_agent span ([#&#8203;5030](https://github.com/getsentry/sentry-python/issues/5030)) by [@&#8203;constantinius](https://github.com/constantinius) - fix(logs): Update `sentry.origin` ([#&#8203;5112](https://github.com/getsentry/sentry-python/issues/5112)) by [@&#8203;sentrivana](https://github.com/sentrivana) - chore: Deprecate description truncation option for Redis spans ([#&#8203;5073](https://github.com/getsentry/sentry-python/issues/5073)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - chore: Deprecate `max_spans` LangChain parameter ([#&#8203;5074](https://github.com/getsentry/sentry-python/issues/5074)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - chore(toxgen): Check availability of pip and add detail to exceptions ([#&#8203;5076](https://github.com/getsentry/sentry-python/issues/5076)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - chore: add MCP SDK Pydantic AI and OpenAI Agents to the list of auto enabled integrations ([#&#8203;5111](https://github.com/getsentry/sentry-python/issues/5111)) by [@&#8203;constantinius](https://github.com/constantinius) - test: add tests for either FastMCP implementation ([#&#8203;5075](https://github.com/getsentry/sentry-python/issues/5075)) by [@&#8203;constantinius](https://github.com/constantinius) - fix(ci): Re-enable skipped tests ([#&#8203;5104](https://github.com/getsentry/sentry-python/issues/5104)) by [@&#8203;sentrivana](https://github.com/sentrivana) - ci: 🤖 Update test matrix with new releases (11/17) ([#&#8203;5110](https://github.com/getsentry/sentry-python/issues/5110)) by [@&#8203;github-actions](https://github.com/github-actions) - ci: Force coverage core ctrace for 3.14 ([#&#8203;5108](https://github.com/getsentry/sentry-python/issues/5108)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) ### [`v2.44.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2440) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.43.0...2.44.0) ##### Various fixes & improvements - fix(openai): Check response text is present to avoid AttributeError ([#&#8203;5081](https://github.com/getsentry/sentry-python/issues/5081)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(pydantic-ai): Do not fail on new `ToolManager._call_tool()` parameters ([#&#8203;5084](https://github.com/getsentry/sentry-python/issues/5084)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - tests(huggingface): Avoid `None` version ([#&#8203;5083](https://github.com/getsentry/sentry-python/issues/5083)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - ci: Pin `coverage` version for 3.14 Django tests ([#&#8203;5088](https://github.com/getsentry/sentry-python/issues/5088)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - chore: X handle update ([#&#8203;5078](https://github.com/getsentry/sentry-python/issues/5078)) by [@&#8203;cleptric](https://github.com/cleptric) - fix(openai-agents): add input messages to errored spans as well ([#&#8203;5077](https://github.com/getsentry/sentry-python/issues/5077)) by [@&#8203;shellmayr](https://github.com/shellmayr) - fix: Add hard limit to log batcher ([#&#8203;5069](https://github.com/getsentry/sentry-python/issues/5069)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix: Add hard limit to metrics batcher ([#&#8203;5068](https://github.com/getsentry/sentry-python/issues/5068)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(integrations): properly handle exceptions in tool calls ([#&#8203;5065](https://github.com/getsentry/sentry-python/issues/5065)) by [@&#8203;constantinius](https://github.com/constantinius) - feat: non-experimental `before_send_metric` option ([#&#8203;5064](https://github.com/getsentry/sentry-python/issues/5064)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - feat: non-experimental `enable_metrics` option ([#&#8203;5056](https://github.com/getsentry/sentry-python/issues/5056)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(integrations): properly distinguish between network.transport and mcp.transport ([#&#8203;5063](https://github.com/getsentry/sentry-python/issues/5063)) by [@&#8203;constantinius](https://github.com/constantinius) - feat(integrations): add ability to auto-deactivate lower-level integrations based on map ([#&#8203;5052](https://github.com/getsentry/sentry-python/issues/5052)) by [@&#8203;shellmayr](https://github.com/shellmayr) - Fix NOT\_GIVEN check in anthropic ([#&#8203;5058](https://github.com/getsentry/sentry-python/issues/5058)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - ci: 🤖 Update test matrix with new releases (11/03) ([#&#8203;5054](https://github.com/getsentry/sentry-python/issues/5054)) by [@&#8203;github-actions](https://github.com/github-actions) - Add external\_propagation\_context support ([#&#8203;5051](https://github.com/getsentry/sentry-python/issues/5051)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - chore: Remove `enable_metrics` option ([#&#8203;5046](https://github.com/getsentry/sentry-python/issues/5046)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Allow new integration setup on the instance with config options ([#&#8203;5047](https://github.com/getsentry/sentry-python/issues/5047)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - ci: Run integration tests on Python 3.14t ([#&#8203;4995](https://github.com/getsentry/sentry-python/issues/4995)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - docs: Elaborate on Strawberry autodetection in changelog ([#&#8203;5039](https://github.com/getsentry/sentry-python/issues/5039)) by [@&#8203;sentrivana](https://github.com/sentrivana) ### [`v2.43.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2430) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.42.1...2.43.0) ##### Various fixes & improvements - Pydantic AI integration ([#&#8203;4906](https://github.com/getsentry/sentry-python/issues/4906)) by [@&#8203;constantinius](https://github.com/constantinius) Enable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls: ```python import sentry_sdk from sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration sentry_sdk.init( dsn="<your-dsn>", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for tracing. traces_sample_rate=1.0, # Add data like inputs and responses; # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, integrations=[ PydanticAIIntegration(), ], ) ``` - MCP Python SDK ([#&#8203;4964](https://github.com/getsentry/sentry-python/issues/4964)) by [@&#8203;constantinius](https://github.com/constantinius) Enable the new Python MCP integration with the code snippet below: ```python import sentry_sdk from sentry_sdk.integrations.mcp import MCPIntegration sentry_sdk.init( dsn="<your-dsn>", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for tracing. traces_sample_rate=1.0, # Add data like inputs and responses; # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, integrations=[ MCPIntegration(), ], ) ``` - fix(strawberry): Remove autodetection, always use sync extension ([#&#8203;4984](https://github.com/getsentry/sentry-python/issues/4984)) by [@&#8203;sentrivana](https://github.com/sentrivana) Previously, `StrawberryIntegration` would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, `StrawberryIntegration` remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly: ```python sentry_sdk.init( # ... integrations=[ StrawberryIntegration( async_execution=True ), ], ) ``` - fix(google-genai): Set agent name ([#&#8203;5038](https://github.com/getsentry/sentry-python/issues/5038)) by [@&#8203;constantinius](https://github.com/constantinius) - fix(integrations): hooking into error tracing function to find out if an execute tool span should be set to error ([#&#8203;4986](https://github.com/getsentry/sentry-python/issues/4986)) by [@&#8203;constantinius](https://github.com/constantinius) - fix(django): Improve logic for classifying cache hits and misses ([#&#8203;5029](https://github.com/getsentry/sentry-python/issues/5029)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - chore(metrics): Rename \_metrics to metrics ([#&#8203;5035](https://github.com/getsentry/sentry-python/issues/5035)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(tracemetrics): Bump metric buffer size to 1k ([#&#8203;5031](https://github.com/getsentry/sentry-python/issues/5031)) by [@&#8203;k-fish](https://github.com/k-fish) - fix startlette deprecation warning ([#&#8203;5034](https://github.com/getsentry/sentry-python/issues/5034)) by [@&#8203;DeoLeung](https://github.com/DeoLeung) - build(deps): bump actions/upload-artifact from 4 to 5 ([#&#8203;5032](https://github.com/getsentry/sentry-python/issues/5032)) by [@&#8203;dependabot](https://github.com/dependabot) - fix(ai): truncate messages for google genai ([#&#8203;4992](https://github.com/getsentry/sentry-python/issues/4992)) by [@&#8203;shellmayr](https://github.com/shellmayr) - fix(ai): add message truncation to litellm ([#&#8203;4973](https://github.com/getsentry/sentry-python/issues/4973)) by [@&#8203;shellmayr](https://github.com/shellmayr) - feat(langchain): Support v1 ([#&#8203;4874](https://github.com/getsentry/sentry-python/issues/4874)) by [@&#8203;sentrivana](https://github.com/sentrivana) - ci: Run `common` test suite on Python 3.14t ([#&#8203;4969](https://github.com/getsentry/sentry-python/issues/4969)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - feat: Officially support 3.14 & run integration tests on 3.14 ([#&#8203;4974](https://github.com/getsentry/sentry-python/issues/4974)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Make logger template format safer to missing kwargs ([#&#8203;4981](https://github.com/getsentry/sentry-python/issues/4981)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - tests(huggingface): Support 1.0.0rc7 ([#&#8203;4979](https://github.com/getsentry/sentry-python/issues/4979)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - feat: Enable HTTP request code origin by default ([#&#8203;4967](https://github.com/getsentry/sentry-python/issues/4967)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - ci: Run `common` test suite on Python 3.14 ([#&#8203;4896](https://github.com/getsentry/sentry-python/issues/4896)) by [@&#8203;sentrivana](https://github.com/sentrivana) ### [`v2.42.1`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2421) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.42.0...2.42.1) ##### Various fixes & improvements - fix(gcp): Inject scopes in TimeoutThread exception with GCP ([#&#8203;4959](https://github.com/getsentry/sentry-python/issues/4959)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(aws): Inject scopes in TimeoutThread exception with AWS lambda ([#&#8203;4914](https://github.com/getsentry/sentry-python/issues/4914)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(ai): add message trunction to anthropic ([#&#8203;4953](https://github.com/getsentry/sentry-python/issues/4953)) by [@&#8203;shellmayr](https://github.com/shellmayr) - fix(ai): add message truncation to langgraph ([#&#8203;4954](https://github.com/getsentry/sentry-python/issues/4954)) by [@&#8203;shellmayr](https://github.com/shellmayr) - fix: Default breadcrumbs value for events without breadcrumbs ([#&#8203;4952](https://github.com/getsentry/sentry-python/issues/4952)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(ai): add message truncation in langchain ([#&#8203;4950](https://github.com/getsentry/sentry-python/issues/4950)) by [@&#8203;shellmayr](https://github.com/shellmayr) - fix(ai): correct size calculation, rename internal property for message truncation & add test ([#&#8203;4949](https://github.com/getsentry/sentry-python/issues/4949)) by [@&#8203;shellmayr](https://github.com/shellmayr) - fix(ai): introduce message truncation for openai ([#&#8203;4946](https://github.com/getsentry/sentry-python/issues/4946)) by [@&#8203;shellmayr](https://github.com/shellmayr) - fix(openai): Use non-deprecated Pydantic method to extract response text ([#&#8203;4942](https://github.com/getsentry/sentry-python/issues/4942)) by [@&#8203;JasonLovesDoggo](https://github.com/JasonLovesDoggo) - ci: 🤖 Update test matrix with new releases (10/16) ([#&#8203;4945](https://github.com/getsentry/sentry-python/issues/4945)) by [@&#8203;github-actions](https://github.com/github-actions) - Handle ValueError in scope resets ([#&#8203;4928](https://github.com/getsentry/sentry-python/issues/4928)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - fix(litellm): Classify embeddings correctly ([#&#8203;4918](https://github.com/getsentry/sentry-python/issues/4918)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Generalize NOT\_GIVEN check with omit for openai ([#&#8203;4926](https://github.com/getsentry/sentry-python/issues/4926)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - ⚡️ Speed up function `_get_db_span_description` ([#&#8203;4924](https://github.com/getsentry/sentry-python/issues/4924)) by [@&#8203;misrasaurabh1](https://github.com/misrasaurabh1) ### [`v2.42.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2420) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.41.0...2.42.0) ##### Various fixes & improvements - feat: Add source information for slow outgoing HTTP requests ([#&#8203;4902](https://github.com/getsentry/sentry-python/issues/4902)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - tests: Update tox ([#&#8203;4913](https://github.com/getsentry/sentry-python/issues/4913)) by [@&#8203;sentrivana](https://github.com/sentrivana) - fix(Ray): Retain the original function name when patching Ray tasks ([#&#8203;4858](https://github.com/getsentry/sentry-python/issues/4858)) by [@&#8203;svartalf](https://github.com/svartalf) - feat(ai): Add `python-genai` integration ([#&#8203;4891](https://github.com/getsentry/sentry-python/issues/4891)) by [@&#8203;vgrozdanic](https://github.com/vgrozdanic) Enable the new Google GenAI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls: ```python import sentry_sdk from sentry_sdk.integrations.google_genai import GoogleGenAIIntegration sentry_sdk.init( dsn="<your-dsn>", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for tracing. traces_sample_rate=1.0, # Add data like inputs and responses; # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, integrations=[ GoogleGenAIIntegration(), ], ) ``` ### [`v2.41.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2410) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.40.0...2.41.0) ##### Various fixes & improvements - feat: Add `concurrent.futures` patch to threading integration ([#&#8203;4770](https://github.com/getsentry/sentry-python/issues/4770)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) The SDK now makes sure to automatically preserve span relationships when using `ThreadPoolExecutor`. - chore: Remove old metrics code ([#&#8203;4899](https://github.com/getsentry/sentry-python/issues/4899)) by [@&#8203;sentrivana](https://github.com/sentrivana) Removed all code related to the deprecated experimental metrics feature (`sentry_sdk.metrics`). - ref: Remove "experimental" from log function name ([#&#8203;4901](https://github.com/getsentry/sentry-python/issues/4901)) by [@&#8203;sentrivana](https://github.com/sentrivana) - fix(ai): Add mapping for gen\_ai message roles ([#&#8203;4884](https://github.com/getsentry/sentry-python/issues/4884)) by [@&#8203;shellmayr](https://github.com/shellmayr) - feat(metrics): Add trace metrics behind an experiments flag ([#&#8203;4898](https://github.com/getsentry/sentry-python/issues/4898)) by [@&#8203;k-fish](https://github.com/k-fish) ### [`v2.40.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2400) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.39.0...2.40.0) ##### Various fixes & improvements - Add LiteLLM integration ([#&#8203;4864](https://github.com/getsentry/sentry-python/issues/4864)) by [@&#8203;constantinius](https://github.com/constantinius) Once you've enabled the [new LiteLLM integration](https://docs.sentry.io/platforms/python/integrations/litellm/), you can use the Sentry AI Agents Monitoring, a Sentry dashboard that helps you understand what's going on with your AI requests: ```python import sentry_sdk from sentry_sdk.integrations.litellm import LiteLLMIntegration sentry_sdk.init( dsn="<your-dsn>", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for tracing. traces_sample_rate=1.0, # Add data like inputs and responses; # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, integrations=[ LiteLLMIntegration(), ], ) ``` - Litestar: Copy request info to prevent cookies mutation ([#&#8203;4883](https://github.com/getsentry/sentry-python/issues/4883)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Add tracing to `DramatiqIntegration` ([#&#8203;4571](https://github.com/getsentry/sentry-python/issues/4571)) by [@&#8203;Igreh](https://github.com/Igreh) - Also emit spans for MCP tool calls done by the LLM ([#&#8203;4875](https://github.com/getsentry/sentry-python/issues/4875)) by [@&#8203;constantinius](https://github.com/constantinius) - Option to not trace HTTP requests based on status codes ([#&#8203;4869](https://github.com/getsentry/sentry-python/issues/4869)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) You can now disable transactions for incoming requests with specific HTTP status codes. The [new `trace_ignore_status_codes` option](https://docs.sentry.io/platforms/python/configuration/options/#trace_ignore_status_codes) accepts a `set` of status codes as integers. If a transaction wraps a request that results in one of the provided status codes, the transaction will be unsampled. ```python import sentry_sdk sentry_sdk.init( trace_ignore_status_codes={301, 302, 303, *range(305, 400), 404}, ) ``` - Move `_set_agent_data` call to `ai_client_span` function ([#&#8203;4876](https://github.com/getsentry/sentry-python/issues/4876)) by [@&#8203;constantinius](https://github.com/constantinius) - Add script to determine lowest supported versions ([#&#8203;4867](https://github.com/getsentry/sentry-python/issues/4867)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Update `CONTRIBUTING.md` ([#&#8203;4870](https://github.com/getsentry/sentry-python/issues/4870)) by [@&#8203;sentrivana](https://github.com/sentrivana) ### [`v2.39.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2390) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.38.0...2.39.0) ##### Various fixes & improvements - Fix(AI): Make agents integrations set the span status in case of error ([#&#8203;4820](https://github.com/getsentry/sentry-python/issues/4820)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Fix(dedupe): Use weakref in dedupe where possible ([#&#8203;4834](https://github.com/getsentry/sentry-python/issues/4834)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - Fix(Django): Avoid evaluating complex Django object in span.data/span.attributes ([#&#8203;4804](https://github.com/getsentry/sentry-python/issues/4804)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Fix(Langchain): Don't record tool call output if not include\_prompt / should\_send\_default\_pii ([#&#8203;4836](https://github.com/getsentry/sentry-python/issues/4836)) by [@&#8203;shellmayr](https://github.com/shellmayr) - Fix(OpenAI): Don't swallow userland exceptions in openai ([#&#8203;4861](https://github.com/getsentry/sentry-python/issues/4861)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - Docs: Update contributing guidelines with instructions to run tests with tox ([#&#8203;4857](https://github.com/getsentry/sentry-python/issues/4857)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Test(Spark): Improve `test_spark` speed ([#&#8203;4822](https://github.com/getsentry/sentry-python/issues/4822)) by [@&#8203;mgaligniana](https://github.com/mgaligniana) Note: This is my last release. So long, and thanks for all the fish! by [@&#8203;antonpirker](https://github.com/antonpirker) ### [`v2.38.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2380) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.37.1...2.38.0) ##### Various fixes & improvements - Feat(huggingface\_hub): Update HuggingFace Hub integration ([#&#8203;4746](https://github.com/getsentry/sentry-python/issues/4746)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Feat(Anthropic): Add proper tool calling data to Anthropic integration ([#&#8203;4769](https://github.com/getsentry/sentry-python/issues/4769)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Feat(openai-agents): Add input and output to `invoke_agent` span. ([#&#8203;4785](https://github.com/getsentry/sentry-python/issues/4785)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Feat(AI): Create transaction in AI agents framworks, when no transaction is running. ([#&#8203;4758](https://github.com/getsentry/sentry-python/issues/4758)) by [@&#8203;constantinius](https://github.com/constantinius) - Feat(GraphQL): Support gql 4.0-style execute ([#&#8203;4779](https://github.com/getsentry/sentry-python/issues/4779)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Fix(logs): Expect `log_item` as rate limit category ([#&#8203;4798](https://github.com/getsentry/sentry-python/issues/4798)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Fix: CI for mypy, gevent ([#&#8203;4790](https://github.com/getsentry/sentry-python/issues/4790)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Fix: Correctly check for a running transaction ([#&#8203;4791](https://github.com/getsentry/sentry-python/issues/4791)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Fix: Use float for sample rand ([#&#8203;4677](https://github.com/getsentry/sentry-python/issues/4677)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Fix: Avoid reporting false-positive StopAsyncIteration in the asyncio integration ([#&#8203;4741](https://github.com/getsentry/sentry-python/issues/4741)) by [@&#8203;vmarkovtsev](https://github.com/vmarkovtsev) - Fix: Add log message when `DedupeIntegration` is dropping an error. ([#&#8203;4788](https://github.com/getsentry/sentry-python/issues/4788)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Fix(profiling): Re-init continuous profiler ([#&#8203;4772](https://github.com/getsentry/sentry-python/issues/4772)) by [@&#8203;Zylphrex](https://github.com/Zylphrex) - Chore: Reexport module `profiler` ([#&#8203;4535](https://github.com/getsentry/sentry-python/issues/4535)) by [@&#8203;zen-xu](https://github.com/zen-xu) - Tests: Update tox.ini ([#&#8203;4799](https://github.com/getsentry/sentry-python/issues/4799)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Build(deps): bump actions/create-github-app-token from 2.1.1 to 2.1.4 ([#&#8203;4795](https://github.com/getsentry/sentry-python/issues/4795)) by [@&#8203;dependabot](https://github.com/dependabot) - Build(deps): bump actions/setup-python from 5 to 6 ([#&#8203;4774](https://github.com/getsentry/sentry-python/issues/4774)) by [@&#8203;dependabot](https://github.com/dependabot) - Build(deps): bump codecov/codecov-action from 5.5.0 to 5.5.1 ([#&#8203;4773](https://github.com/getsentry/sentry-python/issues/4773)) by [@&#8203;dependabot](https://github.com/dependabot) ### [`v2.37.1`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2371) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.37.0...2.37.1) ##### Various fixes & improvements - Fix(langchain): Make Langchain integration work with just langchain-core ([#&#8203;4783](https://github.com/getsentry/sentry-python/issues/4783)) by [@&#8203;shellmayr](https://github.com/shellmayr) - Tests: Move quart under toxgen ([#&#8203;4775](https://github.com/getsentry/sentry-python/issues/4775)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tests: Update tox.ini ([#&#8203;4777](https://github.com/getsentry/sentry-python/issues/4777)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tests: Move chalice under toxgen ([#&#8203;4766](https://github.com/getsentry/sentry-python/issues/4766)) by [@&#8203;sentrivana](https://github.com/sentrivana) ### [`v2.37.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2370) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.36.0...2.37.0) - **New Integration (BETA):** Add support for `langgraph` ([#&#8203;4727](https://github.com/getsentry/sentry-python/issues/4727)) by [@&#8203;shellmayr](https://github.com/shellmayr) We can now instrument AI agents that are created with [LangGraph](https://www.langchain.com/langgraph) out of the box. For more information see the [LangGraph integrations documentation](https://docs.sentry.io/platforms/python/integrations/langgraph/). - AI Agents: Improve rendering of input and output messages in AI agents integrations. ([#&#8203;4750](https://github.com/getsentry/sentry-python/issues/4750)) by [@&#8203;shellmayr](https://github.com/shellmayr) - AI Agents: Format span attributes in AI integrations ([#&#8203;4762](https://github.com/getsentry/sentry-python/issues/4762)) by [@&#8203;antonpirker](https://github.com/antonpirker) - CI: Fix celery ([#&#8203;4765](https://github.com/getsentry/sentry-python/issues/4765)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tests: Move asyncpg under toxgen ([#&#8203;4757](https://github.com/getsentry/sentry-python/issues/4757)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tests: Move beam under toxgen ([#&#8203;4759](https://github.com/getsentry/sentry-python/issues/4759)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tests: Move boto3 tests under toxgen ([#&#8203;4761](https://github.com/getsentry/sentry-python/issues/4761)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tests: Remove openai pin and update tox ([#&#8203;4748](https://github.com/getsentry/sentry-python/issues/4748)) by [@&#8203;sentrivana](https://github.com/sentrivana) ### [`v2.36.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2360) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.35.2...2.36.0) ##### Various fixes & improvements - **New integration:** Unraisable exceptions ([#&#8203;4733](https://github.com/getsentry/sentry-python/issues/4733)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) Add the unraisable exception integration to your sentry\_sdk.init call: ```python import sentry_sdk from sentry_sdk.integrations.unraisablehook import UnraisablehookIntegration sentry_sdk.init( dsn="...", integrations=[ UnraisablehookIntegration(), ] ) ``` - meta: Update instructions on release process ([#&#8203;4755](https://github.com/getsentry/sentry-python/issues/4755)) by [@&#8203;sentrivana](https://github.com/sentrivana) - tests: Move arq under toxgen ([#&#8203;4739](https://github.com/getsentry/sentry-python/issues/4739)) by [@&#8203;sentrivana](https://github.com/sentrivana) - tests: Support dashes in test suite names ([#&#8203;4740](https://github.com/getsentry/sentry-python/issues/4740)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Don't fail if there is no `_context_manager_state` ([#&#8203;4698](https://github.com/getsentry/sentry-python/issues/4698)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Wrap span restoration in `__exit__` in `capture_internal_exceptions` ([#&#8203;4719](https://github.com/getsentry/sentry-python/issues/4719)) by [@&#8203;sentrivana](https://github.com/sentrivana) - fix: Constrain types of ai\_track decorator ([#&#8203;4745](https://github.com/getsentry/sentry-python/issues/4745)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - Fix `openai_agents` in CI ([#&#8203;4742](https://github.com/getsentry/sentry-python/issues/4742)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Remove old langchain test suites from ignore list ([#&#8203;4737](https://github.com/getsentry/sentry-python/issues/4737)) by [@&#8203;sentrivana](https://github.com/sentrivana) - tests: Trigger Pytest failure when an unraisable exception occurs ([#&#8203;4738](https://github.com/getsentry/sentry-python/issues/4738)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - fix(openai): Avoid double exit causing an unraisable exception ([#&#8203;4736](https://github.com/getsentry/sentry-python/issues/4736)) by [@&#8203;alexander-alderman-webb](https://github.com/alexander-alderman-webb) - tests: Move langchain under toxgen ([#&#8203;4734](https://github.com/getsentry/sentry-python/issues/4734)) by [@&#8203;sentrivana](https://github.com/sentrivana) - toxgen: Add variants & move OpenAI under toxgen ([#&#8203;4730](https://github.com/getsentry/sentry-python/issues/4730)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Update tox.ini ([#&#8203;4731](https://github.com/getsentry/sentry-python/issues/4731)) by [@&#8203;sentrivana](https://github.com/sentrivana) ### [`v2.35.2`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2352) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.35.1...2.35.2) ##### Various fixes & improvements - fix(logs): Do not attach template if there are no parameters ([#&#8203;4728](https://github.com/getsentry/sentry-python/issues/4728)) by [@&#8203;sentrivana](https://github.com/sentrivana) ### [`v2.35.1`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2351) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.35.0...2.35.1) ##### Various fixes & improvements - OpenAI Agents: Isolate agent run ([#&#8203;4720](https://github.com/getsentry/sentry-python/issues/4720)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tracing: Do not attach stacktrace to transaction ([#&#8203;4713](https://github.com/getsentry/sentry-python/issues/4713)) by [@&#8203;Zylphrex](https://github.com/Zylphrex) ### [`v2.35.0`](https://github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2350) [Compare Source](https://github.com/getsentry/sentry-python/compare/2.34.1...2.35.0) ##### Various fixes & improvements - [Langchain Integration](https://docs.sentry.io/platforms/python/integrations/langchain/) now supports the Sentry [AI dashboard](https://docs.sentry.io/product/insights/ai/agents/dashboard/). ([#&#8203;4678](https://github.com/getsentry/sentry-python/issues/4678)) by [@&#8203;shellmayr](https://github.com/shellmayr) - [Anthropic Integration](https://docs.sentry.io/platforms/python/integrations/anthropic/) now supports the Sentry [AI dashboard](https://docs.sentry.io/product/insights/ai/agents/dashboard/). ([#&#8203;4674](https://github.com/getsentry/sentry-python/issues/4674)) by [@&#8203;constantinius](https://github.com/constantinius) - AI Agents templates for `@trace` decorator ([#&#8203;4676](https://github.com/getsentry/sentry-python/issues/4676)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Sentry Logs: Add `enable_logs`, `before_send_log` as top-level `sentry_sdk.init()` options ([#&#8203;4644](https://github.com/getsentry/sentry-python/issues/4644)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Tracing: Improve `@trace` decorator. Allows to set `span.op`, `span.name`, and `span.attributes` ([#&#8203;4648](https://github.com/getsentry/sentry-python/issues/4648)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Tracing: Add convenience function `sentry_sdk.update_current_span`. ([#&#8203;4673](https://github.com/getsentry/sentry-python/issues/4673)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Tracing: Add `Span.update_data()` to update multiple `span.data` items at once. ([#&#8203;4666](https://github.com/getsentry/sentry-python/issues/4666)) by [@&#8203;antonpirker](https://github.com/antonpirker) - GNU-integration: make path optional ([#&#8203;4688](https://github.com/getsentry/sentry-python/issues/4688)) by [@&#8203;MeredithAnya](https://github.com/MeredithAnya) - Clickhouse: Don't eat the generator data ([#&#8203;4669](https://github.com/getsentry/sentry-python/issues/4669)) by [@&#8203;szokeasaurusrex](https://github.com/szokeasaurusrex) - Clickhouse: List `send_data` parameters ([#&#8203;4667](https://github.com/getsentry/sentry-python/issues/4667)) by [@&#8203;szokeasaurusrex](https://github.com/szokeasaurusrex) - Update `gen_ai.*` and `ai.*` attributes ([#&#8203;4665](https://github.com/getsentry/sentry-python/issues/4665)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Better checking for empty tools list ([#&#8203;4647](https://github.com/getsentry/sentry-python/issues/4647)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Remove performance paper cuts ([#&#8203;4675](https://github.com/getsentry/sentry-python/issues/4675)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Help for debugging Cron problems ([#&#8203;4686](https://github.com/getsentry/sentry-python/issues/4686)) by [@&#8203;antonpirker](https://github.com/antonpirker) - Fix Redis CI ([#&#8203;4691](https://github.com/getsentry/sentry-python/issues/4691)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Fix plugins key codecov ([#&#8203;4655](https://github.com/getsentry/sentry-python/issues/4655)) by [@&#8203;sl0thentr0py](https://github.com/sl0thentr0py) - Fix Mypy ([#&#8203;4649](https://github.com/getsentry/sentry-python/issues/4649)) by [@&#8203;sentrivana](https://github.com/sentrivana) - Update tox.ini ([#&#8203;4689](https://github.com/getsentry/sentry-python/issues/4689)) by [@&#8203;sentrivana](https://github.com/sentrivana) - build(deps): bump actions/create-github-app-token from 2.0.6 to 2.1.0 ([#&#8203;4684](https://github.com/getsentry/sentry-python/issues/4684)) by [@&#8203;dependabot](https://github.com/dependabot) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNC4xIiwidXBkYXRlZEluVmVyIjoiNDQuNzQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
renovate-bot force-pushed renovate/sentry-sdk-2.x from 322681c68b
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to b62e09a49b
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-03-03 12:00:52 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.53.0 to Update dependency sentry-sdk to v2.54.0 2026-03-03 12:01:04 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from b62e09a49b
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 0fe49e1e96
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-03-18 12:01:19 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.54.0 to Update dependency sentry-sdk to v2.55.0 2026-03-18 12:01:28 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 0fe49e1e96
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 58f4a28853
Some checks failed
trunk / Run tests (push) Failing after 3s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-03-24 12:01:33 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.55.0 to Update dependency sentry-sdk to v2.56.0 2026-03-24 12:01:42 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 58f4a28853
Some checks failed
trunk / Run tests (push) Failing after 3s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 620b28d389
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-03-31 12:01:00 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.56.0 to Update dependency sentry-sdk to v2.57.0 2026-03-31 12:01:10 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 620b28d389
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 15d794d11f
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-04-14 12:01:33 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.57.0 to Update dependency sentry-sdk to v2.58.0 2026-04-14 12:01:40 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 15d794d11f
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to dd8666fa2a
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-05-05 12:01:12 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.58.0 to Update dependency sentry-sdk to v2.59.0 2026-05-05 12:01:22 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from dd8666fa2a
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to f1571fac20
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-05-14 12:01:05 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.59.0 to Update dependency sentry-sdk to v2.60.0 2026-05-14 12:01:14 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from f1571fac20
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 80148e0ad7
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-05-28 12:01:14 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.60.0 to Update dependency sentry-sdk to v2.61.0 2026-05-28 12:01:24 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 80148e0ad7
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to bab5c022d6
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-06-01 12:01:22 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.61.0 to Update dependency sentry-sdk to v2.61.1 2026-06-01 12:01:31 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from bab5c022d6
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to d9de0d7454
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-06-09 12:01:10 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.61.1 to Update dependency sentry-sdk to v2.62.0 2026-06-09 12:01:21 +00:00
renovate-bot changed title from Update dependency sentry-sdk to v2.62.0 to Update dependency sentry-sdk to v2.63.0 2026-06-17 12:01:18 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from b69b2b6c7d to aac6fcf664
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
2026-07-01 16:03:55 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.63.0 to Update dependency sentry-sdk to v2.64.0 2026-07-01 16:04:03 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from aac6fcf664
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
to 91b5b938e7
Some checks failed
trunk / Run tests (push) Failing after 3s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-07-13 12:01:31 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.64.0 to Update dependency sentry-sdk to v2.65.0 2026-07-13 12:01:39 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 91b5b938e7
Some checks failed
trunk / Run tests (push) Failing after 3s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 40ebcbef5d
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-07-17 12:01:33 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.65.0 to Update dependency sentry-sdk to v2.66.0 2026-07-17 12:01:43 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 40ebcbef5d
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 3e9aed92b5
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-07-23 12:01:26 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.66.0 to Update dependency sentry-sdk to v2.66.1 2026-07-23 12:01:36 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 3e9aed92b5
Some checks failed
trunk / Run tests (push) Failing after 5s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 96f85b6950
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-08-10 12:02:18 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.66.1 to Update dependency sentry-sdk to v2.67.0 2026-08-10 12:02:31 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 96f85b6950
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to ef1716e4b5
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-08-11 12:02:17 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.67.0 to Update dependency sentry-sdk to v2.67.1 2026-08-11 12:02:32 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from ef1716e4b5
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to c2e8531784
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-08-13 12:02:05 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.67.1 to Update dependency sentry-sdk to v2.68.0 2026-08-13 12:02:15 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from c2e8531784
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 106b174831
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-08-25 12:01:56 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.68.0 to Update dependency sentry-sdk to v2.68.1 2026-08-25 12:02:06 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 106b174831
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 81bbe31304
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-09-09 18:12:06 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.68.1 to Update dependency sentry-sdk to v2.69.1 2026-09-09 18:12:20 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 81bbe31304
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to 7392a85314
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-09-16 12:01:58 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.69.1 to Update dependency sentry-sdk to v2.69.2 2026-09-16 12:02:07 +00:00
renovate-bot force-pushed renovate/sentry-sdk-2.x from 7392a85314
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
to d611d7c5ea
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
2026-09-22 12:02:42 +00:00
Compare
renovate-bot changed title from Update dependency sentry-sdk to v2.69.2 to Update dependency sentry-sdk to v2.70.0 2026-09-22 12:02:58 +00:00
Some checks failed
trunk / Run tests (push) Failing after 4s
trunk / Build Python Wheel 📦 (push) Has been skipped
trunk / Build and push container image to GHCR (push) Has been skipped
trunk / Publish 📦 to PyPI (push) Has been skipped
trunk / Create GitHub Release (push) Has been skipped
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/sentry-sdk-2.x:renovate/sentry-sdk-2.x
git switch renovate/sentry-sdk-2.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/sentry-sdk-2.x
git switch renovate/sentry-sdk-2.x
git rebase main
git switch main
git merge --ff-only renovate/sentry-sdk-2.x
git switch renovate/sentry-sdk-2.x
git rebase main
git switch main
git merge --no-ff renovate/sentry-sdk-2.x
git switch main
git merge --squash renovate/sentry-sdk-2.x
git switch main
git merge --ff-only renovate/sentry-sdk-2.x
git switch main
git merge renovate/sentry-sdk-2.x
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
StarkZarn/meshtastic-prometheus-exporter!8
No description provided.