Performance monitoring
A large release. Back up your database and read the last bullet before you upgrade.
—
Performance monitoring — Sentry SDK transactions and spans are now stored on the same DSN: trace views, slow-query and N+1 detection as triageable performance issues with their own alert triggers, and trace search over MCP; traces keep 14 days by default (
OKAPI_TRACE_RETENTION_DAYS)
—
Views and digests — group any projects into a view with unified issues, logs, releases and bulk triage, and alert or digest on the whole set; daily and weekly digests arrive by email, in-app, Slack or webhook and are skipped when nothing happened; date format, clock and timezone are now account preferences
—
Alerts that don't get lost — alert evaluations are recorded with the event and survive a crash, Slack and webhook channels keep retrying for up to seven days and re-enable themselves when a retry succeeds, a capped destination gets one summary of what was withheld each hour, and alert history records what email really did
—
Your agent manages alerts too — MCP grows from 12 to 36 tools: alert rules, notification channels, personal rules (over OAuth, after you sign in again), DSN keys and source-map upload tokens;
verify_installation now says whether anyone will be told, and many agents connecting at once no longer get turned away
—
Sharper grouping, wider compatibility — a new grouping epoch ignores numbers, ids, URLs and dates in messages and looks past framework wrappers; ingest accepts brotli, zstd and deflate bodies (sentry-python events sent with brotli were being lost); resent logs are stored once; current
sentry-cli uploads source maps
—
Operations and hardening — requeue dead-lettered payloads from Instance → System, see storage per project, login is rate limited, ingest answers 503 with
Retry-After when the database is struggling, source-map uploads are memory-bounded with a per-organization quota, and the runtime moves to Go 1.27.3 (security release)
—
Before you upgrade — read Upgrading to 0.9 first: the first maintenance pass permanently deletes dead-lettered payloads older than retention (check and export them as the database superuser); each recurring error opens one new issue and alert under the new grouping; issues snoozed without a deadline come back as unresolved; a database password with anything other than letters and digits must be changed or encoded first; large databases spend the first boot building indexes