[2.2.6]
- Improved the performance of the search and clustering workflows.
- Improved the sensitivity of the `--very-sensitive` alignment mode.
- Fixed potential issues of increased memory use in the clustering workflows.
- Added the option `--linclust-minichunk` to set the minimal chunk size for linear-time clustering
  rounds.
- Added limited support for the AVX512 machine instructions and the respective runtime dispatch code.
- The SSE4.1 compatible architecture code path now also requires SSE4.2, `CMPXCHG16B` and `SAHF`.
- The AVX2 compatible architecture code path now also requires `BMI`, `BMI2`, `LZCNT`, `F16C`, `MOVBE`,
  `AES`, `PCLMUL`, `XSAVE`, `XRSTOR` and `XSAVEOPT`.
- Added detection of the loong64 architecture to `CMakeLists.txt`.
- Fixed potential compiler errors on the loong64, ppc64el, s390x, ppc64 and sparc64 architectures.
- Added the `countdistinct` workflow to count distinct sequences in a FASTA file.
- Added the option `--no-reorder` to disable reordering of alignment output according to the order
  of queries in the input file.
- Added the option `--no-mempool` to disable per-thread memory pools.

[2.2.5]
- Improved the performance of the clustering workflows.
- Linear-time stages of the clustering workflows now by default use banded instead of full-matrix
  extension (set `--ext full` to use full-matrix extension instead).
- Added the option `--reseek-diags` to recompute diagonals prior to chaining.
- Added the options `--reseek-xdrop` to set ungapped x-drop, `--word-threshold` to set the
  word threshold in bits for k-mer neighbors and `--double-hit-window` to set the window for double hits
  when using `--reseek-diags`.
- Removed the `--linclust-banded-ext` and `--lin-combo` options.
- Fixed a potential issue of increased memory use in the clustering workflows.
- Improved the performance of reading sequence files.
- Fixed a potential inter-toolchain inconsistency in search workflows using sketching.
- Fixed a potential non-determinism in the clustering workflows.
- Fixed a bug causing invalid line breaks in the output file when using the `qtitle` output field
  with FASTQ files.

[2.2.4]
- Improved the performance of the clustering workflows.
- Improved the performance of reading FASTA files.
- Added the option `--single-step` to perform one computational step of clustering then exit
  when using the `--parallel-tmdir` option, making it easier to orchestrate big clustering
  runs in a controlled way.
- Added progress output for sequence loading in clustering workflows.
- Fixed two potential issues of increased memory use in the clustering workflows.
- Added the option `--self` for self-alignment of the database file.
- Fixed a bug that could cause slightly reduced sensitivity on the ARM64 architecture.
- Improved performance of the search and clustering workflows on the ARM64 architecture.
- Fixed a potential `Letter count not set` error in the clustering workflows when run in
  parallel across multiple nodes.

[2.2.3]
- Clustering workflows now by default apply BLAST-like compositional matrix adjust,
  unconditionally, instead of compositional score correction described by Hauser et al., 2016.
- Clustering workflows now by default no longer apply tantan soft masking but conservative
  SEG masking corresponding to BLAST defaults.
- Added the `--comp-based-stats 6` option to enable compositional matrix adjust using
  an optimized Sinkhorn–Knopp based algorithm.
- Added the `--relative-entropy-tolerance` option to control the convergence tolerance of
  the Sinkhorn–Knopp algorithm when using `--comp-based-stats 6`.
- Added the option `--taxdump` to set search path for NCBI taxdump files other than the
  database directory.
- Fixed a non-determinism in the greedy vertex cover workflow and transitively in the
  clustering workflows (not affecting correctness of results).
- Fixed a non-determinism in the clustering workflows (not affecting correctness of results).
- Added the option `--masking seg-all` to apply SEG masking to both query and target
  sequences.
- Fixed `--comp-based-stats 2-5` not correctly applying SEG masking of targets by default
  instead of tantan masking.
- Added the option `--reps` to set output FASTA file for representative sequences for the
  clustering workflows (contributed by @bbuschkaemper).
- Fixed a crash in the clustering workflows for large input files with high memory limit
  parameter (contributed by @bbuschkaemper).
- Fixed a potential issue in the linear stages of the clustering workflows when using a
  very high memory limit parameter (contributed by @bbuschkaemper).
- Fixed a bug that could cause an invalid error message or truncation when reading compressed
  files (present since v2.2.2).
- Added the option `--symmetrize-evalue` to maximize the evalue over both combinations
  of query and target.
- Fixed asymmetry of evalues in clustering workflows.
- Fixed a potential issue that could cause hanging instead of correct termination in case
  of an error.
- Fixed a dash character as file name not being interpreted as stdin or stdout.
- Fixed a wrong `Illegal seek` error message when using a stream as input.
- Added the `--max-oid` option to the `greedy-vertex-cover` workflow to interpret input
  edges as ordinal ids and set their maximum.
- Added the option `--fpu-compat` for exact inter-architecture equality of floating point
  computations when using `--comp-based-stats 6`.
- Fixed a bug that could cause a crash when using a custom seed shape of weight less than 7.

[2.2.2]
- Fixed a crash in the `view` workflow (present since v2.2.0).
- Fixed a bug that could cause an error clustering a database with a single sequence.
- Fixed a potential error of too many open files in the clustering workflows.
- Fixed a possible inter-platform inconsistency of the `approx_pident` output field caused
  by architectural differences in implementing fused multiply-add.
- Using the `--log` option will no longer produce a `diamond.log` file.
- The `--verbose/-v` option is deprecated and has no effect.
- Removed a potential inter-system non-determinism caused by toggling query-indexed mode
  by detection of L3 cache size.
- Fixed the `--header` option not correctly working for clustering workflows.
- Removed the `--unaligned-targets` option.
- Fixed an error reading FASTQ files with line breaks in the sequence or quality lines.
- Improved the performance of loading FASTA files containing DNA sequences.
- Fixed an issue of not correctly loading compressed streams on Windows.
- Fixed the Windows release version missing zstd support.
- Fixed query-indexed mode not being correctly triggered when using the `--dbsize`
  option in conjunction with a FASTA database.
- Fixed a bug that could cause incorrect ordering in the output file when using the `--dbsize`
  option in conjunction with a FASTA database.
- Fixed a crash when using `--mp-init` on Windows.
- Fixed a potential deadlock when using `--multiprocessing`.
- Added the option `--daa-build-version` to overwrite the diamond build version written to
  DAA files.
- Disabled suppression of terminal logging output to stderr when requesting output be
  written to stdout.

[2.2.1]
- Improved the performance of the search and clustering workflows.
- Fixed an issue of increased memory use in greedy vertex cover computation.
- Fixed a potential `Record count not set` error message during clustering output.
- Removed the `--linclust-chunk-size` and `--connected-component-depth` options.
- Fixed an issue of increased memory use in the clustering workflows.
- Fixed an issue that could cause incorrect parsing of taxonomic nodes and names data when
  using a custom-made `nodes.dmp` or `names.dmp` file with non-monotonic taxonomic ids.
- Missing taxonomy node information for a taxid will no longer cause an error but be
  accordingly indicated in the output file.
- Added compatibility support of taxonomic rank information for databases built with v2.1.11
  or earlier.
- Added support for clustering by traceback sequence identity (`--id`) instead of approximate
  sequence identity (`--approx-id`).
- Fixed an issue (present since v2.1.25) that could cause clustering workflows not to correctly
  apply the `--comp-based-stats` command line option.
- Added support for clustering with the first clustering round being all-vs-all alignment.
- Temporarily removed the `reassign` workflow.
- Fixed an issue of missing sequence identifiers in the output for BLAST databases built without
  using `-parse_seqids`.
- Fixed a bug (present since v2.1.17) that caused BLAST alias databases filtered by sequence
  id not to function correctly.

[2.2.0]
- Fixed a potential issue of increased memory use.
- Fixed compiler errors for GCC 4.8.5.
- Fixed an issue that could cause hanging instead of correct termination in case of an error.
- Fixed a potential error when using an output format not containing alignment coordinates.
- Fixed an error when using the `full_sseq` output field with BLAST databases.
- Fixed a potential unclear error message when using a database file with unsupported format.
- Improved the performance of clustering workflows when running in parallel across multiple nodes
  using the `--parallel-tmpdir` option, and changed the input format to single database instead
  of volumed TSV file.
- Fixed a potential issue of high memory use in the clustering workflows during output generation.
- The `test` workflow is deprecated and has been removed. Unit testing is now available via
  CTest.

[2.1.25]
- Improved the performance of the `cluster`, `deepclust` and `linclust` workflows.
- Fixed an issue that could cause an out-of-memory error in the clustering workflows during
  output generation.
- Added the option `--ext none` to skip seed extension and output seed hits instead.
- Added the option `--min-len-ratio` to set length ratio filter in mutual coverage searches.
- Improved performance of loading FASTA files, including when used as database.
- Added the option `--hamming-dist-boundary-check` to clip the hamming distance filter against
  sequence boundaries.
- Fixed a bug that could cause undefined behaviour in linear-mode searches with mutual coverage
  thresholds.
- Added the option `--keep-temp-files` to prevent deletion of temporary files.
- Added support for clustering BLAST databases.
- Temporarily removed the `recluster` workflow.
- Removed the `--qnum-offset` and `--snum-offset` options.
- Fixed an error when using the taxonomic output format with single-block database processing.

[2.1.24]
- Fixed a crash in the `greedy-vertex-cover` workflow.
- Fixed a bug that could cause a crash when using `--swipe`.
- Added the option `--lin-combo` to linearize the search comparing against the longest query
  or target sequence for identical seeds.
- Added the options `--qnum-offset` and `--snum-offset` to set non-zero offsets for ordinal
  ids (`qnum` and `snum` output fields).
- Fixed a compiler error on the CHERI architecture.
- Clustering workflows now support `--gapopen`, `--gapextend`, `--matrix` and `--custom-matrix`.
- Fixed a potential hanging issue.

[2.1.23]
- Clustering in parallel across multiple nodes using the `--parallel-tmpdir` option now outputs
  accessions (separated into volumed files) instead of ordinal ids if not using `--oid-output`,
  applies tantan, motif and seed complexity masking during seeding by default consistent with
  the regular clustering workflow, and runs faster.
- Added the option `--aln-out` to output alignments for clustering workflows when using
  the option `--parallel-tmpdir`.
- Fixed a potential crash (thanks @jchorl).
- Fixed a potential crash in the clustering workflows.

[2.1.22]
- Fixed compiler errors for GCC 4.8.5.
- Improved performance of the computing alignments stage.
- Fixed a bug that caused the `--hit-membuf` option not to function correctly.
- Fixed potential crashes when using the `--parallel-tmpdir` option for clustering.
- Added the option `--linclust-chunk-size` to set database chunk size for clustering
  using the `--parallel-tmpdir` option.
- Fixed a potential hanging problem on macOS.
- Fixed a memory leak.

[2.1.21]
- Fixed a potential segmentation fault.

[2.1.22]
- Fixed a crash when using `--swipe`.
- Fixed a crash when using `--global-ranking/-g`

[2.1.21]
- Fixed a potential segmentation fault.

[2.1.20]
- Fixed a bug that could cause filtering by taxonomy to malfunction for BLAST databases
  (present since v2.1.18).
- Fixed a memory leak (present since v2.1.19).
- Fixed a potential deadlock.
- Fixed a potential compilation error on arm64 systems.
- Fixed an error when using BLAST databases that were read-only.
- Fixed missing invocation information and a missing newline when using
  `--header verbose`.

[2.1.19]
- Improved performance of the searching alignments stage and fixed a potential
  performance issue present since v2.1.15.
- Fixed search paths for SQLite3 on Ubuntu.
- Fixed a crash when using the `--parallel-tmpdir` option for clustering.

[2.1.18]
- Improved performance when using BLAST databases.
- BLAST format is now the recommended database format for best performance.
- Fixed missing sequence ids for some BLAST databases.
- Fixed CMake 2.8 errors.
- Fixed compiler errors for GCC 4.8.5.
- Added the `--load-threads` option to set number of CPU threads for file I/O.
- Added the `--minichunk` option to set chunk size for file I/O.
- Fixed a race condition (present since v2.1.15).
- Fixed a memory leak (present since v2.1.15).
- Added deduplication for the `staxids` output field for BLAST databases.

[2.1.17]
- Added (tabular/json) output fields sRANK to print taxonomy nodes of the given rank
  associated with the subject sequence, where RANK can be any rank in the NCBI taxonomy,
  e.g. sdomain, skingdom, sphylum, sorder, sgenus, sspecies, etc.
- Using BLAST databases is now universally supported (including taxonomy features),
  without depending on the NCBI toolkit.
- SQLite3 is now a required dependency for compilation.
- Added line breaks for the `getseq` workflow at 80 letters per line.
- Removed the `BLAST_LIBRARY_DIR` and `BLAST_INCLUDE_DIR` CMake options.
- Fixed a `Missing taxdb` error message when using BLAST databases.
- When filtering a database by taxonomy, the letter count for computing
  e-values will now correctly refer to the filtered subset.
- Removed support for BLAST alias databases filtered by GI numbers and filtered using a
  binary-formatted seqid list (`.bsl` file extension).
- Added support for soft masking using the SEG algorithm (`--soft-masking seg`).
- Added the output field `hspnum` to print 0-based HSP number within a target
  to the tabular and JSON output format.
- Added the output field `normalized_bitscore` to print the bitscore normalized
  by the maximum of the self alignment scores of query and target sequence to the tabular
  and JSON output format.
- Added the output field `normalized_nident` to print the number of identical
  residues normalized by the maximum of the lengths of query and target sequence
  to the tabular and JSON output format.
- Fixed the `--swipe` option not producing any output.

[2.1.16]
- Fixed an architecture-dependent inconsistency (present since v2.1.15) of
  tantan repeat masking.
- Fixed a crash occuring when clustering at 90% identity or above.
- Fixed a potential crash.
- Added the option `--hit-membuf` for memory buffering of seed hits.
- Fixed a potential crash when using `--comp-based-stats 4`.
- Fixed an issue that caused line breaks in quality string of FASTQ files
  to be copied to the output file.

[2.1.15]
- Added support for using the `staxids`, `sscinames`, `sskingdoms`, `skingdoms`,
  `sphylums` and `slineages` output fields with BLAST databases.
- Added support for using the taxonomic classification output format
  (`--outfmt/-f 102`) with BLAST databases.
- Added support for using the `--taxonlist` and `--taxon-exclude` options
  with BLAST databases.
- The `--taxonlist` and `--taxon-exclude` options will by default exclude database
  sequences with a missing parent assignment instead of producing an error.
- The `--taxon-exclude` option will only exclude database sequences if all associated
  taxids (or their ancestral taxids) are required to be excluded.
- The `slineages` output field will print the (deduplicated) lineages of all taxids
  associated with a database sequence, separated by `<>`, instead of only the first taxid.
- The order of the `slineages` output field will be from root to leaf to be consistent
  with the NCBI lineage declaration.
- The `slineages` output field will print `N/A` instead of an empty string for
  sequences with a missing taxonomic assignment.
- The `slineages` output field will be printed as an array in the JSON output format.
- Removed the trailing semicolon and added spaces for the `slineages` output field.
- Added the option `--comp-based-stats 5` to enable compositional matrix adjustment
  conditioned on sequence properties with fallback on composition-based statistics.
- Added the options `--query-match-distance-threshold`, `--length-ratio-threshold` and
  `--cbs-angle` to set matrix adjustment conditions.
- Eliminated dependency on Eigen.
- Added option `--linclust-banded-ext` to use banded instead of full-matrix Smith
  Waterman extension in linear search and clustering rounds.
- Compilation with BLAST database support no longer requires the zstd library.
- Compilation with BLAST database support requires sqlite3.
- Fixed compiler errors for GCC 4.8.5.
- Fixed an issue that could cause increased memory use and crashes.
- Fixed an error when using compositional matrix adjust.
- Adjusted the convergence parameters for compositional matrix adjust, and
  removed the performance optimization for the time being.
- Fixed an error using the global ranking mode.
- Added the option `--min-query-len` to filter queries by minimum length (applies
  to the length of the input DNA sequence in blastx mode).
- Now providing multi-platform docker images for platforms linux/amd64 and
  linux/arm64.

[2.1.14]
- Improved the performance and sensitivity of the `cluster`, `deepclust` and
  `linclust` workflows.
- The `getseq` workflow now supports BLAST databases.
- Disabled clearing of the page cache for mmaped pages when using BLAST
  databases.
- Reduced memory use when the `sallseqid` and `staxids` output fields are
  used.
- Fixed a bug that could cause a crash when using the JSON output format and
  processing the database in multiple blocks.
- Fixed a bug that could cause extra commas in the JSON output format.
- Fixed a bug that could cause extra quotation marks when using the `stitle`
  output field for the JSON output format.
- The `prepdb` workflow is deprecated, and no longer needed to use BLAST
  databases.
- The `--anchored-swipe` option can be applied to linear mode clustering
  rounds and searches.
- The `--anchored-swipe` option can be used without compiling with `-DEXTRA=ON`
  (only available on systems that support AVX2).
- Improved the performace of compositional matrix adjustment (only available
  when compiled natively on systems that support AVX2).
- Added the option `--short-query-ungapped-bitscore` to set ungapped bitscore
  threshold for short queries.
- Fixed two cases of static initialization order fiasco.
- Added support for using the `--parallel-tmpdir` option for the `linclust`
  workflow.
- Adjusted the convergence parameters for compositional matrix adjust.

[2.1.13]
- Fixed an invalid error message for the `cluster`, `deepclust` and `linclust`
  workflows.
- Added the option `--oid-output` to output OIDs instead of accessions for
  the clustering workflows, reducing their memory use.
- Added support for using the `--multiprocessing` feature on Windows.
- Using `--multiprocessing` requires explicitly setting `--parallel-tmpdir`.
- Fixed a bug that could cause a crash when the `--target-indexed` option was
  used.
- As of now, a macOS binary is available for the GitHub release, supporting both
  x86 and Apple silicon CPUs. Using BLAST databases is also supported.
- Added compatibility with later CMake versions (tested up to v4.0.3).
- Added CMake option `-DCROSS_COMPILE` to disable auto-detection of host
  architecture.
- Added compilation script to produce macOS fat binary.

[2.1.12]
- Added support for the new NCBI taxonomic ranks "cellular root",
  "acellular root", "domain" and "realm".
- Added support for using BLAST databases to the Bioconda release.
- Fixed compiler errors for Clang 20.
- Enabled transitive closure computation in earlier clustering rounds and
  for bi-directional coverage clustering.
- Fixed an issue that could cause hits to be partially lost in frameshift
  alignment mode when they occured in both query strands for the same target.
- Fixed an error parsing FASTQ files when quality value lines started with
  the @ character.
- Fixed a compiler error on macOS.

[2.1.11]
- Improved the performance and sensitivity of the `cluster`, `deepclust` and
  `linclust` workflows.
- The `--faster` mode will by default use a minimizer sketch of fixed size
  per sequence instead of window-based minimizers.
- Added the option `--sketch-size` to enable seeding using a minimizer
  sketch of the given size per sequence.
- Cascaded clustering and iterated search will by default use the `--fast`
  mode with linearization in the second round.
- The `--round-coverage` parameter is now also applied to uni-directional
  coverage clustering.
- Cluster output files will correctly contain carriage returns on Windows.
- Fixed generation of the Docker container against the latest version of the
  NCBI toolkit.
- Fixed a bug that caused target coordinates not to be reported correctly
  in the tabular format in frameshift alignment mode.
- Added the options `--ungapped-evalue` and `--ungapped-evalue-short` to set
  e-value thresholds for the ungapped hit filter.
- Linearization of search or clustering rounds is limited to seeds of weight
  >= 10.
- Fixed an issue that could cause an `array size overflow` error when using
  very large `.dmnd` databases with taxonomic annotation.
- Fixed a bug that caused query letters to be printed as `ARND` instead of
  `ACGT` in the `view` workflow.
- Fixed a bug that caused using paired end input files to malfunction with
  an error message.
- Fixed a bug that could produce clustering errors when clustering at
  sequence identities >= 50% and processing the database in multiple super
  blocks.
- Fixed a bug that could cause a crash in global ranking mode.
- Accession parsing rules applied to database sequence accessions for the
  purpose of matching them to accessions in the taxonomy mapping file are now
  by default also applied to the accessions in the mapping file (disable using
  `--no-parse-seqids`).
- Fixed an issue that could cause increased memory use in the hash join stage.
- Added support for FASTA headers containing multiple sequence IDs separated
  by blank spaces (so far only the `\1` character was supported as a
  separator).
- Fixed an issue that could cause hanging or crashes in the `Computing
  alignments` stage.
- `--linsearch` can now be used in conjunction with `--iterate`.
- Fixed a compiler error for GCC 4.8.5.
- Fixed a compiler error on Solaris.
- Fixed compiler errors on systems that do not support the sysinfo function.
- Fixed `Bus error` occuring on Sparc systems.
- Compilation on Sparc systems can be performed without setting `-DX86=OFF`.
- Fixed two issues that could cause increased memory use in the computing
  alignments stage.
- Fixed a bug that caused superfluous quote characters in the JSON output
  format.
- Linear search modes will by default use full-matrix extension.
- Fixed an issue that could cause reduced performance in the masking sequences
  stage.
- Fixed a bug that could cause a crash when using mutual coverage thresholds
  in blastx mode.
- Fixed a bug that could cause a crash when the `--include-lineage` option
  was used.
- When reading protein sequences that unexpectedly only contain DNA letters,
  an error message is only produced if the first 10 sequences in the input
  file all exhibit the problem.
- Fixed a bug that caused setting `--top 100` not to function correctly.
- Fixed a bug that caused target coordinates not to be reported correctly in
  the output of the `realign` workflow.
- Fixed a bug that did not permit using the `--memory-limit/-M` option for
  the `realign` workflow.
- Fixed an issue that could cause non-deterministic output in frameshift
  alignment mode.
- Fixed a bug that could cause a crash when using the XML output format in
  the `view` workflow.
- Fixed an issue that could cause non-deterministic output for identically-scoring
  HSPs in the same target.
- Disabled the default use of increased coverage and identity cutoffs in
  earlier clustering rounds.
- Optimized the performance of the extension stage when coverage or approximate
  identity filters are used.
- Optimized the performance of the extension stage when not using output fields
  that require alignment traceback.
- Fixed an issue that could cause an incorrect order of cascaded clustering
  rounds.

[2.1.10]
- Fixed a bug that could cause a crash when using a bi-directional coverage
  cutoff in query-indexed mode.
- Fixed a bug that caused the `--include-lineage` option to malfunction for
  targets with no taxonomic assignment available.

[2.1.9]
- Corrected the prefix of the query length field for the SAM format.
- Added the size modifiers 'T', 'M' and 'K' for the `--memory-limit`/`-M`
  option.
- Added the option `--mutual-cover` to cluster sequences by mutual coverage
  percentage of the cluster representative and member sequence.
- Added the option `--symmetric` for computing greedy vertex cover with
  symmetric edges.
- Fixed an issue that caused the `--approx-id` option and the `approx_pident`
  output field not to work correctly when using the `--anchored-swipe`
  option.
- Added the option `--no-reassign` to prevent reassignment to closest
  representative for the greedy vertex cover and clustering workflows.
- Added the option `--connected-component-depth` to activate clustering
  of connected components at a given maximum depth for the greedy vertex
  cover and the clustering workflows.
- Fixed a compiler error for Clang v17.
- Improved search performance when searching with mutual coverage threshold
  by filtering for sequence length ratio.
- Added the sensitivity mode `--shapes-30x10` with sensitivity approximately
  equivalent to `--mid-sensitive`.
- Added the options `--round-coverage` and `--round-approx-id` to set per
  round cutoffs for cascaded clustering.
- The CMake switch `-DKEEP_TARGET_ID` is now obsolete and the corresponding
  function is always available.
- Added the option `--include-lineage` to the taxonomic classification format
  to include taxonomic lineage in the output.
- Added native support for the ARM NEON instruction set (contributed by
  Martin Larralde).
- Added the `slineages` output field to the tabular format to print the
  taxonomic lineage of the subject sequence.

[2.1.8]
- Fixed an issue that could cause reduced performance when running in
  query-indexed mode.
- Added support for the JSON output format (option `-f json-flat`).
- Added the option `--sam-query-len` to output query length in SAM format.

[2.1.7]
- Fixed a bug that caused taxonomy names not to be loaded correctly for the
  `makedb` workflow.
- Fixed a bug that caused a crash when using the `--target-indexed` option.
- Fixed an error when using the `--tmpdir` option for the makedb workflow.
- Added a warning message when sequence accessions are shortened due to parsing
  rules for the `makedb` workflow.
- Added the option `--no-parse-seqids` to disable parsing of sequence
  accessions.
- Changed the command line help to print options separated by command.
- Fixed an issue that the `--ignore-warnings` option could not be used for
  the `makedb` workflow.

[2.1.6]
- Fixed compatibility issues on older systems without support for AVX2.
- Fixed linker errors when compiled with `-DX86=OFF`.
- Fixed a compiler error on macOS systems.
- Fixed a bug that could cause missing tags in the XML output format and
  unaligned queries not to be reported correctly.
- Fixed a bug that caused the PAF output format not to work correctly.

[2.1.5]
- Disabled the use of frequency based seed masking when using the linear-time
  search feature with respect to the targets.
- Fixed a bug that caused a `Database file is not a BLAST database` error message
  for the `prepdb` workflow.
- Fixed a bug that caused a segmentation fault when using BLAST databases.
- Added line numbers for error messages when reading taxonomy mapping files.
- Fixed a bug that could cause a crash when using the `greedy-vertex-cover`
  workflow without the `--out` and `--centroid-out` options.
- Fixed a bug that caused the `greedy-vertex-cover` workflow to only produce a
  trivial clustering.
- Fixed a bug that caused the last codon of the -2 reading frame to be translated
  incorrectly.
- Reduced the memory use of the clustering workflow.
- Updated the bundled NCBI toolkit to the latest version.

[2.1.4]
- Leading spaces are now trimmed and tabulator characters escaped as `\t`
  in sequence titles, and a warning message is produced.
- Blank sequence titles are now replaced by `N/A`, and a warning message is
  produced.
- Fixed a bug that could cause a `Traceback error` in certain cases.
- Fixed a bug that caused the `qlen` and `score` output fields not to be reported
  correctly for the `realign` workflow.
- Added an error message when using unsupported output fields for the `realign`
  workflow.
- Fixed an issue that could cause a `Missing fields in input line` error when
  clustering.
- Optimized the performance of the `linclust` workflow.
- Reduced the memory use of the clustering workflow.
- Fixed a bug that caused using standard input as the query not to work.

[2.1.3]
- Fixed compiler errors for GCC 4.8.
- Fixed a GCC compiler error.
- Fixed a segfault issue occuring when compiled using GCC 12 on ARM64 systems.
- Fixed an issue that caused missing support for AVX2.

[2.1.2]
- The iterated search mode (option `--iterate`) now uses a linear-time feature as
  the first search round.
- Added the `linclust` command to cluster using only a single linear-time search
  round.
- Fixed compiler errors on macOS.
- Fixed a bug that caused invalid alignment traceback output for the DAA `view`
  workflow.
- Added the `merge-daa` workflow to merge DAA files.
- Fixed an error when using the `--max-target-seqs/-k` option for the DAA `view`
  workflow.
- Removed AVX2 support from the Windows release binary to ensure compatibility
  with older systems.
- Permitted the `--ignore-warnings` option for the `cluster` and `deepclust`
  workflows.
- Use unlinked temporary files for database blocks in clustering workflows.
- Fixed a bug that could cause invalid results when using a clustering step with
  linearization as the final round in combination with database processing in
  multiple super blocks.
- The `--lin-stage1` option can now be used without compilation using the
  `-DEXTRA=ON` cmake option.
- Added the option to specify the `_lin` suffix for sensitivity keywords for the
  `--iterate` option to activate linear-time feature.
- Added the option `--linsearch` to activate linear-time feature for the search
  workflows.
- Fixed a bug that caused the `ppos` and `positive` output fields not to work
  for the `realign` workflow.
- Fixed an issue that caused motif masking not to work when compiled with link
  time optimization.

[2.1.1]
- Fixed compilation errors on non-x86 systems and for the clang compiler.
- Fixed an error message when running the `recluster` workflow.
- Fixed a bug that could cause an `invalid varint encoding` error when using the
  DAA format.
- Fixed a bug that could cause corrupted DAA output.
- Fixed a bug that caused an error in the `view` workflow.
- Adjusted the hit culling heuristic of the frameshift alignment mode to be less
  aggressive.

[2.1.0]
- Added the `cluster` workflow to cluster protein sequences.
- Added the `realign` workflow to generate clustering output.
- Added the `recluster` workflow to correct errors in clusterings.
- Added the `reassign` workflow to reassign cluster members to their closest centroid.
- Added the option `-M/--memory-limit` to set a memory limit for clustering workflows.
- Added the `--approx-id` option to filter alignments by approximate sequence identity
  and to set an approximate sequence identity threshold for clustering.
- Added the `--member-cover` option to set the coverage threshold of the cluster
  member sequence.
- Added the `--cluster-steps` option to set steps for cascaded clustering.
- Added the `--clusters` option to specify clustering input file.
- The `blastx` mode will now mask any open reading frame below the minimum required
  length as specified by `--min-orf`.
- The `blastx` mode will only count unmasked letters towards the block size.
- Fixed a bug that caused an error when using the global ranking mode.
- Added the fast mode as the first round in iterative searches.
- Fixed a bug that caused the program not to function on systems without support
  for SSE4.1.
- Improved multi-threaded load balancing of gapped extension computations.
- Improved performance of seed extension stage when HSP filter settings are used.
- Added the option `--soft-masking` with possible values `0` and `tantan` to permit
  soft-masking using the tantan algorithm.
- Fixed a bug that could cause an `inflate error` in multiprocessing mode.
- Added the option `--swipe` to compute full Smith Waterman alignments of all
  queries against all targets.
- Added the sensitivity mode `--faster`.
- Added the output fields `approx_pident` and `corrected_bitscore` to the tabular
  format.
- Added the `--lin-stage1` option to linearize comparisons in the seeding stage
  by only considering hits against the longest query sequence for identical seeds
  (only supported when compiled with `-DEXTRA=ON`).
- Added the `--kmer-ranking` option to rank sequences when `--lin-stage1` is used
  (only supported when compiled with `-DKEEP_TARGET_ID=ON`).
- Added the option `--no-block-size-limit` to deactivate upper limits for the block
  size when the `--memory-limit` option is used.
- Added the `greedy-vertex-cover` workflow to compute clustering based on
  alignments.
- Added the `--edge-format` option to set edge format for greedy vertex cover.
- Added the `--edges` option to set input file for greedy vertex cover.
- Added the `--centroid-out` option to output centroid sequences for greedy
  vertex cover.
- Added the `--unaligned-targets` option to generate an output file of unaligned
  targets.
- Fixed an issue that failed compilation using the Intel Compiler.
- Fixed an issue that could cause a segmentation fault in rare cases.
- The `--header` option can now be used with the parameter `simple` to enable
  simple headers for the tabular format, or without a parameter to enable
  headers for the clustering format.
- Added the option `--mp-self` to optimize self-alignment in multiprocessing
  mode.
- Added the option `--query-or-subject-cover` to report alignments if the query
  or the subject cover (or both) are above the given threshold.
- Removed support for the `--comp-based-stats 2` option (now equivalent to
  `--comp-based-stats 3`).
- Removed hit culling in case of overlapping target ranges in frameshift
  alignment mode.
- Added the option `--anchored-swipe` to activate anchored SWIPE extension.

[2.0.15]
- Fixed a bug (present since v2.0.12) that caused the `diamond view` workflow to
  report a zero bit score for all alignments.

[2.0.14]
- Fixed a compiler error on Linux systems that do not define `_SC_LEVEL3_CACHE_SIZE`.
- Fixed an error when using `--unal 1` with the `cigar` output field.
- Fixed an `illegal instruction` error on systems that did not support AVX2.
- Fixed a bug (present since v2.0.12) that could cause an error or suboptimal
  alignments when HSP filter settings were used.

[2.0.13]
- Fixed a bug that caused invalid bit scores in frameshift alignment mode.

[2.0.12]
- Fixed an error when using HSP filter settings together with a BLAST database.
- Optimized the performance of alignment traceback.
- A non-default setting of `--max-hsps` will now recompute a full-matrix Smith Waterman
  alignment with the ranges of the known HSPs masked in the target.
- A non-default setting for `--max-hsps` can now be used together with `--ext full`.
- The sensitivity levels used for iterated searches can now be manually set by
  using a space-separated list after the `--iterate` option.
- Seeds are masked based on complexity instead of frequency by default.
- Added the option `--seed-cut` to set a complexity cutoff for indexed seeds.
- Added the option `--freq-masking` to enable masking seeds based on frequency.
- The fast, default, mid-sensitive and sensitive modes will by default softmask
  a fixed set of highly abundant sequence motifs.
- Added the option `--motif-masking (0,1)` to enable or disable motif masking.
- Added the option `--masking seg` to enable SEG masking of target sequences (BLAST
  default) instead of tantan masking.
- Fixed a bug that caused the `full_sseq` output field to contain invalid information
  or to produce an error when using a BLAST database.
- Changed composition based statistics to use BLOSUM62 background frequencies.
- Fixed the zstd dependency in the Dockerfile.
- Added support for gap letters in BLAST databases.
- Fixed a bug that caused the `--custom-matrix` option not to function correctly.
- Changed the overlap for merging adjoining bands to >0.0.
- Use more moderate filtering of HPSs in the chaining stage.

[2.0.11]
- Fixed a bug that could cause invalid output when using `--masking 0` combined with
  the global ranking mode.
- Enabled lazy repeat masking in the query-indexed and contiguous seed modes when
  using global ranking.
- Added detection of cache size to auto-enable query-indexed mode.

[2.0.10]
- Using BLAST databases now requires a preprocessing step using the command `prepdb`.
- Improved performance of searching small query files.
- Added "iterative" search mode (option `--iterate`) to search the query dataset with
  increasing sensitivity, only searching queries at the target sensitivity that fail
  to align at a lower sensitivity search.
- Added the "global ranking" mode (option `-g`) to set a limit on the number of
  Smith Waterman extensions per query, with the target sequences ranked by their
  ungapped extension scores.
- Added the `--fast` sensitivity mode that is faster and less sensitive than the
  default mode.
- Reduced the time for loading target sequences from BLAST databases.
- Added the contiguous-seed mode (option `--algo ctg`) to improve performance for
  small query files.
- Added support for using `--comp-based-stats (3,4)` in combination with `--ext full`.
- Fixed a bug that could cause a `Traceback error` when using `--comp-based-stats (3,4)`
  in rare cases.
- Changed the `full_sseq` output field to always contain unmasked sequences.
- Fixed an issue that could cause target output order to be nondeterministic in case
  of identically scoring hits.
- Added support for reading zstd-compressed input files (auto-detected) and writing
  zstd-compressed output files (option `--compress zstd`) (requires compilation
  using `cmake -DWITH_ZSTD=ON`).
- Compilation with BLAST database support requires the zstd library.
- Added error message when reading protein sequences from FASTA files that only
  contain DNA letters (can be disabled using `--ignore-warnings`).

[2.0.9]
- Reduced the memory use of database building with taxonomy mapping.
- Removed the limitation of sequence accession length.
- Fixed a bug that could cause using a BLAST database not to function correctly.
- Added support for using BLAST alias databases (created by `blastdb_aliastool`).
- Reduced the memory use of the seed hit sorting stage.
- Improved the consistency of results when running in query-indexed mode (`--algo 1`).
- Added the option `--skip-missing-seqids` to ignore cases of missing sequences
  in the database when using the `--seqidlist` option.
- The `--min-orf` parameter now defaults to 1 in frameshift alignment mode.

[2.0.8]
- Added support for using BLAST database files instead of the Diamond-formatted
  `.dmnd` files.
- Added the option `--seqidlist` to filter the database by sequence accession (only
  supported for BLAST databases).
- Fixed a bug that caused the `--dbsize` option not to function correctly.
- Added the command `makeidx` and the option `--target-indexed` that provide an
  optimisation specialized for small databases (<10 Mb).
- Added the option `--mp-recover` to recover aborted runs in multiprocessing mode.

[2.0.7]
- Added support for computing full-matrix instead of banded Smith Waterman extensions
  (command line option `--ext full`).
- Added support for the new `prot.accession2taxid.FULL.gz` taxonomy mapping file from
  NCBI.
- Added the option `--gapped-filter-evalue` to set the e-value threshold of the gapped
  filter heuristic.
- Added setting the scores of the mask letter according to BLAST rules when a
  compositionally adjusted matrix is used.
- Changed formatting of e-values to print two decimals instead of one.
- Added the output field `qseq_translated` to print the translation of the aligned part
  of the query sequence.
- Added support for providing two input files to `--query/-q` when running alignment
  in blastx mode.
- Added the output field `full_qseq_mate` to print the sequence of the query's mate
  (enabled when using two query files in blastx mode).
- Fixed a bug that could cause a crash in blastx mode for very long queries.

[2.0.6]
- Changed the computation of expected values to use the method described in Park, Y.,
  Sheetlin, S., Ma, N. et al. New finite-size correction for local alignment score
  distributions. *BMC Res Notes* **5**, 286 (2012).
- Enabled the use of a custom scoring matrix without having to specify the statistical
  parameters (option `--custom-matrix`).
- Added support for compositional matrix adjust as described in Yi-Kuo Yu, Stephen F.
  Altschul, The construction of amino acid substitution matrices for the comparison of
  proteins with non-standard compositions, *Bioinformatics*, Volume 21, Issue 7, 1 April
  2005, Pages 902–911. Three additional modes have been added that can be enabled by
  setting `--comp-based-stats (2,3,4)` (*the feature is not enabled by default and does
  not support translated searches at the moment*).
- Fixed a bug that could cause incorrect alignment coordinates, gaps counts and sequence
  identities being reported by `diamond view`.
- Targets are sorted by bit score instead of e-value in the alignment output when the
  `--top` parameter is used.
- Disabled support of custom scoring matrices for the DAA format.
- Fixed a bug that caused the use of a custom scoring matrix not to function correctly.
- Fixed an issue that caused the portable binary not to function on systems that did not
  support AVX.
- Added the option `--no-unlink` to prevent unlinking of temporary files.

[2.0.5]
- Fixed an issue that could cause high memory use in frameshift alignment mode.

[2.0.4]
- Fixed a bug that could cause the `--max-target-seqs/-k`, `--ext-chunk-size` and 
  `--file-buffer-size` options not to function correctly on macOS.

[2.0.3]
- Added a new sensitivity mode that is between the default mode and the sensitive mode
  in sensitivity (option `--mid-sensitive`).
- Added counters for total number of reference blocks, shapes and index chunks to
  the status messages.
- Fixed a bug (persisting since v2.0.2) that could cause secondary HSPs within one
  target not to be reported if the `--max-hsps` option was used with a non-default setting.
- Fixed a bug that could cause an invalid error message with regard to the database
  format in certain cases.
- The `--no-self-hits` option is no longer supported in `blastx` mode.
- Changed the semantics of the `--no-self-hits` option to check for equality of both
  sequence and sequence id, independent of the computed alignment.
- The selection of the top hit when using `--top` will respect the identity, coverage
  and no-self-hits filter settings (does not apply when frameshift alignment is
  enabled).
- The inclusion criterion for `--top` is applied to the bit score instead of the raw
  score and is no longer affected by integer rounding (does not apply when frameshift
  alignment is enabled).
- Improved the accuracy of the ranking heuristic.
- Added the options `--ext-chunk-size` and `--no-ranking` to control the ranking
  heuristic.

[2.0.2]
- Fixed a bug (persisting since v2.0.0) that could cause incomplete results in `blastx` mode.
- Reduced the use of temporary disk space.
- Fixed an issue that could cause long runtimes when using the `--taxon-list` option.

[2.0.1]
- Added feature for using the tool in a distributed computing environment.
- Fixed an issue that could cause increased memory usage and runtimes for very long queries.
- Fixed a bug that could cause a crash when using `--comp-based-stats 0`.
- Fixed a bug that could cause a crash for small input files in certain cases.
- Fixed a bug that could cause filtering hits for identity or range cover not to function correctly when using
  the tabular format without traceback being enabled.
- Added warning messages to recommend block size parameters based on system RAM.

[2.0.0]
- Added the sensitivity modes `--very-sensitive` and `--ultra-sensitive`.
- The `--block-size`/`-b` parameter is set to 0.4 and the `--index-chunks`/`-c` parameter is set to 1 by default
  in the new sensitivity modes.
- Improved performance.
- Added the option `--ext` with possible values `banded-fast` and `banded-slow` to adjust band setup for Smith
  Waterman extensions (new default is `banded-fast` for the default and sensitive mode, and `banded-slow` otherwise).
- Added automatic disabling of alignment traceback if not required by the user-defined output fields in tabular
  output format.
- Changed the default value of the `--max-hsps` parameter to 1.
- Changed the default value of the `--freq-sd` parameter from 10 to 20 for the sensitive mode.
- Fixed a compiler error on FreeBSD.

[0.9.36]
- Fixed a bug that could cause `makedb` to produce invalid database files when using taxonomy features.
- Fixed a bug that could cause a crash when running in query-indexed mode.

[0.9.35]
- Fixed a bug in `diamond view` that would cause high memory usage and erroneous output.
- Reduced the use of temporary disk space.
- Fixed a database compatibility issue with big endian architectures.
- Fixed a bug that would cause a crash for query sequences shorter than 5 letters in blastx mode.
- Fixed a bug that would cause a crash when using a FASTA file as database parameter in blastx mode.
- Added support for the following new ranks in the NCBI taxonomy: biotype, clade, forma specialis, genotype, isolate, morph, pathogroup, serogroup, serotype, strain, subvariety.

[0.9.34]
- Fixed a compiler error for native builds.
- Fixed a compiler error for GCC 4.8.
- Fixed a compiler error when support for SSSE3 was enabled without support for SSE4.1.
- Implemented asynchronous loading of seed hits.

[0.9.33]
- Improved performance and sensitivity.
- Increased use of temporary disk space.
- Implemented support for the AVX2 instruction set.
- Fixed a bug on big-endian architectures.
- Fixed bugs for compilers with unsigned char.
- Fixed compiler errors for generic builds.
- Added compatibility of database files between little and big endian architectures.
- Fixed various issues related to `Illegal instruction` errors on macOS.
- Added option `--file-buffer-size` to set the size of the I/O buffers and set the default value to 64 MB.

[0.9.32]
- Fixed a bug that would generate an incorrect count of positive scoring letters in all output formats.
- Fixed a compiler error on macOS.
- Fixed an `illegal instruction` error on macOS.

[0.9.31]
- Improved performance.
- Composition based statistics use integer scoring.
- Option `--quiet` will suppress startup message.
- Added output field `scovhsp` to print the subject coverage per HSP to the tabular format.
- Added option `--culling-overlap` to set the minimum overlap with a higher scoring hit for a hit to be deleted and changed the
  default value from 90% to 50%.
- Added command `diamond test` to run a series of regression tests.
- Fixed an off-by-one error of the query end position in the XML output format.
- (Update 2020/06/08) Due to a bug, since this version DAA files are not backward compatible with previous versions when using frameshift alignment (option `-F`).

[0.9.30]
- Added support for output field `cigar` to the tabular format.
- Changed the maximum repeat period to 50 for tantan masking.
- Changed the tantan masking to ungapped mode.
- Improved the performance of repeat masking.
- Added output fields sskingdoms, skingdoms, and sphylums to print subject super kingdoms, subject kingdoms, and subject phylums.

[0.9.29]
- Fixed a bug that could cause taxonomy features to function incorrectly for databases created by versions 0.9.27 and 0.9.28.

[0.9.28]
- Fixed a bug that could cause alignment score overflows for scores > 65535 in frameshift alignment mode.
- Fixed a clang compiler error.

[0.9.27]
- Improved performance of the seed matching stage.
- Seed frequency counts are computed based on hit seeds.
- Added option `--taxon-exclude` to exclude list of taxon ids from search.
- Compiling from source will no longer perform a native build. Instead, a portable binary that contains code paths
  for multiple architectures will be produced, with dispatch logic that is invoked at runtime.

[0.9.26]
- Fixed a bug that could cause undefined behaviour when using a database file of format version < 2.
- Fixed a compiler error when compiled as generic C++.
- Program will no longer terminate with an error if unlink system call fails.
- Added option `--tantan-minMaskProb` to set minimum repeat probability for tantan masking and changed the default value to 0.9.
- Added option `--tantan-maxRepeatOffset` to set maximum tandem repeat period to consider and changed the default value to 15.
- Added option `--tantan-ungapped` to use tantan in ungapped mode and changed the default to gapped mode.
- Changed score matrix lambda calculation for tantan masking.
- Reference masking is recomputed during alignment runs.

[0.9.25]
- Added support for the `sscinames` output field to print subject scientific names to the tabular output format.
- Fixed a compiler error for GCC 8.2.
- Added option `--stop-match-score` to set the match score of stop codons.
- Fixed a bug that caused the `qqual` output field to not be correctly clipped to the aligned part of the query.
- Added output fields `qseq_gapped` and `sseq_gapped` to the tabular format.
- Raised compiler requirement to GCC 4.8.
- Fixed a bug that caused the final sequence positions to not be printed in the pairwise format.
- Allow using `--min-score` instead of `--top` for the LCA computation of the taxonomy output format.
- Reduced the number of temporary files.
- Added output field `qstrand` to the tabular format.
- Database format version changed to 3.
- Fixed a bug in the `--range-culling` mode that could cause undefined behaviour.

[0.9.24]
- Fixed a compiler error on macOS.
- Added --header option to output header for tabular output format.
- The quality string output in tabular format (qqual field) is clipped to the aligned part of the query.
- Print '*' as quality string if quality values are not available in tabular output format.
- Added field 'full_qqual' to print unclipped query quality values to the tabular format.
- Added field 'full_qseq' to print unclipped query sequence to the tabular format.
- Added support for using the hyphen character '-' to denote the standard input for input file parameters.
- Status messages are written to stderr.
- Fixed a bug that could incorrectly report queries as unaligned in the output of the --un option.
- Added option '--al' to write aligned queries to file.
- Added options '--alfmt' and '--unfmt' to set the format of the aligned/unaligned query file (supported values: fasta, fastq).

[0.9.23]
- Fixed an issue that could cause too high memory usage.
- Added output field 'qqual' to print query FASTQ quality values to the tabular format.
- Changed license to GPL.
- Raised compiler requirement to GCC 4.6.
- Added option to use the DAA output format for diamond view.
- Added support for using a FASTA file as the --db parameter in alignment workflows.
- Added CL (command line) and VN (version) fields to the @PG SAM format header line.
- Fixed a performance issue for very long query sequences.
- Added shortcut --long-reads for --range-culling --top 10 -F 15.

[0.9.22]
- Added output field full_sseq to tabular output format.
- Database sequences that exceed the maximum accession length will no longer cause an error.
- Added support for PAF output format.
- Optimized performance of database taxonomy filtering.

[0.9.21]
- Fixed compiler errors on some systems.

[0.9.20]
- Added Bioconda installation instructions to manual.
- Added official docker release: https://hub.docker.com/r/buchfink/diamond/
- Fixed a bug that could cause corrupted output if compression was activated.
- Fixed an issue that could cause high memory usage by automatic use of the query-indexed algorithm.

[0.9.19]
- Fixed a bug in the --un function to write unaligned reads.
- Fixed an issue in the LCA algorithm that could cause an assignment to a higher node.
- --taxonmap and --taxonnodes parameters now apply exclusively to the makedb command.
- Added option --taxonlist to filter searches by subject taxonomic id.
- Changed database format; rebuilding is required.

[0.9.18]
- Optimized output writing performance.
- Fixed a bug in the XML output format.

[0.9.17]
- Fixed a compiler error on FreeBSD.
- Added option --range-culling.
- Fixed escape sequences in XML output.

[0.9.16]
- Fixed a bug that caused an error for non-SSSE3 builds.

[0.9.15]
- Improved performance of frameshift alignment mode.

[0.9.14]
- Added support for frameshift alignments.

[0.9.13]
- Fixed query positions in pairwise format for translated searches.
- Changed default behaviour of --max-hsps option to report unlimited number of HSPs.

[0.9.12]
- Fixed dbinfo command to be able to read older database formats.
- Adjusted XML format for better compatibility with Blast2Go.
- Fixed a potential error when running multiple instances of Diamond.

[0.9.11]
- Added option --xml-blord-format for alternative-style XML format.
- Fixed a bug that could cause a crash when writing compressed output files.

[0.9.10]
- added --strand option to choose query strand
- added dbinfo command

[0.9.9]
- Added taxonomic classification format.
- Fixed a bug in getseq printing masked residues.
- Fixed parsing of UniRef100_ sequence id prefixes.
- Added support for using the staxids output field in diamond view.

[0.9.8]
- Fixed a compiler error.

[0.9.7]
- Fixed compiler errors.
- Changed XML format to print accessions in the Hit_id and Hit_accession fields.

[0.9.6]
- Fixed compiler errors.

[0.9.5]
- Added support for named pipes.
- Added support for reading input files from stdin.
- Added more elaborate file I/O error messages.

[0.9.4]
- Improved performance.
- Fixed a bug in the query-indexed algorithm.
- Empty sequences are ignored instead of generating an error.

[0.9.3]
- Fixed a bug that could cause hanging.
- Fixed a bug that could cause an error when using the staxids output field and the --unal option.

[0.9.2]
- Fixed a compiler error.
- Improved performance for very small query files.

[0.9.1]
- fixed a performance issue

[0.9.0]
- improved performance
- improved support for alignments with long gaps
- removed SEG masking
- added low complexity masking using tantan
- changed license to AGPL

[0.8.38]
- fixed std::exception error messages
- fixed sequence titles in XML format
- XML and pairwise format contain full length titles by default

[0.8.37]
- fixed a bug that would cause an error message for empty DAA files
- all scoring matrices use the respective default gap penalties from BLAST
- added check for SSSE3 instruction set
- added diamond-sse2 to the binary package
- added staxids field to the tabular format

[0.8.36]
- fixed a compiler error

[0.8.35]
- added a check to detect incomplete database files
- database files will be deleted in case database building fails
- fixed a compiler error on 32 bit systems

[0.8.34]
- fixed a compiler error

[0.8.33]
- modified option --no-self-hits to also require matching sequence titles for filtering of a self hit
- fixed a bug that could cause a crash in the `joining output blocks` stage

[0.8.32]
- improved speed and sensitivity
- fixed an issue that could cause too high memory usage in certain cases

[0.8.31]
- renamed option --run-len to --min-orf
- added compositional score adjustments (option --comp-based-stats (0,1), enabled by default)
- removed --single-domain option and replaced by --max-hsps
- added option --no-self-hits

[0.8.30]
- slightly improved sensitivity
- added option to report unaligned queries (--unal)
- pairwise, XML and SAM format will report unaligned queries by default
- added option to filter alignments by subject cover (--subject-cover)

[0.8.29]
- fixed an issue that could cause a crash when using view on incomplete DAA files

[0.8.28]
- slightly improved sensitivity
- added support for the BLAST pairwise format (option -f 0)

[0.8.27]
- added support for gzip compressed files containing multiple gzip streams

[0.8.26]
- fixed a compiler error
- now compiles as generic C++ code without SSE being available
- added option to write unaligned queries to file (--un)

[0.8.25]
- fixed a bug with the qseq field in the blast tabular format
- added qtitle and btop fields to the blast tabular format
- fixed a bug that could cause a crash when passing a nonexistant input file
- fixed an issue that could cause unexpectedly long runtimes in certain cases

[0.8.24]
- error messages when reading sequence files include line numbers

[0.8.23]
- added option to change the genetic code used for translation in blastx mode

[0.8.22]
- the Hit_id and Hit_accession fields are now filled for the BLAST XML format

[0.8.21]
- fixed an error of 'diamond view' when using a custom scoring matrix

[0.8.20]
- added support for customizing the BLAST tabular output format

[0.8.19]
- ungapped xdrop score and ungapped and gapped filter scores are now set in bits
- added support for custom scoring matrices

[0.8.18]
- fixed a crash bug
- implemented getseq command to retrieve sequences from database files

[0.8.17]
- slightly improved sensitivity of fast and sensitive mode
- added new alignment mode (option --more-sensitive)
- the scoring matrix parameter will accept upper case spelling

[0.8.16]
- optimized performance

[0.8.15]
- fixed a compiler error on Mac
- fixed a crash on some systems

[0.8.14]
- fixed a memory leak

[0.8.13]
- fixed a compiler error for GCC 4.1 and 4.2

[0.8.12]
- changed database format
- block size parameter is set only for the alignment commands
- the program will accept databases created by later versions if the format is compatible
- improved sensitivity of sensitive mode with some loss in performance

[0.8.11]
- fixed a compiler error

[0.8.10]
- added option to directly generate all output formats
- fixed some GCC 6.1 compiler errors

[0.8.9]
- optimized performance
- improved local alignment accuracy
- fixed some fields in the XML format

[0.8.8]
- fixed a clang compiler error

[0.8.7]
- added support for BLAST XML format
- fixed the gzip compressed output option

[0.8.6]
- fixed a problem of the Windows version that could cause errors for larger files
- optimized performance

[0.8.5]
- optimized performance

[0.8.4]
- fixed a problem that could cause very long runtimes for highly repetitive sequences
- optimized performance
- fixed a bug that could cause too high memory usage in blastp mode

[0.8.3]
- fixed a problem that could sometimes cause alignments to be missed
- suppressed reporting of alignments that are enveloped by better alignments

[0.8.2]
- use parameter -k0 to report unlimited number of alignments
- fixed a crash bug on Mac OS X
- fixed a crash when view was used with terminal output

[0.8.1]
- added option to disable auto appending of DAA and DMND file extensions (--no-auto-append)
- fixed some compiler errors for GCC 4.6

[0.8.0]
- fixed a bug that would sometimes cause alignments to be missed
- fixed a bug that would cause alignments on the reverse strand to be missed in blastx mode
- temporary directory now defaults to output directory
- removed dependency on Boost
- fixed a bug that would cause stop codons to be translated into 'X'

[0.7.12]
- fixed header string in SAM output to correctly identify the blastp alignment mode
- added option to filter alignments for a given query cover (option --query-cover)
- added option to print full subject titles in output files (option --salltitles)

[0.7.11]
- added --version switch
- added static build option for CMake build
- fixed a bug that would cause a return code of 1 without an error

[0.7.10]
- --log option works on OS X
- added option to set effective database size (--dbsize)
- added CMake build option
- fixed a Clang compiler warning
- dash characters (-) are ignored (treated as X) in protein sequences

[0.7.9]
- added --single-domain option
- fixed a bug that could cause the program not to use all available threads
- optimized performance

[0.7.8]
- fixed a bug that could produce an incorrect sort order of HSPs

[0.7.7]
- fixed a number formatting error in the SAM output format

[0.7.6]
- fixed a formatting error in CIGAR strings

[0.7.5]
- fixed a compiler error for Clang
- compiles on OS X
- fixed a bug that would not produce the correct sort order for HSPs with e-value 0
- option --run-len defaults to 1 for sequences shorter than 30 letters

[0.7.4]
- removed OpenMP dependency
- using explicit Makefile instead of autoconf
- file extensions can be named explicitly for DAA and database files
- HSPs are grouped by target sequence
- fixed a bug that could produce incorrect output for view
- fixed a bug that could report an incorrect number of alignments
- fixed a compiler error for GCC 4.1.2

[0.7.3]
- changed database format (makedb required)
- optimized multithreading load balancing
- removed a non-determinism in alignment computation
- IUPAC nucleotide ambiguity codes in DNA sequences are accepted and converted into N's
- SEG masking is disabled by default for blastp mode
- fixed a memory leak
- reduced database file sizes

[0.7.2]
- fixed a bug that could create invalid DAA files when using the --id option
- added integrity check of DAA files to view command
- fixed a bug that could cause segmentation fault or file seek errors

[0.7.1]
- fixed a race condition for opening temporary files
- temporary files are deleted on ungraceful termination of the program
- blank lines in FASTA files are tolerated
- fixed a compiler error for GCC 4.4.7
- view command can write to standard output

[0.7.0]
- introduced DAA format
- reduced usage of temporary disk space and memory
- fixed a compiler error for GCC 4.1.2
- fixed a bug that could cause the program to hang when running out of temporary space or memory
- added --forwardonly option to view command