All Versions
Latest Version
Avg Release Cycle
50 days
Latest Release

Changelog History
Page 13

  • v7.0.0 Changes

    Between version 6.4.x and 7.0 a significant number of changes have landed (approximately a years worth of commits). There are a large number of overall architecture changes, as well as various API compatibility changes. This document does not attempt to cover them all.

    ๐Ÿ”€ As many things have changed, it's strongly recommended that you regenerate your (using sentry init) and merge in your custom settings.

    Backwards Incompatible Changes

    - โฌ†๏ธ Django has been upgraded to 1.6
    - ๐ŸŽ The buffer API has been rewritten and the Redis buffer has had its performance greatly improved.
    - ๐Ÿšš The UDP server has been removed. Threaded/async models or a buffer proxy are the preferred replacement.
    - The ``is_rate_limited`` plugin hook has been removed in favor of singular quota managers.
    - ๐Ÿšš The trends feature has been removed until it can be reimplemented in a more scalable way.
    - ๐Ÿšš Filters have been removed. Integrations should use the tagging infrastructure instead.
    - ``NodeStore.generate_id()`` now returns a base64-encoded UUID.
    - The API for interfaces has been rewritten.
    - ``GroupMeta.objects.get_value`` no longer errors when a value is missing.
    - ๐Ÿšš ``sentry.plugins.sentry_sites`` has been removed.
    - The Search API has been rewritten and now powers the entire stream.
    - โœ‚ Removed Event.{logger,site,logger,level,culprit} references/columns. Legacy attributes for transitional behavior are available.
    - โœ‚ Removed Project.owner.
    - โœ‚ Removed Team.owner.
    - ๐Ÿ†• ``is_new`` in ``Plugin.post_process`` will **only** be set if the event is brand new.
    - Project-based URLs are changed to be organization scoped instead of team scoped.
    - ๐Ÿ‘€ Static assets are no longer bundled as part of the repository and are instead compiled during the sdist/installation phases (as needed). See installation notes for further information.
    - Graphs have been transitiong to ``sentry.tsdb`` (historical data is not preserved)
    - ๐Ÿ‘ท Workers must now also run ``celerybeat``. This can be done either via passing -B to worker, or by running another process: ``sentry celerybeat``.
    - ๐Ÿšš Access Groups are now deprecated and will be removed in a version version.
    ๐Ÿšš Organizations are the new top-level item of your Sentry install. All membership and team management has been moved into the new organization hub.
    Generally for self-hosted installations you'll only have a single organization.
    Migrations will happen automatically for this, and while these were able to applied cleanly and automatically on, we suggest considering snapshotting your database before running them. Additionally consider doing this at a period of the day where users generally wont be tweaking options to team membership.
    ๐Ÿ‘ A new time-series backend is now used (removing the legacy SQL-based graphing solutions). The only currently supported/bundled backend requires Redis. More information can be found in ``sentry.tsdb``.
    ๐Ÿ‘€ A new system for basic controls around notifications (called Rules) has been added. These are per-project hooks for doing dynamic customization of "what happens when a new event is seen?".
    ๐ŸŒ Web API
    ๐Ÿ“„ The first offering a public API has landed. You'll find it with the new embedded docs (at /docs/).
    Protocol Version 6
    ๐Ÿ”– Version 6 of the protocol has been introduced. The only change is the addition of the `release` attribute.
    All integer fields have been replaced with bigint's. This migration is *not* automated (due to it causing locking) and if you need it locally you will need to sort out the migration on your own, as well as set `SENTRY_USE_BIG_INTS = True` in your configuration.
    Help Pages
    ๐Ÿ“š The beginnings of bundled documentation now exists. The defaults are generated from disk (see sentry/data/help_pages/).
  • v6.4.0 Changes

    Some major backend changes are introduced in Sentry 6.4.0.


    The builtin Django authentication module is no more. The Group and Permission models are no
    longer used, and the User model has been replaced with sentry.User.
    Search has been abstracted from the simple search manager, and now lives within
    ๐Ÿ‘ ````. Currently only the Django backend is supported, but some sample
    code for Solr Cloud integration is also available.
    Event Storage
    0๏ธโƒฃ A new application called ``nodestore`` now manages the event blob data. By default it
    ๐Ÿ‘‰ uses a Django-based backend (storing each node as a row in a table), however a Riak
    ๐Ÿ‘ backend is included and fully supported.
    โž• Additional Changes
    - ๐Ÿ‘ Some initial support for time zones (user setting).
    - You can now choose which tag annotations are applied to the event stream via Project Settings -> Tags.
    - A new subsystem for handling email is available in ````.
    - You can now receive email notifications for notes.
    - Charts now show tooltips describing the datapoint.
    - ๐Ÿ‘ JavaScript sourcemaps now support embedded sources.
    - Stream annotations can now be customized to show any tags (not just number of users).
    - Stacktrace frames now get truncated down to a maximum length of 50.
    Protocol Version 5
    - sentry_version should be sent as '5'.
    - The stacktrace interface now accepts a 'frames_omitted' tuple.
  • v6.3.0 Changes

    • ๐Ÿ”จ Most of the db utilities were refactored into sentry.db.
    • The user interface now accepts an ip_address attribute.
    • ๐Ÿ‘‰ User tracking will now use the ip_address attribute if available.
    • time_spent is now expected to be sent as an integer in milliseconds.
    • A new Notes feature is available for leaving comments on an event.
  • v6.2.0 Changes

    • โž• Added tracking to which users have seen which groups
    • The stream now reflects if you've viewed an event since it was created or regressed.
    • The group details page shows other users who have glanced at an event.
    • Streams which have recorded user data will now show the number of unique users an event has happened to.
    • ๐Ÿ›  Various stream polling fixes and improvements.
  • v6.1.1 Changes

    ๐Ÿš€ Sentry 6.1.1 is a security release which patches a remote code execution exploit.

    This only affects servers hosted public clients (e.g. raven.js).

    The following commit demonstrates the exploit, as well as the patch:

  • v6.1.0 Changes

    • โž• Added Rate Limit controls.
  • v6.0.0 Changes

    Say hello to our new logomark! Version 6 of Sentry includes many changes within the core designed to improve future compatibility for various platforms.

    It also includes quite a number of incompatible changes, so it's recommended ๐Ÿ”Œ that plugin authors read through the notes carefully, and run some simply sanity checks. It also introduces version 4 of the protocol.

    Incompatible Changes

    - โฌ†๏ธ Django has been upgraded to 1.5.
    - django.contrib.auth.models.User has been replaced with sentry.models.User.
    - sentry_servers no longer exists, and the behavior is now always present. If
      you had it manually listed in INSTALLED_APPS, simply remove it.
    - ๐Ÿ‘€ Filters have been deprecated, and most functionality removed. See notes below.
    - ๐Ÿ‘€ TrackedUser, AffectedByUser, and Group.users_seen have been removed in favor
      of reusing the tagging architecture for user tracking.
    - Suspension of team members is no longer available. The feature was rarely
      used, and removing it greatly simplifies the auth logic in the API.
    - ๐Ÿ”Œ **The mail plugin can no longer be disabled, and all mail-specific options
      have been removed.**
    - ๐Ÿ‘€ Nearly all data within an event now has a fixed max size. See client
      developer documentation for details.
    - 0๏ธโƒฃ Project keys are no longer created for individuals by default
    - ๐Ÿšš sentry.conf.settings has been removed
    - 0๏ธโƒฃ LOG_LEVELS, DEFAULT_LOG_LEVEL, and DEFAULT_LOGGER_NAME are no longer configurable.
    - SENTRY_EMAIL_SUBJECT_PREFIX and SENTRY_SERVER_EMAIL are no longer used, and default to
      the appropriate Django options.
    - SENTRY_CACHE_BACKEND is no longer configurable.
    - Existing account recovery tokens are no longer valid.
    - ๐Ÿšš sentry.utils.router has been removed.
    Protocol Version 4
    - sentry_version should be sent as '4'.
    - Aliases are now recommended instead of full interface names.
    - ๐Ÿ‘ป The exception interface now supports a bound stacktrace, and all events
      (in all protocols) which contain both an exception and a stacktrace will
      be rolled up. This should be sent as the ``stacktrace`` attribute.
    - ๐Ÿ‘ป The exception interface now supports chained exceptions, and should
      be sent as a list of exception values. Check the updated documentation for
      ordering details.
    A basic alert system has been added.
    - ๐Ÿ”ง Configured at the project level.
    - ๐Ÿšฆ Signaled via Plugin.on_alert.
    ๐Ÿšš The outdated filter system has been mostly removed. You should rely on
    ๐Ÿท tagged data for filter generation.
    ๐Ÿšš If you were previously defining ``SENTRY_FILTERS`` you should remove it
    from your settings as it will be entirely obsolete in a future version.
    Other Changes
    - Activity feeds will now attempt to filter out some duplicates.
    - ๐Ÿท Tags now show on the event details page.
    - Corrected some invalid behavior when storing tags with an individual event.
    - ๐Ÿท Plugin.get_tag_values was added.
    - A new team select dashboard exists if you are a member of multiple teams.
    - A new Sentry logo mark has replaced the simple text header.
    - C# has been added to experimental clients.
  • v5.4.0 Changes

    SENTRY_PUBLIC now dictates whether or not a Sentry install should be considered ๐Ÿ‘ accessible by all users or not. This should better solve the use-case of companies hosting a Sentry instance internally and not necessarily needing the permissions that teams give you.

    If enabled, all teams and all projects will be accessible all members (for any endpoint which does not require a certain level of access). Project.is_public now dictates the implied state of all events, but will not allow a non-member to browse events.

    โž• Additionally, this includes the following other items:

    • ๐Ÿšš [Important!] The URLS for social authentication have been moved.
    • ๐Ÿ‘Œ Improved rendering of data values in all interfaces.
    • django-compressor was replaced with django-static-compiler.
    • ๐Ÿšš A better defined public view of events (which removes several items from being visible).
    • ๐Ÿ‘Œ Improved SourceMap discovery.
    • Most events will no longer cause a hard error when validation fails. Instead we attempt to drop any non-required data so that at least a partial event is stored.
    • MessageCountByMinute was renamed to GroupCountByMinute.
    • MessageFilterValue was renamed to GroupTag.
    • ๐ŸŽ Syntax highlighting was disabled (pending performance solutions).
    • โž• Added Team.date_added column.
    • Lots of various design changes.
    • Trending SQL queries can now be disabled by setting SENTRY_USE_TRENDING = False
  • v5.3.0 Changes

    A brand new Sentry design has landed.

    Some things of note:

    • An improved dashboard.
    • ๐Ÿ‘Œ Improved activity feeds on aggregate details.
    • Similar event navigation links on aggregate details.
    • Redesigned team management flow.

    โž• Additionally:

    • Aggregates now happen on (project, checksum), which means events that have different levels or culprits can now be grouped together.
    • Sentry now requires authentication for all pages.
    • 0๏ธโƒฃ SENTRY_PUBLIC behavior has changed to signify the default state of projects.
    • Project slug's are now only unique within a team.
  • v5.2.2 Changes

    • โšก๏ธ [New] The dashboard will now stream updates to the new and trending event components.