debian-python-raven/CHANGES

333 lines
9.5 KiB
Plaintext

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