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