Sentry v7.0.0 Release Notes

  • 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 sentry.conf.py (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
    ~~~~~~~~~~~~~
    
    ๐Ÿšš 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 getsentry.com, 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.
    
    TSDB
    ~~~~
    
    ๐Ÿ‘ 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``.
    
    Rules
    ~~~~~
    
    ๐Ÿ‘€ 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.
    
    BIGINT
    ~~~~~~
    
    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/).