Ben ShermanPhil EwelsPaolo Di Tommaso
Ben ShermanPhil Ewels & Paolo Di Tommaso
Oct 24, 2025

Nextflow 25.10 and the New Plugin Registry: Major Updates for the Bioinformatics Community



Over the past year, we've been building toward more sophisticated language capabilities in Nextflow. Starting with the language server (Nextflow 24.10) and continuing with integrated syntax parsing (Nextflow 25.04), we've laid the groundwork for advanced features that make workflows more readable and robust. Today, we're excited to announce key updates in Nextflow 25.10, including static types, workflow inputs and outputs, new commands (nextflow auth and nextflow launch), and S3 performance improvements. We've also launched the official Nextflow Plugin Registry to streamline plugin discovery and management across the community.

Workflow Inputs and Outputs

Migrating to Workflow Outputs


Workflow inputs (or “params”) provide a new way to declare pipeline parameters in your script. Instead of defining your params in the Nexflow configuration, the new params block brings all of your parameters together alongside the entry workflow. This new block has one key difference from the previous config syntax: you can now specify type annotations for your parameters. These annotations enable runtime validation of CLI parameters with clean and easy to read code. Future releases will support automatic JSON schema generation from these annotations.

Workflow outputs are now stable in Nextflow 25.10, offering a dataflow-centric alternative to publishDir for result publishing. Instead of publishing individual files, you can now publish entire channels, which automatically publishes all files while preserving channel metadata as samplesheets (a.k.a. index files). This approach maintains the structural information and relationships between files that would otherwise be lost with traditional file-based publishing.

Together, these features represent a fundamental shift toward more structured, self-documenting pipelines. By defining top-level inputs and outputs of your pipeline in a concise and structured manner, your pipeline becomes a clear contract that specifies exactly what data it expects and produces, making it easier to integrate into larger analytical workflows and automation systems:

params { input: Path save_intermeds: Boolean = true } workflow { main: ch_samples = // ... publish: samples = ch_samples } output { samples: Channel<Map> { path { sample -> sample.fastqc >> 'fastqc' sample.quant >> 'quant' } index { path 'samples.csv' } } }

Static Types

Nextflow 25.10 introduces the ability to specify type annotations at every level of a pipeline – from pipeline parameters to subworkflows and processes.

Type annotations explicitly describe the kind of data a variable, parameter, or channel should contain – such as specifying that a parameter must be a file path, or that a channel carries tuples with specific elements. This explicit documentation brings powerful validation to your Nextflow code by allowing you to state upfront how variables and channels should be structured. As you write code, the Nextflow language server in your IDE can provide real-time error detection, spotting channel mix-ups and potential parameter errors. Rather than discovering a type mismatch hours into a computational run, Nextflow can now validate your code statically and fail fast with clear error messages. This immediate feedback while coding makes it easier to write correct pipelines the first time.

Workflows

Workflow take and emit statements can now specify type annotations. Type annotations in this context are useful not only for distinguishing between channels and dataflow values (previously called value channels), but also for expressing the structure of the data inside a channel.


Processes (Preview)

When it comes to processes, input and output statements can now be specified using type annotations instead of qualifiers. All of the same functionality is still supported, but is expressed in a way that is compatible with static types and more consistent with the rest of the language. For example, val inputs are replaced with a more specific type annotation such as String or Map, and path inputs are replaced with an annotation such as Path or Set<Path>.

Because the new syntax is significantly different from existing processes, the nextflow.preview.types feature flag must be enabled in order to use typed processes. See the migration tutorial for more information.


Getting Started with Static Types

Type annotations enable you to write code that is easier for you to understand and easier for Nextflow to validate. The Nextflow language server uses type annotations to validate your code at a much deeper level than what was possible before. In most cases, it is enough to simply specify the inputs of a component (such as a workflow or process), and the language server will infer the rest.

Type annotations are not required everywhere in your code. The language server infers types wherever it can, based on your variable assignments and workflow logic. Where types can’t be inferred, Nextflow runs without this information, just as it always did. This means you get the benefits of type safety without the burden of annotating every single variable. The language server shows inferred types in hover hints as you work, so you always know what type Nextflow has determined for each expression, even without explicit annotations.

The language server can also help you migrate existing code to static types, such as generating a params block from a JSON schema, and converting existing processes to typed processes. To get started, open the VS Code command palette and search for Convert script to static types. While manual review is recommended, the language server can handle much of the conversion work.

New commands: nextflow auth and nextflow launch

Nextflow 25.10 includes two new commands, nextflow auth and nextflow launch, that streamline pipeline execution on Seqera directly from the Nextflow CLI. These commands work just like nextflow run, requiring no additional tools while providing quick authentication and configuration from the terminal. This eliminates the need to switch between interfaces when accessing Seqera's capabilities.

Better S3 Performance: Moving to AWS Java SDK v2

Read the Blog Post


Nextflow 25.10 delivers significant S3 performance improvements especially for file publishing operations. Benchmarks show that upgrading from Nextflow 24.04 to 25.10 cuts publishing time almost in half. For bioinformatics pipelines handling large datasets, these optimizations translate to less time spent on staging input data and publishing results. Check out the blog post to find out more.

Plugin Registry: Simplified Development, Trusted Distribution

Explore the Nextflow Plugin Registry


Nextflow introduced the concept of plugins back in version 21.04.0. Since then, some core Nextflow functionality has been moved into plugins for easier maintenance. Community adoption has also slowly but surely increased, with an increasing number of available plugins such as nf-schema (work with Nextflow schema files), nf-prov (RO-Crate / BCO provenance reports) and nf-co2footprint (estimate the CO₂ footprint of pipeline runs).

As the popularity of Nextflow and community plugin development increases, the previous architecture for hosting plugins needed to change. High network traffic to GitHub occasionally caused problems for extremely large-scale Nextflow users, and the publishing process was unnecessarily onerous for community plugin developers.

We are pleased to announce the new Nextflow Plugins Registry - a ground up rewrite of how Nextflow plugins are developed, published and hosted. Nextflow pipeline developers can now easily browse and explore available Nextflow plugins, complete with usage statistics and Nextflow version requirements. For plugin developers, gone are the days of sifting through Gradle boilerplate and massive JSON files. The new Nextflow Plugin Registry replaces the previous GitHub-based approach with a centralized web service that manages plugin metadata and code distribution. What once required manual JSON file editing and waiting for pull request approvals now happens through a single CLI command. The new registry enables:

✔ Simpler plugin development and publishing
✔ Reliable hosting and trusted distribution
✔ Better discoverability of community plugins for your pipelines

Building, testing, and publishing Nextflow plugins is now streamlined, removing friction for developers contributing to the ecosystem. Users will see more stable pipeline execution and better plugin discoverability. If you've been thinking about creating a Nextflow plugin, now is the time.

💡 Looking forward: We will continue to build on the registry with new functionality, such as security scanning for plugin binaries.

Looking Ahead: What’s Planned for Nextflow

Nextflow 26.04 Beta Program


Static typing in Nextflow 25.10 constitutes the largest evolution of the Nextflow language since the introduction of DSL2, and we’re just getting started. While the 25.10 release focuses on enabling basic type checking with minimal code changes, the 26.04 release aims to bring new ideas, such as record types, that deliver on the promise of full type checking and domain modeling in Nextflow. This phased approach allows teams to adopt new features incrementally and at their own pace, while allowing us to collect user feedback that helps to shape the direction of the Nextflow language.

💡 We are looking for Nextflow users who would like to take part in a beta testing group for static types. In this group you’ll be able to try out new syntax with your pipelines and share feedback. We are especially looking for users with complex use cases.

Get Involved

We hope that you’re as excited about Nextflow 25.10 and the new plugin registry as we are! We’re a community-driven project and as these features develop, we’d love for you to get involved:

  • Static Types Beta Testing: We're actively seeking beta testers for the new static type features. Your feedback will directly shape the final implementation and migration tools. Apply to join the beta

  • Nextflow 25.10: Migrate to the latest release to access S3 performance improvements and a plethora of new language features. Read the migration guide for Nextflow 25.10

  • Plugin Development: With the new registry live, it's an ideal time to contribute plugins that address your specific bioinformatics needs. Explore the Plugin Registry

The Nextflow ecosystem continues to mature with these updates, providing the foundation for more robust, maintainable, and enterprise-ready bioinformatics workflows. Whether you're managing large-scale genomics pipelines or developing community tools, these updates offer significant improvements to your development experience.