Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 12:03
· 42 commits to main since this release

On file inputs, the single-threaded parser is now 1.1-4× faster than needletail, while the new multi-threaded parser is 3-6× faster than paraseq using 4 threads.

Breaking change: parsers now yield Result<Event, parser::Error> (instead of Event), enabling standard ? error propagation.

What's New

  • Built-in multi-threaded parser (ParallelFastxParser) with multiple readers.
  • Streaming multi-reader BGZF (.gz) and multi-frame Zstandard (.zst) parallel decompression with constant memory (~2 MB).
  • Accelerated 2-bit bitpacking (PackedDNA and ColumnarDNA) for contiguous reads and multiline sequences.
  • AVX-512 vector kernel for 512-bit scanning on supported x86 CPUs.
  • Zero-overhead CRLF (\r\n) line ending support for Windows.
  • reject_non_actg option, returning an ErrorKind::InvalidBase error at the first non-ACTG base.
  • swap_dna_packed, swap_dna_columnar, swap_mask_non_actg, swap_mask_n and swap_packed_seq_vec to get the current sequence without allocating and reuse the given buffer.
  • Calling a FastxParser getter disabled by the config (e.g. get_header with ignore_headers) is now a compile-time error.
  • FastxParser is Send.
  • Needletail and paraseq migration helpers.