Skip to content

v1.11.2

Choose a tag to compare

@github-actions github-actions released this 11 Mar 03:38

Salmon v1.11.2 Release Notes

Released: 2026-03-11
Full Changelog: v1.10.3...v1.11.2


Overview

Salmon v1.11.2 is a major release representing the most substantial architectural overhaul of the salmon codebase since the transition to the pufferfish index in v1.0.0. The changes span the full source tree — from the core indexing data structure to the build system — and are motivated by a commitment to long-term maintainability and future extensibility. At the same time, the bulk RNA-seq quantification functionality and all output formats are fully preserved; users upgrading from v1.10.3 should expect identical results from salmon quant on the same data, modulo the index rebuild described below.

⚠️ Action required: Due to a fundamental change in the underlying index format (see below), all users must rebuild their salmon indices before using v1.11.2. Indices built with v1.10.3 or earlier are not compatible with this release.

🗑️ salmon alevin has been removed. See the migration guidance below.


New SSHash-based Index

The most significant change in this release is the adoption of a fundamentally new and more efficient k-mer index based on SSHash, a space-efficient and highly cache-friendly dictionary for k-mer sets. This replaces the prior colored compacted de Bruijn graph (ccDBG) index built on top of pufferfish / TwoPaCo.

The SSHash index offers:

  • Reduced memory footprint at both index construction and query time
  • Faster k-mer lookup via a more cache-friendly hash-based design
  • Simpler and more robust index construction — eliminating the multi-stage TwoPaCo ccDBG build pipeline and its associated intermediate files and disk usage
  • A cleaner foundation for future algorithmic development

The SSHash data structure is described in:

Giulio Ermanno Pibiri. SSHash: Locality-Preserving Minimal Perfect Hashing of k-mers. Bioinformatics, 38(Supplement 1):i185–i194, 2022. https://academic.oup.com/bioinformatics/article/38/Supplement_1/i185/6617506

The integration of SSHash into salmon's mapping pipeline, and its performance and accuracy relative to the previous index, is described in the following preprint:

Pibiri GE, Patro R, et al. [preprint title]. bioRxiv 2026.01.21.700884. https://www.biorxiv.org/content/10.64898/2026.01.21.700884v1

Because the index format has changed fundamentally, all previously built salmon indices must be rebuilt using salmon index with this new version. Rebuilding is straightforward and does not require any changes to your reference files or workflow commands beyond directing salmon to a fresh output directory.


Removal of salmon alevin — Migration to piscem → alevin-fry

salmon alevin, the integrated single-cell RNA-seq processing subcommand, has been permanently removed in this release. This decision reflects the maturation of purpose-built, actively developed alternatives that substantially outperform the legacy salmon alevin pipeline in speed, memory efficiency, protocol flexibility, and accuracy.

Users who previously used salmon alevin should migrate to the piscem + alevin-fry pipeline, which has been the recommended approach for single-cell processing since the introduction of alevin-fry in salmon v1.4.0. The piscem → alevin-fry stack:

  • Provides the same (and extended) protocol support (10x Chromium, Drop-seq, sci-RNA-seq, SPLiT-seq, etc.)
  • Uses the same RAD file format as salmon alevin --rad/--sketch for downstream processing
  • Offers dramatically improved memory efficiency and throughput
  • Is actively maintained and receives new features and protocol support
  • Supports decoy-aware mapping via piscem's built-in genome+transcriptome index

For documentation and tutorials, see:


Major Source-Tree Refactoring and Build System Modernization

Alongside the index overhaul, this release incorporates a comprehensive, multi-stage refactoring of the entire salmon source tree. The goal of this work is to reduce technical debt accumulated since the project's origin, establish clearer module boundaries, and make the codebase more approachable for contributors and more tractable for future algorithmic additions. No changes to salmon's quantification logic, algorithms, or output formats were made as part of this refactoring.

Key refactoring work includes:

Source Tree Reorganization

  • All internal implementation headers have been moved under a dedicated salmon/internal/ namespace, clearly separating the public API surface from implementation details.
  • Headers were consolidated into logical groupings:
    • Model headers (salmon/internal/model/)
    • Alignment and output headers (salmon/internal/alignment/, collapsed from multiple sub-directories)
    • Inference headers (salmon/internal/inference/)
    • Core state and utility headers (salmon/internal/core/, salmon/internal/util/)
    • Transcript state moved to salmon/internal/
  • Legacy top-level "wrapper" headers (thin shims that re-included internal headers) have been completely removed.

CMake Build System Overhaul

  • The monolithic top-level CMakeLists.txt has been split into focused, single-responsibility modules, dramatically improving build system readability and maintainability.
  • Global build state in src/CMakeLists.txt has been reduced; target properties are now propagated explicitly via target_* directives.
  • CMake module dependencies have been tightened so that each module declares only what it directly requires.
  • The dependency fallback integration has been modernized, improving behavior when system-installed versions of libraries are absent.
  • Stale linker search paths that accumulated over many releases have been pruned.
  • The staged external include directory preference, which could cause subtle order-of-inclusion bugs, has been removed.

I/O Modernization

  • The legacy FastxParser FASTQ/FASTA reading layer has been replaced with a new FQFeeder adapter, providing a cleaner interface and resolving latent compatibility issues with newer compilers.

Dependency Updates

  • Eigen vendored dependency updated to v3.4.1 (from an older embedded copy); Eigen vendor extras and unnecessary files have been pruned, and file modes normalized.
  • spdlog (vendored) has been updated with fixes for compatibility with modern versions of {fmt}.
  • libgff dependency pinned to v2.0.1.
  • pufferfish submodule pinned to a dedicated for-salmon branch commit, decoupling salmon's build from upstream pufferfish development velocity.

Compatibility and Output

With the exception of the index format change and the removal of salmon alevin:

  • All salmon quant functionality is preserved. The selective-alignment algorithm, EM/VB inference, bias correction models, library type detection, equivalence class output, and all other bulk quantification features are unchanged.
  • All output formats are unchanged. quant.sf, meta_info.json, lib_format_counts.json, aux_info/, bootstrap output, and all other outputs are bit-for-bit compatible with v1.10.3 output (given identical inputs and a freshly built index).
  • Command-line interface is unchanged for salmon quant and salmon index. No flags have been added or removed.
  • Alignment-based mode (salmon quant -a) is fully preserved.

Upgrading from v1.10.3

  1. Replace your salmon binary with the v1.11.2 release.
  2. Rebuild your index:
    salmon index -t transcriptome.fa -d decoys.txt -i salmon_index_v1.11.2/
    (Passing multiple threads with -p is recommended to reduce index build time.)
  3. If you use salmon alevin, migrate to piscem + alevin-fry. All salmon quant and other commands are otherwise drop-in compatible.

Downloads

Pre-compiled binaries are available below for:

Platform File
Linux x86_64 salmon-linux-x86_64.tar.gz
Linux aarch64 salmon-linux-aarch64.tar.gz
macOS arm64 (Apple Silicon) salmon-macos-arm64.tar.gz
macOS x86_64 salmon-macos-x86_64.tar.gz

References

  1. Pibiri GE. SSHash: Locality-Preserving Minimal Perfect Hashing of k-mers. Bioinformatics. 2022;38(Supplement 1):i185–i194. https://academic.oup.com/bioinformatics/article/38/Supplement_1/i185/6617506

  2. Pibiri GE, Patro R, et al. [preprint]. bioRxiv 2026. https://www.biorxiv.org/content/10.64898/2026.01.21.700884v1

  3. He D, Zakeri M, Sarkar H, Soneson C, Srivastava A, Patro R. Alevin-fry unlocks rapid, accurate and memory-frugal quantification of single-cell RNA-seq data. Nat Methods. 2022.