Skip to content

Latest commit

 

History

History
104 lines (69 loc) · 3.22 KB

File metadata and controls

104 lines (69 loc) · 3.22 KB

(migrating-25-10-page)=

Migrating to 25.10 (preview)

This page summarizes the upcoming changes in Nextflow 25.10, which will be released in October 2025.

:::{note} This page is a work in progress and will be updated as features are finalized. It should not be considered complete until the 25.10 release. :::

New features

Workflow params

The params block is a new way to declare pipeline parameters in a Nextflow script:

params {
  // Path to input data.
  input: Path

  // Whether to save intermediate files.
  save_intermeds: Boolean = false
}

workflow {
  println "params.input = ${params.input}"
  println "params.save_intermeds = ${params.save_intermeds}"
}

This syntax allows you to declare all parameters in one place with explicit type annotations, and it allows Nextflow to validate parameters at runtime.

See {ref}workflow-params-def for details.

Enhancements

New syntax for workflow handlers

The workflow onComplete and onError handlers were previously defined by calling workflow.onComplete and workflow.onError in the pipeline script. You can now define handlers as onComplete and onError sections in an entry workflow:

workflow {
    main:
    // ...

    onComplete:
    println "workflow complete"

    onError:
    println "error: ${workflow.errorMessage}"
}

This syntax is simpler and easier to use with the {ref}strict syntax <strict-syntax-page>. See {ref}workflow-handlers for details.

Improved handling of dynamic directives

The {ref}strict syntax <strict-syntax-page> allows dynamic process directives to be specified without a closure:

process hello {
    queue (entries > 100 ? 'long' : 'short')

    input:
    tuple val(entries), path('data.txt')

    script:
    """
    your_command --here
    """
}

See {ref}dynamic-directives for details.

Configurable date formatting

You can now customize the date and time format used in notifications, reports, and console output using the NXF_DATE_FORMAT environment variable:

# Default format
# e.g., 11-Aug-2016 09:40:20

# Use ISO format with timezone
export NXF_DATE_FORMAT="iso"
# e.g., 2016-08-11T09:40:20+02:00

# Use custom format
export NXF_DATE_FORMAT="yyyy-MM-dd HH:mm"
# e.g., 2016-08-11 09:40

This feature addresses previous inconsistencies in timestamp representations.

Breaking changes

  • The AWS Java SDK used by Nextflow was upgraded from v1 to v2, which introduced some breaking changes to the aws.client config options. See {ref}the guide <aws-java-sdk-v2-page> for details.

Deprecations

  • The legacy type detection of CLI parameters is disabled when using the strict syntax (NXF_SYNTAX_PARSER=v2). {ref}Legacy parameters <workflow-params-legacy> in the strict syntax should not rely on legacy type detection. Alternatively, use the new params block to convert CLI parameters based on their type annotations. Legacy type detection can be disabled globally by setting the environment variable NXF_DISABLE_PARAMS_TYPE_DETECTION=true.

  • The use of workflow handlers in the configuration file has been deprecated. You should define workflow handlers in the pipeline script or a plugin instead. See {ref}config-workflow-handlers for details.