All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
ParseErrorKind::EmptyFile
variant to handle cases where there are less than two bytes in a file [#51]
- Added
parse_fastx_file
which replacesparse_sequence_reader
and offers an iterator like usage and is faster than 0.3. Also addsparse_fastx_reader
andparse_fastx_stdin
. SequenceRecord
now offers more information about the file such as line ending, which allows writing a file identical to the input one.
- Improved error reporting (i.e., a parse failure now gives the record it failed on).
- Significant code cleanup and additional linting (
cargo clippy
). - Significant additional test coverage, including via fuzzing.
- Significant improvements to library documentation.
- The
.kmers
method has been simplified and a new.canonical_kmers
method has been introduced with much of the original's functionality. - Added
parse_sequence_reader
, which replacesfastx_stream
andfastx_bytes
. fastx_cli
updated and renamed toparse_sequence_path
.SeqRecord
is nowSequenceRecord
and many of its methods are now in theSequence
trait (e.g., working on byte slices).- Automatic decompression now takes
Read
instead ofRead + Seek
so we can handle e.g. gzip files piped in throughstdin
. - See this link for additional details on updating code to
v0.3.0
.
- Single-file zip handling (zip requires
Seek
) 😞
- Needletail no longer runs out of memory when parsing large, compressed files.