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
sentry_sdk.metrics (#3512) by @szokeasaurusrexname parameter to start_span() and deprecate description parameter (#3524 & #3525) by @antonpirkeradd_query_source with modules outside of project root (#3313) by @rominfget_integration typing (#3550) by @szokeasaurusrexlogger.warn (#3552) by @sentrivanaexplain_plan feature. (#3534) by @antonpirkeractions/upload-artifact to v4 with merge (#3545) by @joshuarliactions/checkout from 4.1.7 to 4.2.0 (#3585) by @dependabotFetched April 3, 2026