Skip to content

v3.0.0 - Titanium Tapir

Compare
Choose a tag to compare
@mirpedrol mirpedrol released this 08 Oct 12:20
2141a1d

Highlights

  • Pipeline commands are renamed from nf-core <comand> to nf-core pipelines <command> to follow the same command structure as modules and subworkflows commands.
  • More customisation for pipeline templates. The template has been divided into features which can be skipped, e.g. you can create a new pipeline without any traces of FastQC in it.
  • A new Text User Interface app when running nf-core pipelines create to help us guide you through the process better (no worries, you can still use the cli if you give all values as parameters)
  • We replaced nf-validation with nf-schema in the pipeline template
  • CI tests now lint with the nf-core tools version matching the template version of the pipeline, to minimise errors in opened PRs with every new tools release.
  • nf-core licences command is deprecated.
  • The structure of nf-core/tools pytests has been updated
  • The structure of the API docs has been updated

Template

  • Change paths to test data (#2985)
  • Run awsfulltest on PRs to master with two PR approvals (#3042)
  • Remove deprecated syntax (#3046)
  • Use filename in code block for params.yml (#3055)
  • Remove release announcement for non nf-core pipelines (#3072)
  • handle template features with a yaml file (#3108, #3112)
  • add option to exclude code linters for custom pipeline template (#3084)
  • add option to exclude citations for custom pipeline template (#3101 and #3169)
  • add option to exclude gitpod for custom pipeline template (#3100)
  • add option to exclude codespaces from pipeline template (#3105)
  • add option to exclude multiqc from pipeline template (#3103)
  • add option to exclude changelog from custom pipeline template (#3104)
  • add option to exclude license from pipeline template (#3125)
  • add option to exclude email from pipeline template (#3126)
  • add option to exclude nf-schema from the template (#3116)
  • add option to exclude fastqc from pipeline template (#3129)
  • add option to exclude documentation from pipeline template (#3130)
  • add option to exclude test configs from pipeline template (#3133)
  • add option to exclude tower.yml from pipeline template (#3134)
  • Use nf-schema instead of nf-validation (#3116)
  • test pipeline with conda and singularity on PRs to master (#3149)
  • run nf-core lint --release on PRs to master (#3148)
  • Add tests to ensure all files are part of a template customisation group and all groups are tested (#3099)
  • Update the syntax of utils_nfcore_pipeline_pipeline local subworkflow (#3166)
  • Remove if/else block to include igenomes.config (#3168)
  • Fixed release announcement hashtags for Mastodon (#3099)
  • Remove try/catch blocks from nextflow.config (#3167)
  • Extend download_pipeline.yml to count pre-downloaded container images. (#3182)

Linting

  • Fix linting fail on nfcore_external_java_deps if nf_schema is used (#2976)
  • Conda module linting: Include package name in log file (#3014)
  • Remove defaults from conda environment.yml file. (#3029)
  • Restructure pipeline tests and move pipeline linting into subfolder (#3070)
  • Fix module linting warning for process_high_memory (#3086)
  • Linting will now fail when an unpinned plugin is used (#3116)
  • Linting will now check if the schema is correct for the used validation plugin ([#3116])(#3116)
  • Linting will now check the use of the right validation plugin include statements in the workflow scripts ([#3116])(#3116)
  • Full linting for correct use of nf-schema and nf-validation (#3116)
  • Handle cases where the directory path contains the name of the component (#3147)
  • Don't test conda environment.yml name attribute (which should no longer be there) (#3161)

Pipeline create command

  • Allow more special characters on the pipeline name for non-nf-core pipelines (#3008)
  • Mock git cretentials to generate stable textual snapshots (#3007)
  • Display input textbox with equally spaced grid (#3038)
  • Allow numbers in custom pipeline name (#3094)

Components

  • The modules_nfcore tag in the main.nf.test file of modules/subworkflows now displays the organization name in custom modules repositories (#3005)
  • Add --migrate_pytest option to nf-core <modules|subworkflows> test command (#3085)
  • Allow spaces at the beginning of include statements (#3115)
  • Add option --fix to update the meta.yml file of subworkflows (#3077)

Download

  • Fully removed already deprecated -t / --tower flag.
  • Refactored the CLI for consistency (short flag is usually second word, e.g. also for --container-library etc.):
Old parameter New parameter
-d / --download-configuration -c / --download-configuration
-p / --parallel-downloads -d / --parallel-downloads
new parameter -p / (--platform)

General

  • Update output of generation script for API docs to new structure (#2988)
  • Remove rich-codex.yml action, images are now generated on the website repo (#2989)
  • Add no clobber and put bash options on their own line (#2991)
  • move pipeline subcommands for v3.0 (#2983)
  • return directory if base_dir is the root directory (#3003)
  • Remove nf-core licences command (#3012)
  • README - absolute image paths (#3013)
  • Add warning deprecation message to top-level commands (#3036)
  • move pipeline commands to functions to avoid duplication (#3039)
  • update output_dir for api docs to new website structure (#3051)
  • Add --limit-output argument for modules/subworkflow update (#3047)
  • update api docs to new structure (#3054)
  • handle new jsonschema error type (#3061)
  • Fix number of arguments for pipelines_create within the command_create function (#3074)
  • Add bot action to update textual snapshots and write bot documentation (#3102)
  • Update gitpod setup (#3136)
  • fix syncing a pipeline from current directory (#3143)
  • Patch gitpod conda setup to not use defaults channel (#3159)

Version updates

  • Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.0 (#3122)
  • Update gitpod/workspace-base Docker digest to 92dd1bc (#2982)
  • Update python:3.12-slim Docker digest to 59c7332 (#3124)
  • Update pre-commit hook pre-commit/mirrors-mypy to v1.11.1 (#3091)
  • Update to pytest v8 and move it to dev dependencies (#3058)
  • Update minimal textual version and snapshots (#2998)