---
title: "Version 1.20 release notes | Grafana Pyroscope documentation"
description: "Release notes for Grafana Pyroscope 1.20"
---

[Documentation](/docs/)![breadcrumb arrow](/static/assets/img/icons/grafana-icon-breadcrumb-arrow-gray.svg) [Grafana Pyroscope](/docs/pyroscope/v2.0.x/)![breadcrumb arrow](/static/assets/img/icons/grafana-icon-breadcrumb-arrow-gray.svg) [Release notes](/docs/pyroscope/v2.0.x/release-notes/)![breadcrumb arrow](/static/assets/img/icons/grafana-icon-breadcrumb-arrow-gray.svg) V1.20

Open source

## Version 1.20.4 release notes

### Security fixes

- Bump `protocol-buffers-schema` to 3.6.1 (security) ([#5059](https://github.com/grafana/pyroscope/pull/5059))
- Bump `protobufjs` to 7.5.5 (security) ([#5062](https://github.com/grafana/pyroscope/pull/5062))

## Version 1.20.3 release notes

### Improvements

- Update Go toolchain to 1.25.9 ([#5015](https://github.com/grafana/pyroscope/pull/5015))

## Version 1.20.2 release notes

### Security fixes

- Update `github.com/go-jose/go-jose/v4` to v4.1.4 (security) ([#4984](https://github.com/grafana/pyroscope/pull/4984))

## Version 1.20.1 release notes

### Security fixes

- Update dependency vite to v8.0.5 (security) ([#4994](https://github.com/grafana/pyroscope/pull/4994))

## 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 &amp; performance, and ships new v1 → v2 migration documentation.

Notable changes are listed below. For more details, check out the [1.20.0 changelog](https://github.com/grafana/pyroscope/compare/v1.19.1...v1.20.0).

### Enhancements

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

### Fixes

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

### Documentation

- Add v1 → v2 migration guide ([#4927](https://github.com/grafana/pyroscope/pull/4927))
- v2 architecture and components docs ([#4912](https://github.com/grafana/pyroscope/pull/4912))
- Update .NET documentation ([#4949](https://github.com/grafana/pyroscope/pull/4949))
- Move otel-collector eBPF example and update docs ([#4969](https://github.com/grafana/pyroscope/pull/4969))
- Add V2 run instructions to `AGENTS.md` ([#4899](https://github.com/grafana/pyroscope/pull/4899))
- Update list of contributors in README ([#4963](https://github.com/grafana/pyroscope/pull/4963))
