v2.7 - Mercury Eagle
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 inactions_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 anextflow.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 generatingtest.yml
withnf-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 duringnf-core modules update
(#2017).
Subworkflows
- Add subworkflow commands
create-test-yml
,create
andinstall
(#1897). - Update subworkflows install so it installs also imported modules and subworkflows (#1904).
check_up_to_date()
function frommodules_json.py
also checks for subworkflows (#1934).- Add tests for
nf-core subworkflows install
command (#1996). - Function
create()
frommodules_json.py
adds also subworkflows tomodules.json
file (#2005). - Add
nf-core subworkflows update
command (#2019).