Skip to content

Tags: jdx/usage

Tags

v5.0.0

Toggle v5.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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 -->

v4.1.0

Toggle v4.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release v4.1.0 (#744)

v4.0.0

Toggle v4.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(spec): allow effect= on flags and args (#742)

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

v3.6.0

Toggle v3.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release v3.6.0 (#741)

v3.5.7

Toggle v3.5.7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release v3.5.7 (#737)

v3.5.6

Toggle v3.5.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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)

v3.5.5

Toggle v3.5.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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)

v3.5.4

Toggle v3.5.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release v3.5.4 (#696)

v3.5.3

Toggle v3.5.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release v3.5.3 (#690)

v3.5.2

Toggle v3.5.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release v3.5.2 (#688)