Skip to content

0.7.0

Compare
Choose a tag to compare
@h-2 h-2 released this 30 Mar 17:07
· 17 commits to main since this release
7621458

Summary: we now support LLVM/clang as a compiler; CIGARs have been much improved and there is a new container.

Added

  • 🐉 Full support for Clang-16 as a compiler. This is a big milestone for 1.0.0!
  • A new associative container: bio::ranges::dictionary. It has features of std::vector and std::unordered_map at the cost of extra size.
  • New implementation for bio::alphabet::cigar. This is now 32bits in size (instead of 64bit) and ABI-compatible to BAM/htslib.
  • bio::views::to_char, bio::views::char_to<> and bio::views::char_strictly_to<> now work for bio::alphabet::cigar (even though CIGARs are not full alphabets).

Fixed

  • bio::views::to_char, bio::views::char_to<> and bio::views::char_strictly_to<> are now "no-op" views if no transformation needs to happen (e.g. when input and output alphabet would be char).
  • When using find_package(biocpp COMPONENTS core io), the version strings were not set correctly.

Maintained

  • bio::ranges::small_string now satisfies the std::ranges::view-concept for capacities <= 30.
  • bio::views::interleave has been redefined in terms of bio::views::transform_by_pos (much less code); should also be a bit faster now.
  • Clang-tidy is automatically run as part of the CI.
  • Concepts are now properly supported and integrated into the documentation; doxygen-1.9.6 is recommended.

Renamed

  • bio::alphabet::nucleotide_alphabetbio::alphabet::nucleotide (same for aminoacid_alphabet, quality_alphabet and writable_quality_alphabet).

Removed

  • bio::views::as_const has been removed, use C++23's std::views::as_const instead.
  • bio::views::move has been removed, use C++23's std::views::as_rvalue instead.

API

  • This release is not yet API-stable.
  • This release is mostly backwards compatible with 0.6.0 (see changes above).