Skip to content

Commit

Permalink
Merge branch 'release/2.15.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
getsentry-bot committed Oct 1, 2024
2 parents 1c64ff7 + 65909ed commit 5080c76
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 5 deletions.
99 changes: 97 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,100 @@
# Changelog

## 2.15.0

### 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):

```python
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.

```python
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:

```python
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

- Deprecate `sentry_sdk.metrics` (#3512) by @szokeasaurusrex
- Add `name` parameter to `start_span()` and deprecate `description` parameter (#3524 & #3525) by @antonpirker
- Fix `add_query_source` with modules outside of project root (#3313) by @rominf
- Test more integrations on 3.13 (#3578) by @sentrivana
- Fix trailing whitespace (#3579) by @sentrivana
- Improve `get_integration` typing (#3550) by @szokeasaurusrex
- Make import-related tests stable (#3548) by @BYK
- Fix breadcrumb sorting (#3511) by @sentrivana
- Fix breadcrumb timestamp casting and its tests (#3546) by @BYK
- Don't use deprecated `logger.warn` (#3552) by @sentrivana
- Fix Cohere API change (#3549) by @BYK
- Fix deprecation message (#3536) by @antonpirker
- Remove experimental `explain_plan` feature. (#3534) by @antonpirker
- X-fail one of the Lambda tests (#3592) by @antonpirker
- Update Codecov config (#3507) by @antonpirker
- Update `actions/upload-artifact` to `v4` with merge (#3545) by @joshuarli
- Bump `actions/checkout` from `4.1.7` to `4.2.0` (#3585) by @dependabot

## 2.14.0

### Various fixes & improvements
Expand Down Expand Up @@ -47,7 +142,7 @@
init_sentry()

ray.init(
runtime_env=dict(worker_process_setup_hook=init_sentry),
runtime_env=dict(worker_process_setup_hook=init_sentry),
)
```
For more information, see the documentation for the [Ray integration](https://docs.sentry.io/platforms/python/integrations/ray/).
Expand Down Expand Up @@ -99,7 +194,7 @@
For more information, see the documentation for the [Dramatiq integration](https://docs.sentry.io/platforms/python/integrations/dramatiq/).

- **New config option:** Expose `custom_repr` function that precedes `safe_repr` invocation in serializer (#3438) by @sl0thentr0py

See: https://docs.sentry.io/platforms/python/configuration/options/#custom-repr

- Profiling: Add client SDK info to profile chunk (#3386) by @Zylphrex
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
copyright = "2019-{}, Sentry Team and Contributors".format(datetime.now().year)
author = "Sentry Team and Contributors"

release = "2.14.0"
release = "2.15.0"
version = ".".join(release.split(".")[:2]) # The short X.Y version.


Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/consts.py
Original file line number Diff line number Diff line change
Expand Up @@ -566,4 +566,4 @@ def _get_default_options():
del _get_default_options


VERSION = "2.14.0"
VERSION = "2.15.0"
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def get_file_text(file_name):

setup(
name="sentry-sdk",
version="2.14.0",
version="2.15.0",
author="Sentry Team and Contributors",
author_email="[email protected]",
url="https://github.com/getsentry/sentry-python",
Expand Down

0 comments on commit 5080c76

Please sign in to comment.