Update dependency sentry-sdk to v2.57.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.57.0 age confidence

Release Notes

getsentry/sentry-python (sentry-sdk)

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: 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 Renovate Bot.

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.57.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/sentry-sdk/2.57.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/sentry-sdk/2.34.1/2.57.0?slim=true) | --- ### Release Notes <details> <summary>getsentry/sentry-python (sentry-sdk)</summary> ### [`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**: 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 [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNC4xIiwidXBkYXRlZEluVmVyIjoiNDMuMTQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Update dependency sentry-sdk to v2.53.0
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
322681c68b
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
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
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.