6. Changelog¶
6.1. Version 0.25.0 (Oct 2026)¶
Containers
Added a container recipe for Gappa 0.8.0 from Bioconda.
Breaking changes
Python 3.9 is no longer supported; damona now requires Python >= 3.10 (3.10 to 3.14 are tested in CI).
Dependencies
Removed the
easydevdependency: the md5 helper, the command lookup and the configuration directory are now handled in damona itself (platformdirsis now a direct dependency; the configuration location is unchanged on Linux).Require
urllib3 >= 2.8.0and refresh the lock file torequests2.34.2 andsoupsieve2.10 to address security advisories.
6.2. Version 0.24.2 (Oct 2026)¶
Bug fixes
fix pyproject to pin correctly line_profiler so that python 3.13 and 3.14 works
6.3. Version 0.24.r21 (Sept 2026)¶
Containers
Added a source-build recipe for KMCP 0.9.4.
Added a source-build recipe and catalog entry for RTG Tools 3.12.1.
BUG FIX
fix error when trying to install a software with --force
6.4. Version 0.24.1 (Sept 2026)¶
NEW
Added DOI columns to damona search and info commands so users can cite container versions directly. Implementation complete with all tests passing. (disable recaps in /config)
6.5. Version 0.24.0 (August 2026)¶
Containers
Added recipe: dustmasker 1.0.0, a 35 MiB image extracted from the pinned NCBI BLAST+ 2.17.0 tarball. The 1.0.0 entry previously resolved to
kraken_2.0.9.img, a 690 MB kraken image that happens to ship the same dustmasker; installing dustmasker no longer pulls kraken.
Bug fixes
An unused image was never deleted as long as any other software was installed:
ImageReader.is_orphanasked whether some binary resolved to some image, not whether any binary pointed at this one.damona imagestherefore left orphan images on disk with "still used". It now checks the image's own name.damona uninstallgiven an unknown binary name reported only that the name was not found in the environment, which reads like the binary was never installed. It now appends the closest installed names, so a typo is obvious.damona catalogshowed?in the base-image column for 13 releases whose Singularity file is not where the registry key says it should be: a directory spelled differently (umi-toolslives insoftware/umi_tools), a filename differing in case (Singularity.qc3C_0.5.0), a version whose suffix uses_rather than-, or a-zenodo1re-deposit that shares the recipe of its base version. The lookup now falls back to a case-insensitive, separator-insensitive search, leaving?only for the four releases that genuinely ship no recipe.
Mirrors and download resilience
A release can now be served by named mirrors as well as by its own Zenodo URL. Mirrors are declared in
damona/software/mirrors.yamlas name to base URL; the image filename is appended, so adding a mirror does not require editing every release. A release whose file is named differently on a mirror overrides the full URL under amirrors:key in its ownregistry.yaml. The namezenodois reserved for the release's owndownloadfield.damona installaccepts--from NAMEto force a source,--no-fallbackto stay on the canonical one, and--min-speedto abandon a slow source. With no flag, the canonical source is tried first and mirrors follow, so a slow or unavailable Zenodo no longer fails the install. An unknown--fromname lists the valid ones.Transfers now time out, abort when stalled, and can abort when throughput stays below a floor; 429 and 503 answers are retried honouring
Retry-After. If every source is slow, the fastest is used anyway rather than failing.Downloaded bytes are verified against the registry md5 before the image is installed. A source serving different content is discarded and the next one is tried, so a mirror never has to be trusted. Previously a mismatch only logged a warning after the image had been installed.
damona check-mirrors(maintainers) checks that every release resolves on every declared mirror, comparing the advertised size with the registry filesize, without transferring images. Mirrors declared inside a release entry are checked as well as those declared globally, and a release is only checked against a mirror it actually resolves to.helloworld 1.0.0 and bwa 0.7.17 are mirrored in
sequana/damona-containersand serve as the live examples in the test suite.
6.6. Version 0.23.0 (August 2026)¶
Containers
Added recipes: repeatmasker 4.2.2 and 4.2.4, seqkit 2.13.0, seqtk 1.5.0, barrnap 1.10.6, cufflinks 2.2.1, hicexplorer 3.7.6.
repeatmasker 4.2.4 is 43% smaller than 4.2.2 (290 MB against 511 MB) for the same Dfam 4.0 coverage, mostly by stripping the debug symbols that conda-forge and bioconda ship in their shared libraries. It also fixes
RepeatProteinMask, which no earlier image could run, and pins the RepeatMasker version: the image published as 4.2.2 actually contains 4.2.4.DupMaskeris no longer advertised for repeatmasker. It requires a duplicon library that is not distributed any more, so it never worked.
Bug fixes
damona buildcreated its temporary image indamona.cfg, a file rather than a directory, and failed withNotADirectoryError.Listing an environment crashed when its
bin/directory held files Damona did not create, such as hand-made symbolic links. Those are now detected and skipped.
Performance
damona statsqueried Zenodo once per software, which is slow and hits the API rate limit. Lookups are now batched (40 records per request) and cached for 24h.
Documentation
Per-software
README.mdfiles are generated; an optionalNOTES.mdnext to a recipe is now appended to them, so hand-written caveats survive regeneration.Reworked the user and developer guides, moved the changelog out of the README, and declared support for Python 3.11 and 3.12.
6.7. Version 0.22.0 (June 2026)¶
Added new recipe: mmseqs2 18.0.0.
Added foldseek 10.0.0 container recipe and registry.
6.8. Version 0.20.0 (April 2026)¶
CLI & User Experience
Added a rich footer to
damona --helpwith author, documentation, issues, and Zenodo links.Added a welcome box displayed on first
damonainvocation in each shell session (bash, zsh, fish).Removed redundant info from the help docstring and shell welcome message.
Removed the debug message "Using Damona executable: …" from shell scripts.
Improved
damona searchwith fallback recommendation for bundled binaries.
Registry & New Recipes
Added new recipes: spades 4.1.0, kallisto 0.51.1, pbmm2 1.16.99, STAR 2.7.11b, nextdenovo 2.5.2, deepvariant 1.10.0, diamond 2.1.24, pbsv 2.11.0, bamqc, idr 2.1.0, unicycler 0.5.1, bioconvert 1.2.0.
Added
brokenflag to mark buggy releases (hidden from search but still installable).
Documentation
Updated
damona --helpanddamona search bwascreenshots in README and user guide.Fixed Sphinx warnings in
doc/conf.py: removed deprecatedget_html_theme_path, unsupported theme options, addedsphinx_clickextension, updatedsource_suffixformat.Updated and improved README files for individual recipes.
6.9. Version 0.19.2 (March 2026)¶
Faster
damona checkcommand.Added new recipe for LongReadSum.
Bumped requests dependency to 2.33.0.
6.10. Version 0.19.1 (March 2026)¶
Renamed
damona uploadcommand todamona publish.Added new recipes: minimap2, isoquant, busco 6.0.0.
New Zenodo publishing strategy.
6.11. Version 0.18.0¶
See git history for earlier changes.