v2026.8.6
Pre-release
Pre-release
Lungfish 2026.8.6
Channel: Preview
Previous versioned release: v2026.8.5
Stable baseline: v2026.8.5
Dependency set: 2026.2
Preview builds are under rapid iterative development. Features may be incomplete, change quickly, or require additional feedback.
Changes since 2026.8.5
This preview carries the test-suite optimization campaign and the correctness fixes it surfaced. User-visible changes:
Correctness and stability
- Fixed a defect where the genotype viewport's "Save Haplotype Assignment Changes?" confirmation could be presented in contexts with no way to answer it. The dialog now only appears in the interactive app.
lungfish ops statsnow reports real sub-megabyte Peak RAM values (for example "512 bytes") instead of flooring them to "0 MB".- ENA searches now report malformed server responses through the same structured parse error as every other ENA operation, instead of surfacing a raw decoding failure.
Display consistency
- All byte, count, and duration readouts across the app and CLI now use one shared formatter. Sizes consistently use decimal units with adaptive precision; in a few places (Plugin Manager database sizes,
lungfish conda list,lungfish db info) values previously shown as whole binary units now show finer precision (for example "8 GB" becomes "8.59 GB").
Developer and release infrastructure
- The test suite is reorganized into named tiers (smoke, unit, integration, conformance, full) with a parallel unit tier that runs in under 8 minutes; the full suite remains the stable-release gate. Release channels now run tier-appropriate gates.
- Test runs no longer open the system browser or present dialogs; live-network and machine-specific tests are uniformly gated.
Verification
- Full serial suite: 13,535 XCTest + 597 swift-testing tests, zero failures (two load-sensitive classes passed via the gate's isolated serial retry).
- Unit, integration, and script-level gates green at the release commit.
Dependency versions
The following tables reproduce every current version identity in the bundled
dependency manifest and Package.resolved. Conda identities include their
exact channel, package version, and build string.
Core managed tools
| Manifest id | Exact package identity |
|---|---|
nextflow |
bioconda::nextflow=26.04.6=h2a3209d_1 |
snakemake |
bioconda::snakemake=9.25.2=hdfd78af_0 |
bbtools |
bioconda::bbmap=40.02=he046917_0 |
fastp |
bioconda::fastp=1.3.6=ha1d0559_0 |
deacon |
bioconda::deacon=0.16.0=h314a369_0 |
samtools |
bioconda::samtools=1.24=h36b3a25_1 |
bcftools |
bioconda::bcftools=1.24=h6bd33b9_2 |
htslib |
bioconda::htslib=1.24=hd3c6ec9_0 |
seqkit |
bioconda::seqkit=2.13.0=hd5f1084_0 |
cutadapt |
bioconda::cutadapt=5.2=py313hf513372_2 |
trim_galore |
bioconda::trim-galore=2.3.0=h48b4a6d_0 |
vsearch |
bioconda::vsearch=2.31.0=h0448ff9_0 |
pigz |
conda-forge::pigz=2.8=hfab5511_2 |
sra-tools |
bioconda::sra-tools=3.4.1=h4675bf2_1 |
ucsc-bedgraphtobigwig |
bioconda::ucsc-bedgraphtobigwig=482=h1643cc5_0 |
pysam |
bioconda::pysam=0.24.0=py310hf7cbfa5_1 |
openpyxl |
conda-forge::openpyxl=3.1.5=py312h2a925e6_3 |
Plugin-pack tools
| Pack | Manifest id | Exact package identity |
|---|---|---|
| Read Mapping | minimap2 |
bioconda::minimap2=2.31=h6bd33b9_0 |
| Read Mapping | bwa-mem2 |
bioconda::bwa-mem2=2.3=hda5e58c_0 |
| Read Mapping | bowtie2 |
bioconda::bowtie2=2.5.5=h9e91881_0 |
| Full-Length MHC Genotyping | savont |
bioconda::savont=0.6.3=ha819e4a_0 |
| Full-Length MHC Genotyping | blast |
bioconda::blast=2.16.0=hb260f6e_5 |
| Variant Calling | lofreq |
bioconda::lofreq=2.1.5=py310h9cf5bfa_16 |
| Variant Calling | ivar |
bioconda::ivar=1.4.4=hda5e58c_0 |
| Variant Calling | medaka |
bioconda::medaka=2.2.2=py312h3bb865a_0 |
| Variant Calling | clair3 |
bioconda::clair3=2.0.2=py311h9aa1f4a_0 |
| GATK Core | gatk4 |
bioconda::gatk4=4.6.2.0=py310hdfd78af_1 |
| Phasing | whatshap |
bioconda::whatshap=2.3=py311h1457a19_3 |
| Assembly | spades |
bioconda::spades=4.3.0=hd468e49_1 |
| Assembly | megahit |
bioconda::megahit=1.2.9=h96a01ab_8 |
| Assembly | skesa |
bioconda::skesa=2.5.1=hda5e58c_3 |
| Assembly | flye |
bioconda::flye=2.9.6=py310hba4535a_1 |
| Assembly | hifiasm |
bioconda::hifiasm=0.25.0=h697fd72_0 |
| Multiple Sequence Alignment | mafft |
conda-forge::mafft=7.526=h99b78c6_0 |
| Phylogenetics | iqtree |
bioconda::iqtree=3.1.3=h6cc7423_0 |
| Metagenomics | kraken2 |
bioconda::kraken2=2.17.1=pl5321h158e17b_0 |
| Metagenomics | bracken |
compatibility pin bioconda::bracken=1.0.0=1; fresh installs use source overlay 3.1 with Python 3.11.13, cxx-compiler 1.9.0, and llvm-openmp 21.1.8 |
| Metagenomics | esviritu |
bioconda::esviritu=1.3.3=pyhdfd78af_0 |
| Metagenomics | ribodetector |
bioconda::ribodetector=0.3.3=pyhdfd78af_0 |
| Wastewater Surveillance | freyja |
bioconda::freyja=2.0.3=pyhdfd78af_0 |
Pipelines
| Manifest id | Release | Immutable revision |
|---|---|---|
taxtriage |
v3.3.8 |
e10bfebda32a62711f38a4e23ab03b61725a9675 |
nf-core-viralrecon |
3.0.0 |
3.0.0 |
Databases and managed data
| Manifest id | Current identity |
|---|---|
kraken2-standard |
20260626 |
kraken2-standard-8 |
20260626 |
kraken2-standard-16 |
20260626 |
kraken2-pluspf |
20260626 |
kraken2-pluspf-8 |
20260626 |
kraken2-pluspf-16 |
20260626 |
kraken2-viral |
20260626 |
kraken2-minus-b |
20260626 |
kraken2-eupathdb46 |
20230407 |
esviritu-viral-v3 |
v3.2.4 |
ncbi-taxonomy |
2025-03 |
kraken2-special-silva |
kraken2-special-v1 |
kraken2-special-greengenes |
kraken2-special-v1 |
human-scrubber |
20260706v2 |
deacon-panhuman |
panhuman-1 |
deacon-ribokmers |
bbmap-ribokmers-k31w15 |
The bootstrap identity is micromamba 2.9.0-0; its Apple Silicon payload is
checksum-verified before use.
SwiftPM resolved packages
| Package identity | Version | Revision |
|---|---|---|
async-http-client |
1.36.0 |
9544287b9416c0bc71e58b9f3aead8dd14b16103 |
containerization |
0.24.5 |
c3fe889a2f739ee4a9b0faccedd9f36f3862dc29 |
grpc-swift |
1.27.5 |
6a8927df5a91710b414caba4f8a088dead4633db |
sparkle |
2.9.6 |
ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a |
swift-algorithms |
1.2.1 |
87e50f483c54e6efd60e885f7f5aa946cee68023 |
swift-argument-parser |
1.8.2 |
6a52f3251125d74daf04fcbd5e6f08a75d074382 |
swift-asn1 |
1.7.1 |
a9a5efd40eaf558a2bcd48d64b1d1646be686008 |
swift-async-algorithms |
1.1.5 |
3da39bbc4e687d4192af7c9cf4eab805745a0b9c |
swift-atomics |
1.3.1 |
0442cb5a3f98ab802acb777929fdb446bda11a34 |
swift-certificates |
1.19.4 |
449dbbecd0f31e82b510ada227ca152caa8b5e98 |
swift-collections |
1.6.0 |
a0cb0954ecb21e4e31b0070e6ed5674e8556685a |
swift-configuration |
1.2.0 |
be76c4ad929eb6c4bcaf3351799f2adf9e6848a9 |
swift-crypto |
3.15.1 |
95ba0316a9b733e92bb6b071255ff46263bbe7dc |
swift-distributed-tracing |
1.4.1 |
dc4030184203ffafbb2ec614352487235d747fe0 |
swift-http-structured-headers |
1.7.0 |
933538faa42c432d385f02e07df0ace7c5ecfc47 |
swift-http-types |
1.6.0 |
db774a277f60063a32d854f2980299caf06da041 |
swift-log |
1.15.0 |
3ffafb9722d5d918c614feb496c8789a3b59d222 |
swift-nio |
2.101.3 |
0b18836bd8b0162e7e17a995a3fbee20ed8f3b2b |
swift-nio-extras |
1.34.3 |
88a51340f59cf181ebde888bd1b749296b3ec029 |
swift-nio-http2 |
1.45.0 |
45bdf670248be5f16ec0340e125dca285536f0fb |
swift-nio-ssl |
2.37.2 |
d930168b86f46ca51a4bc09c5ca45c1833db8067 |
swift-nio-transport-services |
1.28.0 |
67787bb645a5e67d2edcdfbe48a216cc549222d5 |
swift-numerics |
1.1.1 |
0c0290ff6b24942dadb83a929ffaaa1481df04a2 |
swift-protobuf |
1.35.0 |
9bbb079b69af9d66470ced85461bf13bb40becac |
swift-service-context |
1.3.0 |
d0997351b0c7779017f88e7a93bc30a1878d7f29 |
swift-service-lifecycle |
2.12.0 |
7f9326b0326ff86e3646295ea6e891f68c471c5e |
swift-system |
1.8.1 |
869129b7bf4ecc57b97d0193ad29690ca2134750 |
zstd |
1.5.7 |
f8745da6ff1ad1e7bab384bd1f9d742439278e99 |
viewinspector |
0.10.3 |
e9a06346499a3a889165647e3f23f8a7b2609a1c |
Known issues and compatibility notes
- Preview and Stable cannot be installed side by side; install the desired
channel's DMG to switch the one shared application installation. - The 20260626 Kraken2 indexes display species-level taxid 3418604 as
Betacoronavirus pandemicum. Classification identifiers are unchanged, but
searches or notes relying on the former SARS-CoV-2 display name should be
checked. - The Apple Silicon bioconda Bracken compatibility package has no real driver
and does not support domain-level profiling through its synthesized
launcher. Fresh installs receive the managed Bracken 3.1 source build;
existing working environments are preserved. bioconda::bwa-mem2=2.3=hda5e58c_0self-reports 2.2.1 because of an upstream
packaging defect. Lungfish verifies that pin from conda package metadata.