Skip to content

fix(release): sync subcrate versions and use YYYY.MM.0 calver#7516

Merged
jdx merged 2 commits intomainfrom
fix/release-plz-subcrate-versioning
Dec 30, 2025
Merged

fix(release): sync subcrate versions and use YYYY.MM.0 calver#7516
jdx merged 2 commits intomainfrom
fix/release-plz-subcrate-versioning

Conversation

@jdx
Copy link
Owner

@jdx jdx commented Dec 30, 2025

Summary

Fixes the release-plz workflow failure caused by the independent subcrate versioning feature (#7402).

Root cause:

  1. No initial tags (vfox-v*, aqua-registry-v*) were created when the feature was deployed
  2. has_crate_changes() always detected changes since no tags existed
  3. The calver bump logic bumped 2025.10.02025.11.0, but 2025.11.0 already existed on crates.io

This fix:

  • Updates subcrate Cargo.toml versions to match crates.io (2025.12.12)
  • Simplifies calver logic to use YYYY.MM.0 for first release of each month
  • Tags vfox-v2025.12.12 and aqua-registry-v2025.12.12 were pushed separately

New versioning scheme for subcrates:

  • First release in a month: YYYY.MM.0 (e.g., 2025.12.0, 2026.1.0)
  • Subsequent releases in same month: YYYY.MM.1, YYYY.MM.2, etc.

Test plan

  • Verify script syntax with bash -n xtasks/release-plz
  • Verify release-plz workflow passes after merge

🤖 Generated with Claude Code


Note

Aligns subcrate versions with crates.io and standardizes monthly calver behavior in the release script.

  • Bumps aqua-registry and vfox to 2025.12.12 in their Cargo.toml files and Cargo.lock
  • Updates xtasks/release-plz to use calver YYYY.MM.0 on new month/year and patch-bump within the same YYYY.MM, applied in both bump_subcrate_if_changed and bump_and_publish_subcrate

Written by Cursor Bugbot for commit cad4356. This will update automatically on new commits. Configure here.

The independent subcrate versioning feature (#7402) had two issues:

1. No initial tags were created for existing published versions, causing
   `has_crate_changes()` to always detect changes and attempt republishing

2. The calver bump logic was complex and could produce versions that
   already exist on crates.io (e.g., bumping 2025.10.0 -> 2025.11.0 when
   2025.11.0 was already published)

This fix:
- Updates subcrate Cargo.toml versions to match crates.io (2025.12.12)
- Simplifies calver to use YYYY.MM.0 for first release of each month
- Tags vfox-v2025.12.12 and aqua-registry-v2025.12.12 were pushed separately

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings December 30, 2025 18:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the release-plz workflow by synchronizing subcrate versions with crates.io and simplifying the calver versioning scheme. The root issue was missing initial tags causing incorrect version bumps (2025.10.0 → 2025.11.0, which already existed on crates.io).

Key changes:

  • Syncs vfox and aqua-registry crate versions to 2025.12.12 (matching crates.io)
  • Simplifies calver logic to use YYYY.MM.0 for first release in a month, then YYYY.MM.1, YYYY.MM.2, etc. for subsequent releases

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
xtasks/release-plz Simplified calver bump logic to use YYYY.MM.0 for new months and remove the intermediate year-only check
crates/vfox/Cargo.toml Updated version from 2025.10.0 to 2025.12.12 to sync with crates.io
crates/aqua-registry/Cargo.toml Updated version from 2025.10.0 to 2025.12.12 to sync with crates.io

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jdx
Copy link
Owner Author

jdx commented Dec 30, 2025

bugbot run

@github-actions
Copy link

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.12 x -- echo 19.2 ± 0.3 18.6 21.7 1.00
mise x -- echo 19.4 ± 0.4 18.8 24.5 1.01 ± 0.03

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.12 env 18.8 ± 0.5 18.3 25.3 1.00
mise env 18.9 ± 0.2 18.4 20.4 1.01 ± 0.03

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.12 hook-env 18.9 ± 0.2 18.5 20.0 1.00
mise hook-env 19.1 ± 2.0 18.5 63.3 1.01 ± 0.11

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.12 ls 16.9 ± 0.9 16.3 27.8 1.00
mise ls 16.9 ± 0.2 16.5 18.1 1.00 ± 0.05

xtasks/test/perf

Command mise-2025.12.12 mise Variance
install (cached) 107ms 109ms -1%
ls (cached) 65ms 65ms +0%
bin-paths (cached) 72ms 71ms +1%
task-ls (cached) 2268ms ✅ 287ms +690%

✅ Performance improvement: task-ls cached is 690%

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no bugs!

@jdx jdx merged commit 8bb402b into main Dec 30, 2025
35 checks passed
@jdx jdx deleted the fix/release-plz-subcrate-versioning branch December 30, 2025 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants