Skip to content

Releases: nf-core/tools

4.0.2 - Bold Boa Patch 2

30 Apr 13:16
b6c5737

Choose a tag to compare

v4.0.2 - Bold Boa Patch 2 - [2026-04-30]

General

  • add pipeline_dir to search directories for include statements (#4252)

Template

  • fix version capture in downloads_action (#4251)
  • Remove format constraint for igenomes_base (#4253)

v4.0.1 - Bold Boa Patch

29 Apr 09:20
d61f919

Choose a tag to compare

v4.0.1 - Bold Boa Patch - [2026-04-29]

General

  • handle prek not being exposed to $PATH (#4238)
  • fix failing api doc generation script (#4239)
  • switch changelog bot trigger only on comments (#4241)
  • fix indentation in generated api docs (#4245)

Modules

  • allow task.ext.prefix2 in modules linting (#4234)

v4.0.0 - Bold Boa

28 Apr 11:08
ba4cf6a

Choose a tag to compare

v4.0.0 - Bold Boa - [2026-04-28]

See more details about this release on our blog: https://nf-co.re/blog/2025/tools-4_0_0

Highlights

  • Nextflow strict syntax in the pipeline template
  • Auto-generated container config files
  • New command aliases
  • Webhook notifications removed

Breaking Changes

  • require strict Nextflow syntax
  • dropped deprecated prefix-free commands, e.g. nf-core create is now nf-core pipelines create
  • removed the --migrate-pytest functionality for nf-core modules create

General

  • Add command to generate pipeline container config files (#3955)
  • sync: don't overwrite the defaultBranch if already set in nextflow.config (#3939)
  • Add aliases to common sub-subcommands like install, lint, etc. (#3980)
Command Subcommand Aliases
modules & subworkflows bump-versions (modules only) bump-version, bump, bv, b
create c
install add, i
lint l
list ls
patch p
remove uninstall, rm
test t
update up, u
pipelines bump-version bump, bv, b
create c
download d
lint l
list ls
schema lint schema l
sync s
test-datasets (command group) test-dataset, tds, td, t
list ls
list-branches lsb
  • Add more ruff rules (B, PTH, RSE, SIM, C4, BLE, A) (#4034)
  • hinder renovate from updating packages with a fixed range (#4058)
  • nf-core bot: collect all snapshots before commiting (#4082)
  • fix nf-core bot snapshot action (#4083)
  • Fix GHA notification for AWS full tests job (#4092)
  • Parse manifest.contributors to fill in the RO-Crate (#4147)
  • Isolate test runs to avoid cross talks of Nextflow assets (#4175)
  • Remove --migrate-pytest functionality and deprecated pipeline commands (#4167)
  • use prek instead of pre-commit in all instances (#4187)
  • nextflow source CI: set up uv (#4208)
  • automatically handle merge conflicts for changelog files with union (#4223)

Download

  • Fix nf-core pipelines download --platform output directory structure and tagging (#4185)
  • Add a fallback for nextflow inspect for pipelines without a default for the --outdir parameter specified in the test profiles (#4212)

Linting

  • fix failing pytest for lint after samtools topic conversion (#4026)
  • capture correct error for invalid .nf-core.yml (#4080)
  • Ensure release linting happens on branch named main (#4121)
  • Add linting for meta and ext keys (#4127)
  • Add strict syntax linting to template with pre-commit (#4128)
  • Lint meta variable names (#4129)
  • Lint against the correct repo (#4140)
  • Fix false positive matches to words like text in ext key linting (#4142)
  • Fix changelog bot failing after linting step (#4155)
  • lint for correct syntax for compressed files in stubs (#4048)
  • fix linting with missing input (#4202)
  • fix(lint): use correct config key zenodo_doi (#4201)
  • add missing lint test documentation and add pre-commit check for them (#4052)

Modules

  • fix incorrect unqoting of val() version numbers (#4042)
  • Template: have a main: section in workflow even when modules are skipped (#4043)
  • allow harshil alignment™ in version channels (#4064)
  • Update example links in main.nf comments (#4188)
  • Always prettify modules.json (#4063)
  • Allow versions.yml in the version topics (#4094)
  • switch to gitlab module to test with old version syntax (#4126)
  • linting: Fix version emit for version.yml (#4095)
  • linting: make version topics mandatory (#4163)
  • only check for compressed stubs with .gz as final extension (#4206)
  • modules linting: require registry prefix in container link (#4209)
  • add apptainer support to module template (#4210)

Subworkflows

  • update test to new upstream subworkflow structure (#4038)
  • Fix lint: preserve underscores for subworkflow includes via full path (#4074)
  • update modules and subworkflows in template (#4077)
  • add --force parameter to modules remove and subworkflow remove (#4213)

Template

  • Remove webhook notifications (hook_url, slackreport, adaptivecard) (#4051).
  • Add .lineage/ directory to the template .gitignore (#4075).
  • Update nf-test module template to topics (#4113)
  • Fix nf-core tools version to what is specified in .nf-core.yml for the GitHub workflow download_pipeline.yml (#4124).
  • Update all documentation URLs to point to equivalents on the new nf-core website documentation structure (#4135)
  • Trigger full nf-test run if scripts in bin/ or schema JSON files are modified (#3897)
  • Add additional fusion specific exit codes (#4180)
  • fix: rename variables in pipeline nf-test template default.nf.test for clarity (#4189)
  • bump nextflow to 25.10.4 (#4190)
  • fix jinja variable in template (#4156)
  • fix some nextflow lint warnings in different skipped template versions (#4191)
  • trigger full nf-test run if CI changes (#4203)
  • Include AI and LLM usage guidelines in CONTRIBUTING.md (#4211)

Version updates

  • Update GitHub Actions (#4001)
  • Update dependency prettier to v3.8.1 (#4003)
  • Update dawidd6/action-download-artifact action to v14 (#4018)
  • Update mcr.microsoft.com/devcontain...
Read more

v3.5.2 - Terne Topi Patch 2

30 Jan 16:07
fee44da

Choose a tag to compare

v3.5.2 - Terne Topi Patch 2 - [2026-01-30]

General

  • Switch from pre-commit to prek for pre-commit hooks in development(#3899)
  • Fix docker errors in test (#3924)
  • switch to uv and pyproject.toml (#3925)
  • dockerhub action: add disk clean-up step and combine the two actions (#3926)
  • Pin j178/prek-action action to 91fd7d7 (#3931)
  • Simplify coverage reporting in pytest.yml (#3934)
  • add pre-commit hook to keep uv.lock in sync (#3933)
  • Fix quote handling in meta.yml (#3948)
  • Add support for SVG files in bump-version command (#3978)
  • handle type for val in topics correctly (#3991)
  • Update docker/login-action digest to c94ce9f (#3998)
  • fix wrong parsing when output values contain spaces (#3999)
  • fix failing devcontainer builds (#4013)

Linting

  • fix test for linting for version.yml (#3947)
  • Fix bugs in subworkflows lint causing false positive warnings (#3968)
  • more fixes for incorrect parsing of version statement (#3973)
  • handle val in version topics correctly (#3988)
  • handle additional attributes in input parsing correctly (#3990)

Modules

  • sort meta.yml based on keys in schema (#3958)
  • fix(modules_json): Use name string instead of dict as key in recreate_dependencies (#3963)
  • linting: polish regex for output parsing in modules main.nf (#3967)
  • modules linting: catch failing edamontology requests (#3994)

Subworkflows

  • Update to new topic version handling (#3929)

Version updates

  • Update actions/setup-python digest to 83679a8 (#3928)
  • Update python:3.14-slim Docker digest to 119fd5b (#3910)
  • Update pre-commit hook astral-sh/ruff-pre-commit to v0.14.7 (#3943)
  • Update mcr.microsoft.com/devcontainers/miniconda Docker digest to 2be0f5a (#3946)
  • Update actions/checkout digest to 8e8c483 (#3956)
  • Update GitHub Actions (#3957)
  • Update astral-sh/setup-uv digest to ed21f2f (#3959)
  • Update codecov/codecov-action digest to 671740a (#3962)
  • Update codecov/codecov-action digest to 671740a (#4000)
  • Update pre-commit hook pre-commit/mirrors-mypy to v1.19.1 (#4007)
  • Update pre-commit hook astral-sh/uv-pre-commit to v0.9.28 (#4006)
  • Update dependency textual-dev to v1.8.0 (#4005)
  • Update mcr.microsoft.com/devcontainers/base Docker tag to v2.1.5 (#4002)
  • Update dependency textual to v7 (#4008)
  • Update mcr.microsoft.com/devcontainers/miniconda Docker digest to 8a29f1c (#4009)
  • Update pre-commit hook astral-sh/ruff-pre-commit to v0.14.14 (#4011)
  • Update python:3.14-slim Docker digest to 9b81fe9 (#4012)

v3.5.1 - Terne Topi Patch 1

19 Nov 15:23
b478d8a

Choose a tag to compare

v3.5.1 - Terne Topi Patch 1 - [2025-11-19]

General

  • Fix blog_post parameter for nf-core pipelines sync command (#3911)
  • Fix markdown in sync PR message (#3913)

v3.5.0 - Terne Topi

19 Nov 10:53
caa251b

Choose a tag to compare

v3.5.0 - Terne Topi - [2025-11-19]

See more details about this release on our blog: https://nf-co.re/blog/2025/tools-3_5_0

Highlights

  • Version reporting with topic channels in modules

General

  • Improve file ignores in workflow file enumeration (#3820)
  • add optional link to blogpost to sync PR (#3852)
  • Avoid deleting files ignored by git during pipelines sync (#3847)
  • remove trailing comas from nextflow_schema.json (#3874)
  • Make bump-version snapshot test more stable (#3865)
  • add missing setup steps to snapshot update action (#3883)
  • fix sync test (#3885)
  • fix syntax in dockerfile for devcontainer (#3887)
  • Enable authenticated pipeline download from nf-core compatible repos with github api (#3607)
  • fix pytest setup matrix (#3888)
  • Fix GH API rate limits. (#3895)
  • devcontainer: downgrade to debian 12 and revert #3904 (#3907)

Template

  • Change GitHub Codespaces badge style (#3869 and #3873)
  • update multiqc version to fix utils test (#3853)
  • Update multiqc to 1.32 (#3878)
  • Update pipeline creation information page to be more exclusive as to what should use the full nf-core pipeline template (#3891)
  • Fix LSP warnings in pipeline template (#3905)

Linting

  • TEMPLATE: ignore nf-core components during prettier linting (#3858)
  • update json schema store URL (#3877)
  • add word boundary for input, output and topic linting (#3894)
  • Add linting of topics (#3902)

Modules

  • Add topics to the template + update linting (#3779)
  • Preserve the value of self.modules_repo across nested calls (#3881)
  • modules lint: handle meta.ymls without topics field (#3909)

Version updates

  • Update GitHub Actions (major) (#3849)
  • Update docker/setup-qemu-action digest to c7c5346 (#3875)
  • chore(deps): update python:3.14-slim docker digest to 9813eec (#3880)
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 (#3882)
  • Update python:3.14-slim Docker digest to 4ed3310 (#3862)
  • Update dependency textual-dev to v1.8.0 (#3860)
  • Update pre-commit hook astral-sh/ruff-pre-commit to v0.14.3 (#3861)
  • Update GitHub Actions (major) (#3849)
  • chore(deps): update mcr.microsoft.com/devcontainers/miniconda docker digest to 19516ba (#3890)
  • Update dependency textual to v6.6.0 (#3892)
  • chore(deps): update mcr.microsoft.com/devcontainers/base:debian docker digest to 2e826a6 (#3893)
  • Update pre-commit hook astral-sh/ruff-pre-commit to v0.14.5 (#3900)
  • Update actions/checkout digest to 93cb6ef (#3906)

v3.4.1 - Ducol Dingo Patch 1

16 Oct 12:43
99b23f0

Choose a tag to compare

v3.4.1 - Ducol Dingo Patch 1 - [2025-10-16]

Template

  • Fix devcontainer configuration for pipeline template (#3835)
  • Fix Jinja2 template formatting in nextflow.config (#3836)
  • Add codespaces badge to template README (#3824)

v3.4.0 - Ducol Dingo

15 Oct 12:30
d0a40db

Choose a tag to compare

v3.4.0 - Ducol Dingo - [2025-10-15]

Highlights

  • Refactored download command
  • New devcontainer setup
  • Improvements in ARM64 architecture handling
  • CLI convenience improvements

Template

  • Update the download_pipeline workflow to remove dependency on dev branch of tools (#3734)
  • Update mastodon announcement to include pipeline description (#3741)
  • Bump nf-schema to 2.5.0 and update the help message creation to be compatible with future Nextflow versions (#3743)
  • Bump minimum Nextflow version to 25.04.0 (#3743)
  • Explicitly declare conda-forge as a channel in the conda setup for GitHub CI for nf-test (#3764)
  • Update multiqc to 1.31 (#3766)
  • Update charliecloud URL (#3757)
  • Add NXF_VERSION environment variable to nf-test workflow (#3770)
  • Update nextflow.config to use environment variable for hook_url (#3756)
  • Update nf-test to 0.9.3 (#3781)
  • update release checklist to battle test pipeline template more (#3788)
  • update pipeline template subworkflows (#3826)
  • fix AWS tests launch action (#3827)

Linting

  • ignore files in gitignore also for pipeline_if_empty_null lint test (#3722)
  • do not check pytest_modules.yml file, deprecating (#3748)
  • Use the org from the .nf-core.yml when linting manifest name and homePage. (#3767)
  • Use the org from .nf-core.yml when linting multiqc_config report_comment (#3800)
  • Linting of patched subworkflows (#3755)
  • Add link to modules and subworkflows linting error docs (#3818)
  • fix ternary container linting (#3830)

Modules

  • Support modules with exec: blocks (#3633)
  • nf-core modules bump-version supports specifying the toolkit (#3608)
  • use same logic for super-tool selection in modules lint and bump-version (#3823)
  • Override example keywords in modules test (#3801)
  • update test assertions in modules template to current recommendations and remove single_end from example meta value (#3815)

Subworkflows

  • Update the utils_nfschema_plugin subworkflow to the latest version (#3814)

General

  • don't read param expressions with spaces as params (#3674)
  • Stop using Gitpod in favor of devcontainer for codespaces (#3569)
  • Validation of meta.yaml in cross-org repos (#3680)
  • Refactor downloads command (#3634)
    • Split download.py into subdirectory download/
    • Use nextflow inspect for container discovery and remove legacy regex container discovery (requires Nextflow >= 25.04.04)
    • Add support for downloading docker images into tar archives
    • Add pipeline to test data to be compatible with nextflow inspect
  • Move gather_registries function to ContainerFetcher subclasses (#3634 follow-up) (#3696)
  • Add container load scripts for Docker and Podman (#3634 follow up) (#3706)
  • Replace arm profile with arm64 and emulate_amd64 profiles (#3689)
  • Fix paths to logos (#3715)
  • Update test-datasets list subcommand to output plain text urls and paths for easy copying #3720
  • Remove workflow.trace from nf-test snapshot (#3721)
  • Add GHA to update template nf-test snapshots (#3723)
  • Fix backwards compatibility with python 3.9 in use of Enum (#3736)
  • Fix downloads: temporary files not moved and cleaned up correctly after singularity pull (#3749)
  • impr devcontainer: Add hostRequirements to run with 4CPUs and 16GB ram by default (#3746)
  • Fix Issues/3729: Remove temporary folders created from nextflow inspect during downloads (#3750)
  • Fix diff printing to terminal (#3759)
  • Add .nf-test/ to prettier ignore list (#3776)
  • pipelines bump-version: fix indentation for list in dumped .nf-core.yml (#3829)

Version updates

  • Update marocchino/sticky-pull-request-comment digest to 7737449 (#3681)
  • Update codecov/codecov-action digest to fdcc847 (#3717)
  • Update dependency prompt_toolkit to <=3.0.52 (#3783)
  • update rich-click to 1.9 and use new styling options (#3787)
  • Update dependency textual to v6 (#3793)
  • Update pre-commit hook pre-commit/mirrors-mypy to v1.18.2 (#3792)
  • Update python:3.13-slim Docker digest to 5f55cdf (#3796)
  • Update pre-commit hook astral-sh/ruff-pre-commit to v0.13.3 (#3791)
  • Update pre-commit hook pre-commit/pre-commit-hooks to v6 (#3797)
  • Update dependency python to 3.14 (#3817)
  • update Dockerfile to python 3.14 (#3822)
  • downgrade python version to 3.13 in devcontainer (#3834)
  • Update GitHub Actions (#3795)

v3.3.2 - Tungsten Tamarin Patch 2

08 Jul 09:50

Choose a tag to compare

v3.3.2 - Tungsten Tamarin Patch 2 - [2025-07-08]

Template

  • Avoid overriding NFT_DIFF and NFT_DIFF_ARGS in nf-test action (#3606) and (#3619)
  • fix nf-test scope to ignore nf-core module/swf tests (#3609)
  • write github.run_id on pipeline template (#3637)
  • Bump nf-schema to 2.4.2 (#3533)
  • Bump the minimal Nextflow version to 24.10.5 (#3533, #3667)
  • CI - Only trigger nf-test action on pull_request (#3628)
  • Fix link to nf-test GHA in README.md (#3630)
  • Add accelerator directive for GPU-enabled processes (#3632)
  • Update dependency prettier to v3.6.0 (#3641) and 3.6.2 (#3646)
  • Add opt-in feature gpu (#3562)
  • Update zentered/bluesky-post-action action to v0.3.0 (#3626)

Linting

  • Fix linting of nf-test files content (#3603)

Modules

  • Remove args stub from module template to satisfy language server (#3403)
  • Fix modules meta.yml file structure (#3532)
  • Fix wrong key when updating module outputs (#3665)

Subworkflows

General

  • update id of ruff hook in pre-commit config (#3621)
  • Fixes a bug with the test-datasets subcommand #3617
  • Pin python Docker tag to f2fdaec (#3623)
  • Make changelog bot push to correct remote (#3638)
  • Give unique button ids to help buttons in create app (#3645)
  • Parallelize pytest runs and speed up coverage step (#3635)
  • Update gitpod/workspace-base Docker digest to 77021d8 (#3649)
  • Update error message for rocrate_readme_sync (#3652)
  • Update nf-core modules info command after meta.yml restructuring (#3659)
  • Enable parsing of multi-line config values (#3629)

Version updates

  • Drop python 3.8, add tests with python 3.13 (#3538)
  • Update python:3.13-slim Docker digest to 6544e0e (#3663)
  • Update pre-commit hook astral-sh/ruff-pre-commit to v0.12.2 (#3627,#3648, #3661)
  • Update dependency textual to v3.5.0 (#3636)
  • Update pre-commit hook pre-commit/mirrors-mypy to v1.16.1 (#3624)

v3.3.1 - Tungsten Tamarin Patch

02 Jun 14:26
5e54606

Choose a tag to compare

v3.3.1 - Tungsten Tamarin Patch - [2025-06-02]

This patch release includes fixing a comment message in the nf-test.yml GitHub Action.

Template

  • Use correct comment symbol in nf-test.yml (#3601)