From e702d63d430eea9d98439b98305dcfd6bd49ab69 Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Mon, 20 Jun 2022 12:08:39 +0200 Subject: [PATCH 1/2] [DOC] Update changelog --- CHANGELOG.md | 83 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 69 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16b73698fe..a6ccb19ee9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,30 +28,67 @@ If possible, provide tooling that performs the changes, e.g. a shell-script. ## New features -#### Build system +#### Alphabet + * `seqan3::cigar` can now be assigned from `std::string_view` ([\#2966](https://github.com/seqan/seqan3/pull/2966)). + * Added `seqan3::views::char_strictly_to`. Behaves like `seqan3::views::char_to`, but throws on invalid + input ([\#2898](https://github.com/seqan/seqan3/pull/2898)). + +#### I/O + * Added `seqan3::sequence_file_option::fasta_ignore_blanks_before_id` to ignore blanks before IDs when reading FASTA + files. E.g., `> some_id` will only store `"some_id"` as ID + ([\#2770](https://github.com/seqan/seqan3/pull/2770)). + +#### Search + * Improved performance of `seqan3::counting_vector::operator+=` ([\#2930](https://github.com/seqan/seqan3/pull/2930)). -* We now use Doxygen version 1.9.3 to build our documentation ([\#2923](https://github.com/seqan/seqan3/pull/2923)). +#### Utility + * Added `seqan3::list_traits::repeat` ([\#2899](https://github.com/seqan/seqan3/pull/2899)). ## Notable Bug-fixes +#### Core + * Added missing implementations for AVX512 ([\#2920](https://github.com/seqan/seqan3/pull/2920) and + [\#2926](https://github.com/seqan/seqan3/pull/2926)). + #### IO + * FASTA files containing IDs starting with `>`, e.g., `> >MyID`, are now parsed correctly + ([\#2869](https://github.com/seqan/seqan3/pull/2869)). -* Fixed an issue parsing FASTA files containing sequence IDs that start with `>` - ([\#2869](https://github.com/seqan/seqan3/pull/2869)). +#### Search + * Relaxed `kmer_hash_view::iterator` difference requirement ([\#2931](https://github.com/seqan/seqan3/pull/2931)). + * Relaxed `seqan3::views::minimiser` requirements to be C++20-compatible + ([\#2845](https://github.com/seqan/seqan3/pull/2845)). + * Relaxed `seqan3::views::kmer_hash` requirements to be C++20-compatible + ([\#2843](https://github.com/seqan/seqan3/pull/2843)). #### Utility -* `seqan3::views::single_pass_input` cannot propagate the `std::ranges::output_range` property, because it cannot - satisfy the following requirement ([\#2775](https://github.com/seqan/seqan3/pull/2775)): - ```cpp - *it++ = value; - // must be the same as - *it = value; ++it; - // but it actually would be the same as - ++it; *it = value; - ``` + * `seqan3::views::single_pass_input` cannot propagate the `std::ranges::output_range` property because it cannot + satisfy the following requirement ([\#2775](https://github.com/seqan/seqan3/pull/2775)): + ```cpp + *it++ = value; + // must be the same as + *it = value; ++it; + // but it actually would be the same as + ++it; *it = value; + ``` + * Fixed signature of `seqan3::detail::store_sse4`. This might have affected some public API + ([\#2893](https://github.com/seqan/seqan3/pull/2893)). + * Relaxed `seqan3::views::to_simd` requirements to be C++20-compatible + ([\#2849](https://github.com/seqan/seqan3/pull/2849)). ## API changes +GCC 7, 8, and 9 have been removed. All headers in `seqan3/std/` except `charconv` and `new` have been deprecated, please +use the equivalent `std` includes. +The namespace `std::cpp20` has been deprecated, please use `std::`. + +`seqan3::views::to` has been changed to `seqan3::ranges::to`. Since it is not a view anymore, it cannot be properly +deprecated. Please keep this in mind if you encounter errors with `seqan3::views::to`. + +#### Compiler + * Dropped support for GCC 7 and 8 ([\#2891](https://github.com/seqan/seqan3/pull/2891)). + * Dropped support for GCC 9 ([\#2952](https://github.com/seqan/seqan3/pull/2952)). + * Removed C++17 support ([\#2915](https://github.com/seqan/seqan3/pull/2915)). #### I/O * Changed the default of `output_options::fasta_blank_before_id` to `false` @@ -66,6 +103,24 @@ If possible, provide tooling that performs the changes, e.g. a shell-script. * Replaced `seqan3::views::to` (implemented via range-v3) with `seqan3::ranges::to` (implemented in SeqAn3). `seqan3::ranges::to` provides a subset of C++23's `std::ranges::to` and will be replaced with the STL-equivalent in a future version ([\#2969](https://github.com/seqan/seqan3/pull/2969)). + * Replaced the implementation of `seqan3::views::chunk`. It is now implemented in SeqAn3 and does not use + the range-v3 implementation anymore. `seqan3::views::chunk` is similar to C++23's `std::views::chunk` + and will be replaced with the STL-equivalent in a future version + ([\#2975](https://github.com/seqan/seqan3/pull/2975)). + * Replaced the implementation of `seqan3::views::join_with`. It is now implemented in SeqAn3 and does not use + the range-v3 implementation anymore. `seqan3::views::join_with` is equivalent to C++23's `std::views::join_with` + and will be replaced with the STL-equivalent in a future version + ([\#2973](https://github.com/seqan/seqan3/pull/2973)). + * Replaced the implementation of `seqan3::views::zip`. It is now implemented in SeqAn3 and does not use + the range-v3 implementation anymore. `seqan3::views::zip` is equivalent to C++23's `std::views::zip` + and will be replaced with the STL-equivalent in a future version + ([\#2971](https://github.com/seqan/seqan3/pull/2971)). + +#### Dependencies + * We now use Doxygen version 1.9.4 to build our documentation ([\#2979](https://github.com/seqan/seqan3/pull/2979)). + * Removed range-v3 ([\#2998](https://github.com/seqan/seqan3/pull/2998)). + * Updated cereal to 1.3.2 ([\#3012](https://github.com/seqan/seqan3/pull/3012)). + * Updated sdsl-lite to 3.0.1 ([\#3012](https://github.com/seqan/seqan3/pull/3012)). # 3.1.0 @@ -843,7 +898,7 @@ Note that 3.1.0 will be the first API stable release and interfaces in this rele #### Argument parser -* The `seqan3::value_list_validator` is not constructible from a std::initialiser_list any more +* The `seqan3::value_list_validator` is not constructible from a std::initialiser_list anymore (e.g. `seqan3::value_list_validator{{1,2,3}}` does not work, use `seqan3::value_list_validator{1,2,3}` instead) ([\#1298](https://github.com/seqan/seqan3/pull/1298)). * Changed class signature of input/output file validators: From 37f8ce1b9dbfbad01b01fbb7174a9d0c7873a29a Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Mon, 20 Jun 2022 13:04:31 +0200 Subject: [PATCH 2/2] [DOC] Adapt chunk_view noapi --- include/seqan3/utility/views/chunk.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/seqan3/utility/views/chunk.hpp b/include/seqan3/utility/views/chunk.hpp index 91628eb786..1e0a2386e6 100644 --- a/include/seqan3/utility/views/chunk.hpp +++ b/include/seqan3/utility/views/chunk.hpp @@ -830,7 +830,7 @@ namespace seqan3::views * * \hideinitializer * - * \experimentalapi + * \noapi{This is a implementation of the C++23 chunk_view. It will be replaced with std::views::chunk.} */ inline constexpr auto chunk = detail::chunk_fn{};