Skip to content

Releases: getsentry/self-hosted

26.4.1

22 Apr 20:36

Choose a tag to compare

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

16 Apr 21:36

Choose a tag to compare

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

17 Mar 19:58

Choose a tag to compare

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

16 Mar 17:32

Choose a tag to compare

Caution

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

New Features ✨

Bug Fixes 🐛

Internal Changes 🔧

Deps

26.2.1

25 Feb 23:56

Choose a tag to compare

Heya folks! This is just a fix-up for version bump issue on self-hosted repository for the 26.2.0 release. Nothing much changed.


As always, if you run into any issues or have questions about your setup, hop into our Discord—we're always happy to help troubleshoot.

Bug Fixes 🐛

Release

Other

  • Prevent script injection vulnerability in get-compose-action by @fix-it-felix-sentry in #4179

Internal Changes 🔧

Other

26.2.0

19 Feb 01:23
f28e0bc

Choose a tag to compare

Caution

Skip this release!

This release is borked, you may read the release notes, but please hold back from upgrading.
Users should wait for 26.2.1 for now, or stay in earlier release.

Quick heads-up: If you're wondering where the mid-month release went—we got delayed by a combination of US holidays, Lunar New Year celebrations, and some unexpected hiccups in our new release process built on Craft. It's now fully sorted, and here's what you're getting.

What's New

Data Forwarding is Live

Data forwarding is now available without any feature flags. You'll find it in Organization Settings → Data Forwarding.

This lets you forward processed error events to third-party providers—currently Segment, Amazon SQS, and Splunk. Useful if you're analyzing errors alongside other datasets, empowering teams outside engineering, or building business intelligence workflows. Note that only error events are forwarded; spans and logs aren't supported yet.

Important Fixes

Missing Feature Flag for Metrics Alerts

If metrics alerts haven't been working for you, check that your sentry.conf.py includes the necessary feature flags from sentry.conf.example.py. Specifically, compare the feature flags section and add anything that's missing.

Nodestore S3 Writes Fixed

We noticed a bug regarding Nodestore writes that was caused by an unbounded boto3 dependency. Fixed in getsentry/sentry-nodestore-s3#3. If you're using S3 for Nodestore, this update should resolve any intermittent write failures you may have seen.

Maintenance

Nginx and Seaweedfs Bumps

We've updated both Nginx and Seaweedfs to their latest versions. These are minor version bumps with no breaking changes, but because the image tags changed, you'll end up with orphaned images. Run docker image prune --all after updating to clear out the old ones and reclaim disk space.


As always, if you run into any issues or have questions about your setup, hop into our Discord—we're always happy to help troubleshoot.

New Features ✨

Bug Fixes 🐛

  • (test) Add Authority Key Identifier to SSL certificates by @oioki in #4162
  • Add "organizations:on-demand-metrics-extraction" ff to enable metric alerts by @mzglinski in #4170

Internal Changes 🔧

Deps

Other

  • (craft) Update minVersion from 0.23.1 to 2.21.6 by @BYK in #4177
  • (deps-dev) Bump cryptography from 46.0.3 to 46.0.5 by @dependabot in #4168
  • Fix changelog-preview for external contributors by @BYK in #4158

Other

26.1.0

15 Jan 22:33

Choose a tag to compare

New Features ✨

  • Switch nodestore-s3 package to getsentry org by @aldy505 in #4119

Build / dependencies / internal 🔧

Other

25.12.1

23 Dec 17:15

Choose a tag to compare

TL;DR: Skip 25.12.0 and upgrade directly to this version. We caught a migration bug shortly after the previous release—details below.

What's Fixed

Migration bug from 25.12.0 — We shipped a migration issue in the previous release that could cause upgrade problems. This patch resolves it cleanly. If you're still on 25.11.x or earlier, you can upgrade straight to 25.12.1 without touching 25.12.0.

SeaweedFS error noise — Fixed those persistent "failed to assign filer id" errors (#4074) by bumping the SeaweedFS version in the Docker Compose file. The logs should be much quieter now.

Action Required

None. No configuration changes needed—just pull and deploy.


This is our last release of 2025. Thanks for running self-hosted Sentry, and have a great holiday season!

Questions or issues? We're on Discord and happy to help.

Build / dependencies / internal 🔧

25.12.0

16 Dec 19:05

Choose a tag to compare

Caution

This release is a bit problematic. Skip this release, or try the workaround.

Quiet release. Just maintenance.

This release keeps us aligned with upstream Sentry and fixes an installation script bug that caused errors when running the script multiple times. It was a minor Bash scripting slip-up on our end—fixed in #4076.

No breaking changes, no configuration updates required.


Questions or issues? We're on Discord and happy to help.

New Features ✨

Bug Fixes 🐛

  • fix: Provide useful info on permission errors by @BYK in #4096
  • fix: missing 'SENTRY_SYSTEM_SECRET_KEY' declaration on Docker Compose block by @aldy505 in #4087
  • fix: grep seaweedfs bucket name instead of using awk by @aldy505 in #4076

Build / dependencies / internal 🔧

Deps

  • build(deps): bump actions/create-github-app-token from 2.2.0 to 2.2.1 by @dependabot in #4090

  • build(deps): bump actions/setup-node from 4.4.0 to 6.1.0 by @dependabot in #4091

  • build(deps): bump astral-sh/setup-uv from 7.1.4 to 7.1.5 by @dependabot in #4093

  • chore: guard unit-test.sh from being invoked by users by @aldy505 in #4085

  • chore: ask installation type on problem report template by @aldy505 in #4086

Other

25.11.1

01 Dec 18:59

Choose a tag to compare

TL;DR: If you're not using profiling, you can skip this one.

Profiling Storage Fix

We've fixed a profiling storage issue where profiles were consistently returning "not found" due to a missing configuration. If you're running profiling, you'll need to update both your sentry/config.yml and docker-compose.yml files. From now on, we'll be storing profiles data on SeaweedFS, you can see for yourself if it's storage-consuming later on 😉.

For those using external storage: make sure vroom and filestore-profiles point to the same bucket. The profiles need to end up in the same place they're being retrieved from, straightforward, but easy to miss if your configuration split them.

What's Actually Happening Under the Hood

The profiling team has been working on vroomrs (mentioned a few releases back), and it's now doing the heavy lifting. The ingest-profiles container now processes profiles immediately via vroomrs and writes them directly to your bucket. This streamlines the pipeline and eliminates the storage mismatch that was causing the "not found" errors.

Community Contribution

(Probably not) Worth calling out: @copilot made their first contribution to the project! Okay jokes aside, we still write Bash scripts by hand.


Need help with the update? We're always happy to discuss your setup over on Discord.

Build / dependencies / internal 🔧

  • chore: remove some more unused directories by @aldy505 in #4046
  • build(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 by @dependabot in #4058
  • build(deps): bump actions/checkout from 5 to 6 by @dependabot in #4059
  • chore: uptime checker is missing on the release issue by @aldy505 in #4047

Bug Fixes 🐛

  • fix(profiling): Ingest profile file path by @Zylphrex in #4060
  • fix: ensure seaweedfs lifecycle policy is set correctly by @kodebach in #4040
  • fix: missing SYMBOLICATOR_STATSD_ADDR environment var for symbolicator-cleanup by @aldy505 in #4042

Other