8.0.0
Version 8 of Sentry introduces a brand new frontend. Most of the application has been overhauled
and rewritten on top of React and our web API. Additionally many new features have been exposed
related to workflows (user assignment, snooze, resolution) and release tracking. This changelog
does not attempt to capture the six+ months of incremental features and improvements in this
release of Sentry.
A Note on MySQL
Due to numerous issues over the years and recent discoveries that nearly all schema migration was
broken in MySQL (due to some behavior in our migration tool), we've made the decision to no longer
support MySQL. It is possible to bring the schema up to date on a MySQL machine, but Sentry's
automated migrations will likely not work and require DBA assistance.
Postgres is now the only supported production database.
Changes to Quotas
Team and System based quotas are now longer available. A new organization-relative project quota replaces them
and can be configured via Rate Limits on the organization dashboard.
Notification Digests
Email notifications will now automatically rollup if the rate of notifications exceeds a threshold. These can be
configured on a per project basis in Project Settings.
Configuration
An Install Wizard has been added to aid in configuring necessary first-run options. Notably your Admin Email,
and URL Prefix. The Installation Wizard will also help any future updates and aid when new options are introduced.
A new configuration backend is now utilized for several options. These options can now be
configured via the web UI.
- A new configuration file,
config.ymlhas been introduced. This new file is generated duringsentry init
the first time, and expected to be pointed at a directory.config.ymlis the home for new configuration options that will be moved from the existing python config file. SENTRY_URL_PREFIXhas been deprecated, and moved tosystem.url-prefixinside ofconfig.ymlor it
can be configured at runtime.INTERNAL_IPS, if configured, will now restrict superuser access to only users with bothis_superuser
and a matching IP.
CLI
The sentry CLI tooling has been rewritten to be faster and less confusing.
Static files
Static files are now served with a far-futures Cache-Control header, and are versioned by default. If you were serving /_static/ explicitly from your server config, you may need to update your rules or adjust the STATIC_URL setting accordingly.
General
- Source builds now require Node 0.12.x or newer.
- The
publicsetting on projects has been removed- This also removes
SENTRY_ALLOW_PUBLIC_PROJECTS
- This also removes
- Clients which were only sending
sentry_keyand not using CORS will no
longer be able to authenticate. - All incoming events now log through
sentry.api, which will additionally
capture far more events with improved console formatting. - The 'sentry' user can no longer be removed.
- The Cassandra nodestore backend was broken, and this has been resolved.
- The
has_permplugin hook is no longer used. - Do not unconditionally map sys.stdout to sys.stderr
- The HTTP interface's internal structure has greatly changed. Headers and Cookies are now lists. Body
is now stored as a string. - The internal metrics backend now supports both Datadog and a simple logging implementation (useful in DEBUG).
- Member roles can now view client keys (DSNs).
- Documentation for configuration wizards is now pulled from docs.getsentry.com as part
of theupgradeandrepairprocesses. - The SSO flow for existing users has been greatly improved to avoid duplicate accounts.
- Deletions are delayed for one hour and can be cancelled by changing the status
back toVISIBLE. - Membership permissions have been overhauled and have been flattened into a single tiered
role. Additionally owners will no longer be automatically added to new teams. NotificationPluginnow requiresis_configuredto be declared.sentry.searchshould no longer be extended (indexandupgradehave been removed)
Client API
- The
culpritattribute will now automatically be filled when not present. - The
in_appattribute on frames will now be computed on event submission when not present. - The
ip_addressvalue will always be stored on the user interface when possible. - The user interface no longer accepts data missing one of the required identifiers.
- The
fingerprintvalue is now stored inEvent.data. - The
environmentattribute is now soft-accepted and tagged.
Schema Changes
- Removed the
Project.platformcolumn. - Removed the
Project.organizationcolumn. - Removed the
AccessGrouptable. - Added
EventUsertable. - Added
user.{attribute}to search backends. - Added
Project.first_eventcolumn. - Added
Release.ownercolumn. - Added
Organization.default_rolecolumn. - Added
OrganizationMember.rolecolumn. - Added
Broadcast.upstream_idcolumn. - Removed
Broadcast.badgecolumn. - Added
Broadcast.titlecolumn. - Migrated blob data in
FiletoFileBlob. - Removed
File.storagecolumn. - Removed
File.storage_optionscolumns. - Added
OrganizationOptiontable. - Added
GroupSnoozetable. - Added
GroupResolutiontable. - Added
GroupBookmark.date_addedcolumn. - Removed
User.last_namecolumn. - (App-only) Renamed
User.first_nametoUser.name. - Removed
Activity.eventcolumn. - Removed
Event.num_commentscolumn.