Skip to content

Releases: getsentry/sentry-python

1.28.0

10 Jul 10:39
069d390
Compare
Choose a tag to compare

Various fixes & improvements

1.27.1

06 Jul 13:03
40906dc
Compare
Choose a tag to compare

Various fixes & improvements

  • Add Starlette/FastAPI template tag for adding Sentry tracing information (#2225) by @antonpirker
    • By adding {{ sentry_trace_meta }} to your Starlette/FastAPI Jinja2 templates we will include Sentry trace information as a meta tag in the rendered HTML to allow your frontend to pick up and continue the trace started in the backend.
  • Fixed generation of baggage when a DSC is already in propagation context (#2232) by @antonpirker
  • Handle explicitly passing None for trace_configs in aiohttp (#2230) by @Harmon758
  • Support newest Starlette versions (#2227) by @antonpirker

1.27.0

04 Jul 12:30
7ba4fd9
Compare
Choose a tag to compare

Various fixes & improvements

1.26.0

22 Jun 11:14
892f794
Compare
Choose a tag to compare

Various fixes & improvements

1.25.1

07 Jun 15:54
Compare
Choose a tag to compare

Django update (ongoing)

Collections of improvements to our Django integration.

By: @mgaligniana (#1773)

Various fixes & improvements

  • Fix parse_url (#2161) by @sentrivana and @antonpirker

    Our URL sanitization used in multiple integrations broke with the recent Python security update. If you started seeing ValueErrors with "'Filtered' does not appear to be an IPv4 or IPv6 address", this release fixes that. See the original issue for more context.

  • Better version parsing in integrations (#2152) by @antonpirker

    We now properly support all integration versions that conform to PEP 440. This replaces our naΓ―ve version parsing that wouldn't accept versions such as 2.0.0rc1 or 2.0.5.post1.

  • Align HTTP status code as span data field http.response.status_code (#2113) by @antonpirker

  • Do not encode cached value to determine size (#2143) by @sentrivana

  • Fix using unittest.mock whenever available (#1926) by @mgorny

  • Fix 2.7 common tests (#2145) by @sentrivana

  • Bump actions/stale from 6 to 8 (#1978) by @dependabot

  • Bump black from 22.12.0 to 23.3.0 (#1984) by @dependabot

  • Bump mypy from 1.2.0 to 1.3.0 (#2110) by @dependabot

  • Bump sphinx from 5.3.0 to 7.0.1 (#2112) by @dependabot

1.25.0

02 Jun 11:15
Compare
Choose a tag to compare

Various fixes & improvements

  • Support urllib3>=2.0.0 (#2148) by @asottile-sentry

    We're now supporting urllib3's new major version, 2.0.0. If you encounter issues (e.g. some of your dependencies not supporting the new urllib3 version yet) you might consider pinning the urllib3 version to <2.0.0 manually in your project. Check out the the urllib3 migration guide for details.

  • Auto-retry tests on failure (#2134) by @sentrivana

  • Correct importlib.metadata check in test_modules (#2149) by @asottile-sentry

  • Fix distribution name normalization (PEP-0503) (#2144) by @rominf

  • Fix functions_to_trace typing (#2141) by @rcmarron

1.24.0

23 May 09:45
39b3770
Compare
Choose a tag to compare

Various fixes & improvements

  • New: Celery Beat exclude tasks option (#2130) by @antonpirker

    You can exclude Celery Beat tasks from being auto-instrumented. To do this, add a list of tasks you want to exclude as option exclude_beat_tasks when creating CeleryIntegration. The list can contain simple strings with the full task name, as specified in the Celery Beat schedule, or regular expressions to match multiple tasks.

    For more information, see the documentation for Crons for more information.

    Usage:

        exclude_beat_tasks = [
            "some-task-a",
            "payment-check-.*",
        ]
        sentry_sdk.init(
            dsn='___PUBLIC_DSN___',
            integrations=[
                CeleryIntegration(
                    monitor_beat_tasks=True,
                    exclude_beat_tasks=exclude_beat_tasks,
                ),
            ],
        )

    In this example the task some-task-a and all tasks with a name starting with payment-check- will be ignored.

  • New: Add support for ExceptionGroups (#2025) by @antonpirker

    Note: If running Self-Hosted Sentry, you should wait to adopt this SDK update until after updating to the 23.6.0 (est. June 2023) release of Sentry. Updating early will not break anything, but you will not get the full benefit of the Exception Groups improvements to issue grouping that were added to the Sentry backend.

  • Prefer importlib.metadata over pkg_resources if available (#2081) by @sentrivana

  • Work with a copy of request, vars in the event (#2125) by @sentrivana

  • Pinned version of dependency that broke the build (#2133) by @antonpirker

1.23.1

17 May 11:29
5722425
Compare
Choose a tag to compare

Various fixes & improvements

1.23.0

15 May 12:42
8480e47
Compare
Choose a tag to compare

Various fixes & improvements

  • New: Add loguru integration (#1994) by @PerchunPak

    Check the documentation for more information.

    Usage:

    from loguru import logger
    import sentry_sdk
    from sentry_sdk.integrations.loguru import LoguruIntegration
    
    sentry_sdk.init(
        dsn="___PUBLIC_DSN___",
        integrations=[
            LoguruIntegration(),
        ],
    )
    
    logger.debug("I am ignored")
    logger.info("I am a breadcrumb")
    logger.error("I am an event", extra=dict(bar=43))
    logger.exception("An exception happened")
    • An error event with the message "I am an event" will be created.
    • "I am a breadcrumb" will be attached as a breadcrumb to that event.
    • bar will end up in the extra attributes of that event.
    • "An exception happened" will send the current exception from sys.exc_info() with the stack trace to Sentry. If there's no exception, the current stack will be attached.
    • The debug message "I am ignored" will not be captured by Sentry. To capture it, set level to DEBUG or lower in LoguruIntegration.
  • Do not truncate request body if request_bodies is "always" (#2092) by @sentrivana

  • Fixed Celery headers for Beat auto-instrumentation (#2102) by @antonpirker

  • Add db.operation to Redis and MongoDB spans (#2089) by @antonpirker

  • Make sure we're importing redis the library (#2106) by @sentrivana

  • Add include_source_context option (#2020) by @farhat-nawaz and @sentrivana

  • Import Markup from markupsafe (#2047) by @rco-ableton

  • Fix __qualname__ missing attribute in asyncio integration (#2105) by @sl0thentr0py

  • Remove relay extension from AWS Layer (#2068) by @sl0thentr0py

  • Add a note about pip freeze to the bug template (#2103) by @sentrivana

1.22.2

08 May 12:23
5dcccb9
Compare
Choose a tag to compare

Various fixes & improvements