Skip to content

Commit 957d761

Browse files
authored
chore: release 0.3.2 (#263)
* docs: add CONTRIBUTING.md adapted from metrique * chore: release 0.3.2 * fix(ci): skip cargo package and docs check on release branches cargo package resolves workspace dependencies against crates.io, which fails when versions are bumped but not yet published. Release PRs skip this check since release-plz publishes crates in dependency order. Both release/ and release- branch prefixes are now handled consistently across the check-docs and package jobs.
1 parent 9f71b09 commit 957d761

11 files changed

Lines changed: 138 additions & 17 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
check-docs:
5353
name: Check docs.rs
5454
runs-on: ubuntu-latest
55-
if: ${{ !startsWith(github.head_ref, 'release-') && !startsWith(github.ref_name, 'release-') }}
55+
if: ${{ !startsWith(github.head_ref, 'release-') && !startsWith(github.head_ref, 'release/') && !startsWith(github.ref_name, 'release-') && !startsWith(github.ref_name, 'release/') }}
5656
steps:
5757
- uses: actions/checkout@v4
5858
- uses: dtolnay/rust-toolchain@nightly
@@ -89,6 +89,7 @@ jobs:
8989
package:
9090
name: Cargo package
9191
runs-on: ubuntu-latest
92+
if: ${{ !startsWith(github.head_ref, 'release-') && !startsWith(github.head_ref, 'release/') && !startsWith(github.ref_name, 'release-') && !startsWith(github.ref_name, 'release/') }}
9293
steps:
9394
- uses: actions/checkout@v4
9495
- uses: dtolnay/rust-toolchain@master

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.3.2](https://github.com/dial9-rs/dial9-tokio-telemetry/compare/dial9-tokio-telemetry-v0.3.1...dial9-tokio-telemetry-v0.3.2) - 2026-04-20
11+
12+
### Other
13+
14+
- crosslink dial9-viewer from the readme ([#262](https://github.com/dial9-rs/dial9-tokio-telemetry/pull/262))
15+
1016
## [0.3.1](https://github.com/dial9-rs/dial9-tokio-telemetry/compare/dial9-tokio-telemetry-v0.3.0...dial9-tokio-telemetry-v0.3.1) - 2026-04-19
1117

1218
### Added

CONTRIBUTING.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Contributing Guidelines
2+
3+
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional documentation, we greatly value feedback and contributions from our community.
4+
5+
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution.
6+
7+
## Reporting Bugs/Feature Requests
8+
9+
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
10+
11+
When filing an issue, please check [existing open](https://github.com/dial9-rs/dial9-tokio-telemetry/issues), or [recently closed](https://github.com/dial9-rs/dial9-tokio-telemetry/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
12+
13+
* A reproducible test case or series of steps
14+
* The version of our code being used
15+
* Any modifications you've made relevant to the bug
16+
* Anything unusual about your environment or deployment
17+
18+
## Contributing via Pull Requests
19+
20+
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
21+
22+
1. You are working against the latest source on the *main* branch.
23+
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
24+
3. You open an issue to discuss any significant work, we would hate for your time to be wasted.
25+
26+
To send us a pull request, please:
27+
28+
1. Fork the repository.
29+
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
30+
3. Ensure local tests pass.
31+
4. Commit to your fork using clear commit messages and ensure any Rust source files have been formatted with the [rustfmt tool](https://github.com/rust-lang/rustfmt#quick-start)
32+
5. Send us a pull request, answering any default questions in the pull request interface.
33+
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
34+
35+
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and [creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
36+
37+
## Finding contributions to work on
38+
39+
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/dial9-rs/dial9-tokio-telemetry/labels/help%20wanted) issues is a great place to start.
40+
41+
## Dependencies on crates within the workspace
42+
43+
Within-workspace crate dependencies are managed centrally in the root `Cargo.toml` under `[workspace.dependencies]`, with both a `path` and a `version`:
44+
45+
```toml
46+
# root Cargo.toml
47+
[workspace.dependencies]
48+
dial9-trace-format = { version = "0.3.2", path = "dial9-trace-format" }
49+
```
50+
51+
Crates then reference these with `workspace = true`:
52+
53+
```toml
54+
# dial9-tokio-telemetry/Cargo.toml
55+
[dependencies]
56+
dial9-trace-format = { workspace = true, features = ["serde"] }
57+
```
58+
59+
The `version` in the workspace dependency is required for publishing. `release-plz` updates these versions automatically during releases.
60+
61+
Dev-dependencies on workspace crates should *not* include a `version` to avoid chicken-and-egg problems when publishing (since `release-plz` might update the version to the one you are currently publishing):
62+
63+
```toml
64+
[dev-dependencies]
65+
dial9-tokio-telemetry = { path = ".", features = ["analysis", "tracing-layer"] }
66+
```
67+
68+
## Doing releases
69+
70+
There is a `.github/workflows/release.yml` workflow that will attempt to use a crates.io release every time the version in the Cargo.toml changes. That is the sanctioned way of doing releases.
71+
72+
The `release.yml` workflow is authorized to publish releases to the dial9 crates via [trusted publishing], no further authorization is needed or desired for normal release publishing.
73+
74+
[trusted publishing]: https://rust-lang.github.io/rfcs/3691-trusted-publishing-cratesio.html
75+
76+
To update the `Cargo.toml` and changelog, use [conventional commits], and in a clean git repo, run the following commands:
77+
78+
```
79+
cargo install release-plz --locked
80+
git checkout main && release-plz update
81+
# before committing, make sure that CHANGELOG.md contains an appropriate changelog
82+
git commit -a
83+
```
84+
85+
Then make a new PR for the release and get it approved. The automated release PR generation functionality is not used here.
86+
87+
[conventional commits]: https://www.conventionalcommits.org/en/v1.0.0/
88+
89+
### Publishing a new crate
90+
91+
trusted publishing is unable to publish new crates. If you want to add a new crate to the dial9 family, you should:
92+
93+
1. create a branch that contains the crate you are publishing (it should be in the root `Cargo.toml`'s `workspace.members`, and in a publishable state).
94+
2. add the package name to the `changelog_include` list in the `[[package]] name = "dial9-tokio-telemetry"` entry in `release-plz.toml`.
95+
3. run `cargo publish -p <package> --dry-run`
96+
4. get a temporary crates.io token just for the publishing
97+
5. run `cargo login` with that token
98+
6. run `cargo publish -p <package>`
99+
7. set up trusted publishing via the crates.io WebUI to the following state:
100+
101+
```
102+
Publisher: Github
103+
Repository: dial9-rs/dial9-tokio-telemetry
104+
Workflow: release.yml
105+
Environment: release
106+
```
107+
108+
8. revoke the temporary crates.io token
109+
110+
Further publishing should happen via release-plz, without needing to manually work with tokens.
111+
112+
## Licensing
113+
114+
See the [LICENSE](https://github.com/dial9-rs/dial9-tokio-telemetry/blob/main/LICENSE) file for our project's licensing.

Cargo.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ repository = "https://github.com/dial9-rs/dial9-tokio-telemetry"
2020

2121
[workspace.dependencies]
2222
libc = "0.2"
23-
dial9-perf-self-profile = { version = "0.3.1", path = "perf-self-profile" }
24-
dial9-trace-format = { version = "0.3.1", path = "dial9-trace-format" }
25-
dial9-trace-format-derive = { version = "0.3.1", path = "dial9-trace-format-derive" }
26-
dial9-macro = { version = "0.3.1", path = "dial9-macro" }
23+
dial9-perf-self-profile = { version = "0.3.2", path = "perf-self-profile" }
24+
dial9-trace-format = { version = "0.3.2", path = "dial9-trace-format" }
25+
dial9-trace-format-derive = { version = "0.3.2", path = "dial9-trace-format-derive" }
26+
dial9-macro = { version = "0.3.2", path = "dial9-macro" }
2727
assert2 = "0.4"
2828

2929
[profile.release]

dial9-macro/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "dial9-macro"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
edition.workspace = true
55
license.workspace = true
66
repository.workspace = true

dial9-tokio-telemetry/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "dial9-tokio-telemetry"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
edition.workspace = true
55
license.workspace = true
66
repository.workspace = true

dial9-trace-format-derive/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "dial9-trace-format-derive"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
edition.workspace = true
55
license.workspace = true
66
repository.workspace = true

dial9-trace-format/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "dial9-trace-format"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
edition.workspace = true
55
license.workspace = true
66
repository.workspace = true

dial9-viewer/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "dial9-viewer"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
edition.workspace = true
55
license.workspace = true
66
repository.workspace = true

0 commit comments

Comments
 (0)