All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Support for NodeJS 16.
- Updated dependencies.
- Switched to installation with yarn instead of npm.
- Added support for modern npm versions.
- Support for linux/arm64.
- Support for NodeJS 14.
- Updated dependencies.
- Improved performance when using this library as a JS module and during running of tests by not instantiating multiple headless Chrome (puppeteer) instances.
- Updated dependencies.
- Updated dependencies.
- Check for missing value elements in choice options.
- Check that only one of OpenClinica's external signature questions are present.
- Check that value of OpenClinica's external signature question is "1".
- The wording of the error message for OpenClinica's external signature feature.
- No longer compatible with node 12
- Updated dependencies
- Not working in Node 12
- Check for repeats with w-values less than w4.
- Tweaked error/warning output messages to use "group" and "repeat" instead of "question" for issues with appearances.
- Check for a custom OpenClinica external signature feature.
- Updated dependencies
- Basic checks to catch common XLSForm authoring mistakes when adding a value to the wrong column or misspelling a value.
- Updated dependencies
- Binary building.
- Updated dependencies.
- Updated dependencies.
- Output error in openclinica mode when last-saved feature is used.
- Various XPath issues by updating enketo-core.
- Various XPath issues by updating enketo-core.
- Updated to Enketo Core with new XPath evaluator.
- Temporarily allow missing
<label>
element if a hint is present.
- In OpenClinica mode,
instance('clinicaldata')
queries as part of a setvalue action are also considered valid.
- In OpenClinica mode, some errors output question "null" instead of the question name.
- A check for search() appearance usage.
- A check for external app "ex:" appearance or intent attribute usage.
- A check for validity of setvalue logic.
- OpenClinica mode checks for validity of custom multiple constraints.
- A check for new analog-scale disallowed appearance combinations.
- Some previously reported warnings are now reported as errors.
- The 'calculation-without-readonly' error message shows "null" as question name.
- Duration field to module response.
- Path error when using library in an app such as enketo-validate-webapp.
- Switched to using puppeteer to evaluate XPath (major).
- Binary builds for Mac OS and Linux
- Some forms containing nodenames starting with an underscore crash the app.
- Improved performance of check to see if bind has matching model node.
- Forms with repeat templates without a first instance of those repeats, report false warning for missing model nodes.
- In OC mode appearance errors are no output as warnings.
- In OC mode deprecated appearance warnings are no longer suppressed.
- False warning for "field-list" appearance on repeat.
- False warning for w-value appearance on repeat.
- Unhelpful warning when using "horizontal" appearance on select/select1.
- Setvalue elements are incorrectly reported as errors because they have no label.
- Empty external instance is output as an error.
- Updated libxslt, enketo-core and other dependencies. WARNING: NodeJS 12 is required now
- Falsely detects nested repeats for sibling repeats where one repeat nodeName starts with the nodeName of another repeat.
- Updated Enketo-core engine and OpenClinica XPath extensions.
- Always try to evaluate expressions even if XForm structure errors were found.
- Check for duplicate question/group names (warning).
- Check for nested repeats (warning).
- Check for missing label elements.
- Updated appearances rules with new columns, columns-pack, no-buttons etc.
- Updated form engine and other dependencies.
- Badly broken self-reference check.
- Installation of this library with
npm install enketo-validate
fails.
- Detect disallowed logic references to node itself.
- Added version property to CommonJS module validation output.
- Updated to Enketo Core 5.0.x
- Version property to CommonJS module.
- Validation for appearances that depend on other appearances.
- Ignore deprecated appearance usage errors in --oc mode.
- No longer providing final 'Valid' or 'Invalid' line in output in --oc mode.
- Analog-scale appearance outputs warning.
- False error for repeat without ref attribute.
- Appearance validation.
- Updated Enketo libraries.
- Updated Enketo libraries.
- Complex jr:choice-name() calls are not properly ignored causing false errors to be shown.
- Custom OC rule for binds with oc:external="clinicaldata".
- Separate OC build
- Custom OC rule for external clinical data.
- Rule to require calculations without form control to have readonly="true" attribute.
- The
--oc
flag will now run all OC customizations. No separate build/binary required any more.
- Executable-friendly version of enketo-xslt
- Cannot build on Windows
- Minor syntax changes.
- Empty file should output stderr instead of stdout.
- First published version.