-
Fix a bug in the Django integration that would prevent the user from initializing the SDK at the top of
settings.py.This bug was introduced in 0.9.1 for all Django versions, but has been there for much longer for Django 1.6 in particular.
- Fix a bug on Python 3.7 where gunicorn with gevent would cause the SDK to leak event data between requests.
- Fix a bug where the GNU backtrace integration would not parse certain frames.
- Fix a bug where the SDK would not pick up request bodies for Django Rest Framework based apps.
- Remove a few more headers containing sensitive data per default.
- Various improvements to type hints. Thanks Ran Benita!
- Add a event hint to access the log record from
before_send. - Fix a bug that would ignore
__tracebackhide__. Thanks Matt Millican! - Fix distribution information for mypy support (add
py.typedfile). Thanks Ran Benita!
- The SDK now captures
SystemExitand otherBaseExceptions when coming from within a WSGI app (Flask, Django, ...) - Pyramid: No longer report an exception if there exists an exception view for it.
- Fix infinite recursion bug in Celery integration.
- Add the always_run option in excepthook integration.
- Fix performance issues when attaching large data to events. This is not really intended to be a breaking change, but this release does include a rewrite of a larger chunk of code, therefore the minor version bump.
- Fix crash when using Celery integration (
TypeErrorwhen usingapply_async).
- Fix a bug where
Ignoreraised in a Celery task would be reported to Sentry. - Add experimental support for tracing PoC.
- Read from
X-Real-IPfor user IP address. - Fix a bug that would not apply in-app rules for attached callstacks.
- It's now possible to disable automatic proxy support by passing
http_proxy="". Thanks Marco Neumann!
- Fix a bug that would send
errnoin an invalid format to the server. - Fix import-time crash when running Python with
-Oflag. - Fix a bug that would prevent the logging integration from attaching
extrakeys calleddata. - Fix order in which exception chains are reported to match Raven behavior.
- New integration for the Falcon web framework. Thanks to Jacob Magnusson!
- Add more event trimming.
- Log Sentry's response body in debug mode.
- Fix a few bad typehints causing issues in IDEs.
- Fix a bug in the Bottle integration that would report HTTP exceptions (e.g. redirects) as errors.
- Fix a bug that would prevent use of
in_app_excludewithout settingin_app_include. - Fix a bug where request bodies of Django Rest Framework apps were not captured.
- Suppress errors during SQL breadcrumb capturing in Django integration. Also change order in which formatting strategies are tried.
- New integration for the Bottle web framework. Thanks to Stepan Henek!
- Self-protect against broken mapping implementations and other broken reprs instead of dropping all local vars from a stacktrace. Thanks to Marco Neumann!
- Add support for Sanic versions 18 and 19.
- Fix a bug that causes an SDK crash when using composed SQL from psycopg2.
- Fix a bug that would not capture request bodies if they were empty JSON arrays, objects or strings.
- New GNU backtrace integration parses stacktraces from exception messages and appends them to existing stacktrace.
- Capture Tornado formdata.
- Support Python 3.6 in Sanic and AIOHTTP integration.
- Clear breadcrumbs before starting a new request.
- Fix a bug in the Celery integration that would drop pending events during
worker shutdown (particularly an issue when running with
max_tasks_per_child = 1) - Fix a bug with
repring locals whose__repr__simultaneously changes the WSGI environment or other data that we're also trying to serialize at the same time.
- Fix a bug where artificial frames for Django templates would not be marked as
in-app and would always appear as the innermost frame. Implement a heuristic
to show template frame closer to
renderorparseinvocation.
- Fix bug into Tornado integration that would send broken cookies to the server.
- Fix a bug in the logging integration that would ignore the client
option
with_locals.
- Read release and environment from process environment like the Raven SDK
does. The keys are called
SENTRY_RELEASEandSENTRY_ENVIRONMENT. - Fix a bug in the
serverlessintegration where it would not push a new scope for each function call (leaking tags and other things across calls). - Experimental support for type hints.
- Fix crash in AIOHTTP integration when integration was set up but disabled.
- Flask integration now adds usernames, email addresses based on the protocol Flask-User defines on top of Flask-Login.
- New threading integration catches exceptions from crashing threads.
- New method
flushon hubs and clients. New globalflushfunction. - Add decorator for serverless functions to fix common problems in those environments.
- Fix a bug in the logging integration where using explicit handlers required enabling the integration.
- Fix
celery.exceptions.Retryspamming in Celery integration.
- Fix
UnboundLocalErrorcrash in Celery integration.
- Properly display chained exceptions (PEP-3134).
- Rewrite celery integration to monkeypatch instead of using signals due to bugs in Celery 3's signal handling. The Celery scope is also now available in prerun and postrun signals.
- Fix Tornado integration to work with Tornado 6.
- Do not evaluate Django
QuerySetwhen trying to capture local variables. Also an internal hook was added to overwritereprfor local vars.
-
Second attempt at fixing the bug that was supposed to be fixed in 0.6.8.
No longer access arbitrary sequences in local vars due to possible side effects.
- No longer access arbitrary sequences in local vars due to possible side effects.
- Sourcecode Django templates is now displayed in stackframes like Jinja templates in Flask already were.
- Updates to AWS Lambda integration for changes Amazon did to their Python 3.7 runtime.
- Fix a bug in the AIOHTTP integration that would report 300s and other HTTP status codes as errors.
- Fix a bug where a crashing
before_sendwould crash the SDK and app. - Fix a bug where cyclic references in e.g. local variables or
extradata would crash the SDK.
- Un-break API of internal
Authobject that we use in Sentry itself.
- Capture WSGI request data eagerly to save memory and avoid issues with uWSGI.
- Ability to use subpaths in DSN.
- Ignore
django.requestlogger.
- Fix bug that would lead to an
AssertionError: stack must have at least one layer, at least in testsuites for Flask apps.
- New integration for Tornado
- Fix request data in Django, Flask and other WSGI frameworks leaking between events.
- Fix infinite recursion when sending more events in
before_send.
- Fix crash in AWS Lambda integration when using Zappa. This only silences the error, the underlying bug is still in Zappa.
- New integration for aiohttp-server.
- Fix crash when reading hostname in broken WSGI environments.
- Fix bug where a 429 without Retry-After would not be honored.
- Fix bug where proxy setting would not fall back to
http_proxyfor HTTPs traffic. - A WSGI middleware is now available for catching errors and adding context about the current request to them.
- Using
logging.debug("test", exc_info=True)will now attach the current stacktrace if nosys.exc_infois available. - The Python 3.7 runtime for AWS Lambda is now supported.
- Fix a bug that would drop an event or parts of it when it contained bytes that were not UTF-8 encoded.
- Logging an exception will no longer add the exception as breadcrumb to the exception's own event.
- New client option
ca_certs. - Fix crash with Django and psycopg2.
- Fix deprecation warning in relation to the
collectionsstdlib module. - Fix bug that would crash Django and Flask when streaming responses are failing halfway through.
- Fix bug where using
push_scopewith a callback would not pop the scope. - Fix crash when initializing the SDK in
push_scope. - Fix bug where IP addresses were sent when
send_default_pii=False.
- Fix bug where events sent through the RQ integration were sometimes lost.
- Remove a deprecation warning about usage of
logger.warn. - Fix bug where large frame local variables would lead to the event being rejected by Sentry.
- Integration for Redis Queue (RQ)
- Fix a bug that would omit several debug logs during SDK initialization.
- Fix issue that sent a event key
""Sentry wouldn't understand. - Breaking change: The
levelandevent_leveloptions in the logging integration now work separately from each other. - Fix a bug in the Sanic integration that would report the exception behind any HTTP error code.
- Fix a bug that would spam breadcrumbs in the Celery integration. Ignore logger
celery.worker.job. - Additional attributes on log records are now put into
extra. - Integration for Pyramid.
sys.argvis put into extra automatically.
- Fix a bug that would leak WSGI responses.
- Fix a bug in the Sanic integration that would leak data between requests.
- Fix a bug that would hide all debug logging happening inside of the built-in transport.
- Fix a bug that would report errors for typos in Django's shell.
- Fix bug that would only show filenames in stacktraces but not the parent directories.
- Changed how integrations are initialized. Integrations are now configured and enabled per-client.
- Fix issue with certain deployment tools and the AWS Lambda integration.
- Set transactions for Django like in Raven. Which transaction behavior is used can be configured.
- Fix a bug which would omit frame local variables from stacktraces in Celery.
- New option:
attach_stacktrace
- Bugfixes for AWS Lambda integration: Using Zappa did not catch any exceptions.
- Nicer log level for internal errors.
- Remove
reposconfiguration option. There was never a way to make use of this feature. - Fix a bug in
last_event_id. - Add Django SQL queries to breadcrumbs.
- Django integration won't set user attributes if they were already set.
- Report correct SDK version to Sentry.
- Integration for Sanic
- Integration for AWS Lambda
- Fix mojibake when encoding local variable values
- Performance improvement when storing breadcrumbs
- Fix crash when breadcrumbs had to be trunchated
- Fixed an issue where some paths where not properly sent as absolute paths