Version 5.11.1 -------------- * The raven client supports the stacktrace to be absent. This improves support with celery and multiprocessing. Version 5.11.0 -------------- * ``Client.configure_logging`` has been removed, and handlers will not automatically be added to 'sentry' and 'raven' namespaces. * Improved double error check * Restored support for exc_info is True. Version 5.10.2 -------------- * Remember exceptions in flight until the context is cleared so that two reports with the same exception data do not result in two errors being logged. * Allow logging exclusions. Version 5.10.1 -------------- * Fixed a problem where bytes as keys in dictionaries caused problems on data sanitization if those bytes were outside of the ASCII range. * Django client no longer requires the user object to be a subclass of the base model. * Corrected an issue with the Django log handler which would cause a recursive import. Version 5.10.0 -------------- * Restore template debug support for Django 1.9 and newer. * Correctly handle SSL verification disabling for newer Python versions. Version 5.9.2 ------------- * Correct behavior introduced for Django 1.9. Version 5.9.1 ------------- * Support for isolated apps in Django 1.9. Version 5.9.0 ------------- * The threaded worker will now correctly handle forking. * The 'environment' parameter is now supported (requires a Sentry 8.0 server ). * 'tags' can now be specified as part of a LoggingHandler's constructor. Version 5.8.0 ------------- * Added support for detecting `release` on Heroku. * pkg_resources is now prioritized for default version detection. * Updated `in_app` support to include exception frames. * Fixed support for `SENTRY_USER_ATTRS` in Flask. * Handle DSNs which are sent as unicode values in Python 2. Version 5.7.2 ------------- * Handle passing ``fingerprint`` through logging handler. Version 5.7.1 ------------- * Correctly handle SHAs in .git/HEAD. * Fixed several cases of invalid Python3 syntax. Version 5.7.0 ------------- * Reverted changes to Celery which incorrectly caused some configurations to log unwanted messages. * Improved behavior in ``fetch_git_sha``. * Removed ``is_authenticated`` property from most integrations. * Better error handling for errors within Flask context. * Support for new versions of Flask-Login. * Update Tornado support for modern versions. * Update stacktrace truncation code to match current versions of Sentry server. Version 5.6.0 ------------- * Content is no longer base64-encoded. * ``fingerprint`` is now correctly supported. * Django: 1.9 compatibility. * Celery: Filter ``celery.redirect`` logger. Version 5.5.0 ------------- * Added ``sys.excepthook`` handler (installed by default). * Fixed an issue where ``wrap_wsgi`` wasn't being respected. * Various deprecated code removed. Version 5.4.4 ------------- * Enforce string-type imports. Version 5.4.3 ------------- * Python 3 compatibility fixes. Version 5.4.2 ------------- * Remove scheme checking on transports. * Added ``SENTRY_TRANSPORT`` to Flask and Django configurations. Version 5.4.1 ------------- * Fixed packaging of 5.4.0 which erronously kept the ``aiohttp.py`` file in the wheel only. Version 5.4.0 ------------- * Binding transports via a scheme prefix on DSNs is now deprecated. * ``raven.conf.load`` has been removed. * Upstream-related configuration (such as url, project_id, and keys) is now contained in ``RemoteConfig`` attached to ``Client.remote`` * The ``aiohttp`` transport has been moved to ``raven-aiohttp`` package. Version 5.3.1 ------------- * Restored support for patching Django's BaseCommand.execute. Version 5.3.0 ------------- * The UDP transport has been removed. * The integrated Sentry+Django client has been removed. This is now part of Sentry core. * Server configuration *must* now be specified with a DSN. * Upstream errors now have increased verbosity in logs. * Unsent events now log to 'sentry.errors.uncaught'. * Django management commands should now effectively autopatch (when run from the CLI). * Flask wrapper now includes user_context, tags_context, and extra_context helpers. * Python version is now reported with modules. Version 5.2.0 ------------- * Protocol version is now 6 (requires Sentry 7.0 or newer). * Added ``release`` option to Client. * Added ``fetch_git_sha`` helper. * Added ``fetch_package_version`` helper. * Added cookie string sanitizing. * Added threaded request transport: "threaded+requests+http(s)". Version 5.1.0 ------------- * Added aiohttp transport. * Corrected behavior with auto_log_stacks and exceptions. * Add support for certifi. * Expanded Flask support. * Expanded Django support. * Corrected an issue where processors were not correctly applying. Version 5.0.0 ------------- * Sentry client protocol is now version 5. * Various improvements to threaded transport. Version 4.2.0 ------------- * SSL verification is now on by default. * Rate limits and other valid API errors are now handled more gracefully. * Added ``last_event_id`` and ``X-Sentry-ID`` header to Flask. Version 4.1.0 ------------- * Added verify_ssl option to HTTP transport (defaults to False). * Added capture_locals option (defaults to True). * message can now be passed to capture* functions. * Django <1.4 is no longer supported. * Function object serialization has been improved. * SanitizePasswordsProcessor removes API keys. Version 4.0.0 ------------- * Sentry client protocol is now version 4. Version 3.6.0 ------------- This changelog does not attempt to account for all changes between 3.6.0 and 3.0.0, but rather focuses on recent important changes * Transport modules paths have been refactored. * The threaded transport is now the default. * Client.context has changed. Please see documentation for new API. * Client.user_context was added. * Client.http_context was added. * Client.extra_context was added. * Client.tags_context was added. * Flask support has been greatly improved. * raven.contrib.celery.Client has been removed as it was invalid. Version 3.0.0 ------------- Version 3.0 of Raven requires a Sentry server running at least version 5.1, as it implements version 3 of the protocol. Support includes: * Sending 'python' as the platform. * The 'tags' option (on all constructors that support options). * Updated authentication header. Additionally, the following has changed: * Configuring the client with an empty DSN value will disable sending of messages. * All clients should now check ``Client.is_enabled()`` to verify if they should send data. * ``Client.create_from_text`` and ``Client.create_from_exception`` have been removed. * ``Client.message`` and ``Client.exception`` have been removed. * The ``key`` setting has been removed. * The ``DEBUG`` setting in Django no longer disables Raven. * The ``register_signals`` option in RAVEN_CONFIG (Django) is no longer used. * A new helper, ``Client.context()`` is now available for scoping options. * ``Client.captureExceptions`` is now deprecated in favor of ``Client.context``. * Credit card values will now be sanitized with the default processors. * A new eventlet+http transport exists. * A new threaded+http transport exists. * PyPy is now supported. * Django 1.5 should now be supported (experimental). * Gevent 1.0 should now be supported (experimental). * Python 2.5 is no longer supported. * [Django] The ``skip_sentry`` attribute is no longer supported. A new option config option has replaced this: ``SENTRY_IGNORE_EXCEPTIONS``. Version 2.0.0 ------------- * New serializers exist (and can be registered) against Raven. See ``raven.utils.serializer`` for more information. * You can now pass ``tags`` to the ``capture`` method. This will require a Sentry server compatible with the new tags protocol. * A new gevent+http transport exists. * A new tornado+http transport exists. * A new twisted+http transport exists. * Zope integration has been added. See docs for more information. * PasteDeploy integration has been added. See docs for more information. * A Django endpoint now exists for proxying requests to Sentry. See ``raven.contrib.django.views`` for more information. Version 1.9.0 ------------- * Signatures are no longer sent with messages. This requires the server version to be at least 4.4.6. * Several fixes and additions were added to the Django report view. * ``long`` types are now handled in transform(). * Improved integration with Celery (and django-celery) for capturing errors. Version 1.8.0 ------------- * There is now a builtin view as part of the Django integration for sending events server-side (from the client) to Sentry. The view is currently undocumented, but is available as ``{% url raven-report %}`` and will use your server side credentials. To use this view you'd simply swap out the servers configuration in raven-js and point it to the given URL. * A new middleware for ZeroRPC now exists. * A new protocol for registering transports now exists. * Corrected some behavior in the UDP transport. * Celery signals are now connected by default within the Django integration. Version 1.7.0 ------------- * The password sanitizer will now attempt to sanitize key=value pairs within strings (such as the querystring). * Two new santiziers were added: RemoveStackLocalsProcessor and RemovePostDataProcessor Version 1.6.0 ------------- * Stacks must now be passed as a list of tuples (frame, lineno) rather than a list of frames. This includes calls to logging (extra={'stack': []}), as well as explicit client calls (capture(stack=[])). This corrects some issues (mostly in tracebacks) with the wrong lineno being reported for a frame. Version 1.4.0 ------------- * Raven now tracks the state of the Sentry server. If it receives an error, it will slow down requests to the server (by passing them into a named logger, sentry.errors), and increasingly delay the next try with repeated failures, up to about a minute. Version 1.3.6 ------------- * gunicorn is now disabled in default logging configuration Version 1.3.5 ------------- * Moved exception and message methods to capture{Exception,Message}. * Added captureQuery method. Version 1.3.4 ------------- * Corrected duplicate DSN behavior in Django client. Version 1.3.3 ------------- * Django can now be configured by setting SENTRY_DSN. * Improve logging for send_remote failures (and correct issue created when send_encoded was introduced). * Renamed SantizePassworsProcessor to SanitizePassworsProcessor. Version 1.3.2 ------------- * Support sending the culprit with logging messages as part of extra. Version 1.3.1 ------------- * Added client.exception and client.message shortcuts. Version 1.3.0 ------------- * Refactored client send API to be more easily extensible. * MOAR TESTS! Version 1.2.2 ------------- * Gracefully handle exceptions in Django client when using integrated setup. * Added Client.error_logger as a new logger instance that points to ``sentry.errors``. Version 1.2.1 ------------- * Corrected behavior with raven logging errors to send_remote which could potentially cause a very large backlog to Sentry when it should just log to ``sentry.errors``. * Ensure the ``site`` argument is sent to the server. Version 1.2.0 ------------- * Made DSN a first-class citizen throughout Raven. * Added a Pylons-specific WSGI middleware. * Improved the generic WSGI middleware to capture HTTP information. * Improved logging and logbook handlers. Version 1.1.6 ------------- * Corrected logging stack behavior so that it doesnt capture raven+logging extensions are part of the frames. Version 1.1.5 ------------- * Remove logging attr magic. Version 1.1.4 ------------- * Correct encoding behavior on bool and float types. Version 1.1.3 ------------- * Fix 'request' attribute on Django logging. Version 1.1.2 ------------- * Corrected logging behavior with extra data to match pre 1.x behavior. Version 1.1.1 ------------- * Handle frames that are missing f_globals and f_locals. * Stricter conversion of int and boolean values. * Handle invalid sources for templates in Django. Version 1.1.0 ------------- * varmap was refactored to send keys back to callbacks. * SanitizePasswordProcessor now handles http data. Version 1.0.5 ------------- * Renaming raven2 to raven as it causes too many issues. Version 1.0.4 ------------- * Corrected a bug in setup_logging. * Raven now sends "sentry_version" header which is the expected server version. Version 1.0.3 ------------- * Handle more edge cases on stack iteration. Version 1.0.2 ------------- * Gracefully handle invalid f_locals. Version 1.0.1 ------------- * All datetimes are assumed to be utcnow() as of Sentry 2.0.0-RC5 Version 1.0.0 ------------- * Now only works with Sentry>=2.0.0 server. * Raven is now listed as raven2 on PyPi. Version 0.8.0 ------------- * raven.contrib.celery is now useable. * raven.contrib.django.celery is now useable. * Fixed a bug with request.raw_post_data buffering in Django. Version 0.7.1 ------------- * Servers would stop iterating after the first successful post which was not the intended behavior. Version 0.7.0 ------------- * You can now explicitly pass a list of frame objects to the process method. Version 0.6.1 ------------- * The default logging handler (SentryHandler) will now accept a set of kwargs to instantiate a new client with (GH-10). * Fixed a bug with checksum generation when module or function were missing (GH-9). Version 0.6.0 ------------- * Added a Django-specific WSGI middleware. Version 0.5.1 ------------- * Two minor fixes for the Django client: * Ensure the __sentry__ key exists in data in (GH-8). * properly set kwargs['data'] to an empty list when its a NoneType (GH-6). Version 0.5.0 ------------- * Require ``servers`` on base Client. * Added support for the ``site`` option in Client. * Moved raven.contrib.django.logging to raven.contrib.django.handlers. Version 0.4.0 ------------- * Fixed an infinite loop in iter_tb. Version 0.3.0 ------------- * Removed the ``thrashed`` key in ``request.sentry`` for the Django integration. * Changed the logging handler to correctly inherit old-style classes (GH-1). * Added a ``client`` argument to ``raven.contrib.django.models.get_client()``. Version 0.2.0 ------------- * auto_log_stacks now works with create_from_text * added Client.get_ident Version 0.1.0 ------------- * Initial version of Raven (extracted from django-sentry 1.12.1).