Paolo
05/04/2026, 4:04 PMFile object evaluates to false if the file does not physically exist, whereas previously it only required the reference to be non-null.
While this change impacts the Nextflow codebase, our primary concern is the broader ecosystem:
• Critical External Impact: This change is a “silent breaker” for the thousands of third-party scripts and applications running on Nextflow. Users expecting legacy Groovy behavior will encounter unexpected logic failures that are notoriously difficult to debug in a pipeline context.
• Internal Management: While we can refactor our own core codebase to accommodate the new semantics, we cannot realistically control or force a synchronized update across the entire community of external plugins and user-maintained pipelines.
To mitigate this, I’ve submitted this PR to introduce a system option that allows reverting to the previous behavior. This ensures backward compatibility and provides a necessary safety net for the community as they transition.
Hope you will consider this for merge!