docs/sources/release-notes/v2-0.md
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.
github.com/grafana/pyroscope/v2. Library consumers must update their imports (#5073)ingester to segment-writer. Set -write-path=ingester to preserve v1 behavior (#5038)filesystem (#5038)-architecture.storage flag (v1 | v1-v2-dual | v2), default v1-v2-dual (#5038)-architecture.storage includes v2 and no object-storage backend is configured (#5074)./data/v2/ (#5038)PYROSCOPE_V2_EXPERIMENTAL environment variable (#5038)server argument from the pyroscope binary (#5038)-validation.disable-label-sanitization=false to restore previous behavior (#5038)all.enable-v1-write-path / all.enable-v1-read-path with architecture.storage, removes persistence.shared and migration.queryBackend, and forwards ingesterWeight / segmentWriterWeight correctly (#5076)debuginfo upload subcommand (#5080)pyroscope_test.go after module bump to v2 (#5077)frontend/build dependency to reference-help target (#5071)--reset-then-reuse-values, target chart 2.0.0 (#5079)To upgrade from v1.21.x:
github.com/grafana/pyroscope/v2.2.0.0 and review the removed and renamed values listed above.-architecture.storage=v1 and -write-path=ingester explicitly — the previous defaults no longer apply.-architecture.storage=v2 (or leave v1-v2-dual during the transition).