Enhancements
- Add flags to disable v1 components in single-binary v2 mode (#4934)
- Implement
SelectMergeTreevia themodel.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
autofor--enable-query-backend-fromflag (#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: renameexemplars individualtoexemplars profile(#4954)- Helm: support
global.imageRegistry(#4866) - JFR: switch to
klauspost/compressfor gzip decompression (#4958) - Bump
jfr-parserto v0.16.0 (#4960) - Update OTLP version (#4952)
- Update
parquet-goto v0.26.4 (#4925) - Embedded UI v2 refactor (#4948)
- Prune
infiniteStrategyfrom distributor (#4913) - Exercise exemplars on the canary exporter (#4959)
Fixes
- OTLP: extend
v1.AnyValuepossible types instringValueFromAnyValue(#4988) - OTLP: handle slice-typed sample attributes from pprof OTLP profiles (#4966)
- Symbolizer: skip locations with
MappingId 0instead of erroring (#4985) - symdb: bounds-check mapping and function IDs in
SymbolMerger(#4967) - Fix
BinaryJoinIteratorunalignment bug (#4950) - Metastore: implement
MonotonicLogStoreontimeoutLogStore(#4935) - Querier: surface previously dropped errors (#4914)
profilecli: remove duplicate--collect-diagnosticsflag (#4911)- debug-info: use
LimitReader(#4898) - lidia: tolerate
elf.ErrNoSymbolswhen both symbol tables are missing (#4895) - Helm: filter
pyroscope.componentsby storage flags in microservices mode (#4946) - Fix CVE vulnerabilities in
go.modfiles (#4970) - Update
google.golang.org/grpcto v1.79.3 (security) (#4921) - Update
github.com/buger/jsonparserto v1.1.2 (security) (#4962) - Examples (ebpf-otel): enrich eBPF profiles with Docker container metadata via k8s shim (#4931)
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)
Changelog
- 0fd73ec Add flags to disable v1 components in single-binary v2 mode (#4934)
- 3be9626 Add release notes for v1.19 (#4904)
- 769062a Implement
SelectMergeTreevia the model.Tree (#4790) - ffd0e1b OTLP: Extend v1.AnyValue possible types in stringValueFromAnyValue (#4988)
- c342691 Update .NET documentation (#4949)
- 425147e chore(deps): bump google.golang.org/grpc (#4938)
- 00935c0 chore(deps): bump google.golang.org/grpc from 1.61.0 to 1.79.3 in /examples/language-sdk-instrumentation/golang-push/rideshare-alloy (#4929)
- a39abef chore(deps): bump google.golang.org/grpc in /examples/golang-pgo (#4920)
- c3914f4 chore(deps): bump immutable (yarn) (#4923)
- 56deda6 chore(deps): bump minimatch to 10.2.3 (yarn) (#4924)
- a985db7 chore(deps): bump svgo to 2.8.1 (yarn) (#4928)
- 2ccc54c chore(deps): bump undici to 7.24.0 (yarn) (#4932)
- 94b3785 chore(deps): fix CVE vulnerabilities in go.mod files (#4970)
- d3af32c chore(deps): update module github.com/buger/jsonparser to v1.1.2 [security] (#4962)
- f0eadaa chore(deps): update parquet-go to v0.26.4 (#4925)
- 400f0d6 chore(deps): update yarn deps (#4941)
- 80f042a chore(jfr): switch to klauspost/compress for gzip decompression (#4958)
- b3eb92a chore(otel): update otlp version (#4952)
- d51e240 chore(pkg/distributor): prune infiniteStrategy (#4913)
- 1888ebf chore: Add V2 run instructions to AGENTS.md (#4899)
- d297cc8 chore: Bump jfr-parser to v0.16.0 (#4960)
- 80b300d chore: Log decompressed size of JFR, OTLP (or other non-pprof) profiles (#4968)
- 5636509 chore: add release 1.19.0 to Helm (#4905)
- 7c6d992 chore: bump Helm chart to v1.19.1 (#4916)
- 9e6948a chore: exercise exemplars on the canary exporter (#4959)
- 0807cd8 chore: ignore .claude/worktrees directory (#4951)
- f799e92 chore: move otel-collector ebpf example and update docs (#4969)
- 3994f68 chore: refactor pkg/querybackend/queryplan tests (#4918)
- 41c9396 chore: remove pkg/og/storage/dict (#4874)
- 090ddba docs(v2): add v1 to v2 migration guide (#4927)
- bf22cdf docs(v2): architecture, components (#4912)
- 2f63411 docs: updates the list of contributors in README (#4963)
- fcb4540 feat(frontend): support auto for enable-query-backend-from flag (#4926)
- 297e06e feat(helm): support global.imageRegistry (#4866)
- 087fd87 feat(instrumentation): switch to OpenTelemetry for tracing (#4855)
- d5ad193 feat(metastore): add log store write timeout to prevent stuck raft leader (#4892)
- acf40fb feat(metrics): enable native histograms across all classic-only histogram metrics (#4961)
- 8487e76 feat(profilecli): add exemplar query and profile-id drill-down (#4939)
- dc3c63b feat(profilecli): add span exemplar query command (#4953)
- c506dfc feat: add tenant ID config for self-profiling (#4856) (#4880)
- ce615f5 feat: add trace ID field to profile storage schema (#4884)
- e69d789 feat: log query weight on read path (#4964)
- 732336c fix(debug-info): LimitReader (#4898)
- 4ab14c8 fix(deps): update module google.golang.org/grpc to v1.79.3 [security] (#4921)
- 4100e5d fix(examples/ebpf-otel): enrich eBPF profiles with Docker container metadata via k8s shim (#4931)
- f554f5d fix(metastore): implement MonotonicLogStore on timeoutLogStore (#4935)
- 9ec731f fix(og): make attime tests deterministic to avoid flakiness (#4971)
- 583e8c2 fix(otlp): handle slice-typed sample attributes from pprof OTLP profiles (#4966)
- e71b8c5 fix(pkg/querier): dropped errors (#4914)
- 16fc96a fix(profilecli): remove duplicate --collect-diagnostics flag (#4911)
- aa6937b fix(symbolizer): skip locations with MappingId 0 instead of erroring (#4985)
- c8c9e30 fix(symdb): bounds-check mapping and function IDs in SymbolMerger (#4967)
- 91aac2f fix: Fix BinaryJoinIterator unalignment bug (#4950)
- bda6065 helm: bump chart to 1.19.2 (#4955)
- 9981aac helm: filter pyroscope.components by storage flags in microservices mode (#4946)
- 0d3dd3d lidia: tolerate elf.ErrNoSymbols when both symbol tables are missing (#4895)
- f697c82 refactor(profilecli): rename exemplars individual to exemplars profile (#4954)
- 73c10ec refactor: embedded ui v2 (#4948)
- d8ee7ad test(retry): use synctest for deterministic hedging tests (#4975)
As always, feedback is more than welcome, feel free to open issues/discussions.
You can reach out to the team using:
Docker Images
docker pull docker.io/grafana/pyroscope:1.20.0