Trim Galore v2.1.0-beta.2
Pre-release
Pre-release
Trim Galore v2.1.0-beta.2 — Oxidized Edition (beta)
Second beta of the Rust rewrite. Folds in every improvement shipped since beta.1 two days ago, driven by beta-tester feedback (most importantly: multi-pair --paired is back).
New features (since v2.1.0-beta.1)
--versionnow prints build provenance on a second line:<git-hash> — <target> — built <ISO-8601 UTC timestamp>. The short-Vremains one-line. Paste into bug reports to pin down an exact build.- Reproducible builds. Setting
SOURCE_DATE_EPOCHto a fixed Unix timestamp (Debian reproducible-builds spec) produces a bit-identical binary across runs; unset behaviour is unchanged. Malformed values hard-fail the build.
Bug fixes (since v2.1.0-beta.1)
--pairedaccepts N pairs again. Common shell-glob invocations liketrim_galore --paired *fastq.gznow work as they did in Perl v0.6.x. Adapter auto-detection and poly-G scanning run per pair — intentional deviation from v0.6.x, which detected once on the first file. Safer for mixed libraries / chemistries across a glob, negligible overhead.- Same-file R1/R2 detection. Paired-end validation catches byte-equal R1 and R2 paths (matches v0.6.x — no symlink resolution, no canonicalisation).
- Cross-pair output-path collision pre-flight (fixes #216). Invocations that would silently overwrite one pair's output with another's abort before any I/O. Comparison is ASCII case-insensitive, so
sample_R1.fq.gzandSAMPLE_R1.fq.gzcollide correctly on APFS/NTFS (macOS/Windows default) as well as ext4.- On opt-in case-sensitive APFS/ZFS volumes, letter-case-distinct files are legitimately separate but the pre-flight will still reject them. Use distinct basenames or
--basenameper sample to work around. - On mid-batch failure at pair K, pairs 1..K−1 retain complete outputs and pair K may have a partial file; K+1..N are not attempted. Inspect and re-run only the failing pair — matches v0.6.x (no rollback).
- On opt-in case-sensitive APFS/ZFS volumes, letter-case-distinct files are legitimately separate but the pre-flight will still reject them. Use distinct basenames or
Infrastructure (contributor-facing, no runtime effect)
- New CI gates on every PR:
cargo fmt --check+cargo clippy -D warnings(lint), a dedicated reproducibility job that builds twice under a fixedSOURCE_DATE_EPOCHand asserts bit-identity, and a weeklyrustsec/audit-checkfor dependency advisories. - Dependabot enabled for cargo + github-actions ecosystems.
Install
Cargo
cargo install trim-galore --version 2.1.0-beta.2
Docker
docker pull ghcr.io/felixkrueger/trimgalore:v2.1.0-beta.2
# or the moving pointer:
docker pull ghcr.io/felixkrueger/trimgalore:beta
Pre-built binaries
See the Assets section below for linux-x86_64, linux-aarch64, and macos-aarch64 archives with .sha256 checksums.
Feedback
Beta testing feedback is the whole point of the window — please open an issue for anything surprising, or continue the discussion at #215. Earliest GA is 2026-05-03.
Full changelog: v2.1.0-beta.1...v2.1.0-beta.2