Skip to content

Release v4.61.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 17:29
50d647b

Added

  • Admit controlled occurrence time, reactions, clocks, application triggers and capture records into ESM v6 and reference specification execution. Includes Einar Ingebrigtsen’s implementation of the v6 model and reference evaluator. (#369)
  • Use given clock to assert occurrence timestamps and advance deterministic UTC schedules with when clock. (part of #304) (part of #87)

Changed

  • Models using the new behavior select ESM v6; existing v1–v5 canonical bytes and revisions remain unchanged. Consumers must explicitly admit v6 before realizing its behavior.
  • Require given clock before when clock; compare reaction consequences without the initiating when append fact. Reactions run in semantic-identity order, their triggers in authored order, and invoked commands use the full command pipeline without a caller.

Fixed

  • Reject reactions whose direct or opaque effects declare unprotected reads. Reached opaque bodies, unsupported capture evaluation and unavailable identity allocation return typed Unsupported rather than passing with omitted effects.
  • Preserve capture field shapes and typed keys, reject missing or duplicate child identities, and retain previously accepted facts when a later capture append or reaction fails. Capture appends settle their constraints, projections and reactions before the next effect is evaluated.
  • Reject malformed semantic values and incomplete reaction guards instead of admitting models that cannot round-trip or silently ignoring conditions. Honor host trigger registrations and return typed Unsupported for reached projection arithmetic outside the supported range.
  • Keep invoked command batches atomic when a cascade reaches its fact limit, and evaluate audit requirements only as each effect is reached. (part of #309)