using-git-worktrees
OBobra/superpowers298k2,631 new stars in the last 7 days
Bump the hotpath version number across the workspace and related files. Updates the versions of all six published crates (drain included) in Cargo.toml files (exact patch version), version references in the backend middleware, hotpath_init skill, and README (major.minor only), and the relay workflow release tag pins (exact `vX.Y.Z` tag). Use when the user wants to bump, bump the version, or release a new hotpath version.
Bump the hotpath version number in every place it appears. The user provides the new version (e.g. 0.25.0); if only major.minor is given, assume patch 0.
Three formats are used:
X.Y.Z, e.g. 0.25.0) - all Cargo.toml entriesX.Y, e.g. 0.25) - crate version referencesvX.Y.Z, e.g. v0.25.0) - hotpath-relay.yml pinsX.Y.ZUpdate the version field in the [package] section of each crate:
crates/hotpath/Cargo.tomlcrates/hotpath-macros/Cargo.tomlcrates/hotpath-meta/Cargo.tomlcrates/hotpath-macros-meta/Cargo.tomlcrates/hotpath-drain/Cargo.tomlcrates/hotpath-drain-meta/Cargo.tomlUpdate the version in the six [workspace.dependencies] entries in the root Cargo.toml:
hotpath-macros = { path = "./crates/hotpath-macros", version = "X.Y.Z" }
hotpath-drain = { path = "./crates/hotpath-drain", version = "X.Y.Z" }
hotpath = { path = "./crates/hotpath", version = "X.Y.Z" }
hotpath-meta = { path = "./crates/hotpath-meta", version = "X.Y.Z" }
hotpath-macros-meta = { path = "./crates/hotpath-macros-meta", version = "X.Y.Z" }
hotpath-drain-meta = { path = "./crates/hotpath-drain-meta", version = "X.Y.Z" }
All six crates always share the same version; never bump one without the others. This matters for the drain crates even when their code is unchanged: published hotpath-drain depends on hotpath-meta, so a drain left on an older release keeps pulling a stale hotpath-meta copy into downstream lockfiles (and splits meta profiling across two versions). All six are published together via just cargo-publish, which lists them in dependency order.
X.Y../hotpath-backend/src/config/middleware.rs (separate repo, sibling directory):
("{{HOTPATH_VERSION}}", "X.Y"),
skills/hotpath_init/SKILL.md - every version occurrence (hotpath = "X.Y", hotpath = { version = "X.Y", ... })
README.md - every version occurrence (cargo install hotpath --version '^X.Y', hotpath = "X.Y")
vX.Y.ZAdopters pin the reusable relay workflow to the release tag, so these point at the tag this release creates:
../hotpath-backend/src/config/middleware.rs:
("{{HOTPATH_RELEASE_TAG}}", "vX.Y.Z"),
skills/hotpath_init_ci_forks/SKILL.md - every vX.Y.Z occurrence (the [email protected] pin and the pinning instructions)
.github/workflows/hotpath-relay.yml - the [email protected] pin in the usage comment at the top
Leave .github/workflows/cloud-random-benchmark-relay.yml on @main: it tests the relay on the default branch.
Search for stragglers with the old version, excluding lockfiles, target dirs, and third-party code:
rg -n 'OLD_X\.OLD_Y' Cargo.toml README.md skills/ crates/hotpath/Cargo.toml crates/hotpath-macros/Cargo.toml crates/hotpath-meta/Cargo.toml crates/hotpath-macros-meta/Cargo.toml crates/hotpath-drain/Cargo.toml crates/hotpath-drain-meta/Cargo.toml
rg -n 'OLD_X\.OLD_Y' ../hotpath-backend/src/config/middleware.rs .github/workflows/hotpath-relay.yml
Ignore matches that are not hotpath version references (other dependencies may coincidentally share the number). Then run cargo check so Cargo.lock picks up the new versions.
OBobra/superpowers298k2,631 new stars in the last 7 days
OBobra/superpowers298k2,631 new stars in the last 7 days
OBobra/superpowers298k2,631 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days