Skip to content

Releases: getsentry/self-hosted

26.7.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 16 Jul 10:44

Important

This is a hard stop. This release includes security fixes and a migration squash — you must update to this version before moving on to any later version. Details on what hard stops mean and why they exist are in the documentation.

There's also a feature flag configuration change in sentry/sentry.conf.py — make sure to update that as part of this upgrade, or things will not behave the way you expect.

Full diff from 26.6.0 to 26.7.0 is here if you want to see exactly what's changing before you pull the trigger.

Less containers, thanks Taskbroker!

We're down a few more containers this release, courtesy of continued work on Taskbroker. The Sentry subscription consumers, and ingest-profiles specifically, have now moved off their dedicated consumer processes and into Taskbroker tasks, which Taskworker executes instead. Fewer long-running consumer containers, same work getting done — just routed through the task system now.

If you're running a setup where you need to scale these workloads out, the Tasks documentation covers how that works under this new model.

SeaweedFS changes to weed mini

We'd been running SeaweedFS via weed server with the all-in-one flag, but that mode doesn't include the Admin and Worker services. We've moved to weed mini, which bundles those in, and that gets us two more containers down in the process. This wasn't just a container-count win either — it fixes object retention and cleanup, which the all-in-one setup couldn't handle correctly. A handful of users tested this ahead of release and reported no issues, but if you hit something unexpected with retention behavior post-upgrade, let us know.

Security Fixes

Warning

⚠️ Security Advisory: This release patches GHSA-5r6f-q5fc-7r23 — Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') in snuba. If EAP array-attribute feature is enabled, this is a required update.
⚠️ Security Advisory: This release patches GHSA-xm86-7c47-gjm4 — Unsafe pickle deserialization in Relocation Feature. If you are using the relocation feature, this is a required update.

Notable changes

  • There's now a Troubleshooting Snuba page in the docs, if you've ever had to dig through Snuba issues blind, this should help.
  • The Data Flow documentation has been updated to reflect how the system actually looks today.
  • pgbouncer, nginx, and memcached all got bumped, and we've got Dependabot handling this class of chore going forward, so expect these to stay current with less manual intervention on our end.
  • There's an open pull request for a premade Grafana dashboard. We're not merging it into this repo — it'll live in its own repository down the line — but the dashboard works today, so feel free to grab it from the PR in the meantime.

As always, back up before you upgrade, and give the hard stop docs a read if you're unsure whether this affects your upgrade path. If you run into anything, or just want to talk through your setup, we're always happy to chat on Discord.

New Features ✨

Taskbroker

Other

Bug Fixes 🐛

Internal Changes 🔧

Deps

Other

Other

26.6.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 16 Jun 01:31

Important

26.5.0 is a hard stop. If you're upgrading from an older version, visit that release first before continuing.

Taskbroker Now Uses a Config File

Taskbroker has moved from pure environment variables to a config file, and with that comes the ability to consume multiple topics on a single taskbroker container. If you're running a standard setup, you're fine. But if you've configured separate ingest workers as described in the docs, this is a breaking change for you — the old env var approach won't work. Check the migration guide for what needs to change.

Mandatory Email Verification

Sentry now requires emails to be verified before they're added to a user. If you're running an external SMTP server, nothing changes on your end. If you've been using the dummy mail backend, this is the nudge to properly configure email — secondary verification means outbound mail now actually needs to work. Revisit the email configuration docs to get that sorted.

Increased proxy_read_timeout on nginx (30s → 90s)

If you're seeing slow or timing-out requests in the web UI — particularly around EAP features like spans, metrics, logs, and uptime checks — this is likely why. Snuba is doing heavier lifting querying that data, and since we moved from uWSGI to Granian, there's no HTTP server-level timeout to catch long-running requests, so they keep executing in the background. Bumping the nginx timeout to 90s is a reasonable mitigation, but if you're handling significant traffic or still hitting timeouts, you may want to push proxy_read_timeout higher and restart the nginx container.

Other Notable Changes

  • More ClickHouse cleanup for unused tables (PR #4365)
  • The self-hosted dogfooding instance now collects additional diagnostic data: OS distro/version, Docker image tags, and active feature flags. This helps us reproduce and troubleshoot issues you hit in the wild (PR #4366)
  • There is a new flag on .env file regarding Kafka's max poll interval for consumer-side. Take a look if you have slow Kafka issues.

Questions or running into anything unexpected? Come find us on Discord — happy to help and always up for talking through your setup.

New Features ✨

  • (ci) Run tests every 6 hours on the weekdays by @aldy505 in #4374
  • (error-handling) Collect extra tags to distinguish OS and Docker Image version by @aldy505 in #4366
  • Set --max-poll-interval-ms flags to Sentry/Snuba consumers by @aldy505 in #4376

Documentation 📚

  • (auth) Add email backend recommendation to config example by @nora-shap in #4362

Internal Changes 🔧

Ci

  • Declare 'timeout-minutes' on tests by @aldy505 in #4375
  • Disable Linux arm64 integration tests for the time being by @aldy505 in #4367

Deps

Other

  • (taskbroker) Migrate to new kafka_clusters/kafka_topics config format by @untitaker in #4363

Other

26.5.2

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 02 Jun 20:54

This release contains a fix to a ReDOS vulnerability: GHSA-jjqr-wqg2-p856. Users are encouraged to upgrade.

New Features ✨

  • (snuba) Healthcheck adjustments preparing for distroless by @oioki in #4352

Bug Fixes 🐛

  • Prevent argument too long error on self-hosted error reports due to breadcrumbs too long by @aldy505 in #4348

Documentation 📚

Internal Changes 🔧

26.5.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 27 May 19:41

This release is a hotfix for the self-hosted cache backend. Django's PyMemcacheCache client is not thread-safe when shared across context-propagating worker threads, which could wedge ingest-occurrences and ingest-monitors. We've switched to ReconnectingMemcache to match the bundled Sentry image config.

install.sh migrates stock configs automatically; custom OPTIONS dictionaries keep their values and get a reconnect_age=300 fallback. No manual configuration changes needed.

Fixes #4301, #4326.

Bug Fixes 🐛

  • (config) Migrate PyMemcacheCache to ReconnectingMemcache by @sentry-junior in #4338

Other

26.5.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 18 May 09:48

Important

A feature flag update is needed in sentry/sentry.conf.py — make sure to apply it manually before running the install script to not miss any new features!

Also, if you have a migration issues of notifmsg_metric_or_workflow_exclusive, please check the troubleshooting guide here.

Application Metrics is Now GA 🎉

Long-time self-hosters will remember the original metrics product that was quietly retired during beta. That wasn't ideal, and we knew it. The good news: we're back with something properly baked — Application Metrics has graduated to General Availability.

Mobile Size Analysis and Build Distribution are Live

Two new features shipping for mobile teams that is powered by Launchpad, and yes, one new Docker container:

Size Analysis monitors your app's binary size across builds, giving you bundle-level visibility so you can catch size regressions before they hit production — and actually understand why a build got heavier.

Build Distribution handles secure distribution of app builds to internal teams and beta testers straight from CI, with access control and installation analytics included.

p.s., there's another feature called Snapshots (docs preview here) that we'd love to bring to self-hosted, but it depends on objectstore, which isn't ready for self-hosted deployment yet. We'll get there.

Security note: LAUNCHPAD_RPC_SHARED_SECRET ships with a hardcoded default in .env that's on the weaker side. If you want stronger internal communication security between taskbroker and launchpad, override it in your .env.custom with a value of your own.

Notable Changes

  • Quieter logs: Suppressed noisy output from sentry-options across most services. snuba is still working through it (#4306)
  • nginx bump: We've updated nginx. We're not directly affected by CVE-2026-42945, but staying current is the right call regardless.

Questions or running into anything unexpected? Come find us on Discord — happy to help and always up for talking through your setup.

New Features ✨

Bug Fixes 🐛

  • (workflows) Prevent shell injection in fast-revert workflow by @fix-it-felix-sentry in #4309

Internal Changes 🔧

Other

26.4.2

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 05 May 14:30

This release is a hotfix for relay#5913 where Relay versions 26.4.0 and 26.4.1 fail to authenticate with Sentry upstream, encountering HTTP/2 stream errors. The relay continuously retries but gets: http2 error, stream error received: unspecific protocol error detected. This completely blocks event forwarding. What happened is Relay was unconditionally setting the Host header in HTTP/2 requests, violating protocol specs; the fix makes it conditional, only set if explicitly configured, so HTTP/2 can manage it automatically.

No configuration changes needed.

On the next release (26.5.0), we will be shipping Launchpad that powers Mobile Build Distribution & Size Analysis.


Questions or want to talk through your setup? Find us on Sentry's Discord — always happy to chat.

New Features ✨

Bug Fixes 🐛

Internal Changes 🔧

Deps

Deps Dev

Other

26.4.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 22 Apr 20:36

TL;DR: Patch release fixing a migration regression from 26.4.0 and a critical SAML SSO security vulnerability. Upgrade promptly.

Warning

⚠️ Security Advisory: This release patches GHSA-rcmw-7mc7-3rj7 — improper authentication in the SAML SSO flow. If you're using SAML SSO, this is a required upgrade.

No configuration changes required.


SeaweedFS Now Actually Running Its Cleanup Workers

Turns out the SeaweedFS all-in-one binary doesn't spawn its worker and admin modules automatically, which meant cleanup processes were never running. This had been reported a few times, but issue #4106 finally made the picture clear enough to act on.

We've added two dedicated containers to handle this properly. Don't fret about the footprint — they're written in Go, so resource overhead is minimal. Cleanup will now actually happen as intended.

Thanks to everyone who reported this and helped validate the patch.

Taskworker Memory Leak Under High Ingestion

If you're running high ingestion throughput, you may have hit the taskworker memory leak reported in issue #4265. We've addressed it by adding --max-child-task-count to the default taskworker container configuration.

One heads-up: if you've set up workload isolation for taskworker via docker-compose.override.yml, you'll need to add that flag manually to your overrides — it won't carry over automatically.

Other Notable Fixes

  • OpenTelemetry projects no longer crash Insights → Backend page. Full OTel project support was causing a crash there; that's resolved. (#4262)
  • Reduced ClickHouse CPU usage by suppressing additional redundant data points. (#4266)
  • PostgreSQL bumped to 14.22 (patch version). Worth noting: migration to PostgreSQL 17 is coming — it's currently in testing on SaaS, so self-hosted support won't be far behind.

Questions or want to talk through your setup? Find us on Sentry's Discord — always happy to chat.

26.4.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 16 Apr 21:36

Caution

This release has issues with InconsistentMigrationHistory if you're upgrading from previous version (see issue #4286). Please wait for the next patch release.
This release is fine if you're doing a fresh install.

We apologize for the inconvenience.

New Features ✨

Bug Fixes 🐛

Internal Changes 🔧

Deps

  • Bump brace-expansion from 5.0.3 to 5.0.5 in /_integration-test/nodejs by @dependabot in #4247
  • Bump j178/prek-action from 2.0.0 to 2.0.1 by @dependabot in #4264
  • Bump BYK/docker-volume-cache-action from be89365902126f508dcae387a32ec3712df6b1cd to 0efa5cf5178c9906cb46ed8d1a357df8fd6b1a06 by @dependabot in #4253
  • Bump astral-sh/setup-uv from 7.6.0 to 8.0.0 by @dependabot in #4254
  • Bump getsentry/craft from 2.23.2 to 2.24.1 by @dependabot in #4221
  • Bump astral-sh/setup-uv from 7.2.1 to 7.5.0 by @dependabot in #4220

Other

Other

26.3.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 17 Mar 19:58

This is a hotfix release addressing the database migration issue introduced in 26.3.0. If you got hit by that, this is the fix — no configuration changes required.

Optional: Disable Relay's DNS Caching

A few users have reported that the relay container fails to authenticate against web after a fresh install or restart. The culprit is DNS caching that the Relay team enabled via Hickory DNS, it can cause stale resolution under certain networking setups.

If you're running into this, you can work around it by applying the patch from PR #4213. We're likely making this the default in the next release, so consider this a heads-up.

Notable Changes

  • Size Analysis is GA (demo video here) — the feature is now generally available, though we're holding off on including it in the default self-hosted install until the Emerge-related dependencies stabilize. Looking to experiment? You can enable it manually in the meantime.

  • Reduced downtime during upgrades — we've reordered the installation sequence (PR #4202) so Docker images are pulled before the Compose stack is taken down. If you're on a slower connection, you should notice meaningfully less downtime on future upgrades.

  • Graduated feature flags cleanup — since late February, there's been an ongoing effort to remove a large batch of graduated feature flags. Worth a look if you want to know which features are now enabled by default in self-hosted.


Questions or want to talk through your setup? We're on Sentry's Discord — always happy to chat.

26.3.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 16 Mar 17:32

Caution

This release contains a migration issue. Please skip directly to the next release.

New Features ✨

Bug Fixes 🐛

Internal Changes 🔧

Deps