Changelog

Version 1.4.1 — 2026-11-10

  • Corrected the type overview to require vr_entry rules for ValueList and ValueMatrix, matching the Lists chapter. Removed the implicit Value default and clarified that accepting any scalar value requires explicitly setting the entry rule’s type to Value.

Version 1.4.0 — 2026-11-09

  • Extended the validation-rules specification with the vr_literal_ escape prefix for names that conflict with attribute names.

  • Clarified that templates can be used for vr_name definitions, subject to the same type and constraint restrictions as inline definitions.

Version 1.3.1 — 2026-02-20

Significantly expanded and clarified multiple areas of the ELCL-VR specification.

  • Enhanced the documentation of vr_dependency:

    • Added the previously missing or and and modes.

    • Introduced a formal explanation of dependency evaluation logic, including a normative mode matrix.

    • Clarified ambiguous and misleading wording to ensure precise, implementation-independent semantics.

  • Clarified the optionality semantics of Section Lists, showing its similarity to value lists to address common misunderstandings.

  • Formalized rules for type identifiers:

    • Defined case-insensitivity and normalization behavior in the validation rules chapter (previously only described informally in the overview).

    • Added explicit rules regarding type aliases.

  • Extended the documentation of vr_key:

    • Added rules covering alternatives, optionality, and version constraints in composite key paths.

    • Removed redundant and overlapping phrasing from existing rules to improve consistency and precision.

Version 1.3.0 — 2026-02-12

Extended the semantics of vr_key by introducing the optional case_sensitive field, allowing indexes to be explicitly marked as case-sensitive.

The behavior of the key constraint now depends on the case-sensitivity of the referenced index. Uniqueness checks and key comparisons follow the index’s defined comparison mode.

Note

The previous specification was ambiguous regarding case-sensitivity in vr_key entries. Although key comparisons were described as case-insensitive by default, it was not clearly specified:

  • whether index uniqueness checks were case-sensitive, and

  • whether key constraint comparisons depended on index behavior.

This version clarifies and formalizes these rules to ensure deterministic and consistent comparison semantics.

Version 1.2.10 — 2026-02-11

Extended and clarified the validation rules documentation, with a focus on edge cases and key semantics.

  • Significantly expanded the documentation for vr_any with additional rules, clearer scoping semantics, and more comprehensive examples.

  • Expanded and clarified the rules for vr_entry, especially regarding optionality and default values.

  • Refined the documentation for indexes, keys, and references, defining precise behavior for edge cases such as versioned schemas, optional nodes, and alternatives in key paths.

  • Corrected key path examples to consistently include vr_entry where required, and explicitly documented that vr_entry is a mandatory part of section list key paths.

    Note

    Key paths are now documented in their canonical form including vr_entry. For compatibility, paths that omit vr_entry may be treated as shorthand.

Version 1.2.4 — 2026-02-05

Added a “custom errors” chapter and refined validation rules documentation

  • Introduced a new “Custom Errors” chapter detailing the use and rules of defining error messages for user-friendly feedback.

  • Standardized headings and improved consistency in the validation rules documentation.

  • Fixed typos, formatting issues, and refined terminology (e.g., “name-path” to “name path”).

  • Updated references to align with the latest structure and naming conventions.

Version 1.2.0 — 2026-01-22

Added a new chapter Validation Rules defining ELCL Validation Rules (ELCL-VR):

  • Introduces a standardized mini-language for declarative configuration validation.

  • Covers document structure, node rules, types, constraints, templates, dependencies, versioning, diagnostics, and security considerations.

  • Enables portable, implementation-independent validation of ELCL configuration documents.

Version 1.0.10 — 2025-09-01

  • Added a page with a list of all known parser implementations.

  • Explained how to add your own parser to the list.

  • Improved the contribution guide with buttons to create issues and start discussions.

Version 1.0.8 — 2025-08-22

  • Added the colon to the list of escaped characters in the “Test Outcome Format” chapter. This character had been accidentally omitted.

  • Added a design rationale box to explain the reasoning behind the escaping rules.

Version 1.0.6 — 2025-08-14

  • Added examples of invalid floating-point values for clarity.

  • Included +inf and +nan as recognized values for completeness.

  • Clarified that digit separators do not count toward digit limits.

  • Broadened the rule to better deny any non-decimal formats for floating-point values.

  • Refined explanation of behavior when limits are exceeded, removing potentially misleading rounding example in the context of floating-point numbers.

Version 1.0.4 — 2025-07-10

  • Clarified the relationship between Syntax and its specialized subcategories (Character, UnexpectedEnd, Indentation, LimitExceeded, Unsupported).

  • Reworded and expanded descriptions to improve readability and precision for parser implementors.

  • Added design rationales to explain the purpose and intent behind each specialized category.

  • Explicitly stated that distinguishing specialized errors is optional for parser conformance.

Version 1.0.0 — 2025-07-09

  • Initial release