This is documentation for the next version of Grafana Pyroscope documentation. For the latest stable release, go to the latest version.
Version 2.0.0 release notes
The Pyroscope team is excited to present Grafana Pyroscope 2.0.0.
Pyroscope 2.0 makes the v2 storage architecture (segment-writer, query-backend, metastore, compaction-worker) the default for OSS users. v2 writes profiles directly to object storage and removes the need for in-memory ingesters, simplifying operations and reducing resource usage at scale. v1 remains available via an opt-in flag so existing deployments can upgrade without data loss.
This release contains breaking changes. Review the v1 to v2 migration guide before upgrading.
Notable changes are listed below. For the full diff, check out the 2.0.0 changelog.
Breaking changes
- Go module path bumped to
github.com/grafana/pyroscope/v2. Library consumers must update their imports (#5073) - Default write path flipped from
ingestertosegment-writer. Set-write-path=ingesterto preserve v1 behavior (#5038) - Default storage backend flipped from empty to
filesystem(#5038) - New
-architecture.storageflag (v1|v1-v2-dual|v2), defaultv1-v2-dual(#5038) - Error at startup when
-architecture.storageincludes v2 and no object-storage backend is configured (#5074) - Default filesystem paths moved under
./data/v2/(#5038) - Removed
PYROSCOPE_V2_EXPERIMENTALenvironment variable (#5038) - Removed legacy positional
serverargument from thepyroscopebinary (#5038) - Label sanitization disabled by default; UTF-8 label names with dots are accepted as-is. Set
-validation.disable-label-sanitization=falseto restore previous behavior (#5038) - Helm chart 2.0.0 replaces
all.enable-v1-write-path/all.enable-v1-read-pathwitharchitecture.storage, removespersistence.sharedandmigration.queryBackend, and forwardsingesterWeight/segmentWriterWeightcorrectly (#5076)
Enhancements
- profilecli: Add
debuginfo uploadsubcommand (#5080)
Fixes
- Fix missed v1 import path in
pyroscope_test.goafter module bump to v2 (#5077) - make: Add
frontend/builddependency toreference-helptarget (#5071)
Documentation
- Improve v1 → v2 migration docs: switch to
--reset-then-reuse-values, target chart 2.0.0 (#5079) - Add v1.21 release notes (#5082)
- Fix contributors grid layout in README (#5078)
Upgrade
To upgrade from v1.21.x:
- Read the v1 to v2 migration guide.
- If you import Pyroscope as a Go library, update imports to
github.com/grafana/pyroscope/v2. - If you deploy with Helm, upgrade to chart
2.0.0and review the removed and renamed values listed above. - If you run the binary directly and want to stay on v1 storage, set
-architecture.storage=v1and-write-path=ingesterexplicitly — the previous defaults no longer apply. - If you want to move to v2, configure object storage and set
-architecture.storage=v2(or leavev1-v2-dualduring the transition).

