From c0a3b95adb0d17b87d743aca6d8ca90b37cfde23 Mon Sep 17 00:00:00 2001 From: Eugene Talagrand Date: Tue, 3 Mar 2026 14:53:14 -0800 Subject: [PATCH 1/3] ci: codecov upload only when token available --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c74d02..5502889 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,6 +90,7 @@ jobs: retention-days: 30 - name: Upload to Codecov + if: env.CODECOV_TOKEN != '' uses: codecov/codecov-action@v5 with: files: lcov.info From 74b4001d42ebdf6ddbc423ee7ee5cfe3f7e0b824 Mon Sep 17 00:00:00 2001 From: Eugene Talagrand Date: Tue, 3 Mar 2026 14:57:56 -0800 Subject: [PATCH 2/3] docs: clarify commit conventions --- docs/MAINTAINERS-GUIDE.md | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/docs/MAINTAINERS-GUIDE.md b/docs/MAINTAINERS-GUIDE.md index f21581c..5c72fee 100644 --- a/docs/MAINTAINERS-GUIDE.md +++ b/docs/MAINTAINERS-GUIDE.md @@ -104,6 +104,47 @@ migration steps may be needed. --- +## Commit Conventions + +This project uses [Conventional Commits](https://www.conventionalcommits.org/) with the +[Angular type extensions](https://github.com/angular/angular/blob/main/contributing-docs/commit-message-format.md). +Each commit message should have the form: `(): `. +The scope is optional but encouraged when it adds clarity. + +**Types:** + +| Type | Purpose | +|------|---------| +| `feat` | New feature (user-visible) | +| `fix` | Bug fix | +| `docs` | Documentation only | +| `style` | Formatting, whitespace (no logic change) | +| `refactor` | Code restructuring (no feature or fix) | +| `perf` | Performance improvement | +| `test` | Adding or updating tests | +| `build` | Build system or dependencies | +| `ci` | CI/CD configuration | +| `chore` | Maintenance (tooling, config, lint settings) | + +Append `!` after the type/scope for breaking changes: `refactor!: ...` or `feat(eval)!: ...`. +(don't forget this requires a semver version bump) + +Examples of scopes used in this project: + +| Scope | When to use | +|-------|-------------| +| `deps` | Dependency updates (`build(deps)`, `ci(deps)`) | +| `fuzz` | Fuzzing infrastructure | +| `lint` | Clippy / lint configuration | +| `coverage` | Code coverage tooling | + +Scopes are free-form — add new ones when they improve clarity (e.g., `feat(eval)`, `fix(scheme)`). + +Only `feat` and `fix` are required by the spec; the rest are Angular conventions widely adopted in +practice. Use lowercase types, keep the summary concise and imperative ("add X", not "added X"). + +--- + ## Publishing a New Version to crates.io The crate is published automatically by the [release workflow](../.github/workflows/release.yml) From 539ce0ea82c4a1b236b85bcede4f8bd60a857965 Mon Sep 17 00:00:00 2001 From: Eugene Talagrand Date: Tue, 3 Mar 2026 15:06:51 -0800 Subject: [PATCH 3/3] docs: Document MSRV --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index de29b0c..e4c14c4 100644 --- a/README.md +++ b/README.md @@ -256,6 +256,10 @@ and builtin errors are surfaced directly as `Error` values. - [ ] Stabilized Rust API - [ ] ABI for FFI from C++/C# +## Minimum supported Rust version + +Rust 1.90. + ## Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a