You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rename nextflow.preview.types flag to nextflow.enable.types
Renames the static-typing feature flag and associated field
(`previewTypes` → `enableTypes`) across sources, tests, integration
`.nf` scripts, and documentation. The existing `log.warn` in
`BaseScript.enableTyping()` still clarifies that static typing remains
a preview feature.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Copy file name to clipboardExpand all lines: adr/20251017-typed-processes.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -245,7 +245,7 @@ Moving topic emissions to a dedicated section allows them to be defined without
245
245
246
246
## Distinguishing between typed and legacy processes
247
247
248
-
Typed processes are gated behind the `nextflow.preview.types` feature flag. This flag will be replaced by `nextflow.enable.types` when the feature becomes stable, which will be used to distinguish between typed and legacy processes in the language.
248
+
Typed processes are gated behind the `nextflow.enable.types` feature flag. This flag will be replaced by `nextflow.enable.types` when the feature becomes stable, which will be used to distinguish between typed and legacy processes in the language.
249
249
250
250
When a script enables this feature flag, its processes are treated as typed processes; otherwise, its processes are treated as legacy processes. This way, typed and legacy processes cannot be mixed in the same script, but they can be used together as long as they are declared in different scripts.
Copy file name to clipboardExpand all lines: adr/20260306-record-types.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -341,7 +341,7 @@ process FASTQC {
341
341
342
342
This approach is syntactically more concise, and it re-uses the typed output syntax that was introduced in Nextflow 25.10.
343
343
344
-
However, with this approach, the same syntax can have different meanings depending on the surrounding context (e.g. presence/absence of the `nextflow.preview.types` feature flag), which can be confusing for both users and agents.
344
+
However, with this approach, the same syntax can have different meanings depending on the surrounding context (e.g. presence/absence of the `nextflow.enable.types` feature flag), which can be confusing for both users and agents.
345
345
346
346
The `record()` approach works "out of the box", and it isn't much more verbose, so we decided that it is sufficient for now.
Copy file name to clipboardExpand all lines: adr/20260310-typed-workflows.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,11 +85,11 @@ Even the pipe (`|`), which is loved by many users, can rarely be used in its ide
85
85
86
86
Introduce **typed workflows**, which provide a streamlined syntax for workflows that supports static typing.
87
87
88
-
Typed workflows can be used with the `nextflow.preview.types` feature flag:
88
+
Typed workflows can be used with the `nextflow.enable.types` feature flag:
89
89
90
90
```groovy
91
91
// typed workflow
92
-
nextflow.preview.types = true
92
+
nextflow.enable.types = true
93
93
94
94
workflow HELLO {
95
95
take:
@@ -131,7 +131,7 @@ The operator library is extended to support static typing and records:
131
131
132
132
All operators can be used with or without static typing, with some caveats:
133
133
134
-
- Some operators have stricter semantics when static typing is enabled via `nextflow.preview.types`. These changes are necessary in order to support static typing effectively. They should not affect the majority of existing code.
134
+
- Some operators have stricter semantics when static typing is enabled via `nextflow.enable.types`. These changes are necessary in order to support static typing effectively. They should not affect the majority of existing code.
135
135
136
136
- Some operators are discouraged from use with static typing. While they can still be used, the type checker will not be able to validate them. Users should be encouraged to migrate away from them in favor of the *core operators* that are statically typed.
137
137
@@ -219,7 +219,7 @@ This incremental approach was done in contrast to DSL2, which was a monolithic c
219
219
220
220
Most of the features for static typing are new concepts that can be used alongside existing code. However, typed processes and typed workflows modify existing concepts (`process` and `workflow` definitions), so they require a feature flag.
221
221
222
-
The `nextflow.enable.types` feature flag (currently in preview as `nextflow.preview.types`) will be used to distinguish between typed and legacy code, indefinitely. It would only be removed if the support for legacy syntax was removed, which is unlikely since DSL2 has been the standard Nextflow syntax for many years.
222
+
The `nextflow.enable.types` feature flag (currently in preview as `nextflow.enable.types`) will be used to distinguish between typed and legacy code, indefinitely. It would only be removed if the support for legacy syntax was removed, which is unlikely since DSL2 has been the standard Nextflow syntax for many years.
223
223
224
224
To help distinguish between typed and legacy workflows, the use of type annotations should be allowed only for typed workflows:
225
225
@@ -239,7 +239,7 @@ workflow greet {
239
239
240
240
```groovy
241
241
// typed workflow
242
-
nextflow.preview.types = true
242
+
nextflow.enable.types = true
243
243
244
244
workflow greet {
245
245
take:
@@ -261,7 +261,7 @@ Typed and legacy workflows use different underlying dataflow types:
261
261
262
262
-**Typed workflows (v2)** use wrapper types: `ChannelImpl` (wraps a `DataflowBroadcast`) and `ValueImpl` (wraps a `DataflowVariable`). These wrappers implement the new operators and integrate with the type system.
263
263
264
-
While a given script must be entirely typed or entirely legacy (controlled by the `nextflow.preview.types` flag), **typed and legacy workflows can call each other across different scripts**. This interoperability enables incremental migration -- individual scripts can be migrated to static typing without having to update the entire pipeline at once.
264
+
While a given script must be entirely typed or entirely legacy (controlled by the `nextflow.enable.types` flag), **typed and legacy workflows can call each other across different scripts**. This interoperability enables incremental migration -- individual scripts can be migrated to static typing without having to update the entire pipeline at once.
Copy file name to clipboardExpand all lines: docs/migrations/26-04.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,15 +97,15 @@ See {ref}`script-records` for details. See {ref}`migrating-static-types` for mor
97
97
<h3>Static typing (preview)</h3>
98
98
99
99
:::{note}
100
-
Typed processes and typed workflows require the `nextflow.preview.types` feature flag to be enabled in every script that uses them.
100
+
Typed processes and typed workflows require the `nextflow.enable.types` feature flag to be enabled in every script that uses them.
101
101
:::
102
102
103
103
Nextflow 26.04 brings full support for static typing with {ref}`typed processes <process-typed-page>` and {ref}`typed workflows <workflow-typed-page>`.
104
104
105
105
Typed processes can now declare record inputs and outputs:
106
106
107
107
```nextflow
108
-
nextflow.preview.types = true
108
+
nextflow.enable.types = true
109
109
110
110
process FASTQC {
111
111
input:
@@ -129,7 +129,7 @@ process FASTQC {
129
129
Typed workflows can declare typed inputs and outputs, and provide first-class support for static typing in dataflow logic:
130
130
131
131
```nextflow
132
-
nextflow.preview.types = true
132
+
nextflow.enable.types = true
133
133
134
134
workflow RNASEQ {
135
135
take:
@@ -172,7 +172,7 @@ Breaking changes from the {ref}`first preview <static-typing-first-preview>`:
172
172
173
173
- The method signature for the `stageAs` directive was changed from `(filePattern, value)` to `(value, filePattern)`.
174
174
175
-
- The `nextflow.preview.types` feature flag must be enabled in order to use type annotations in workflow takes/emits.
175
+
- The `nextflow.enable.types` feature flag must be enabled in order to use type annotations in workflow takes/emits.
176
176
177
177
See {ref}`migrating-static-types` for more information about migrating to static typing. See {ref}`migrating-static-types-operators` for best practices on using operators with static typing.
Copy file name to clipboardExpand all lines: docs/reference/process.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,7 @@ The following task properties are defined in the process body:
63
63
:::
64
64
65
65
:::{note}
66
-
Typed processes require the `nextflow.preview.types` feature flag to be enabled in every script that uses them. The syntax and behavior may change in future releases.
66
+
Typed processes require the `nextflow.enable.types` feature flag to be enabled in every script that uses them. The syntax and behavior may change in future releases.
0 commit comments