Skip to content

Commit

Permalink
Merge pull request #3020 from eseiler/doc/changelog
Browse files Browse the repository at this point in the history
[DOC] Update changelog
  • Loading branch information
smehringer authored Jun 20, 2022
2 parents 8bf33bc + 37f8ce1 commit b10a205
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 15 deletions.
83 changes: 69 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand All @@ -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

Expand Down Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion include/seqan3/utility/views/chunk.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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{};

Expand Down

1 comment on commit b10a205

@vercel
Copy link

@vercel vercel bot commented on b10a205 Jun 20, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

seqan3 – ./

seqan3.vercel.app
seqan3-seqan.vercel.app
seqan3-git-master-seqan.vercel.app

Please sign in to comment.