Skip to content

v2.7 - Mercury Eagle

Compare
Choose a tag to compare
@mirpedrol mirpedrol released this 08 Dec 11:58

Another big release with lots of new features and bug fixes. Thanks to all contributors!

🌟 Highlights

  • New nf-core subworkflows subcommand for creating, removing, testing, updating and finding subworkflows, see the documentation for more information.
  • Every pipeline has now it's own GitHub codespace template, which can be used to develop the pipeline directly in the browser.
  • Improved handling of modules and subworkflows from other repos than nf-core/modules.
  • Pre-commit is now installed as a dependency, which allows us, besides other things, to run prettier on the fly even if it is not manually installed.
  • Shell completion for nf-core commands, more information here.

Template

Features

  • Ignore files in bin/ directory when running prettier (#2080).
  • Add GitHub codespaces template (#1957)
  • nextflow run <pipeline> --version will now print the workflow version from the manifest and exit (#1951).
  • Add profile for running docker with the ARM chips (including Apple silicon) (#1942 and #2034).
  • Flip execution order of parameter summary printing and parameter validation to prevent 'hiding' of parameter errors (#2033).
  • Change colour of 'pipeline completed successfully, but some processes failed' from red to yellow (#2096).

Bug fixes

  • Fix lint warnings for samplesheet_check.nf module (#1875).
  • Check that the workflow name provided with a template doesn't contain dashes (#1822)
  • Remove CITATION.cff file from pipeline template, to avoid that pipeline Zenodo entries reference the nf-core publication instead of the pipeline (#2059).

Linting

Features

  • Add --sort-by option to linting which allows ordering module lint warnings/errors by either test name or module name (#2077).

Bug fixes

  • Don't lint pipeline name if manifest.name in .nf-core.yml (#2035)
  • Don't check for docker pull commands in actions_ci lint test (leftover from DSL1) (#2055).

General

Features

  • Use pre-commit run prettier if prettier is not available (#1983) and initialize pre-commit in gitpod and codespaces (#1957).
  • Refactor CLI flag --hide-progress to be at the top-level group, like --verbose (#2016)
  • nf-core sync now supports the template YAML file using -t/--template-yaml (#1880).
  • The default branch can now be specified when creating a new pipeline repo #1959.
  • Only warn when checking that the pipeline directory contains a main.nf and a nextflow.config file if the pipeline is not an nf-core pipeline #1964
  • Bump promoted Python version from 3.7 to 3.8 (#1971).
  • Extended the chat notifications to Slack (#1829).
  • Don't print source file + line number on logging messages (except when verbose) (#2015)
  • Automatically format test.yml content with Prettier (#2078)
  • Automatically format modules.json content with Prettier (#2074)
  • Add shell completion for nf-core tools commands(#2070)

Bug fixes, maintenance and tests

  • Fix error in tagging GitPod docker images during releases (#1874).
  • Fix bug when updating modules from old version in old folder structure (#1908).
  • Don't remove local copy of modules repo, only update it with fetch (#1881).
  • Improve test coverage of sync.py and __main__.py (#1936, #1965).
  • Add file versions.yml when generating test.yml with nf-core modules create-test-yml but don't check for md5sum #1963.
  • Mock biocontainers and anaconda api calls in modules and subworkflows tests #1967
  • Run tests with Python 3.11 (#1970).
  • Run test with a realistic version of git (#2043).
  • Fix incorrect file deletion in nf-core launch when --params_in has the same name as --params_out (#1986).
  • Updated GitHub actions (#1998, #2001)
  • Code maintenance (#1818, #2032, #2073).
  • Track from where modules and subworkflows are installed (#1999).
  • Substitute ModulesCommand and SubworkflowsCommand by ComponentsCommand (#2000).
  • Prevent installation with unsupported Python versions (#2075).
  • Allow other remote URLs not starting with http (#2061)

Modules

  • Update patch file paths if the modules directory has the old structure (#1878).
  • Don't write to modules.json file when applying a patch file during nf-core modules update (#2017).

Subworkflows

  • Add subworkflow commands create-test-yml, create and install (#1897).
  • Update subworkflows install so it installs also imported modules and subworkflows (#1904).
  • check_up_to_date() function from modules_json.py also checks for subworkflows (#1934).
  • Add tests for nf-core subworkflows install command (#1996).
  • Function create() from modules_json.py adds also subworkflows to modules.json file (#2005).
  • Add nf-core subworkflows update command (#2019).