Skip to content

chore: release v0.7.0 - #780

Merged
nh13 merged 1 commit into
mainfrom
release-plz-2026-08-15T22-12-07Z
Aug 25, 2026
Merged

nh13 merged 1 commit into
mainfrom
release-plz-2026-08-15T22-12-07Z

Conversation

@nh13

@nh13 nh13 commented Aug 15, 2026 •

Copy link
Copy Markdown
Member

🤖 New release

  • fgumi-bgzf: 0.6.0 -> 0.7.0
  • fgumi-dna: 0.6.0 -> 0.7.0
  • fgumi-tag: 0.6.0 -> 0.7.0
  • fgumi-raw-bam: 0.6.0 -> 0.7.0
  • fgumi-bam-io: 0.6.0 -> 0.7.0
  • fgumi-metrics: 0.6.0 -> 0.7.0
  • fgumi-sam: 0.6.0 -> 0.7.0
  • fgumi-consensus: 0.6.0 -> 0.7.0
  • fgumi-simd-fastq: 0.6.0 -> 0.7.0
  • fgumi-sort: 0.6.0 -> 0.7.0
  • fgumi-umi: 0.6.0 -> 0.7.0
  • fgumi: 0.6.0 -> 0.7.0
Changelog

fgumi-bgzf

[0.7.0] - 2026-08-24

Features

  • Decode the single-threaded raw-BAM reader via fgumi-bgzf, honoring verify_crc (#800) (#842)

Performance

  • Skip BGZF CRC verification on trusted stdin input by default (#786) (#798)

Testing

  • Bound the Phase 1 input path's cost with two harnesses (#837)

fgumi-dna

[0.7.0] - 2026-08-24

fgumi-tag

[0.7.0] - 2026-08-24

Miscellaneous Tasks

  • Update Cargo.toml dependencies

fgumi-raw-bam

[0.7.0] - 2026-08-24

Bug Fixes

  • Clip overlapping reads by query distance, not reference distance (#759)
  • Clip past-mate reads by query distance, not reference distance (#760) (#840)
  • Capture overlapping selected aux tags independently (#851)
  • Trim read-through on dovetail FR pairs in the MC-tag path (#853)
  • Clip dovetail FR overlaps and make the TLEN FR check crate-internal (#857)

Features

  • Add retag command to rewrite SAM tags (copy/move/delete) (#824)

Performance

  • Skip the record-read zero-fill via a spare-capacity read (#786) (#797)
  • [breaking] Cut the Phase 1 ingest thread's per-record cost (#829)

Refactor

  • Remove dead SamRecordClipper, port its tests to RawRecordClipper (#854)

fgumi-bam-io

[0.7.0] - 2026-08-24

Bug Fixes

  • [breaking] Fail on data left unflushed at end of stream (#783)

Features

  • Decode the single-threaded raw-BAM reader via fgumi-bgzf, honoring verify_crc (#800) (#842)
  • Honor --check-crc on correct/group single-threaded paths (#800) (#805)

Performance

  • Skip BGZF CRC verification on trusted stdin input by default (#786) (#798)
  • Honor --check-crc for BGZF-compressed FASTQ input (#819) (#820)

fgumi-metrics

[0.7.0] - 2026-08-24

Bug Fixes

  • Emit the five codec stats rows fgbio reports (#754)
  • Count and route reads dropped by downsampling (#724) (#785)

Features

  • Per-library complexity metrics and duplication saturation ladder (#786) (#799)
  • Add sample column and marginal duplication-ladder columns (#802) (#841)
  • Add Picard pair/orphan duplicate breakdown to --metrics (#804) (#815)
  • Add --legacy-overlap-window for fgbio-parity output (#861)

Performance

  • Iterate raw CIGAR ops without a per-record Vec at four hot sites (#834)

fgumi-sam

[0.7.0] - 2026-08-24

Bug Fixes

  • Preserve non-UTF-8 string tag bytes when clipping (#833)
  • Clip past-mate reads by query distance, not reference distance (#760) (#840)
  • Clip dovetail FR overlaps and make the TLEN FR check crate-internal (#857)

Performance

  • Iterate raw CIGAR ops without a per-record Vec at four hot sites (#834)
  • [breaking] Cut the Phase 1 ingest thread's per-record cost (#829)

Refactor

  • Remove dead SamRecordClipper, port its tests to RawRecordClipper (#854)

fgumi-consensus

[0.7.0] - 2026-08-24

Bug Fixes

  • Emit the five codec stats rows fgbio reports (#754)
  • Read out-of-range overlap boundaries the way fgbio does (#755)
  • Reconcile single-strand rejections with --stats and --rejects (#758)
  • Route per-read rejections to the --rejects output (#756)
  • Clip overlapping reads by query distance, not reference distance (#759)
  • Clamp the duplex window to the region both strands align (#767)
  • Store the CODEC fixture's reverse read in reference orientation (#768)
  • Count and route reads dropped by downsampling (#724) (#785)
  • [breaking] Count and route reads that trim to zero length (#793)
  • [breaking] Cap simplex --max-reads per end, not per group (#723) (#812)
  • Clip past-mate reads by query distance, not reference distance (#760) (#840)
  • Clip dovetail FR overlaps and make the TLEN FR check crate-internal (#857)

Features

  • Add --legacy-overlap-window for fgbio-parity output (#861)

Performance

  • Avoid three per-record heap allocations (group / downsample / overlapping consensus) (#832)
  • Iterate raw CIGAR ops without a per-record Vec at four hot sites (#834)

Testing

  • Assert the bases the CODEC consensus tests are named for (#770)
  • Make the CODEC tests that cannot fail fail (#774)
  • Assert the bases the codec_template consensus tests are named for (#808)

fgumi-simd-fastq

[0.7.0] - 2026-08-24

fgumi-sort

[0.7.0] - 2026-08-24

Features

  • [breaking] Put the performance diagnostics behind --sort-stats (#826)
  • Split the input reader's time between the disk and framing (#838)

Performance

  • Read ahead deeply on the file the merge is blocked on (#806)
  • Measure where the merge consumer's park time actually goes (#813)
  • Give read-ahead depth to the file the merge is actually on (#814)
  • Name which floor the merge is on, and stop shouting the detail (#823)
  • [breaking] Cut the Phase 1 ingest thread's per-record cost (#829)
  • Overlap key extraction, reuse arena pages, and read with real queue depth (#846)

Refactor

  • Make --sort-stats run-scoped instead of a process-global static (#855)

Testing

  • Bound the Phase 1 input path's cost with two harnesses (#837)

fgumi-umi

[0.7.0] - 2026-08-24

Documentation

  • Clarify the paired strategy never actually uses the index (#856)

fgumi

[0.7.0] - 2026-08-24

Bug Fixes

  • Emit the five codec stats rows fgbio reports (#754)
  • Qualify the content-mode diff count when pairing stopped early (#750)
  • Reconcile single-strand rejections with --stats and --rejects (#758)
  • Route per-read rejections to the --rejects output (#756)
  • Clip overlapping reads by query distance, not reference distance (#759)
  • Treat spec-equivalent @hd SO/GO spellings as compatible (#784)
  • [breaking] Reject FASTQ inputs with different record counts (#776)
  • [breaking] Fail on data left unflushed at end of stream (#783)
  • Enforce the queue memory budget at the Read step (#764)
  • Admit the gap-filler serial to Decode under memory-high (#746) (#787)
  • Enforce the queue memory budget at the FASTQ Read step (#772)
  • Separate the per-stage high-water mark from --max-memory (#775)
  • [breaking] Count and route reads that trim to zero length (#793)
  • Saturate queue-byte debits so queue_bytes_in_flight cannot overflow (#811)
  • [breaking] Cap simplex --max-reads per end, not per group (#723) (#812)
  • Renumber grouped-reads MI ids into monotonic file order (#844)
  • Clip past-mate reads by query distance, not reference distance (#760) (#840)
  • Reject colliding output paths across every command output (#845)
  • Charge queue bytes before publishing on the processed queue (#850)
  • Clip dovetail FR overlaps and make the TLEN FR check crate-internal (#857)
  • Bound Q3 decode admission by serial skew, not bytes (#860)

Documentation

  • Correct the TieRuleArg default and pin it with a test (#753)
  • Use shortcut intra-doc links for backpressure constants (#822)

Features

  • Per-library complexity metrics and duplication saturation ladder (#786) (#799)
  • Decode the single-threaded raw-BAM reader via fgumi-bgzf, honoring verify_crc (#800) (#842)
  • Add sample column and marginal duplication-ladder columns (#802) (#841)
  • Add Picard pair/orphan duplicate breakdown to --metrics (#804) (#815)
  • Honor --check-crc on correct/group single-threaded paths (#800) (#805)
  • [breaking] Put the performance diagnostics behind --sort-stats (#826)
  • Add retag command to rewrite SAM tags (copy/move/delete) (#824)
  • Add --legacy-overlap-window for fgbio-parity output (#861)

Miscellaneous Tasks

  • Run checks in the merge queue and cap job runtimes (#848)
  • Harden samtools install against apt mirror stalls (#825)

Performance

  • Skip the record-read zero-fill via a spare-capacity read (#786) (#797)
  • Skip BGZF CRC verification on trusted stdin input by default (#786) (#798)
  • Probe tag membership with a 256x256 bitset (#830)
  • Batch the interim progress counter out of the per-record path (#831)
  • Avoid three per-record heap allocations (group / downsample / overlapping consensus) (#832)
  • Make the single-thread path lightweight and CPU-efficient (#762) (#836)
  • Honor --check-crc for BGZF-compressed FASTQ input (#819) (#820)
  • [breaking] Cut the Phase 1 ingest thread's per-record cost (#829)
  • Overlap key extraction, reuse arena pages, and read with real queue depth (#846)
  • Make parallel paired assigner dash-aware for asymmetric halves (#852)

Refactor

  • Resolve clippy::pedantic cast-precision lints in base.rs (#790)
  • Make --sort-stats run-scoped instead of a process-global static (#855)

Testing

  • Assert the bases the CODEC consensus tests are named for (#770)
  • Stabilize read-ahead backpressure assertion (#809) (#827)
  • Enforce backpressure fixture headroom centrally (#789) (#828)

Breaking Changes

  • fgumi simplex: --max-reads now caps each end (Fragment, R1, R2) independently rather
    than the whole MI group (#723). A family
    with 6 R1 + 6 R2 reads and --max-reads 3 previously produced a single consensus with depth 3;
    it now produces two consensus records (one per strand), each with depth 3. This matches fgbio's
    CallMolecularConsensusReads, which applies the cap independently to each end of the family.

Features

  • Breaking: fgumi sort's performance diagnostics are now opt-in behind --sort-stats (off by
    default) instead of printed on every run. A plain fgumi sort previously emitted roughly a
    hundred lines of spill geometry, per-phase timing, merge-floor attribution, and park statistics
    at info level; those lines are now suppressed unless --sort-stats is passed, so any script or
    harness that parsed them out of the default log must add the flag to keep collecting them. The
    flag is hidden from the generated help and documented under Advanced Pipeline Options in the
    performance-tuning guide (#826).

Bug Fixes

  • Breaking: end-of-stream flush paths now fail instead of discarding what they were holding,
    so an input that used to produce a short output and exit 0 now exits non-zero. A BAM whose last
    record is truncated is the case a user can hit: the boundary finder dropped a 1-3 byte record
    fragment at EOF (though its own documentation promised an error), and in --threads mode
    nothing checked its leftover bytes at all. The other four paths report an internal invariant
    that a correct run never reaches: simulate's parallel gzip writer emitted whatever blocks
    were left without checking the serial sequence, so a block that never arrived produced a valid
    gzip file with a hole in it; RecordPositionGrouper::finish guarded its flush with a
    debug_assert!, so release builds dropped the buffered records while has_pending() went on
    reporting them; the BAM pipeline's completion validation checked none of the three internal
    buffers it is documented to cover (the grouper's partial group, groups never pushed to Q4, and
    the boundary finder's leftover bytes); and simulate's record sink lost its last partial batch
    if it was dropped without finish(). Each now reports what was left unflushed
    (#782).

  • The pipeline's reorder buffer now rejects a duplicate serial, and a serial below its base, in
    every build rather than only in debug. Both were debug_assert!s, so a release build silently
    overwrote the buffered batch in the first case — losing its records while double-counting them
    in the memory accounting — and underflowed the u64 index computation in the second
    (#782).


This PR was generated with release-plz.

@nh13 nh13 added the release label Aug 15, 2026
@nh13
nh13 deployed to github-actions August 15, 2026 22:12 — with GitHub Actions Active
@coderabbitai

coderabbitai Bot commented Aug 15, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Ignore keyword(s) in the title.

⛔ Ignored keywords (2)
  • chore(deps
  • chore: release

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 02c82391-851b-4989-a052-84cc7875d512

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Note

Reviews paused

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@nh13

nh13 commented Aug 15, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai pause

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
✅ Action performed

Reviews paused.

@codecov

codecov Bot commented Aug 15, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.67%. Comparing base (98dd7f5) to head (1c2c8e3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #780      +/-   ##
==========================================
- Coverage   94.67%   94.67%   -0.01%     
==========================================
  Files         193      193              
  Lines      119865   119865              
==========================================
- Hits       113485   113481       -4     
- Misses       6380     6384       +4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nh13 nh13 changed the title chore: release v0.6.0 chore: release v0.6.1 Aug 16, 2026
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 33c9c82 to 6643ca6 Compare August 16, 2026 04:47
@nh13
nh13 deployed to github-actions August 16, 2026 04:47 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 6643ca6 to 16187de Compare August 16, 2026 04:47
@nh13
nh13 deployed to github-actions August 16, 2026 04:47 — with GitHub Actions Active
@nh13 nh13 added the rust Pull requests that update rust code label Aug 16, 2026
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 16187de to e95ab7a Compare August 16, 2026 18:36
@nh13
nh13 deployed to github-actions August 16, 2026 18:36 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from e95ab7a to 112e1d5 Compare August 16, 2026 18:37
@nh13
nh13 deployed to github-actions August 16, 2026 18:37 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 112e1d5 to 64b0352 Compare August 16, 2026 19:43
@nh13
nh13 deployed to github-actions August 16, 2026 19:44 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 64b0352 to 6bd311e Compare August 17, 2026 01:42
@nh13
nh13 deployed to github-actions August 17, 2026 01:43 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 6bd311e to dfc950e Compare August 17, 2026 01:51
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from dfc950e to 3703f26 Compare August 17, 2026 01:52
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 3703f26 to 552ee89 Compare August 17, 2026 02:11
@nh13
nh13 deployed to github-actions August 17, 2026 02:12 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 552ee89 to 46b3ecc Compare August 17, 2026 02:33
@nh13
nh13 deployed to github-actions August 17, 2026 02:33 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 46b3ecc to b081b8d Compare August 18, 2026 01:39
@nh13
nh13 deployed to github-actions August 18, 2026 01:39 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 0088d1e to 5c46834 Compare August 19, 2026 06:59
@nh13
nh13 deployed to github-actions August 19, 2026 06:59 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 5c46834 to 0062c09 Compare August 19, 2026 08:18
@nh13
nh13 deployed to github-actions August 19, 2026 08:18 — with GitHub Actions Active
@nh13
nh13 deployed to github-actions August 20, 2026 00:07 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 0062c09 to 783e2b4 Compare August 20, 2026 05:14
@nh13
nh13 deployed to github-actions August 20, 2026 05:14 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 783e2b4 to ad9dded Compare August 20, 2026 05:15
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from ad9dded to c0d0296 Compare August 20, 2026 22:07
@nh13
nh13 deployed to github-actions August 20, 2026 22:07 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from c0d0296 to 89e75b1 Compare August 20, 2026 22:35
@nh13
nh13 deployed to github-actions August 20, 2026 22:35 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 89e75b1 to cd01390 Compare August 20, 2026 22:43
@nh13
nh13 deployed to github-actions August 20, 2026 22:43 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from cd01390 to a7538b1 Compare August 20, 2026 22:50
@nh13
nh13 deployed to github-actions August 20, 2026 22:50 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from a7538b1 to 5571d59 Compare August 21, 2026 02:56
@nh13
nh13 deployed to github-actions August 21, 2026 02:56 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 5571d59 to b938266 Compare August 21, 2026 03:14
@nh13
nh13 deployed to github-actions August 21, 2026 03:14 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from b938266 to ff66ae1 Compare August 21, 2026 23:13
@nh13
nh13 deployed to github-actions August 21, 2026 23:13 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from ff66ae1 to 33b4ee5 Compare August 21, 2026 23:24
@nh13
nh13 deployed to github-actions August 21, 2026 23:24 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 33b4ee5 to 75b0741 Compare August 21, 2026 23:25
@nh13
nh13 deployed to github-actions August 21, 2026 23:25 — with GitHub Actions Active
@nh13
nh13 force-pushed the release-plz-2026-08-15T22-12-07Z branch from 75b0741 to 7cc198f Compare August 21, 2026 23:48

This branch was successfully deployed

1 active deployment
github-actions — 1c2c8e37 Deployed Aug 24, 2026 by nh13 via coverage #3919
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant