Skip to content

Releases: torognes/swarm

swarm 3.1.6

08 Nov 09:58

Choose a tag to compare

swarm 3.1.6 is a maintenance release (206 commits). It improves code quality and documentation, and eliminates compilation warnings and static analysis warnings:

changes:

  • add: official support for GCC 14,
  • add: experimental support for GCC 15,
  • add: official support for clang 20 and clang 21,
  • add: experimental support for clang 22,
  • add: more checks for debug builds (memory alignment sanitizer, see commit f26cb2d),
  • fix: memory alignment issues (final commit: a88adec),
  • fix: 1,677 clang-tidy warnings (from 2,629 warnings, down to 952),
  • performance: speedup when using d = 0. However, a 15% slowdown was observed when using d >= 2 in certain conditions (18SV9 dataset, x86-64 CPU, GCC 11.5),
  • improve: users can now change the target directory when installing swarm with the make install command (39b961c),
  • improve: document swarm's dependencies (34e981c),
  • improve: code modernization (C++11) for long-term maintenance

swarm 3.1.5

31 Mar 13:03
e8ee6d5

Choose a tag to compare

swarm 3.1.5 fixes four minor bugs, improves code and documentation, and eliminates compilation warnings and static analysis warnings:

  • change: when using the fastidious and the ceiling options, minimal ceiling value is now 40 megabytes (instead of 8 megabytes),
  • add: more compilation checks (shadow, useless-cast, conversion, sign-conversion),
  • add: 42 new black-box tests,
  • fix: two minor bugs introduced in version 3.1.1 (alloc-dealloc-mismatch, and allocating too much memory; bugs had no impact on clustering results),
  • fix: a minor bug introduced in version 3.1.4 (misaligned memory under certain conditions; bug had no impact on clustering results),
  • fix: minor bug in the way available memory is estimated (buffer underflow; bug had no impact on clustering results),
  • fix: 50 warnings triggered by newly added compilation checks,
  • fix: 1,677 clang-tidy warnings (from 2,629 warnings, down to 952),
  • performance: generally stable but compiler-dependent, with the exception of a 5 to 10% increase in total memory footprint when d >= 2 (we expect these performance regressions to be temporary and to be fixed with further refactoring),
  • improve: documentation for output option --network_file (advanced users),
  • improve: build target platform detection,
  • improve: code-coverage of our test-suite,
  • improve: code modernization for long-term maintenance,
  • revert: due to inconsistent test results, reading from named pipes (fifo) is marked as experimental for now

swarm 3.1.4

20 Sep 08:28
e642a00

Choose a tag to compare

swarm version 3.1.4 fixes a minor bug, eliminates compilation warnings and static analysis warnings, and improves code:

  • fix: add checks to prevent silent overflow of short unsigned integers,
  • fix: compilation warnings with GCC 13 and clang 18,
  • fix: 1,040 clang-tidy warnings (from 3,669 warnings, down to 2,629),
  • improve: code modernization for long-term maintenance,
  • improve: double the maximal number of threads (from 256 threads to 512),
  • improve: make -DNDEBUG the default compilation behavior,
  • performance: stable for all modes, except a 6 to 10% increase in memory footprint when d > 1. Note that overall memory allocations remain unchanged, but peak RSS memory increased due to a change in the timing of memory deallocations. Peak RSS memory is expected to regress to its prior levels as refactoring continues.

swarm 3.1.3

05 Dec 11:53

Choose a tag to compare

Version 3.1.3 fixes a few minor bugs, removes warnings, and improves code and documentation:

  • fix: bug introduced in version 3.1.1, that caused swarm to allocate way too
    much memory when d > 1 (bug had no impact on clustering results),
  • fix: off-by-one error when allocating memory for a Bloom filter (bug had no
    impact on clustering results),
  • fix: compilation warning with GCC 12 (and more recent) when using link-time
    optimization,
  • fix: compilation warning with clang 13 (and more recent): unused set
    variable,
  • fix: five clang-tidy warnings (readability-braces-around-statements),
  • fix: minor code refactoring,
  • improve: more uniform vocabulary throughout swarm's documentation (code,
    help, manpage, README, companion scripts and wiki),
  • improve: code coverage of our test suite (swarm-tests).

swarm 3.1.2

10 Nov 11:59

Choose a tag to compare

Fix a bug with fastidious mode introduced in version 3.1.1, that could cause Swarm to crash. Probably due to allocating too much memory.

swarm 3.1.1

29 Sep 09:38

Choose a tag to compare

Version 3.1.1 eliminates a risk of segmentation fault with extremely long sequence headers. Documentation and error messages have been improved, and code cleaning continued.

v3.1.0

01 Mar 18:36

Choose a tag to compare

swarm 3.1.0: Improved code and documentation, bugfix, and macOS on ARM64

swarm 3.0.0

24 Oct 11:29

Choose a tag to compare

Version 3.0.0 introduces a faster algorithm for d = 1, and a reduced memory footprint. Swarm has been ported to Windows x86-64, GNU/Linux ARM64, and GNU/Linux POWER8. Internal code has been modernized, hardened, and thoroughly tested. Strict dereplication of input sequences is now mandatory. The --seeds option (-w) now outputs results sorted by decreasing abundance, and then by alphabetical order of sequence labels.

Swarm 2.2.2

12 Dec 08:53

Choose a tag to compare

Swarm 2.2.2 fixes a bug with an endless wait in rare cases with multiple threads.

Swarm 2.2.1

27 Oct 16:37

Choose a tag to compare

Swarm 2.2.1 fixes a memory allocation bug for d=1 that should only affect cases where the input sequences have not ben fully dereplicated.