Skip to content

Release v5.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 20:26
ab7de93

Added

  • Specifications can evaluate command clock operands in an IANA calendar, including commands invoked by reactions, using a pinned receipt instant and time zone. (part of #824)
  • New diagnostics PLAY0834 (unknown IANA time-zone id, with no fallback to UTC) and PLAY0835 (a calendar from $context.<member> other than timeZone). (part of #1044)
  • A context block in the application preamble declares typed-context time-zone members (<name> time zone). It is parsed, printed, merged, indexed and highlighted in both compilers and editors, and refused at binding with PLAY0268 until clock admission lands; new diagnostics PLAY0854–PLAY0857. Earlier Screenplay versions cannot read a model or syntax JSON that contains a context block. (part of #1120)
  • Read models can opt in to passive realization with a passive directive; queries and screens that consume a passive read model are reported. Earlier compilers do not accept the passive directive. (#1129)
  • Decision 0133 defines derive … = hash of … as SHA-256 over UTF-8 text with lowercase hex output, for verifiers of generated secrets and fingerprints, never passwords. (part of #308)

Changed

  • Admissible compilation now excludes a persona that references an excluded policy, together with its invitations and the specifications that use it as a caller, instead of refusing the whole model. (part of #1106)
  • Faster local builds of the Screenplay repository: the compiler's inline specs now compile in their own spec assembly, so editing the compiler or a spec no longer rebuilds the other. The published Cratis.Screenplay package is unchanged. (#1128)

Fixed

  • Documentation corrections: admission and host claims, the captures grammar (a document needs at least one capture; identifiers may start with an underscore), typed event key fallback rules, and the $context.timeZone description in the commands guide. (#1131)