2.1.1 (2026-07-21)
2.1.0 (2026-07-07)
- add a method to set the timer's ticker in PyroscopeAgent (#557) (cc13d38)
- add otel.scope.name, otel.scope.version, process.runtime.name, process.runtime.version labels (#562) (32f076e)
2.0.6 (2026-05-28)
2.0.5 (2026-05-27)
2.0.4 (2026-05-20)
- do not recreate profiling guard, just reset the data (#518) (b1fe114)
- remove kindasafe CI leftovers (#521) (f8bc0f3)
- deps: bump openssl from 0.10.79 to 0.10.80 (#548) (f3ed911)
- deps: lock file maintenance (#535) (9554564)
- deps: lock file maintenance (#541) (3abc7b6)
- deps: lock file maintenance (#547) (cd30ebf)
- deps: pin rust docker tag to a9cfb75 (#544) (ea14091)
- deps: remove names crate dependency (#527) (5893aac)
- deps: update rust crate libc to v0.2.186 (#533) (a7468c1)
- deps: update rust crate reqwest to v0.13.3 (#539) (b8c6fbb)
- deps: update rust:trixie docker digest to a9cfb75 (#538) (bff1d5d)
- renovate: vulnerabilities-only with profiling deps allowlist (#540) (4aa8e56)
- add ARM cross-compilation test job (#536) (54bb03f)
- auto-publish to crates.io after release-please PR merge (#529) (a4f76b6)
- Potential fix for code scanning alert no. 14: Workflow does not contain permissions (#542) (51ac4b7)
2.0.3 (2026-04-26)
2.0.2 (2026-04-24)
- deps: bump rustls-webpki from 0.103.12 to 0.103.13 (#524) (935384d)
- deps: lock file maintenance (#522) (4bd95bb)
- deps: update dependency ruby to v4.0.3 (#523) (e126aa2)
- deps: update rust:trixie docker digest to e4f09e8 (#515) (f450327)
2.0.1 (2026-04-19)
- deps: lock file maintenance (#467) (09411da)
- deps: lock file maintenance (#478) (447d8ee)
- deps: lock file maintenance (#498) (4072a04)
- deps: lock file maintenance (#502) (bef3bc3)
- deps: pin dependencies (#427) (a46830a)
- deps: pin rust docker tag to e8e2bb5 (#501) (c177d5b)
- deps: update dtolnay/rust-toolchain digest to 3c5f7ea (#480) (c4f2e7d)
- deps: update dtolnay/rust-toolchain digest to 3c5f7ea (#500) (fc21bda)
- deps: update googleapis/release-please-action digest to 5c625bf (#509) (c347e17)
- deps: update rust crate env_logger to v0.11.10 (#490) (24fb12d)
- deps: update rust crate libc to v0.2.183 (#489) (b44bac8)
- deps: update rust crate libc to v0.2.185 (#514) (e72f5c6)
- deps: update rust crate libflate to v2.3.0 (#516) (da2835f)
- deps: update rust crate rbspy to 0.43 (#471) (1e524d3)
- deps: update rust crate rbspy to 0.44 (#477) (c7cfe39)
- deps: update rust crate uuid to v1.23.0 (#481) (9c4b53a)
- deps: update rust crate uuid to v1.23.1 (#517) (6a89238)
- deps: update rust-lang/crates-io-auth-action action to v1.0.4 (#479) (f4e08f3)
- deps: update rust:trixie docker digest to 652612f (#510) (7f76541)
- deps: update softprops/action-gh-release action to v2.5.2 (#473) (1700be3)
- deps: update softprops/action-gh-release action to v2.5.3 (#474) (12e34c1)
- deps: update softprops/action-gh-release action to v2.6.1 (#475) (209c4c0)
- remove FFI code and kindasafe (moved to separate repos) (#488) (35a4c6a)
- add musl/Alpine to Rust test matrix (#495) (a4b7ad4)
- add release-please configuration (#491) (fbb2d8e)
Backend::report()now returnsReportBatchinstead ofVec<Report>(#437, #447)- New
ReportDataenum replaces the plainVec<Report>inReportBatch, supporting both structured reports (ReportData::Reports) and pre-encoded pprof bytes (ReportData::RawPprof) (#447) - Minimum supported Rust version bumped from 1.64 to 1.66
- Jemalloc memory profiling backend — new
backend-jemallocfeature flag enables heap profiling viajemalloc_pprof. Usepyroscope::backend::jemalloc::jemalloc_backend()to get started (#378) ReportBatchtype — backends now return aReportBatchwith aprofile_typefield (e.g."process_cpu","memory"), enabling multi-profile support (#437)
- Updated
pprof(pprof-pyroscope-fork) to v0.1500.3 (#407) - Updated
objectcrate to 0.38 (#430) - Disabled py-spy default features to exclude CLI dependencies (#418)
- Added
jemalloc_pprof0.8 andtokio1 as workspace dependencies
- Removed
auth_tokenfrom Python and Ruby FFI bindings and related code - Removed
detect_subprocessesfrom Python and Ruby configs - Config constructor now requires app/spy identity and sample rate inputs
- Removed support for collapsed format
- Removed global tags from ruleset
- Integrated pprof-rs backend into main crate behind optional
backend-pprof-rsfeature - Switched to push API (from
/ingestto/push) - Generated push API protos
- Added
ThreadIdtype - Added
rustls-no-providerTLS feature
- Unified signal logic
- Report cleanup functions
- Optimized ruleset
- Removed obscure thread id hash check
- Ruby: inline thread_id crate; remove detect_subprocess
- Dependency updates (reqwest 0.13, prost 0.14, thiserror 2.0, serde_json 1.0.115, uuid 1.20, libflate 2.1)
- Add report transfromation function which allows changing the report before sending it to the Pyroscope Server.
- Add Gzip support.
- Use URL Builder. (786c89b)
- Add BackendConfig to make reporting of pid, thread_id and thread_name optional.
- Backends can add a suffix to the "application_name"
- main: fixed an obsecure bug when counting stacktraces (Abid Omar)
- Authentication Token support
- use rust-tls instead of openssl
- Backend shutdown bug
- Docs update
- New API for building, starting and stopping the profiling agent.
- Backend supports reporting multiple threads.
- Tagging within local thread-scope
- Backend now support passing a configuration struct.
- TimerSignal enum
- pprof-rs backend is split into a different package. It has to be imported manually.
- fix: avoid binding two unrelated vars to the same type by @drahnr in #18
- avoid almost all unwraps by @drahnr in #14
- use more features of
thiserrorby @drahnr in #11 - introduce LOG_TAGs, avoid repetitive prefixes by @drahnr in #10
- allow configurable accumulation_cycle by @drahnr in #21
- Add CI Targets by @omarabid in #22
- 0.4.0 release by @omarabid in #23
- @drahnr made their first contribution in #18
Full Changelog: https://github.com/pyroscope-io/pyroscope-rs/compare/0.3.1...lib-0.4.0
Minor release with bug fixes.
- session: avoid breaking SessionManager if request fails (Abid Omar)
- typo: variable name typo (Abid Omar)
- pprof: fix #12 (Abid Omar)
- copyright: fix #13 (Abid Omar)
First stable release
Second beta release
Initial beta release