Skip to content

Releases: getsentry/sentry-python

2.45.0

18 Nov 13:23

Choose a tag to compare

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

2.44.0

11 Nov 09:36

Choose a tag to compare

Various fixes & improvements

2.43.0

29 Oct 11:26
b069aa2

Choose a tag to compare

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

3.0.0a7

20 Oct 13:50
7d96f39

Choose a tag to compare

3.0.0a7 Pre-release
Pre-release

We are discontinuing development on 3.0. Please see
https://github.com/getsentry/sentry-python/discussions/4955 for more information.

3.0.0a7 is a maintenance release that adds a warning that there won't be
a stable 3.0 release. If you are on a 3.0 alpha release, please switch back
to 2.x to get the newest features and fixes.

2.42.1

20 Oct 12:38

Choose a tag to compare

Various fixes & improvements

2.42.0

15 Oct 07:41

Choose a tag to compare

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(),
        ],
    )

2.41.0

09 Oct 14:12
685287d

Choose a tag to compare

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

2.40.0

06 Oct 12:27
04968c4

Choose a tag to compare

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

2.39.0

25 Sep 09:15
0f99a91

Choose a tag to compare

Various fixes & improvements

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

2.38.0

15 Sep 15:00
d94652a

Choose a tag to compare

Various fixes & improvements