- BLAST: refers to the algorithm, as published in the Basic local alignment search tool paper and the Gapped BLAST and PSI-BLAST paper.
- BLAST+: refers to the suite of command line applications described in BLAST+: architecture and applications.
- API: The BLAST+ API is defined by command line options of its applications and the high level APIs in algo/blast/core and algo/blast/api in the NCBI C++ toolkit.
Starting with BLAST+ 2.3.0, the BLAST+ suite will follow the semantic versioning guidelines from http://semver.org/, with a few deviations. Each BLAST+ release will be versioned: [MAJOR].[MINOR].[PATCH], where
- The major component of the version is reserved for major algorithmic changes (e.g.: ungapped to gapped BLAST).
- The minor component of the version is incremented with each non-bug-fix BLAST+ release; these may contain new features or non-backwards compatible changes.
- The patch component of the version is used for backwards-compatible bug-fix releases (public or NCBI-only). Note that these may be non-sequential.
Changes in the PATCH level have source compatibility forwards and backwards, but the same guarantee cannot be made with MINOR or MAJOR changes. Link-level compatibility is not supported at this time.
Deprecation may occur in any releases where the MAJOR or MINOR component of the version changes. Deprecations in the command line options will be announced in the BLAST+ release notes and source code APIs will have the NCBI_DEPRECATED preprocessor symbol. These will be present in at least one MINOR release before they are removed so that users can transition away from these APIs.