Skip to content

release v0.15 - #18

Merged
jeff-k merged 11 commits into
mainfrom
dev
Aug 31, 2026
Merged

release v0.15#18
jeff-k merged 11 commits into
mainfrom
dev

Conversation

@jeff-k

@jeff-k jeff-k commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Long-time coming TLC release

  • fixed README examples
  • various documentation fixes
  • pedantic clippy lints on all modules
  • minor bug fixes
  • better hashing

werner291 and others added 11 commits April 30, 2026 21:04
Hash for SeqSlice and Kmer fed `usize`-typed lengths and bitvec's
per-bit Hash to the hasher, producing different digests on 32- vs.
64-bit targets. Replace both impls with an explicit u64 LE length
prefix and a `hash_bits` helper that extracts whole bytes via
`BitField::load_le::<u8>`, sidestepping bitvec's Hash and the usize
storage width. Truncate Kmer's backing bitarray to K * A::BITS so
storage padding can't leak into the digest.

Tests use a RecordingHasher to capture the byte stream and assert
contract-level invariants (cross-route equivalence between Seq /
&SeqSlice / Kmer, structural length, padding-independence across
storage widths) over a curated set of codecs and lengths.
fix: platform-stable Hash for Seq, SeqSlice, and Kmer (#15)
@jeff-k
jeff-k merged commit 4903499 into main Aug 31, 2026
4 checks passed
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.

2 participants