Skip to content

Releases: getsentry/sentry-python

2.68.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 13 Aug 09:06
c819e66

Important

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

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

    Action Needed

    If you had enable_logs set to True:

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

    If you had enable_logs set to False:

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

    If you has enable_metrics set to False:

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

    Why We're Doing This

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

New Features ✨

Other

Bug Fixes πŸ›

Internal Changes πŸ”§

HTTPX, HTTPX2

Other

2.67.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 10 Aug 13:06

Bug Fixes πŸ›

2.67.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 10 Aug 11:42

New Features ✨

Batcher

Integrations

Langchain

Openai

Streaming

Other

Bug Fixes πŸ›

Openai Agents

Tests

  • Adapt to new exception propagation behavior in Quart by @sentrivana in #6995
  • Remove redundant type filters after capture_items with args by @sentrivana in #6867

Other

Documentation πŸ“š

Internal Changes πŸ”§

Fastmcp

Mcp

Openai Agents

Other

Read more

2.66.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 22 Jul 12:27

Bug Fixes πŸ›

Tracing

  • Handle exceptions raised within traces_sampler and other callbacks by @ericapisani in #6853

Internal Changes πŸ”§

2.66.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 16 Jul 12:42

New Features ✨

  • (tracing) Promote trace_lifecycle and ignore_spans to top-level options by @ericapisani in #6821

Bug Fixes πŸ›

Tracing

  • Skip child span creation in streaming path when no current span (HTTP clients) by @sentrivana in #6811
  • Skip child span creation in streaming path when no current span (task queues) by @sentrivana in #6814
  • Skip child span creation in streaming path when no current span (misc) by @sentrivana in #6815
  • Skip child span creation in streaming path when no current span (databases) by @sentrivana in #6808
  • Skip child span creation in streaming path when no current span (web frameworks) by @sentrivana in #6810
  • Skip child span creation in streaming path when no current span (django) by @sentrivana in #6809

Internal Changes πŸ”§

2.65.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 13 Jul 11:33
4cc6fda

New Features ✨

Huey

Other

Bug Fixes πŸ›

Tracing

Other

  • (django) Avoid ValueError in async middleware process_* hooks by @r0ro in #6698
  • (scope) Drop None user attribute values in set_user by @ericapisani in #6692
  • (starlette) Don't overwrite user set during request in AuthenticationMiddleware by @ericapisani in #6760

Internal Changes πŸ”§

2.64.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 30 Jun 08:14

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

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

Bug Fixes πŸ›

Documentation πŸ“š

Internal Changes πŸ”§

Other

2.63.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 16 Jun 12:46

Bug Fixes πŸ›

Fastapi

  • Prevent double wrapping of sync handlers on FastAPI >= 0.137 by @jhonny-on in #6569
  • Use effective_route_context path for prefixed routers by @ericapisani in #6572

Other

Internal Changes πŸ”§

2.62.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 08 Jun 13:24
0bac65a

New Features ✨

  • Add integration for aiomysql by @tonal in #4703

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

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

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

    import httpx2
    import sentry_sdk
    
    sentry_sdk.init(...)
    
    with sentry_sdk.start_transaction(name="testing_sentry"):
        httpx2.get("https://sentry.io/")

Bug Fixes πŸ›

Internal Changes πŸ”§

2.61.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 01 Jun 07:24
5c95559

Internal Changes πŸ”§

Rq

Other