Tags: jdx/usage
Tags
chore: resume v5 release after partial publish (#779) ## Summary - bump `clap_usage` to 5.0.0 so `usage-cli` resolves a single `usage-lib` major - make crate publishing idempotent by skipping versions already present in the crates.io sparse index - allow the v5 release workflow to resume after `usage-lib 5.0.0` was published but CLI verification failed ## Root cause The first v5 publish uploaded `usage-lib 5.0.0`, then packaged `usage-cli` against published `clap_usage 4.0.0`. That crate depends on `usage-lib 4.x`, so the package contained incompatible `usage::Spec` types from v4 and v5. ## Validation - `cargo check --workspace` - `cargo package -p clap_usage --allow-dirty` - `shellcheck tasks/release-plz` - `mise run lint` - `git diff --check` <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Changes release automation and crate versioning on the critical path to crates.io; logic is straightforward but a mistake could skip or duplicate publishes. > > **Overview** > **Resumes the v5 release** after `usage-lib 5.0.0` was already on crates.io but the CLI publish failed: published `clap_usage 4.0.0` still pulled `usage-lib 4.x`, so `usage-cli` mixed incompatible `usage::Spec` types. > > **Bumps `clap_usage` to 5.0.0** in the workspace and crate manifests so `usage-cli` resolves a single `usage-lib` major alongside the workspace. > > **Refactors `tasks/release-plz`** so publishing is idempotent: `crate_version_is_published` checks the crates.io sparse index (correct path layout for any crate name), and `publish_crate_if_needed` skips versions already published. The main release path now calls that helper for `usage-lib`, `clap_usage`, and `usage-cli` in dependency order instead of only special-casing `clap_usage`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 1d7d106. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated `clap_usage` dependency to version 5.0.0 <!-- end of auto-generated comment: release notes by coderabbit.ai -->
chore: release v3.5.6 (#725) ### 🐛 Bug Fixes - **(cli)** avoid trailing semicolon in macro expression position by [@jdx](https://github.com/jdx) in [#729](#729) - **(completion)** write spec cache to private dir instead of world-writable tmp by [@jdx](https://github.com/jdx) in [#727](#727) - **(lib)** remove needless borrows in format args by [@jdx](https://github.com/jdx) in [#726](#726) - **(markdown)** preserve HTML in fenced code blocks by [@risu729](https://github.com/risu729) in [#720](#720) - **(nu)** create completion cache dir with mode 700 and fix home-dir lookup by [@jdx](https://github.com/jdx) in [#731](#731) ### 🔍 Other Changes - remove dtolnay/rust-toolchain action, use runner default rust by [@jdx](https://github.com/jdx) in [#724](#724) - regenerate aube-lock.yaml on renovate branches by [@jdx](https://github.com/jdx) in [#728](#728) - exclude aube-lock.yaml from prettier by [@jdx](https://github.com/jdx) in [#732](#732) ### 📦️ Dependency Updates - lock file maintenance by [@renovate[bot]](https://github.com/renovate[bot]) in [#723](#723)
chore: release v3.5.5 (#711) ### 🐛 Bug Fixes - **(parse)** allow hyphen-prefixed flag values by [@jdx](https://github.com/jdx) in [#715](#715) ### 📚 Documentation - redesign logo as flat vector flag mark by [@jdx](https://github.com/jdx) in [#714](#714) ### 🧪 Testing - invoke typescript compiler through npx package by [@jdx](https://github.com/jdx) in [#719](#719) ### 🔍 Other Changes - **(release)** skip ai reviews for release prs by [@jdx](https://github.com/jdx) in [#718](#718) - schedule releases for Monday morning by [@jdx](https://github.com/jdx) in [#710](#710) - gate autorelease on fix and feat commits by [@jdx](https://github.com/jdx) in [#716](#716)
PreviousNext