Skip to content

Release v19.35.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 15:26
ddc90ab

Appending an event can fail in a way that leaves you unsure whether the event was stored. You can now prepare an append once and later check whether a stored event holds exactly that content.

Added

  • eventSequence.Prepare(event) serializes an event once with the store's real event serializer, including polymorphic types and additional-information providers, and returns a PreparedEvent snapshot that append and verification both reuse. (#4510)
  • AppendPrepared(eventSourceId, preparedEvent) appends a prepared event, and AppendPrepared<TEventSource>(...) does the same through a registered event source, resolving routing and concurrency scope the way Append<TEventSource> does. (#4510)
  • eventSequence.VerifyContent(sequenceNumber, preparedEvent, eventSourceId) reports whether the complete content of a stored event is Equal, Different or Unavailable compared with the prepared event, without returning the stored content to the caller. Erased, unreadable and revised content is Unavailable, as is content on SQL storage, where revision state is not yet tracked. (#4510)
  • Verification compares content across every stored generation of the event type and reports Unavailable when any generation cannot be compared without losing precision. (#4510)
  • The Workbench exposes a VerifyContent command and generated proxies for content verification. (#4510)
  • Documentation for preparing, appending and verifying events, including the limits of verification: https://github.com/Cratis/Chronicle/blob/main/Documentation/events/appending.mdx (#4510)