* 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
* Fix `NameError` on `parse_version` with eventlet (#2532) by
@sentrivana
* build(deps): bump checkouts/data-schemas from `68def1e` to
`e9f7d58` (#2501) by @dependabot
* Move installed modules code to utils (#2429) by @sentrivana
* Note: We moved the internal function `_get_installed_modules`
from `sentry_sdk.integrations.modules` to `sentry_sdk.utils`.
* So if you use this function you have to update your imports
* Add code locations for metrics (#2526) by @jan-auer
* Add query source to DB spans (#2521) by @antonpirker
* Send events to Spotlight sidecar (#2524) by @HazAT
* 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
- add mock.patch to use mock from stdlib
- Expose proxy_headers as top level config and use in ProxyManager:
- Fix django legacy url resolver regex substitution due to
experimental session_mode in favor of auto detecting its value,
- Fixed Django transaction name by setting the name to
- Fix for worker that logs data dropping of events with level
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=60
- Update to 1.36.0
- Django: Support Django 5.0 (#2490)
- Django: Handling ASGI body in the right way. (#2513)
- Flask: Test with Flask 3.0 (#2506)
- Celery: Do not create a span when task is triggered by Celery Beat (#2510)
- Redis: Ensure RedisIntegration is disabled, unless redis is installed (#2504)
- Quart: Fix Quart integration for Quart 0.19.4 (#2516)
- gRPC: Make async gRPC less noisy (#2507)
- Update to 1.35.0
- Updated gRPC integration: Asyncio interceptors and easier setup (#2369)
- Python 3.12: Replace deprecated datetime functions (#2502)
- Metrics: Unify datetime format (#2409)
- Celery: Set correct data in check_ins (#2500)
- Celery: Read timezone for Crons monitors from celery_schedule if existing (#2497)
- Django: Removing redundant code in Django tests (#2491)
- Django: Make reading the request body work in Django ASGI apps. (#2495)
- FastAPI: Use wraps on fastapi request call wrapper (#2476)
- Fix: Probe for psycopg2 and psycopg3 parameters function. (#2492)
- Fix: Remove unnecessary TYPE_CHECKING alias (#2467)
OBS-URL: https://build.opensuse.org/request/show/1128031
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=58
- Update to 1.28.1
- Redis: Add support for redis.asyncio (#1933)
- Make sure each task that is started by Celery Beat has its own trace. (#2249)
- Add Sampling Decision to Trace Envelope Header (#2239)
- Do not add trace headers (sentry-trace and baggage) to HTTP requests to Sentry (#2240)
- Prevent adding sentry-trace header multiple times (#2235)
- Skip distributions with incomplete metadata (#2231)
- Remove stale.yml (#2245)
- Django: Fix 404 Handler handler being labeled as "generic ASGI request" (#1277)
- Update to 1.28.0
- Add support for cron jobs in ARQ integration (#2088)
- Backpressure handling prototype (#2189)
- Add "replay" context to event payload (#2234)
- Update test Django app to be compatible for Django 4.x (#1794)
- Update to 1.27.1
+ Add Starlette/FastAPI template tag for adding Sentry tracing information (#2225)
- 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)
- Handle explicitly passing None for trace_configs in aiohttp (#2230)
- Support newest Starlette versions (#2227)
- Update to 1.27.0
- Support for SQLAlchemy 2.0 (#2200)
- Add instrumentation of aiohttp client requests (#1761)
+ Add Django template tag for adding Sentry tracing information (#2222)
- By adding {{ sentry_trace_meta }} to your Django 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.
- Update Flask HTML meta helper (#2203)
- Take trace ID always from propagation context (#2209)
- Fix trace context in event payload (#2205)
- Use new top level API in trace_propagation_meta (#2202)
- Do not overwrite existing baggage on outgoing requests (#2191, #2214)
- Set the transaction/span status from an OTel span (#2115)
- Fix propagation of OTel NonRecordingSpan (#2187)
- Fix TaskLockedException handling in Huey integration (#2206)
- Add message format configuration arguments to Loguru integration (#2208)
- Profiling: Add client reports for profiles (#2207)
- CI: Fix CI (#2220)
- Dependencies: Bump checkouts/data-schemas from 7fdde87 to 1b85152 (#2218)
- Dependencies: Bump mypy from 1.3.0 to 1.4.1 (#2194)
- Docs: Change API doc theme (#2210)
- Docs: Allow (some) autocompletion for top-level API (#2213)
- Docs: Revert autocomplete hack (#2224)
- Update to 1.26.0
- Tracing without performance (#2136)
- Load tracing information from environment (#2176)
- Auto-enable HTTPX integration if HTTPX installed (#2177)
- Support for SOCKS proxies (#1050)
- Wrap parse_url calls in capture_internal_exceptions (#2162)
- Run 2.7 tests in CI again (#2181)
- Crons: Do not support sub-minute cron intervals (#2172)
- Profile: Add function name to profiler frame cache (#2164)
- Dependencies: bump checkouts/data-schemas from 0ed3357 to 7fdde87 (#2165)
- Update changelog (#2163)
- Update to 1.25.1
- Fix parse_url (#2161)
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)
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)
- Do not encode cached value to determine size (#2143)
- Fix using unittest.mock whenever available (#1926)
- Fix 2.7 common tests (#2145)
- Bump actions/stale from 6 to 8 (#1978)
- Bump black from 22.12.0 to 23.3.0 (#1984)
- Bump mypy from 1.2.0 to 1.3.0 (#2110)
- Bump sphinx from 5.3.0 to 7.0.1 (#2112)
- Update to 1.25.0
- Support urllib3>=2.0.0 (#2148)
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)
- Correct importlib.metadata check in test_modules (#2149)
- Fix distribution name normalization (PEP-0503) (#2144)
- Fix functions_to_trace typing (#2141)
- Drop mock.patch beecause no more need.
OBS-URL: https://build.opensuse.org/request/show/1099403
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=54
- add mock.patch to use mock from stdlib
- Update to 1.24.0
- New: Celery Beat exclude tasks option (#2130)
- New: Add support for ExceptionGroups (#2025)
- Prefer importlib.metadata over pkg_resources if available (#2081)
- Work with a copy of request, vars in the event (#2125)
- Pinned version of dependency that broke the build (#2133)
- Changes from 1.23.1
- Disable Django Cache spans by default. (#2120)
- Changes from 1.23.0
- New: Add loguru integration (#1994)
- Do not truncate request body if request_bodies is "always" (#2092)
- Fixed Celery headers for Beat auto-instrumentation (#2102)
- Add db.operation to Redis and MongoDB spans (#2089)
- Make sure we're importing redis the library (#2106)
- Add include_source_context option (#2020)
- Import Markup from markupsafe (#2047)
- Fix __qualname__ missing attribute in asyncio integration (#2105)
- Remove relay extension from AWS Layer (#2068)
- Add a note about pip freeze to the bug template (#2103)
- Changes from 1.22.2
- Fix: Django caching spans when using keyword arguments (#2086)
- Fix: Duration in Celery Beat tasks monitoring (#2087)
- Fix: Docstrings of SPANDATA (#2084) by @antonpirker
- Changes from 1.22.1
- Fix: Handle a list of keys (not just a single key) in Django cache spans (#2082)
- Changes from 1.22.0
- Add cache.hit and cache.item_size to Django (#2057)
- Use http.method instead of method (#2054)
OBS-URL: https://build.opensuse.org/request/show/1089576
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-sentry-sdk?expand=0&rev=24
- Update to 1.24.0
- New: Celery Beat exclude tasks option (#2130)
- New: Add support for ExceptionGroups (#2025)
- Prefer importlib.metadata over pkg_resources if available (#2081)
- Work with a copy of request, vars in the event (#2125)
- Pinned version of dependency that broke the build (#2133)
- Changes from 1.23.1
- Disable Django Cache spans by default. (#2120)
- Changes from 1.23.0
- New: Add loguru integration (#1994)
- Do not truncate request body if request_bodies is "always" (#2092)
- Fixed Celery headers for Beat auto-instrumentation (#2102)
- Add db.operation to Redis and MongoDB spans (#2089)
- Make sure we're importing redis the library (#2106)
- Add include_source_context option (#2020)
- Import Markup from markupsafe (#2047)
- Fix __qualname__ missing attribute in asyncio integration (#2105)
- Remove relay extension from AWS Layer (#2068)
- Add a note about pip freeze to the bug template (#2103)
- Changes from 1.22.2
- Fix: Django caching spans when using keyword arguments (#2086)
- Fix: Duration in Celery Beat tasks monitoring (#2087)
- Fix: Docstrings of SPANDATA (#2084) by @antonpirker
- Changes from 1.22.1
- Fix: Handle a list of keys (not just a single key) in Django cache spans (#2082)
- Changes from 1.22.0
- Add cache.hit and cache.item_size to Django (#2057)
- Use http.method instead of method (#2054)
- Handle non-int exc.status_code in Starlette (#2075)
- Handle SQLAlchemy engine.name being bytes (#2074)
- Fix KeyError in capture_checkin if SDK is not initialized (#2073)
- Use functools.wrap for ThreadingIntegration patches to fix attributes (#2080)
- Pin urllib3 to <2.0.0 for now (#2069)
- Changes from 1.21.1
- Do not send monitor_config when unset (#2058)
- Add db.system span data (#2040, #2042)
- Fix memory leak in profiling (#2049)
- Fix crash loop when returning none in before_send (#2045)
OBS-URL: https://build.opensuse.org/request/show/1089155
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=48
- Update to 1.21.0
- Better handling of redis span/breadcrumb data (#2033)
- Add db.system to redis and SQLAlchemy db spans (#2037, #2038, #2039) (#2037)
- Upgraded linting tooling (#2026)
- Made code more resilient. (#2031)
- Changes from 1.20.0
- Send all events to /envelope endpoint when tracing is enabled (#2009)
- Note: If you’re self-hosting Sentry 9, you need to stay in the
previous version of the SDK or update your self-hosted to at least 20.6.0
- Profiling: Remove profile context from SDK (#2013)
- Profiling: Additionl performance improvements to the profiler (#1991)
- Fix: Celery Beat monitoring without restarting the Beat process (#2001)
- Fix: Using the Codecov uploader instead of deprecated python package (#2011)
- Fix: Support for Quart (#2003)` (#2003)
- Changes from 1.19.1
- Make auto monitoring beat update support Celery 4 and 5 (#1989)
- Changes from 1.19.0
- New: Celery Beat auto monitoring (#1967)
- New: gRPC integration (#1911)
- New: socket integration (#1911)
- Fix: Do not trim span descriptions. (#1983)
- Changes from 1.18.0
- New: Implement EventScrubber (#1943)
- New: Added new functions_to_trace option for central way of performance instrumentation (#1960)
- Updated denylist to include other widely used cookies/headers (#1972)
- Forward all sentry- baggage items (#1970)
- Update OSS licensing (#1973)
- Profiling: Handle non frame types in profiler (#1965)
- Tests: Bad arq dependency in tests (#1966)
- Better naming (#1962)
- Changes from 1.17.0
- New: Monitor Celery Beat tasks with Sentry Cron Monitoring.
- New: Add decorator for Sentry tracing (#1089)
- Make Django signals tracing optional (#1929)
- See the Django Guide to learn more.
- Deprecated with_locals in favor of include_local_variables (#1924)
- Added top level API to get current span (#1954)
- Profiling: Add profiler options to init (#1947)
- Profiling: Set active thread id for quart (#1830)
- Fix: Update get_json function call for werkzeug 2.1.0+ (#1939)
- Fix: Returning the tasks result. (#1931)
- Fix: Rename MYPY to TYPE_CHECKING (#1934)
- Fix: Fix type annotation for ignore_errors in sentry_sdk.init() (#1928)
- Tests: Start a real http server instead of mocking libs (#1938)
- Changes from 1.16.0
- New: Add arq Integration (#1872)
- Update of Falcon Integration (#1733)
- Adding Cloud Resource Context integration (#1882)
- Profiling: Use the transaction timestamps to anchor the profile (#1898)
- Profiling: Add debug logs to profiling (#1883)
- Profiling: Start profiler thread lazily (#1903)
- Fixed checks for structured http data (#1905)
- Make set_measurement public api and remove experimental status (#1909)
- Add trace_propagation_targets option (#1916)
- Add enable_tracing to default traces_sample_rate to 1.0 (#1900)
- Remove deprecated tracestate (#1907)
- Sanitize URLs in Span description and breadcrumbs (#1876)
- Mechanism should default to true unless set explicitly (#1889)
- Better setting of in-app in stack frames (#1894)
- Add workflow to test gevent (#1870)
- Updated outdated HTTPX test matrix (#1917)
- Switch to MIT license (#1908)
OBS-URL: https://build.opensuse.org/request/show/1082874
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=47
- Update to 1.4.3
* Turned client reports on by default.
- Update to 1.4.2
* Made envelope modifications in the HTTP transport non
observable.
- Update to 1.4.1
* Fix race condition between finish and start_child in tracing.
- Update to 1.4.0
* No longer set the last event id for transactions.
* Added support for client reports (disabled by default for now).
* Added tracestate header handling.
* Added real ip detection to asgi integration.
OBS-URL: https://build.opensuse.org/request/show/927372
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=36
- Update to 1.3.1
* Fix detection of contextvars compatibility with Gevent
versions >=20.9.0 .
- Update to 1.3.0
* Add support for Sanic versions 20 and 21 .
- Update to 1.2.0
* Fix for AWSLambda Integration to handle other path formats
for function initial handler #1139
* Fix for worker to set deamon attribute instead of deprecated
setDaemon method #1093
* Fix for bottle Integration that discards -dev for version
extraction #1085
* Fix for transport that adds a unified hook for capturing
metrics about dropped events #1100
* Add Httpx Integration #1119
* Add support for china domains in AWSLambda Integration #1051
OBS-URL: https://build.opensuse.org/request/show/914227
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=35
- Update to version 0.19.4
* Fix a bug that would make applications crash if an old version
of boto3 was installed.
- Update to version 0.19.3
* Automatically pass integration-relevant data to traces_sampler
for AWS, AIOHTTP, ASGI, Bottle, Celery, Django, Falcon, Flask,
GCP, Pyramid, Tryton, RQ, and WSGI integrations
* Fix a bug where the AWS integration would crash if event was
anything besides a dictionary
* Fix the Django integrations's ASGI handler for Channels 3.0.
Thanks Luke Pomfrey!
- Update to version 0.19.2
* Add traces_sampler option.
* The SDK now attempts to infer a default release from various
environment variables and the current git repo.
* Fix a crash with async views in Django 3.1.
* Fix a bug where complex URL patterns in Django would create
malformed transaction names.
* Add options for transaction styling in AIOHTTP.
* Add basic attachment support (documentation tbd).
* fix a crash in the pure_eval integration.
* Integration for creating spans from boto3.
- Update to version 0.19.1
* Fix dependency check for blinker fixes#858
* Fix incorrect timeout warnings in AWS Lambda and GCP
integrations #854
- Update to version 0.19.0
* Removed _experiments.auto_enabling_integrations in favor of
just auto_enabling_integrations which is now enabled by
default.
OBS-URL: https://build.opensuse.org/request/show/852439
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=27
- update to 0.14.4
* Fix bugs in transport rate limit enforcement for specific data
categories.
* The bug should not have affected anybody because we do not yet
emit rate limits for specific event types/data categories.
* Fix a bug in capture_event where it would crash if given
additional kwargs.
* Fix a bug where contextvars from the request handler were
inaccessible in AIOHTTP error handlers.
* Fix a bug where the Celery integration would crash if newrelic
instrumented Celery as well.
OBS-URL: https://build.opensuse.org/request/show/815793
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=25
- version update to 0.14.2
* Fix a crash in the Django integration when used in combination with Django Rest Framework's test utilities for request.
* Fix high memory consumption when sending a lot of errors in the same process. Particularly noticeable in async environments.
* Show ASGI request data in Django 3.0
* New integration for the Trytond ERP framework. Thanks n1ngu!
* Fix trace continuation bugs in APM.
* No longer report `asyncio.CancelledError` as part of AIOHTTP integration.
* Fix package classifiers to mark this package as supporting Python 3.8. The SDK supported 3.8 before though.
* Update schema sent for transaction events (transaction status).
* Fix a bug where `None` inside request data was skipped/omitted.
* Fix an issue with the ASGI middleware that would cause Uvicorn to infer the wrong ASGI versions and call the wrapped application with the wrong argument count.
* Do not ignore the `tornado.application` logger.
* The Redis integration now instruments Redis blaster for breadcrumbs and transaction spans.
- test at least something
- deleted sources
- pytest.ini (not needed)
OBS-URL: https://build.opensuse.org/request/show/786199
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=21