Releases: grafana/pyroscope-dotnet
Releases · grafana/pyroscope-dotnet
v0.14.5-pyroscope
v0.14.5-pyroscope
Bug Fixes
- fix: avoid null thread dereference when resetting cpu consumption (#274)
@korniltsev-grafanista-yolo-vibecoder239
Dependencies
- chore(deps): update dependency openssl/openssl to v3.5.6 (#260)
@korniltsev-grafanista - chore(deps): update actions/setup-go digest to 40f1582 (#237) @renovate-sh-app
- chore(deps): update actions/upload-artifact action to v7 (#234) @renovate-sh-app
- chore(deps): update grafana/shared-workflows/ action (#228) @renovate-sh-app
Maintenance
- chore(config): migrate Renovate config (#227) @renovate-sh-app
- chore: Add skill with steps for the release process (#255) @simonswine
- rename merge-upstream skill to merge-datadog (#256)
@korniltsev-grafanista-yolo-vibecoder239
v0.14.4-pyroscope
What's Changed
- feat: Poisson-weighted heap profiling with corrected two-layer upscale (#246)
Docker images
Full Changelog: v0.14.3-pyroscope...v0.14.4-pyroscope
v0.14.3-pyroscope
What's Changed
- ci: add .NET 9.0 and 10.0 integration tests (#252)
- fix: set --openssldir=/etc/ssl so profiler finds system CA bundle (#251)
- fix: use apk instead of apt-get in musl notification-profiler itest (#249)
- chore(deps): update module google.golang.org/grpc to v1.79.3 [security] (#248)
- fix: UB in DebugInfoStore::Get(): re-acquire iterator after map insertion (#244)
- chore: add profiler/_build/ to .dockerignore (#245)
Docker images
Full Changelog: v0.14.2-pyroscope...v0.14.3-pyroscope
v0.14.3-heap-poisson.1-rc-pyroscope
fix: correct two-layer upscale weight for heap sampling The live-objects profiler had a ~10x undercount because GetUpscaleWeight() only compensated for our secondary Poisson filter (layer 2) while ignoring the CLR's own size-proportional AllocationTick sampling (layer 1). Fix the two bugs together: - ShouldSample() now decrements by the 100KB AllocationTick window instead of objectSize, so the filter operates on the same unit the CLR uses. - GetUpscaleWeight() now computes w_clr × w_ours: the CLR layer weight (allocationWindow/objectSize ≈ 100) times the our-filter layer weight (samplingRate/allocationWindow ≈ 5.5), giving a combined ≈550 instead of the broken ≈512. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
v0.14.2-pyroscope
What's Changed
- feat: use human-readable frame names instead of pipe-delimited format (#243)
- itest: add OTEL dual-profiler integration test and notification profiler API (#240)
- itest: rewrite integration tests in Go with stacktrace assertions (#235)
- itest: use notification profiler API instead of main profiler slot (#232)
- profiler: restore C++ unit tests and preserve them during upstream merges (#229)
- cmake: add USE_STATIC_OPENSSL option for dev builds (#241)
- shared/native-src: remove unused tracer classes (#231)
- profiler: replace BoringSSL with system static OpenSSL (#222)
- profiler: pass correct profile type label to Pyroscope push API (#221)
- profiler: update cpp-httplib from v0.14.1 to v0.34.0 (#220)
- profiler: create separate pprof per ProfileType in pprof exporter (#214)
- profiler: populate time_nanos and duration_nanos in pprof profiles (#216)
- profiler: remove unused startTime/endTime from PProfExportSink (#215)
- profiler: replace per-appdomain pprof map with single builder (#213)
- profiler: centralize and rename SampleValueType definitions (#212)
- merge upstream v3.39.0 (#242)
Full Changelog: v0.14.1-pyroscope...v0.14.2-pyroscope
v0.14.1-pyroscope
What's Changed
- fix: managed helpers publishing
Full Changelog: v0.14.0-pyroscope...v0.14.1-pyroscope
v0.14.0-pyroscope
What's Changed
- feat: replace local profile.proto with pyroscope API protos (#186)
- feat: improve GitHub workflows to support RC releases (#166)
- feat: add LabelsWrapper.Do() overload with state (#128)
- fix: replace hyphens with underscores in sample type names (#189)
- fix: BuildThreadStatPath (#183)
- fix: workaround for altstack overflow during nested signal handling (#177)
- fix: only apply -stdlib=libstdc++ for Clang C++ compilation (#176)
- fix: use default server address when env var is not set (#174)
- fix: handle RC versions in release workflows (#173)
- fix: mask SIGPROF during SIGSEGV handling by the coreclr (#157)
- chore: remove dd managed loader (#165)
- chore: update spdlog to v1.17, use as submodule (#164)
- chore: disallow configuring manual profiler type - only timer create allowed (#162)
- ci: add Makefile for running integration tests locally (#188)
- merge upstream v3.34.0
Full Changelog: v0.13.0-pyroscope...v0.14.0-pyroscope
v0.14.0-rc.7-pyroscope
Fix pthread_sigmask wrapper: use sigismember loop instead of memcmp memcmp fails due to uninitialized padding bytes in sigset_t structure. Instead, iterate through signals to check if SIGSEGV is the only signal in the set before adding SIGPROF. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.14.0-rc.6-pyroscope
more logs
v0.14.0-rc.5-pyroscope
include tid as label