Skip to content

Releases: nextflow-io/nf-schema

Version 2.6.1

27 Oct 10:50
3a31d2a

Choose a tag to compare

This is a quick patch release to bump the Nextflow Gradle plugin to 1.0.0-beta.12. This will enable support for the configuration options in the Nextflow language server.

Version 2.6.0

24 Oct 09:35
44c1b99

Choose a tag to compare

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

  1. Removed Java 11 support, it might still work, but we don't test for that version anymore.
  2. Added support for Java 25, which is supported starting from Nextflow 25.10.0.

Bug fixes

  1. Fixed a bug where the exists evaluator would fail on globbing patterns. The exists evaluator will now correctly validate globbing patterns.

Version 2.5.1

03 Sep 10:45
a547e5c

Choose a tag to compare

Bug fixes

  1. Fixed a bug where non-local samplesheets couldn't be validated and converted.

Version 2.5.0

28 Aug 07:16
311c829

Choose a tag to compare

⚠️ This version requires Nextflow version 25.04.0 or higher ⚠️

New features

  1. Added a new configuration option: validation.help.enumLength which sets the maximum length of enum values in the help message. The default is set to the value in the COLUMNS environment variable or 100 character if that variable isn't set.
  2. 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 --help for the main schema (#146).
  3. Added a Troubleshooting and FAQ page to the documentation.

Changes

  1. 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.
  2. Migrated to the new observer class in Nextflow 25.04.0
  3. 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.
  4. Updated the error message when the JSON schema file is invalid to include the full file name.
  5. 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.monochromeLogs configuration option.
  6. Updated the examples in the examples directory and added automatic checking for validity of these examples.
  7. Refactored logic for parsing the jsonschema validation result into a new ValidationResult class.

Bug fixes

  1. 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.
  2. 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.
  3. Fixed an issue where default values of null weren't being set correctly in samplesheetToList().
  4. Fixed an undocumented limit of 3MB for YAML format samplesheets (new limit is 50MB).
  5. 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 logging
  • debug: Log debug messages (only printed in the .nextflow.log file)
  • 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

07 May 07:26
a81994a

Choose a tag to compare

Bug fixes

  1. validateParameters should now correctly ignore nested parameters given in the validation.ignoreParams and the validation.defaultIgnoreParams configuration options.

Version 2.4.1

10 Apr 12:27
5a9b1ae

Choose a tag to compare

Bug fixes

  1. Allow GString values for all configuration options that allow String values.

Version 2.4.0

03 Apr 13:17
f529e91

Choose a tag to compare

New features

  1. Added a new configuration option: validation.maxErrValSize which sets the maximum length that a value in an error message can be. The default is set to 150 characters.
  2. Added a new function: validate() that can be used to validate any data structure using a JSON schema.

Bug fixes

  1. Move the unpinned version check to an observer. This makes sure the warning is always shown and not only when importing a function.
  2. Added a missing inherited method to the observer to fix issues with workflow output publishing
  3. Fixed unexpected failures with samplesheet schemas using anyOf, allOf and oneOf
  4. Fixed an error with help messages when the type keyword was missing
  5. Fix compilation errors in Java 21

Improvements

  1. Slow uniqueness check (> 2hrs for 100k samples) made 400x faster by switching from findAll to a subMap for isolating the required unique fields.
  2. patternProperties now has greater support, with no warnings about invalid parameters which actually match a pattern
  3. Added better error handling and debug messages to the configuration parser.

Changes

  1. Refactored the whole codebase to make future development easier
  2. Bumped the minimal Nextflow version to 24.10.0

Version 2.3.0 - Hakodate

13 Jan 15:33
786cb15

Choose a tag to compare

Bug fixes

  1. The help message will now also be printed out when no functions of the plugin get included in the pipeline.
  2. 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

03 Dec 12:04
803c1ae

Choose a tag to compare

Bug fixes

  1. Fixed a bug in paramsSummaryMap() related to the processing of workflow config files.
  2. Fixed a bug where validation.defaultIgnoreParams and validation.ignoreParams would not actually ignore the parameter validation.

Version 2.2.0 - Kitakata

30 Oct 10:22
6c5d6bd

Choose a tag to compare

New features

  1. Added a new configuration option validation.failUnrecognisedHeaders. This is the analogue to failUnrecognisedParams, but for samplesheet headers. The default is false which means that unrecognized headers throw a warning instead of an error.
  2. Added a new configuration option validation.summary.hideParams. This option takes a list of parameter names to hide from the parameters summary created by paramsSummaryMap() and paramsSummaryLog()

Bug fixes

  1. Fixed a bug in samplesheetToList that caused output mixing when the function was used more than once in channel operators.
  2. Added a missing depencency for email format validation.
  3. All path formats (with exception to file-path-pattern) will now give a proper error message when a file-path-pattern has been used.

Improvements

  1. Improved the exists keyword documentation with a warning about an edge case.
  2. 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.