Skip to content

Release v4.143.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 14:29
f97011a

Summary

Collection queries with caller-supplied equality filters now reach the executable model as ESM v14, so filtered list queries bind, run in the reference evaluator and can be asserted in specifications.

Added

  • Equality filter clauses on collection queries bind into the executable model as ESM v14: a filter keeps the rows whose same-named read-model property equals the supplied value, combines with by as AND, and an optional filter may be omitted (part of #140)
  • Only models with a query filter select ESM v14; models without filters keep their exact executable-model bytes and revision (part of #140)
  • Specifications supply filter values as query arguments in both then query … arguments and when query, and a query call is identified by its query, key and supplied filter values (part of #140)
  • ESM v14 golden vector and query filters canonical corpus for consumers to verify against (part of #140)
  • Decision record 0069 on admitting equality query filters as ESM v14: https://github.com/Cratis/Screenplay/blob/main/decisions/0069-admit-equality-query-filters-as-esm-v14.md (part of #140)

Changed

  • PLAY0268 now names the specific reason a query is not executable (a context-sourced filter, a filter on a single-result query, a filter without a matching scalar property, scoped to or performer) instead of one combined message (part of #140)
  • PLAY0468 reports unknown, repeated or missing required query arguments in both specification forms, and repeated query arguments are no longer silently dropped while parsing (part of #140)
  • The query and specification documentation states that collection results compare without regard to row order (part of #140)