Skip to content

Release v4.34.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 14:41
1558a1a

Added

  • Events can declare their generations: event ProjectRegistered generation 2. An event without the marker is generation 1 and prints as before. Each earlier generation is a complete declaration in the same slice, numbered consecutively from 1; an invalid, duplicate or missing generation is a compile error (PLAY0446, PLAY0447, PLAY0448). Printing, workspace and MCP authoring, and editor highlighting, completion and hover support the marker. This is the grammar part of decision 0011 for #71.
  • A model that uses the marker does not compile to the executable model yet: binding fails with PLAY0449 until generation lineage ships (decision 0015). Models without the marker are unchanged.

Changed

  • Two unmarked declarations of the same event in one slice are now a syntax error (PLAY0447, a duplicate generation 1); before, only binding rejected them.
  • References to an event and the checks on its shape (produced mappings, specifications, projections, reaction trigger values) use the current, highest generation.
  • Tools that read EventSyntax directly will now see one declaration per generation. Until the executable model carries lineage, they should reject or skip events that carry a generation marker (HasGenerationMarker).