Feature updates and improvements
Language features
- Added an agent primitive to run AI agents as first-class Nextflow tasks by @pditommaso in #7477
- Added syntax error reporting for an unexpected character in a gstring by @bentsherman in #7353
- Updated the formatter to preserve comments by @ewels in #7346
Configuration
- Added the
seqera.executor.maxCpusPerUser config option by @jonmarti in #7367
- Added the
singularity.resourceLimits config option by @bentsherman in #7352
- Split CLI config handling out of
ConfigBuilder by @bentsherman in #7373
- Dropped transient object tags when publishing files to S3 by @pditommaso in #7344
Kubernetes
- Treated a missing
k8s config scope as an empty one by @pditommaso in #7452
Plugins
- Aligned the Seqera executor
maxSpotAttempts and Fusion handling by @pditommaso in #7412
- Bounded Seqera executor scheduler requests with a request timeout by @pditommaso in #7466
- Stopped fabricating a memory request for the Seqera executor by @pditommaso in #7488
- Used the Platform user identity for the Seqera executor
userName label by @pditommaso in #7413
- Used registry config for plugin repos by @jorgee in #7180
General
- Accepted the
http requesting protocol for HTTPS proxy CONNECT tunnel authentication by @bentsherman in #7369
- Added
--console=plain to Gradle commands in the Makefile by @pditommaso in #7400
- Added
componentName to the module view command output by @pditommaso in #7385
- Added a note about AI co-authorship to
CLAUDE.md by @bentsherman in #7357
- Added smolvm container engine support by @pditommaso in #7386
- Added support for authenticated forward HTTP/HTTPS proxies across the client stack by @pditommaso in #7331
- Aligned the build to the Java 25 toolchain, targeting Java 17 via
--release by @pditommaso in #7370
- Cached the task context for
exec tasks by @pditommaso in #7499
- Documented the exit logic in the task wrapper script by @bentsherman in #7290
- Honored
COLUMNS when determining ANSI output width by @Eldergenix in #7144
- Pre-pulled the integration tests container by @pditommaso in #7432
- Refactored
HubOptions from a trait into a record by @bentsherman in #7372
- Removed dead
SpuriousDeps.cmdCloud reflection by @bentsherman in #7371
- Reported the task directives read while the command is rendered by @bentsherman in #7506
- Separated the CLI from the runtime by @bentsherman in #5971
- Updated the CI bucket to
s3://nextflow-oss-ci by @bentsherman in #7440
- Used the WireMock self-contained distribution in
nf-tower by @pditommaso in #7485
- Used
command -v instead of which in the launcher Java lookup by @pditommaso in #7433
Dependencies
- Bumped Groovy 4.0.33 by @pditommaso in #7429
- Bumped Netty and Apache HttpComponents to patched releases by @pditommaso in #7484
- Updated the docs site dependencies to patched releases by @pditommaso in #7486
Bug fixes
Language features
- Fixed a function call in a process directive value with the v2 parser by @bentsherman in #7374
- Fixed lint reporting of excluded paths by @bentsherman in #7354
- Fixed a parameterized type cast in a process body by @bentsherman in #7382
- Fixed a variable incorrectly resolved to an included function name by @bentsherman in #7358
Configuration
- Fixed config rendering of nested closures by @bentsherman in #7375
- Fixed plugin blocks incorrectly merged in the v2 config parser by @bentsherman in #7350
Azure
- Fixed detection of Azure virtual directories without a trailing slash by @adamrtalbot in #6428
Wave
- Fixed a spurious 'Unrecognized config option' warning for
wave.build.compression and wave.build.conda by @pditommaso in #7355
General
- Fixed cache invalidation for module binaries by @FloWuenne in #6914
- Fixed independently-verified findings from a security audit by @ewels in #7503
- Fixed a negative duration error on a short run by @bentsherman in #7351
- Fixed the PBS Pro server status query by @jscgh in #7366
- Fixed the publish mode override when re-publishing an existing file by @bentsherman in #7364
- Fixed a race condition calling workflow
onComplete twice by @bentsherman in #7349
- Fixed tests failing on macOS and on hosts with
NXF_REGISTRY_TOKEN by @pditommaso in #7457
- Fixed workflow metadata when
failOnIgnore is true by @ehsanestaji in #7356
- Guarded the trace log against string formatting errors by @bentsherman in #7347
- Prevented a world-readable race window when storing local secrets by @aknownuser in #7307
- Reverted the stream swap after the redirect to
.command.out and .command.err by @tcezard in #7300
Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v26.08.0-edge