Skip to main content

Changelog: Nextflow

Nextflow 25.12.0-edge

Feature updates and improvements

  • Add listDirectory() to Path type and deprecate listFiles() by @bentsherman in #6581
  • Add default maxSpotAttempts for fusion snapshots in Google Batch by @fntlnz in #6652
  • Add onlyJobState option for SLURM executor by @tcutts in #6659
  • Add README files for all plugins by @pditommaso in #6660
  • Add runtimeClassName to the pod options by @alexpilotti in #6633
  • Add spot interruption tracking to trace records by @munishchouhan in #6606
  • Add URL encoding when revision name is used as HTTP query parameter by @jorgee in #6598
  • Add warnings to JSON output in lint command by @ewels in #6625
  • Add wave.build.template config option by @pditommaso in #6639
  • Check Nextflow version before loading plugins by @bentsherman in #6591
  • Implementation of Git multiple revisions by @jorgee in #6620
  • Refactor Google Batch getExitCode to imperative style by @pditommaso in #6649
  • Set local task exit status when time limit is exceeded by @bentsherman in #6592
  • Add Nextflow Development Constitution by @pditommaso in #6578
  • Add extra warnings as 25.10 is added to platform by @christopher-hakkaart in #6655
  • Add longer NXF_SYNTAX_PARSER descriptions by @christopher-hakkaart in #6637
  • Document best practices for script and config params by @bentsherman in #6631
  • Fix typos by @christopher-hakkaart in #6641
  • Improve preview feature warnings in documentation by @pditommaso in #6663
  • Update note about AWS CLI by @christopher-hakkaart in #6626
  • Update NXF_SYNTAX_PARSER callouts by @christopher-hakkaart in #6640

Bug fixes

  • Fix GitHub repository provider when providing token with auth property by @jorgee in #6662
  • Fix optional param in params block by @bentsherman in #6657
  • Fix String.format error when plugin URL contains percent chars by @pditommaso in #6651
  • Fix validation of numeric types in params block by @bentsherman in #6656
  • Fix WaveClient sending Bearer token to public S3 URLs by @pditommaso in #6672
  • Fix tolerate spaces in $NXF_TASK_WORKDIR by @TheLostLambda in #6421

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.12.0-edge

Nextflow 25.10.1

Feature updates and improvements

  • Add default value to Apptainer pull timeout config parameter by @jorgee in #6534
  • Bump logback 1.5.20
  • Bump nf-amazon@3.4.2
  • Bump nf-tower@1.17.2

Bug fixes

  • Fix asset detection when item is not a sibling of the executed script by @DriesSchaumont in #6605
  • Fix error with dynamic directives with named arguments by @bentsherman in #6550
  • Fix false config validation warnings for process selectors by @bentsherman in #6542
  • Fix Fusion license JWT token refresh by reusing TowerClient by @jorgee in 561ed6c
  • Fix incorrect AWS region when specifying a S3 regional endpoint by @jorgee in #6530
  • Fix issue with optional workflow output by @bentsherman in #6519
  • Fix unordered completed parts in AWS multipart upload by @jorgee in #6560
  • Revert Plugins.init() in run command to original location by @jorgee in #6568

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.10.1

Nextflow 25.11.0-edge

Feature updates and improvements

  • Add Google Batch LogsPolicy PATH option for logging to GCS by @dglazer in #6431
  • Add default value to Apptainer pull timeout config parameter by @jorgee in #6534
  • Add test case for printing config with nested includes by @Lehmann-Fabian in #2498
  • Allow pre-existing write-protected plugins directory to be used by @bentsherman in #6594
  • Change log level from warn1 to debug1 for K8s Job Pod Warnings by @BioWilko in #6523
  • Improve error message for invalid accelerator resource by @bentsherman in #6585
  • Improve error message for invalid contribution type in manifest contributors by @bentsherman in #6593
  • Issue templates: add external links via config by @ewels in #6563
  • Move task error formatting logic into separate class by @bentsherman in #6551
  • Optimize exit code handling by relying on scheduler status for successful executions by @jorgee in #6484
  • Remove unnecessary runtime checks with strict syntax by @bentsherman in #6539
  • Remove unused BatchHelper class by @pditommaso in #6547
  • Remove wiremock-groovy dependency and update tests using this dependency by @jorgee in #6611
  • Update bundled Docker runtime to 19.03.15 by @yarikoptic in #6565
  • Update migration timeline for plugin registry by @bentsherman in #6543
  • Update trace table columns in Reports page by @JustinBellavance in #6483
  • Upgrade from Apache Commons Lang 2.6 to Commons Lang3 3.18.0 by @pditommaso in #6511
  • Add admonition to clarify plugin provider and org by @christopher-hakkaart in #6536
  • Add admonition to inputs and index words by @christopher-hakkaart in #6461
  • Improve task previousTrace documentation by @rnaidu in #6538
  • Mark Fusion.tags as supported only for S3 by @fntlnz in #6601
  • Update feature flags page by @christopher-hakkaart in #6504
  • Update task directives by @christopher-hakkaart in #6506
  • Bump Fusion to version 2.5 by @jordeu in #6557
  • Bump Gradle 9.2.0 by @pditommaso in 2657524
  • Bump groovy 4.0.29 by @pditommaso in #6510
  • Bump logback to version 1.5.20 by @pditommaso in 462eec5
  • Bump org.bouncycastle:bcpkix-jdk18on from 1.78.1 to 1.79 by @dependabot in #6537
  • Bump nf-amazon@3.5.0
  • Bump nf-azure@1.21.0
  • Bump nf-google@1.24.0
  • Bump nf-k8s@1.3.0
  • Bump nf-tower@1.18.0
  • Bump nf-wave@1.17.0

Bug fixes

  • Fix Do not delete K8s jobs when ttlSecondsAfterFinished is set by @bentsherman in #6597
  • Fix Fusion license JWT token refresh by reusing TowerClient by @jorgee in 498125d
  • Fix Invalid type error detection by @pditommaso in 9e3aeed
  • Fix K8sTaskHandlerTest method name typos by @pditommaso in bcf81d9
  • Fix asset detection when item is not a sibling of the executed script by @DriesSchaumont in #6605
  • Fix csv splitter when skipping empty lines by @bentsherman in #6586
  • Fix documentation of unique operator by @bentsherman in #6541
  • Fix error with dynamic directives with named arguments by @bentsherman in #6550
  • Fix false config validation warnings for process selectors by @bentsherman in #6542
  • Fix false error with task ext blocks in strict syntax by @bentsherman in #6569
  • Fix incorrect AWS region when specifying a S3 regional endpoint by @jorgee in #6530
  • Fix invalid cache write when cacheable split operation fails by @bentsherman in #6588
  • Fix issue with optional workflow output by @bentsherman in #6519
  • Fix issues with rsync stage-out mode by @bentsherman in #6587
  • Fix security vulnerabilities in org.json dependency by @pditommaso in c7161c2
  • Fix unordered completed parts in AWS multipart upload by @jorgee in #6560
  • Fix TowerJsonGenerator thread-safety issue by @pditommaso in #6619
  • Fix Plugins.init() in run command to original location by @jorgee in #6568
  • Fix security vulnerabilities for wiremock by @jorgee in #6607
  • Fix replace complete plotly bundle with smaller more specific one by @mashehu in #6527
  • Fix stageFileEnabled flag to control .command.stage file creation by @pditommaso in #6618

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.11.0-edge

Nextflow 25.10.0

Feature updates and improvements

  • Add publish-artifacts step to release process by @pditommaso in 75d8ebf
  • Add type checking utils by @bentsherman in #6482
  • Prioritize Google Batch API exit codes with fallback to .exitcode file by @jorgee in #6498
  • Show workspace roles in 'auth status', tweak error message on 403 by @ewels in #6497
  • Simplify S3 configuration options by @bentsherman in #6496
  • Track remote input files in lineage by @jorgee in #6490
  • Bump nf-amazon@3.4.1 by @pditommaso in 0d5ced9
  • Bump nf-google@1.23.3 by @pditommaso in e6c7652
  • Bump nf-tower@1.17.1 by @pditommaso in 2069c97

Bug fixes

  • Fix no secrets in AWS Batch jobs by @jorgee in #6499

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.10.0

Nextflow 25.09.2-edge

Feature updates and improvements

  • Add .command.log redirection in K8s container command by @jorgee in #6455
  • Add nextflow auth command for Seqera Platform authentication by @pditommaso in #6463
  • Add nextflow launch command by @jorgee in #6491
  • Bring workflow outputs out of preview by @bentsherman in #6487
  • Improve plugin create confirmation prompt by @robsyme in #6473
  • Improve release script validation by @pditommaso in 3e3a938
  • Limit S3 client connections when using virtual threads by @jorgee in #6369
  • Migrate SraExplorer to use HxClient for HTTP operations by @pditommaso in #6467
  • Rename config.schema package to config.spec by @bentsherman in #6485
  • Typed processes by @bentsherman in #6368
  • Update buildInfo on releaseInfo by @pditommaso in 46a8a2b

Bug fixes

  • Fix e2e test infrastructure and add config.schema compatibility aliases by @pditommaso in #6495
  • Fix false error for executor.jobName config option by @bentsherman in #6375
  • Fix false error with storeDir and val outputs by @bentsherman in #6408
  • Fix type casting in PluginSpec for ConfigScope by @pditommaso in #6469

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.09.2-edge

Nextflow 25.09.0-edge

Feature updates and improvements

  • Add listDirectory traversal API to RepositoryProvider abstraction by @pditommaso in #6430
  • Add step to claim plugin in Gradle plugin migration docs by @christopher-hakkaart in #6450
  • Add support for comma-separated file paths in ProcessEntryHandler by @pditommaso in #6434
  • Add support for Java 25 by @pditommaso in #6419
  • Add unit test for invalid workflow entry name error handling by @pditommaso in #6409
  • Generate plugin spec by @bentsherman in #6361
  • Update Gradle build system to version 9.1.0 by @pditommaso in #6418
  • Bump Google Cloud libraries to latest versions by @pditommaso in #6438
  • Bump nextflow-gradle-plugin version 1.0.0-beta.10 by @pditommaso in 812ed7f
  • Bump nf-amazon@3.3.0 by @pditommaso in 3561c26
  • Bump nf-azure@1.20.1 by @pditommaso in fae3c2d
  • Bump nf-codecommit@0.5.0 by @pditommaso in 91514a6
  • Bump nf-google@1.23.1 by @pditommaso in 153745a
  • Bump nf-k8s@1.2.1 by @pditommaso in c4f4eca
  • Bump nf-tower@1.16.0 by @pditommaso in ef91104
  • Bump nf-wave@1.16.0 by @pditommaso in be01d3f

Bug fixes

  • Fix cache command to check session cloudCachePath by @pditommaso in a88e2cd
  • Fix cache command to use SysEnv for cloudcache path check by @pditommaso in #6432
  • Fix cookie policy for Seqera Platform JWT token refresh by @pditommaso in #6411
  • Fix CVE-2025-55163 in nf-google plugin by @pditommaso in 7d70617
  • Fix default fields in trace config by @bentsherman in #6403
  • Fix pod log warning with Fusion enabled by @jorgee in #6449
  • Fix SIGTERM forwarding in AWS Batch jobs by @jorgee in #6414
  • Fix "Strings must not be null" error message by @bentsherman in #6404
  • Fix unstage controls in command.run when using storeDir by @jorgee in #6364
  • Limit S3 concurrent downloads to fix Java Heap OOM by @jorgee in #6402
  • Get exit code from pod to manage OOM in k8s by @jorgee in #6442

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.09.0-edge

Nextflow 25.08.0-edge

Feature updates and improvements

  • Add Claude Code GitHub Action integration by @pditommaso in #6389
  • Add Value type for dataflow values (value channels) by @bentsherman in #6372
  • Add descriptions to plugin MANIFEST.MF files by @pditommaso in #6348
  • Add null checks in TowerClient onFlowComplete method by @robsyme in #6384
  • Add plugins redirects by @christopher-hakkaart in #6385
  • Add test for prefetchMetadata call in pullPlugins method by @pditommaso in #6396
  • Add Type annotations by @bentsherman in #6278
  • Implement Process Execution with Command-Line Parameter Mapping [experimental] by @pditommaso in #6381
  • Improve secret loading documentation and rename ConfigNullProvider to EmptySecretProvider by @bentsherman in 9e4c975
  • Minor TowerClient improvement by @pditommaso in #6387
  • New executor for Fujitsu Technical Computing Suite (TCS) by @exthnet in #5928
  • Preserve method parameter names in nf-lang JAR by @bentsherman in #6355
  • Refactor Wave and Tower client to use lib-httpx library by @pditommaso in #6354
  • Replace custom JWT refresh logic with standardized HxClient by @pditommaso in #6398
  • Replace custom retry strategy with HxClient in RepositoryProvider by @pditommaso in #6351
  • Simplify plugin download implementation by @pditommaso in #6349
  • Support standard environment variables for ANSI terminal output by @ewels in #6362
  • Update core plugins to use Nextflow Gradle plugin by @bentsherman in #6379
  • Warn when file() matches a collection of files by @bentsherman in #5507
  • Workflow params by @bentsherman in #5929
  • Bump netty deps to version 4.1.124.Final by @pditommaso in 9e8d596

Bug fixes

  • Fix CLI param override in strict config parser by @bentsherman in #6377
  • Fix GString equality checks with String by @bentsherman in #6330
  • Fix GitHub Actions commit message parsing to use only first line by @pditommaso in 5bc9162
  • Fix NPE when contributors omit contribution field in manifest by @robsyme in #6383
  • Fix Platform refresh token handling by @pditommaso in ba78ef7
  • Fix duplicate page and redirects in docs by @christopher-hakkaart in #6386
  • Fix false warning for map config options by @bentsherman in #6359
  • Fix groupTuple operator to handle GString vs String keys consistently by @pditommaso in #6400
  • Fix incorrect spelling in docs by @christopher-hakkaart in #6336
  • Fix null reference error in workflow output by @bentsherman in #6374
  • Fix typo in task config eval by @bentsherman in #6392

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.08.0-edge