Open source

Version 1.20.0 release notes

The Pyroscope team is excited to present Grafana Pyroscope 1.20.0.

This release contains enhancements, fixes, improves stability & performance, and ships new v1 → v2 migration documentation.

Notable changes are listed below. For more details, check out the 1.20.0 changelog.

Enhancements

  • Add flags to disable v1 components in single-binary v2 mode (#4934)
  • Implement SelectMergeTree via the model.Tree (#4790)
  • Switch tracing instrumentation to OpenTelemetry (#4855)
  • Add trace ID field to profile storage schema (#4884)
  • Add tenant ID config for self-profiling (#4880)
  • Enable native histograms across all classic-only histogram metrics (#4961)
  • Log query weight on the read path (#4964)
  • Log decompressed size of JFR, OTLP (and other non-pprof) profiles (#4968)
  • Frontend: support auto for --enable-query-backend-from flag (#4926)
  • Metastore: add log store write timeout to prevent stuck raft leader (#4892)
  • profilecli: Add exemplar query and profile-id drill-down (#4939)
  • profilecli: Add span exemplar query command (#4953)
  • profilecli: Rename exemplars individual to exemplars profile (#4954)
  • Helm: Support global.imageRegistry (#4866)
  • JFR: Switch to klauspost/compress for gzip decompression (#4958)
  • Bump jfr-parser to v0.16.0 (#4960)
  • Update OTLP version (#4952)
  • Update parquet-go to v0.26.4 (#4925)
  • Embedded UI v2 refactor (#4948)
  • Prune infiniteStrategy from distributor (#4913)
  • Exercise exemplars on the canary exporter (#4959)

Fixes

  • OTLP: Extend v1.AnyValue possible types in stringValueFromAnyValue (#4988)
  • OTLP: Handle slice-typed sample attributes from pprof OTLP profiles (#4966)
  • Symbolizer: Skip locations with MappingId 0 instead of erroring (#4985)
  • symdb: Bounds-check mapping and function IDs in SymbolMerger (#4967)
  • Fix BinaryJoinIterator unalignment bug (#4950)
  • Metastore: Implement MonotonicLogStore on timeoutLogStore (#4935)
  • Querier: Surface previously dropped errors (#4914)
  • profilecli: Remove duplicate --collect-diagnostics flag (#4911)
  • debug-info: Use LimitReader (#4898)
  • lidia: Tolerate elf.ErrNoSymbols when both symbol tables are missing (#4895)
  • Helm: Filter pyroscope.components by storage flags in microservices mode (#4946)
  • Fix CVE vulnerabilities in go.mod files (#4970)
  • Update google.golang.org/grpc to v1.79.3 (security) (#4921)
  • Update github.com/buger/jsonparser to v1.1.2 (security) (#4962)

Documentation

  • Add v1 → v2 migration guide (#4927)
  • v2 architecture and components docs (#4912)
  • Update .NET documentation (#4949)
  • Move otel-collector eBPF example and update docs (#4969)
  • Add V2 run instructions to AGENTS.md (#4899)
  • Update list of contributors in README (#4963)