debian-python-raven/CHANGES

501 lines
14 KiB
Plaintext

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).