- Fixed a bug in
paramsSummaryMap()
related to the processing of workflow config files.
- Added a new configuration option
validation.failUnrecognisedHeaders
. This is the analogue tofailUnrecognisedParams
, but for samplesheet headers. The default isfalse
which 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()
- Fixed a bug in
samplesheetToList
that 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-pattern
has been used.
- Improved the
exists
keyword 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.
- The directory
nf_test_output
is now an ignored parameter during validation to support use of bothnf_test
andnf_schema
. uniqueEntries
will now skip unique checks when all values in the requested array properties are empty. This had to be implemented to allow optional values to work with theuniqueEntries
check. Partially filled in array properties will still fail (and that's how it's meant to be). Be sure to useoneOf
to properly configure all possible combinations in case this causes some issues.- Improved the error messages produced by
uniqueEntries
.
- Fix some faults in the docs
- The help parameters are now no longer unexpected parameters when validating parameters.
- Fixed a typo in the docs
- Added a URL to the help message migration docs to the
paramsHelp()
deprecation message - The old
validation.showHiddenParams
config option works again to ensure backwards compatibility. Usingvalidation.help.showHidden
is still preffered and the old option will emit a deprecation message. - Resolved an issue where the UniqueEntriesEvaluator did not correctly detect non-unique combinations.
- The minimum supported Nextflow version is now
23.10.0
instead of22.10.0
- The plugin now fully supports nested parameters!
- Added a config option
validation.parametersSchema
which can be used to set the parameters JSON schema in a config file. The default isnextflow_schema.json
- The parameter summary log will now automatically show nested parameters.
- Added two new configuration options:
validation.summary.beforeText
andvalidation.summary.afterText
to automatically add some text before and after the output of theparamsSummaryLog()
function. The colors from these texts will be automatically filtered out ifvalidation.monochromeLogs
is set totrue
.
- The use of the
paramsHelp()
function has now been deprecated in favor of a new built-in help message functionality.paramsHelp()
has been updated to use the reworked help message creator. If you still want to useparamsHelp()
for some reason in your pipeline, please add thehideWarning:true
option to it to make sure the deprecation warning will not be shown. - Added new configuration values to support the new help message functionality:
validation.help.enabled
: Enables the checker for the help message parameters. The plugin will automatically show the help message when one of these parameters have been given and exit the pipeline. Default =false
validation.help.shortParameter
: The parameter to use for the compact help message. This help message will only contain top level parameters. Default =help
validation.help.fullParameter
: The parameter to use for the expanded help message. This help message will show all parameters no matter how deeply nested they are. Default =helpFull
validation.help.showHiddenParameter
: The parameter to use to also show all parameters with thehidden: true
keyword in the schema. Default =showHidden
validation.help.showHidden
: Set this totrue
to show hidden parameters by default. This configuration option is overwritten by the value supplied to the parameter invalidation.help.showHiddenParameter
. Default =false
validation.help.beforeText
: Some custom text to add before the help message. The colors from this text will be automatically filtered out ifvalidation.monochromeLogs
is set totrue
.validation.help.afterText
: Some custom text to add after the help message. The colors from this text will be automatically filtered out ifvalidation.monochromeLogs
is set totrue
.validation.help.command
: An example command to add to the top of the help message. The colors from this text will be automatically filtered out ifvalidation.monochromeLogs
is set totrue
.
- Added support for nested parameters to the help message. A detailed help message using
--help <parameter>
will now also contain all nested parameters. The parameter supplied to--help
can be a nested parameter too (e.g.--help top_parameter.nested_parameter.deeper_parameter
) - The help message now won't show empty parameter groups.
- The help message will now automatically contain the three parameters used to get help messages.
- The
defs
keyword is now deprecated in favor of the$defs
keyword. This to follow the JSON schema guidelines. We will continue supportingdefs
for backwards compatibility.
- Updated the org.json package to version
20240303
.
To migrate from nf-validation please follow the migration guide
- Added the
uniqueEntries
keyword. This keyword takes a list of strings corresponding to names of fields that need to be a unique combination. e.g.uniqueEntries: ['sample', 'replicate']
will make sure that the combination of thesample
andreplicate
fields is unique. (#141) - Added
samplesheetToList
which is the function equivalent of.fromSamplesheet
#3 - Added a warning if the
nf-schema
version is unpinned. Let's hope this prevents future disasters like the release ofnf-validation
v2.0 😁
- Changed the used draft for the schema from
draft-07
todraft-2020-12
. See the 2019-09 and 2020-12 release notes for all changes (#141) - Removed the
fromSamplesheet
channel operator and added asamplesheetToList
function instead. This function validates the samplesheet and returns a list of it. #3 - Removed the
unique
keyword from the samplesheet schema. You should now useuniqueItems
oruniqueEntries
instead (#141) - Removed the
skip_duplicate_check
option from thesamplesheetToList()
function and the--validationSkipDuplicateCheck
parameter. You should now use theuniqueEntries
oruniqueItems
keywords in the schema instead (#141) samplesheetToList()
now does dynamic typecasting instead of using thetype
fields in the JSON schema. This is done due to the complexity ofdraft-2020-12
JSON schemas. This should not have that much impact but keep in mind that some types can be different between this version and older versions in nf-validation (#141)samplesheetToList()
will now set all missing values as[]
instead of the type specific defaults (because of the changes in the previous point). This should not change that much as this will also result infalse
when used in conditions. (#141)- Removed the configuration parameters and added configuration options instead. For a full list of these new options, please have a look at the configuration docs
- Ignore validation of Azure and GCP hosted blob storage files in addition to AWS S3 hosted files. This is because they are not true POSIX compliant files and would incorrectly fail validation (#29)