Skip to content

fix: pin hts-sys 2.2.0 and turn off the release-plz semver check - #148

Merged
mrvollger merged 1 commit into
release/v0.13from
fix/hts-sys-pin
Sep 18, 2026
Merged

mrvollger merged 1 commit into
release/v0.13from
fix/hts-sys-pin

Conversation

@mrvollger

Copy link
Copy Markdown
Member

Second layer under #146. release-plz still failed to open the 0.13.1 release PR, this time inside rust-htslib:

error[E0609]: no field `isize` on type `bam1_core_t`
error: could not compile `rust-htslib` (lib) due to 10 previous errors

Cause

hts-sys 2.2.1 changed bindings that rust-htslib 0.46 relies on. Our Cargo.lock pins 2.2.0, so locked builds pass. A fresh resolution picks 2.2.1 and fails. This is the same error #127 hit on Read the Docs, so cargo install fibertools-rs without --locked has been broken since 2.2.1 was published.

Fix

  • Pin hts-sys = "=2.2.0" as a direct dependency until rust-htslib is bumped. The lockfile gains one edge and nothing else changes.
  • semver_check = false. cargo-semver-checks builds the published 0.13.0 baseline the same fresh way, and that crate on crates.io still has vergen-git2 1.x, so no change here can make it pass. Neither cargo-semver-checks nor release-plz has a way to honor a lockfile. The comment in release-plz.toml explains this.

Check

On stable 1.98.1: a scratch crate that depends on this tree with no lockfile passes cargo check (what cargo install does), and cargo build --release --locked passes with ft --version still printing the git commit.

hts-sys 2.2.1 changed bindings that rust-htslib 0.46 relies on, so any
resolution not pinned by Cargo.lock (cargo install, cargo-semver-checks)
fails to compile rust-htslib. Pin hts-sys to the 2.2.0 the lockfile
already held until rust-htslib is bumped.

cargo-semver-checks also builds the published baseline crate from a
fresh resolution. The 0.13.0 crate on crates.io still has vergen-git2
1.x, which no longer resolves against vergen 9.1.0, so the check can
never pass for that baseline. Turn it off; conventional-commit bumping
is what we rely on.
@mrvollger
mrvollger merged commit bc42a95 into release/v0.13 Sep 18, 2026
9 checks passed
mrvollger added a commit that referenced this pull request Sep 18, 2026
#148 placed `semver_check = false` after the molecular-annotation
`[[package]]` header, so it applied to that crate only. release-plz
still ran cargo-semver-checks for fibertools-rs and failed on the
published 0.13.0 baseline, exactly as #148 predicted for a check that is
on (run 35359879404).

Moves the key into `[workspace]`. Merging this is a push, so release-plz
runs again and should open the 0.13.1 release PR.

Co-authored-by: Mitchell R. Vollger <mvollger@gmail.com>
mrvollger pushed a commit that referenced this pull request Sep 18, 2026
## 🤖 New release

* `fibertools-rs`: 0.13.0 -> 0.13.1

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[0.13.1](v0.13.0...v0.13.1)
- 2026-09-18

### Fixed

- pin hts-sys 2.2.0 and turn off the release-plz semver check
([#148](#148))
- bump vergen-git2 to 9.1 so a fresh resolution builds again
([#146](#146))
- ft call-peaks --haps fills the H1/H2 columns
([#142](#142))

### Other

- put semver_check = false in the [workspace] table
([#150](#150))
- support patch releases from release/** branches
([#143](#143))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
mrvollger added a commit that referenced this pull request Sep 18, 2026
Twin of #148 for main, rebased onto #147 so the two do not conflict on
the release-plz.toml comment. Merging this brings in #147's commit too;
#147 can then be closed as included.

Same content as #148 plus the fix from #150: `semver_check = false`
lives in the `[workspace]` table.

**Do not merge until #132 (the 0.13.1 release PR on `release/v0.13`) is
merged.** release-plz finds its open release PR by branch prefix only. A
push to main with the semver check off would run release-plz-pr, find
#132 by its `release-plz-` branch name, and force-push 0.14.0 content
onto it. Today the only thing preventing that is main's run dying in the
semver check, which this PR removes.

After #132: merge this first on main, then #141 and #138. release-plz
then opens a fresh 0.14.0 release PR.

---------

Co-authored-by: Mitchell R. Vollger <mvollger@gmail.com>
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.

1 participant