Releases: getsentry/sentry-python
1.39.0
Various fixes & improvements
- Add support for cluster clients from Redis SDK (#2394) by @md384
- Improve location reporting for timer metrics (#2552) by @mitsuhiko
- Fix Celery
TypeError
with no-argumentapply_async
(#2575) by @szokeasaurusrex - Fix Lambda integration with EventBridge source (#2546) by @davidcroda
- Add max tries to Spotlight (#2571) by @HazAT
- Handle
os.path.devnull
access issues (#2579) by @sentrivana - Change
code.filepath
frame picking logic (#2568) by @sentrivana - Trigger AWS Lambda tests on label (#2538) by @sentrivana
- Run permissions step on pull_request_target but not push (#2548) by @sentrivana
- Hash AWS Lambda test functions based on current revision (#2557) by @sentrivana
- Update Django version in tests (#2562) by @sentrivana
- Make metrics tests non-flaky (#2572) by @antonpirker
1.38.0
Various fixes & improvements
- Only add trace context to checkins and do not run
event_processors
for checkins (#2536) by @antonpirker - Metric span summaries (#2522) by @mitsuhiko
- Add source context to code locations (#2539) by @jan-auer
- Use in-app filepath instead of absolute path (#2541) by @antonpirker
- Switch to
jinja2
for generating CI yamls (#2534) by @sentrivana
1.37.1
Various fixes & improvements
- Fix
NameError
onparse_version
with eventlet (#2532) by @sentrivana - build(deps): bump checkouts/data-schemas from
68def1e
toe9f7d58
(#2501) by @dependabot
1.37.0
Various fixes & improvements
-
Move installed modules code to utils (#2429) by @sentrivana
Note: We moved the internal function
_get_installed_modules
fromsentry_sdk.integrations.modules
tosentry_sdk.utils
.
So if you use this function you have to update your imports -
Add query source to DB spans (#2521) by @antonpirker
-
Run integration tests with newest
pytest
(#2518) by @sentrivana -
Bring tests up to date (#2512) by @sentrivana
-
Fix: Prevent global var from being discarded at shutdown (#2530) by @antonpirker
-
Fix: Scope transaction source not being updated in scope.span setter (#2519) by @sl0thentr0py
1.36.0
- Django: Support Django 5.0 (#2490) by @sentrivana
- Django: Handling ASGI body in the right way. (#2513) by @antonpirker
- Flask: Test with Flask 3.0 (#2506) by @sentrivana
- Celery: Do not create a span when task is triggered by Celery Beat (#2510) by @antonpirker
- Redis: Ensure
RedisIntegration
is disabled, unlessredis
is installed (#2504) by @szokeasaurusrex - Quart: Fix Quart integration for Quart 0.19.4 (#2516) by @antonpirker
- gRPC: Make async gRPC less noisy (#2507) by @jyggen
1.35.0
Various fixes & improvements
-
Updated gRPC integration: Asyncio interceptors and easier setup (#2369) by @fdellekart
Our gRPC integration now instruments incoming unary-unary grpc requests and outgoing unary-unary, unary-stream grpc requests using grpcio channels. Everything works now for sync and async code.
Before this release you had to add Sentry interceptors by hand to your gRPC code, now the only thing you need to do is adding the
GRPCIntegration
to yousentry_sdk_init()
call. (See documentation for more information):import sentry_sdk from sentry_sdk.integrations.grpc import GRPCIntegration sentry_sdk.init( dsn="___PUBLIC_DSN___", enable_tracing=True, integrations=[ GRPCIntegration(), ], )
The old way still works, but we strongly encourage you to update your code to the way described above.
-
Python 3.12: Replace deprecated datetime functions (#2502) by @sentrivana
-
Metrics: Unify datetime format (#2409) by @mitsuhiko
-
Celery: Set correct data in
check_in
s (#2500) by @antonpirker -
Celery: Read timezone for Crons monitors from
celery_schedule
if existing (#2497) by @antonpirker -
Django: Removing redundant code in Django tests (#2491) by @vagi8
-
Django: Make reading the request body work in Django ASGI apps. (#2495) by @antonpirker
-
FastAPI: Use wraps on fastapi request call wrapper (#2476) by @nkaras
-
Fix: Probe for psycopg2 and psycopg3 parameters function. (#2492) by @antonpirker
-
Fix: Remove unnecessary TYPE_CHECKING alias (#2467) by @rafrafek
1.34.0
Various fixes & improvements
- Added Python 3.12 support (#2471, #2483)
- Handle missing
connection_kwargs
inpatch_redis_client
(#2482) by @szokeasaurusrex - Run common test suite on Python 3.12 (#2479) by @sentrivana
1.33.1
Various fixes & improvements
- Make parse_version work in utils.py itself. (#2474) by @antonpirker
1.33.0
Various fixes & improvements
- New: Added
error_sampler
option (#2456) by @szokeasaurusrex - Python 3.12: Detect interpreter in shutdown state on thread spawn (#2468) by @mitsuhiko
- Patch eventlet under Sentry SDK (#2464) by @szokeasaurusrex
- Mitigate CPU spikes when sending lots of events with lots of data (#2449) by @antonpirker
- Make
debug
option also configurable via environment (#2450) by @antonpirker - Make sure
get_dsn_parameters
is an actual function (#2441) by @sentrivana - Bump pytest-localserver, add compat comment (#2448) by @sentrivana
- AWS Lambda: Update compatible runtimes for AWS Lambda layer (#2453) by @antonpirker
- AWS Lambda: Load AWS Lambda secrets in Github CI (#2153) by @antonpirker
- Redis: Connection attributes in
redis
database spans (#2398) by @antonpirker - Falcon: Falcon integration checks response status before reporting error (#2465) by @szokeasaurusrex
- Quart: Support Quart 0.19 onwards (#2403) by @pgjones
- Sanic: Sanic integration initial version (#2419) by @szokeasaurusrex
- Django: Fix parsing of Django
path
patterns (#2452) by @sentrivana - Django: Add Django 4.2 to test suite (#2462) by @sentrivana
- Polish changelog (#2434) by @sentrivana
- Update CONTRIBUTING.md (#2443) by @krishvsoni
- Update README.md (#2435) by @sentrivana
1.32.0
Various fixes & improvements
-
New: Error monitoring for some of the most popular Python GraphQL libraries:
-
Add GQL GraphQL integration (#2368) by @szokeasaurusrex
Usage:
import sentry_sdk from sentry_sdk.integrations.gql import GQLIntegration sentry_sdk.init( dsn='___PUBLIC_DSN___', integrations=[ GQLIntegration(), ], )
-
Add Graphene GraphQL error integration (#2389) by @sentrivana
Usage:
import sentry_sdk from sentry_sdk.integrations.graphene import GrapheneIntegration sentry_sdk.init( dsn='___PUBLIC_DSN___', integrations=[ GrapheneIntegration(), ], )
-
Add Strawberry GraphQL error & tracing integration (#2393) by @sentrivana
Usage:
import sentry_sdk from sentry_sdk.integrations.strawberry import StrawberryIntegration sentry_sdk.init( dsn='___PUBLIC_DSN___', integrations=[ # make sure to set async_execution to False if you're executing # GraphQL queries synchronously StrawberryIntegration(async_execution=True), ], traces_sample_rate=1.0, )
-
Add Ariadne GraphQL error integration (#2387) by @sentrivana
Usage:
import sentry_sdk from sentry_sdk.integrations.ariadne import AriadneIntegration sentry_sdk.init( dsn='___PUBLIC_DSN___', integrations=[ AriadneIntegration(), ], )
-
-
Capture multiple named groups again (#2432) by @sentrivana
-
Don't fail when upstream scheme is unusual (#2371) by @vanschelven
-
Support new RQ version (#2405) by @antonpirker
-
Remove
utcnow
,utcfromtimestamp
deprecated in Python 3.12 (#2415) by @rmad17 -
Add
trace
to__all__
in top-level__init__.py
(#2401) by @lobsterkatie -
Move minimetrics code to the SDK (#2385) by @mitsuhiko
-
Add configurable compression levels (#2382) by @mitsuhiko
-
Shift flushing by up to a rollup window (#2396) by @mitsuhiko
-
Make a consistent noop flush behavior (#2428) by @mitsuhiko
-
Stronger recursion protection (#2426) by @mitsuhiko
-
Remove
OpenTelemetryIntegration
from__init__.py
(#2379) by @sentrivana -
Update API docs (#2397) by @antonpirker
-
Pin some test requirements because new majors break our tests (#2404) by @antonpirker
-
Run more
requests
,celery
,falcon
tests (#2414) by @sentrivana -
Move
importorskip
s in tests to__init__.py
files (#2412) by @sentrivana -
Fix
mypy
errors (#2433) by @sentrivana -
Fix pre-commit issues (#2424) by @bukzor-sentryio
-
Update CONTRIBUTING.md (#2411) by @sentrivana
-
Bump
sphinx
from 7.2.5 to 7.2.6 (#2378) by @dependabot -
[Experimental] Add explain plan to DB spans (#2315) by @antonpirker