Releases: nextflow-io/nf-schema
Releases · nextflow-io/nf-schema
Version 2.6.1
Version 2.6.0
This is a small release to enable compatibility with Nextflow 25.10.0 and thus the minimal compatible Nextflow version is 25.10.0 now.
Changes
- Removed Java 11 support, it might still work, but we don't test for that version anymore.
- Added support for Java 25, which is supported starting from Nextflow 25.10.0.
Bug fixes
- Fixed a bug where the
existsevaluator would fail on globbing patterns. Theexistsevaluator will now correctly validate globbing patterns.
Version 2.5.1
Bug fixes
- Fixed a bug where non-local samplesheets couldn't be validated and converted.
Version 2.5.0
New features
- Added a new configuration option:
validation.help.enumLengthwhich sets the maximum length of enum values in the help message. The default is set to the value in theCOLUMNSenvironment variable or 100 character if that variable isn't set. - Added top-level schema description for detailed help
--help <args>. If<args>is associated with a schema, then the top-level fields will be shown similarly to--helpfor the main schema (#146). - Added a Troubleshooting and FAQ page to the documentation.
Changes
- The plugin now properly validates cloud storage files instead of skipping them. Exotic errors will be added to the error messages instead of failing the validation outright.
- Migrated to the new observer class in Nextflow 25.04.0
- Rework the deprecated
paramsHelp()function to allow pipeline developers a fully fledged alternative to the help messages created via the configuration options. This change enables the use of dynamic help message with the strict configuration syntax introduced in Nextflow 25.04.0. - Updated the error message when the JSON schema file is invalid to include the full file name.
- The ANSI log setting of Nextflow is now used to determine whether or not the log should be monochrome. This setting will take priority over the
validation.monochromeLogsconfiguration option. - Updated the examples in the examples directory and added automatic checking for validity of these examples.
- Refactored logic for parsing the
jsonschemavalidation result into a newValidationResultclass.
Bug fixes
- CSV and TSV files with trailing commas or tabs will now be properly sanitized. This fixes issues with CSV and TSV files that contained empty header columns.
- Unidentified parameters are no longer printed out on failure of the parameter validation. This is to prevent a bug where all parameters would be printed out on failure.
- Fixed an issue where default values of
nullweren't being set correctly insamplesheetToList(). - Fixed an undocumented limit of
3MBforYAMLformat samplesheets (new limit is50MB). - Fixed issue where an empty string in a yaml for a file type string format would throw a Java error instead of reporting a proper validation error.
Logging configuration
This update contains a rework of the logging configuration. The validation.logging configuration scope has been added with options to replace and expand the current logging configuration options. These options can all take the following values:
skip: Skip loggingdebug: Log debug messages (only printed in the.nextflow.logfile)info: Log info messages (also printed in the terminal)warn: Log warning messages (also printed in the terminal, but in yellow)error: Fail the pipeline and print the error message
| Old option | New option | Description |
|---|---|---|
validation.failUnrecognisedParams |
validation.logging.unrecognisedParams |
The logging level for unrecognised parameters. |
validation.failUnrecognisedHeaders |
validation.logging.unrecognisedHeaders |
The logging level for unrecognised headers in samplesheets. |
Version 2.4.2
Bug fixes
validateParametersshould now correctly ignore nested parameters given in thevalidation.ignoreParamsand thevalidation.defaultIgnoreParamsconfiguration options.
Version 2.4.1
Bug fixes
- Allow
GStringvalues for all configuration options that allowStringvalues.
Version 2.4.0
New features
- Added a new configuration option:
validation.maxErrValSizewhich sets the maximum length that a value in an error message can be. The default is set to 150 characters. - Added a new function:
validate()that can be used to validate any data structure using a JSON schema.
Bug fixes
- Move the unpinned version check to an observer. This makes sure the warning is always shown and not only when importing a function.
- Added a missing inherited method to the observer to fix issues with workflow output publishing
- Fixed unexpected failures with samplesheet schemas using
anyOf,allOfandoneOf - Fixed an error with help messages when the
typekeyword was missing - Fix compilation errors in Java 21
Improvements
- Slow uniqueness check (> 2hrs for 100k samples) made 400x faster by switching from
findAllto asubMapfor isolating the required unique fields. patternPropertiesnow has greater support, with no warnings about invalid parameters which actually match a pattern- Added better error handling and debug messages to the configuration parser.
Changes
- Refactored the whole codebase to make future development easier
- Bumped the minimal Nextflow version to
24.10.0
Version 2.3.0 - Hakodate
Bug fixes
- The help message will now also be printed out when no functions of the plugin get included in the pipeline.
- JSON and YAML files that are not a list of values should now also be validated correctly. (Mind that samplesheets always have to be a list of values to work with
samplesheetToList)
Version 2.2.1
Bug fixes
- Fixed a bug in
paramsSummaryMap()related to the processing of workflow config files. - Fixed a bug where
validation.defaultIgnoreParamsandvalidation.ignoreParamswould not actually ignore the parameter validation.
Version 2.2.0 - Kitakata
New features
- Added a new configuration option
validation.failUnrecognisedHeaders. This is the analogue tofailUnrecognisedParams, but for samplesheet headers. The default isfalsewhich means that unrecognized headers throw a warning instead of an error. - Added a new configuration option
validation.summary.hideParams. This option takes a list of parameter names to hide from the parameters summary created byparamsSummaryMap()andparamsSummaryLog()
Bug fixes
- Fixed a bug in
samplesheetToListthat caused output mixing when the function was used more than once in channel operators. - Added a missing depencency for email format validation.
- All path formats (with exception to
file-path-pattern) will now give a proper error message when afile-path-patternhas been used.
Improvements
- Improved the
existskeyword documentation with a warning about an edge case. - Updated the error messages. Custom error messages provided in the JSON schema will now be appended to the original error messages instead of overwriting them.