From 6ad1efd751e81b70e34716388210646daecc1455 Mon Sep 17 00:00:00 2001 From: Russell Cohen Date: Mon, 4 May 2026 18:31:24 +0000 Subject: [PATCH] Release 0.3.6 et al (0.4.0 for perf-self-profile) --- CHANGELOG.md | 26 ++++++++++++++++++++------ Cargo.lock | 8 ++++---- Cargo.toml | 4 ++-- dial9-macro/Cargo.toml | 2 +- dial9-tokio-telemetry/Cargo.toml | 2 +- dial9-viewer/Cargo.toml | 2 +- perf-self-profile/Cargo.toml | 2 +- 7 files changed, 30 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eace2ac0..e941ec1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added +## [0.3.7](https://github.com/dial9-rs/dial9-tokio-telemetry/compare/dial9-tokio-telemetry-v0.3.6...dial9-tokio-telemetry-v0.3.7) - 2026-05-04 -- **Inline config in the macro**: `#[dial9_tokio_telemetry::main]` now accepts a closure, so simple setups no longer need a separate config function. -- **Fluent config builder**: `Dial9Config::builder()` with named setters, `with_tokio`/`with_runtime` closures, and `.enabled(bool)`. The original positional API under `dial9_tokio_telemetry::config` is unchanged. -- **`build_or_disabled()`**: on config validation or writer I/O failure, logs an error and starts a plain tokio runtime instead of crashing. Use `build()` to handle failures explicitly. +### Added -All three in action: +- Include CPU id in CPU profile samples ([#338](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/338)) +- **New config API** ([#256](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/256)): `Dial9Config::builder()` replaces the positional `Dial9ConfigBuilder::new(path, file_size, total_size)` with a fluent builder. Inline closures are now supported in the macro, and `build_or_disabled()` gracefully falls back to a plain tokio runtime on config/IO failure: ```rust #[dial9_tokio_telemetry::main(config = || { @@ -25,10 +24,25 @@ All three in action: })] async fn main() { /* ... */ } ``` +- free `dial9_tokio_telemetry::spawn()` function ([#343](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/343)) ### Changed -- `TelemetryHandle::current()` no longer panics off-runtime. It returns an inert handle whose `spawn` falls through to `tokio::spawn`. Use `TelemetryHandle::is_enabled()` to check whether telemetry is live. +- `TelemetryHandle::current()` no longer panics off-runtime — it returns an inert handle whose `spawn` falls through to `tokio::spawn`. Use `TelemetryHandle::is_enabled()` to check whether telemetry is live. ([#256](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/256)) + +### Fixed + +- fix security audit ([#344](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/344)) +- Avoid constructing events when telemetry is disabled ([#332](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/332)) +- align span panel to worker lane coordinate system ([#341](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/341)) + +### Other + +- Add metrics section to the prod use docs ([#352](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/352)) +- Add SpanCloseEvent to tracing layer ([#348](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/348)) +- Remove RawEvent and unify internals to use public API ([#339](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/339)) +- fix unresolved intra-doc links in rustdoc builds ([#347](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/347)) +- Add dial9-in-prod example ([#335](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/335)) ## [0.3.6](https://github.com/dial9-rs/dial9-tokio-telemetry/compare/dial9-tokio-telemetry-v0.3.5...dial9-tokio-telemetry-v0.3.6) - 2026-04-30 diff --git a/Cargo.lock b/Cargo.lock index 58dde43d..1cd3a25e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1434,7 +1434,7 @@ dependencies = [ [[package]] name = "dial9-macro" -version = "0.3.5" +version = "0.3.6" dependencies = [ "insta", "prettyplease", @@ -1445,7 +1445,7 @@ dependencies = [ [[package]] name = "dial9-perf-self-profile" -version = "0.3.6" +version = "0.4.0" dependencies = [ "blazesym", "crossbeam-utils", @@ -1458,7 +1458,7 @@ dependencies = [ [[package]] name = "dial9-tokio-telemetry" -version = "0.3.6" +version = "0.3.7" dependencies = [ "arc-swap", "assert2", @@ -1526,7 +1526,7 @@ dependencies = [ [[package]] name = "dial9-viewer" -version = "0.3.6" +version = "0.3.7" dependencies = [ "anyhow", "assert2", diff --git a/Cargo.toml b/Cargo.toml index b59dc944..5388fb29 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,10 +21,10 @@ repository = "https://github.com/dial9-rs/dial9-tokio-telemetry" [workspace.dependencies] libc = "0.2" -dial9-perf-self-profile = { version = "0.3.6", path = "perf-self-profile" } +dial9-perf-self-profile = { version = "0.4.0", path = "perf-self-profile" } dial9-trace-format = { version = "0.3.6", path = "dial9-trace-format" } dial9-trace-format-derive = { version = "0.3.5", path = "dial9-trace-format-derive" } -dial9-macro = { version = "0.3.5", path = "dial9-macro" } +dial9-macro = { version = "0.3.6", path = "dial9-macro" } assert2 = "0.4" [profile.release] diff --git a/dial9-macro/Cargo.toml b/dial9-macro/Cargo.toml index 5071da89..4383ada3 100644 --- a/dial9-macro/Cargo.toml +++ b/dial9-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dial9-macro" -version = "0.3.5" +version = "0.3.6" edition.workspace = true license.workspace = true repository.workspace = true diff --git a/dial9-tokio-telemetry/Cargo.toml b/dial9-tokio-telemetry/Cargo.toml index 57481011..91968451 100644 --- a/dial9-tokio-telemetry/Cargo.toml +++ b/dial9-tokio-telemetry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dial9-tokio-telemetry" -version = "0.3.6" +version = "0.3.7" edition.workspace = true license.workspace = true repository.workspace = true diff --git a/dial9-viewer/Cargo.toml b/dial9-viewer/Cargo.toml index b4562669..2ee9ad6f 100644 --- a/dial9-viewer/Cargo.toml +++ b/dial9-viewer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dial9-viewer" -version = "0.3.6" +version = "0.3.7" edition.workspace = true license.workspace = true repository.workspace = true diff --git a/perf-self-profile/Cargo.toml b/perf-self-profile/Cargo.toml index e23bd5a1..233219f0 100644 --- a/perf-self-profile/Cargo.toml +++ b/perf-self-profile/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dial9-perf-self-profile" -version = "0.3.6" +version = "0.4.0" edition.workspace = true repository.workspace = true description = "Minimal self-profiling via Linux perf_event_open with frame-pointer-based stack traces"