Skip to content

Release v4.51.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 18:51
4e1af9d

Added

  • produces event <Name> declares an event inside a command with an indented body of typed mappings, tags, an optional for, description and documentation. It compiles to the same executable model as a standalone event plus a produces, and the event belongs to its slice (#299)
  • An omitted for on an inline production means the command's identifier when every production targets the same event source; mixing an inline and a plain omission, or targeting another source without stating every for, reports PLAY0470 (#299)
  • Standalone and inline events accept description (one line, or a fenced text or markdown block) and documentation (a fenced markdown block). They are authoring metadata and do not change the executable model (#299)
  • An optional id "<old name>" on an event keeps its identity after a rename; an id equal to the event's own name is reported as redundant (#299)
  • New diagnostics PLAY0469 to PLAY0477 report identifier payload copies, missing destinations, redundant or malformed id, inline name collisions, inline events outside commands, inline generation, reserved system metadata and malformed documentation (#299)
  • Monaco and the VS Code extension highlight, complete, hover and validate inline events, navigate to them, and show an inlay hint for the implied for when the destination is certain (#299)
  • The event model board and the MCP server's declaration index and details include inline events, with a declares relationship from their command (#299)
  • The TypeScript compiler parses command productions, including inline events, with the same syntax and diagnostics as the C# compiler (#299)

Changed

  • PLAY0478 is reported only for plain productions; inline productions already state or imply their destination (#299)
  • The Invoicing sample declares one of its events inline, with a description and documentation