Skip to content

Release v19.47.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 16:14
3a75d5b

The .NET client now tells you what it discovered at startup, and warns when a renamed or moved reactor, reducer, projection or event type is about to be registered under a new id.

Added

  • The .NET client logs what it discovered at startup: totals per artifact kind at Information, and the ids of each kind at Debug. The same report is available as IEventStore.Discovery. (#4733)
  • Before registering, the .NET client compares its artifacts with what the event store already holds and flags likely renames or moves. A renamed reactor is a Warning, because its new id makes it catch up from the start and re-run its side effects, which [OnceOnly] does not prevent. A renamed reducer or projection is Information. An event type whose id is new but whose schema matches exactly one existing event type is a Warning. Findings are also available as Registration.IdentityDrift. (#4733)
  • ChronicleOptions.ArtifactIdentityDrift chooses what happens on a finding: Warn (the default) logs and continues, Fail stops registration with ArtifactIdentityDriftDetected for reactor and event-type findings, and Ignore skips the check. If the event store cannot be reached for the comparison, registration continues as before. (#4733)
  • Documentation on reactor identity: give side-effecting reactors an explicit id with [Reactor("…")], and remove orphaned observers with Observers.Remove. (#4733)