Dear SeqAn users, supporters, and subscribers,

we are thrilled to announce the SeqAn 3.1.0 release with the first stable seqan module: Alphabets

The Alphabet module is the foundation of SeqAn, thoroughly used and tested in other modules as well as external projects (e.g. raptor). We are confident to release the code with few exceptions as the first stable module of SeqAn3. Check out notes about our API stability or the API documentation for more details.

In the upcoming future we strive to let the other modules follow suit.

While we will present essential changes of the 3.1.0 in this message, you can also find a comprehensive list of the changes in our changelog.

Get to know SeqAn3 with our tutorials.

:lock: API Stability

With few exceptions, the Alphabet module of SeqAn3 is now stable. Additionally, the following entities are marked stable in this release:

While 3.0.3 only deprecated entities, the affected items are removed in 3.1.0!

If you are upgrading from an older version than 3.0.3, we strongly recommend first upgrading to 3.0.3, and afterwards to 3.1.0. The version 3.0.3 contains deprecation notices that will help you to transition with ease.

:hammer_and_wrench: Notable API changes

There are no API changes upgrading from 3.0.3. See the 3.0.3 release message for an overview of previous changes.

:bug: Notable bug fixes

:electric_plug: External dependencies

  • SeqAn 3.1.0 is known to compile with GCC 7.5, 8.4, 9.4, 10.3, and 11.2. Future versions might work, but were not yet available at the time of this release.
  • Other compilers, e.g. GCC 12 (currently in development), clang, and MSVC, are known to not be compatible with SeqAn 3.1.0.
  • We support ranges-v3 versions ≥ 0.11.0 and < 0.12.0, sdsl-lite 3.0.0, and cereal 1.3.0.
  • We use doxygen 1.9.2 to build our documentation.