Skip to content

Release v4.164.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 11:00
444c4c1

Added

  • Concepts that declare generate can carry validation rules: the compiler proves each rule against the generation strategy, binds a proven rule silently, reports a rule the strategy can break as PLAY0688 with an example value that breaks it, and reports a rule it cannot decide as a PLAY0689 warning with the reason (part of #616)
  • Length, not empty, equal, not equal and matches rules are decided exactly for the regular-expression subset described in the generated-values documentation; matches is proven only for patterns a backtracking regex engine matches without ambiguity, so a proven rule never times out on a generated value (part of #616)
  • Generated and specification fixtures are checked against their concept's rules as well as the strategy's shape; a fixture that breaks a rule is a contract violation (part of #616)
  • A repair replaces a refuted rule with the matches pattern derived from the strategy (part of #616)
  • Executable model version 20 carries rules on generated concepts; models without them keep their version, bytes and outcomes (part of #616)

Changed

  • PLAY0268 no longer refuses rules on generated concepts (part of #616)
  • The generated-values documentation follows one shop example through strategies, choosing a strategy, rule consistency and when not to generate (part of #616)