From 6cf95548ba8fc2ed412348c177e02071d88d88b6 Mon Sep 17 00:00:00 2001 From: "Mitchell R. Vollger" Date: Fri, 18 Sep 2026 09:19:34 -0600 Subject: [PATCH 1/3] ci: give release/v0.13 its own release-PR branch prefix release-plz matches its open release PR by head-branch prefix only. With the default prefix a run on this branch took over main's release PR (#132) and force-pushed 0.13.1 onto it. --- release-plz.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/release-plz.toml b/release-plz.toml index 7cb14e00..645ac244 100644 --- a/release-plz.toml +++ b/release-plz.toml @@ -10,6 +10,13 @@ # releases on ANY commit (chore/docs/ci included, as a patch); this restricts it # to meaningful changes. Breaking changes use feat!/fix!, which still match. release_commits = "^(feat|fix)[(:!]" +# release-plz finds "its" open release PR by head-branch prefix only, with no +# base-branch filter (opened_prs in release_plz_core). main uses the default +# "release-plz-", so a run on this branch would grab main's 0.14.x release PR +# and force-push 0.13.x content onto it (that happened to #132 on 2026-09-18). +# A prefix that does not start with "release-plz-" or "release-plz/" keeps the +# two branches' release PRs apart in both directions. +pr_branch_prefix = "release-v0.13-" # The release-plz action installs cargo-semver-checks, so the check runs unless # turned off here, and it must be set in this [workspace] table to apply to # every package. It builds both the current source and the published baseline From d3b669ac9295f92167791c681e327dee91bffd2a Mon Sep 17 00:00:00 2001 From: "Mitchell R. Vollger" Date: Fri, 18 Sep 2026 09:24:44 -0600 Subject: [PATCH 2/3] docs: sharpen the hts-sys and semver_check comments hts-sys 2.2.1 did not change htslib; it regenerated bindings with bindgen 0.72, which renamed isize to isize_ and size_t to usize. And the semver check only needs to stay off until 0.13.1 is the published baseline. --- Cargo.toml | 7 ++++--- release-plz.toml | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b7179743..6578dbc0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,9 +20,10 @@ exclude = ["py-ft", "molecular-annotation/python"] [workspace.dependencies] rust-htslib = "0.46" -# hts-sys 2.2.1 changed bindings that rust-htslib 0.46 relies on (bam1_core_t -# isize, bgzf write length), so a fresh resolution fails to compile. Pin until -# rust-htslib is bumped. Cargo.lock already held 2.2.0. +# hts-sys 2.2.1 regenerated its bindings with bindgen 0.72 over the same +# htslib 1.19.1: bam1_core_t.isize became isize_ and size_t became usize. +# rust-htslib 0.46 still uses the old names, so a fresh resolution fails to +# compile. Pin until rust-htslib is bumped. Cargo.lock already held 2.2.0. hts-sys = "=2.2.0" # molecular-annotation is versioned independently of fibertools-rs and kept at # a low 0.0.x "internal crate" version (bump only when its code changes). The diff --git a/release-plz.toml b/release-plz.toml index 645ac244..375c89ea 100644 --- a/release-plz.toml +++ b/release-plz.toml @@ -23,7 +23,9 @@ pr_branch_prefix = "release-v0.13-" # from a fresh registry resolution without any Cargo.lock. The baseline is # immutable, and the 0.13.0 crate no longer resolves to a buildable set (vergen # 9.1.0 vs vergen-git2 1.x), so the check can never pass again for that -# baseline. Conventional-commit bumping is what we rely on. +# baseline. Once 0.13.1 is the newest published version, the baseline resolves +# fresh again and this can be turned back on. Conventional-commit bumping is +# what we rely on meanwhile. semver_check = false [[package]] From ca8ef86410d2840212fb97b1fea92aa5475629b0 Mon Sep 17 00:00:00 2001 From: "Mitchell R. Vollger" Date: Fri, 18 Sep 2026 09:30:59 -0600 Subject: [PATCH 3/3] ci: never mark a release/v0.13 release as latest Once 0.14.0 exists, a later 0.13.x would otherwise become GitHub's latest release, which ft-update and releases/latest/download follow. --- release-plz.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release-plz.toml b/release-plz.toml index 375c89ea..115aba5b 100644 --- a/release-plz.toml +++ b/release-plz.toml @@ -32,6 +32,9 @@ semver_check = false name = "fibertools-rs" git_tag_name = "v{{ version }}" # keep v0.X.Y (matches existing tags + cargo-dist) git_release_draft = true # draft so cargo-dist attaches binaries, then un-drafts +# A 0.13.x patch cut after 0.14.0 exists must not become GitHub's "latest": +# the cargo-dist updater and releases/latest/download URLs follow that flag. +git_release_latest = false features_always_increment_minor = true # feat -> minor even on 0.x # Prepend an install section (the cargo-dist shell installer) to the changelog # in the GitHub release body. {{ version }} is the release version; the tag is