Get startedRunning pipelinesDeveloping pipelinesSoftware dependenciesCompute & storageLanguage ReferenceRuntime ReferenceUpdatesContributingGuidesNextflow 25.04 was released on May 8, 2025.The strict syntax is a strict parser for Nextflow DSL2 that implements the Nextflow language specification. Originally introduced by the Nextflow language server alongside Nextflow 24.10, the strict syntax is now available in the Nextflow CLI.The strict syntax is disabled by default. It can be enabled by setting the environment variable NXF_SYNTAX_PARSER=v2. See Preparing for strict syntax for details.The nextflow lint command checks Nextflow scripts and config files for errors using the strict syntax. It can also format Nextflow files using the same formatter as the Nextflow language server. See lint for details.The third preview of workflow outputs introduces the following breaking changes from the previous version:The publish: section can only be specified in the entry workflow.Workflow outputs in the publish: section are assigned instead of using the » operator. Output names must be valid identifiers.By default, output files are published to the base output directory, rather than a subdirectory corresponding to the output name.The syntax for dynamic publish paths has changed. Instead of defining a closure that returns a closure with the path directive, the outer closure should use the » operator to publish individual files. See Publishing files for details.The mapper index directive has been removed. Use a map operator in the workflwo body instead.See Workflow outputs to learn more about the workflow output definition.Topic channels, introduced in Nextflow 24.04 as a preview feature, have been brought out of preview, which means that they can be used without the nextflow.preview.topic feature flag.This release introduces built-in provenance tracking, also known as data lineage. When lineage.enabled is set to true in your configuration, Nextflow will record every workflow run, task execution, output file, and the links between them.You can explore this lineage from the command line using the lineage command. Additionally, you can refer to files in the lineage store from a Nextflow script using the lid:// path prefix as well as the fromLineage channel factory.See the Data lineage guide to get started.Previously, the nextflow inspect command included all processes that were invoked in a preview run. Now, the inspect command includes all processes that are included by the entry workflow (directly or indirectly), which has several benefits:It includes all processes that could potentially be invoked by the workflow, not just the processes that are invoked for a particular run configuration.It’s faster, as it doesn’t need to evaluate the entry workflow – only the includes.It can be run as nextflow inspect , without specifying any parameters or config profiles.See inspect to learn more about the inspect command.When specifying a plugin, the plugin version can now be prefixed with ~ to pin the major and minor version while allowing the latest patch release. This syntax makes it possible to pin the plugin version while automatically using new patch releases.See Plugins for details.Nextflow will terminate the run if the thread pool responsible for publishing files takes too long. Previously, this timeout was reported as a warning. Now, it is reported as an error.The previous behavior can be restored with the following config setting:Nextflow now requires Java 17 or newer. See Requirements for instructions to install Java 17.The HyperQueue executor now requires HyperQueue 0.20.0 or later.The process shell section has been deprecated. See Shell for details.Nextflow will report a warning if it encounters a process shell directive that contains newlines. This warning will become an error in a future release.The -with-weblog CLI option has been deprecated. See nextflow-io/nf-weblog to learn how to use the nf-weblog plugin.New config option: aws.batch.terminateUnschedulableJobsNew config option: azure.batch.jobMaxWallClockTimeNew config option: fusion.snapshotsNew config option: google.batch.gcsfuseOptionsNew config option: google.batch.networkTagsNew config option: workflow.output.copyAttributesNew environment variable: NXF_PLUGINS_ALLOWEDNew plugin extension point: TraceObserverFactoryV2New standard library function: env()Support disk directive for Azure Batch© Copyright 2025, Seqera Labs, S.L.