Skip to content

Releases: getsentry/sentry-python

2.22.0

17 Feb 14:12
1fcd364
Compare
Choose a tag to compare

Various fixes & improvements

2.21.0

12 Feb 10:21
dc1460a
Compare
Choose a tag to compare

Various fixes & improvements

2.20.0

14 Jan 09:51
4e0505e
Compare
Choose a tag to compare

2.19.2

06 Dec 08:23
Compare
Choose a tag to compare

Various fixes & improvements

2.19.1

05 Dec 15:18
231a6a1
Compare
Choose a tag to compare

Various fixes & improvements

2.19.0

21 Nov 15:42
039c220
Compare
Choose a tag to compare

Various fixes & improvements

2.18.0

04 Nov 13:58
09946cb
Compare
Choose a tag to compare

Various fixes & improvements

2.17.0

17 Oct 08:48
e44c9ee
Compare
Choose a tag to compare

Various fixes & improvements

2.16.0

08 Oct 12:39
9098601
Compare
Choose a tag to compare

Integrations

  • Bottle: Add failed_request_status_codes (#3618) by @szokeasaurusrex

    You can now define a set of integers that will determine which status codes
    should be reported to Sentry.

    sentry_sdk.init(
        integrations=[
            BottleIntegration(
                failed_request_status_codes={403, *range(500, 600)},
            )
        ]
    )

    Examples of valid failed_request_status_codes:

    • {500} will only send events on HTTP 500.
    • {400, *range(500, 600)} will send events on HTTP 400 as well as the 5xx range.
    • {500, 503} will send events on HTTP 500 and 503.
    • set() (the empty set) will not send events for any HTTP status code.

    The default is {*range(500, 600)}, meaning that all 5xx status codes are reported to Sentry.

  • Bottle: Delete never-reached code (#3605) by @szokeasaurusrex

  • Redis: Remove flaky test (#3626) by @sentrivana

  • Django: Improve getting psycopg3 connection info (#3580) by @nijel

  • Django: Add SpotlightMiddleware when Spotlight is enabled (#3600) by @BYK

  • Django: Open relevant error when SpotlightMiddleware is on (#3614) by @BYK

  • Django: Support http_methods_to_capture in ASGI Django (#3607) by @sentrivana

    ASGI Django now also supports the http_methods_to_capture integration option. This is a configurable tuple of HTTP method verbs that should create a transaction in Sentry. The default is ("CONNECT", "DELETE", "GET", "PATCH", "POST", "PUT", "TRACE",). OPTIONS and HEAD are not included by default.

    Here's how to use it:

    sentry_sdk.init(
        integrations=[
            DjangoIntegration(
                http_methods_to_capture=("GET", "POST"),
            ),
        ],
    )

Miscellaneous

2.15.0

01 Oct 14:12
65909ed
Compare
Choose a tag to compare

Integrations

  • Configure HTTP methods to capture in ASGI/WSGI middleware and frameworks (#3531) by @antonpirker

    We've added a new option to the Django, Flask, Starlette and FastAPI integrations called http_methods_to_capture. This is a configurable tuple of HTTP method verbs that should create a transaction in Sentry. The default is ("CONNECT", "DELETE", "GET", "PATCH", "POST", "PUT", "TRACE",). OPTIONS and HEAD are not included by default.

    Here's how to use it (substitute Flask for your framework integration):

    sentry_sdk.init(
        integrations=[
          FlaskIntegration(
              http_methods_to_capture=("GET", "POST"),
          ),
      ],
    )
  • Django: Allow ASGI to use drf_request in DjangoRequestExtractor (#3572) by @PakawiNz

  • Django: Don't let RawPostDataException bubble up (#3553) by @sentrivana

  • Django: Add sync_capable to SentryWrappingMiddleware (#3510) by @szokeasaurusrex

  • AIOHTTP: Add failed_request_status_codes (#3551) by @szokeasaurusrex

    You can now define a set of integers that will determine which status codes
    should be reported to Sentry.

    sentry_sdk.init(
        integrations=[
            AioHttpIntegration(
                failed_request_status_codes={403, *range(500, 600)},
            )
        ]
    )

    Examples of valid failed_request_status_codes:

    • {500} will only send events on HTTP 500.
    • {400, *range(500, 600)} will send events on HTTP 400 as well as the 5xx range.
    • {500, 503} will send events on HTTP 500 and 503.
    • set() (the empty set) will not send events for any HTTP status code.

    The default is {*range(500, 600)}, meaning that all 5xx status codes are reported to Sentry.

  • AIOHTTP: Delete test which depends on AIOHTTP behavior (#3568) by @szokeasaurusrex

  • AIOHTTP: Handle invalid responses (#3554) by @szokeasaurusrex

  • FastAPI/Starlette: Support new failed_request_status_codes (#3563) by @szokeasaurusrex

    The format of failed_request_status_codes has changed from a list
    of integers and containers to a set:

    sentry_sdk.init(
        integrations=StarletteIntegration(
            failed_request_status_codes={403, *range(500, 600)},
        ),
    )

    The old way of defining failed_request_status_codes will continue to work
    for the time being. Examples of valid new-style failed_request_status_codes:

    • {500} will only send events on HTTP 500.
    • {400, *range(500, 600)} will send events on HTTP 400 as well as the 5xx range.
    • {500, 503} will send events on HTTP 500 and 503.
    • set() (the empty set) will not send events for any HTTP status code.

    The default is {*range(500, 600)}, meaning that all 5xx status codes are reported to Sentry.

  • FastAPI/Starlette: Fix failed_request_status_codes=[] (#3561) by @szokeasaurusrex

  • FastAPI/Starlette: Remove invalid failed_request_status_code tests (#3560) by @szokeasaurusrex

  • FastAPI/Starlette: Refactor shared test parametrization (#3562) by @szokeasaurusrex

Miscellaneous