Skip to content

Release v16.44.2

Choose a tag to compare

@github-actions github-actions released this 05 Sep 06:35
ded0d78

Summary

Six independent, scoped bug fixes across kernel startup, client registration, projection activation, and the in-process testing surfaces.

Fixed

  • Stopped a shutdown requested during kernel startup from crashing with an unhandled exception; it now stops gracefully and logs the shutdown (#3936)
  • Fixed a NullReferenceException when an observer activates against an unset projection definition (#3934)
  • ReactorScenario now surfaces what a reactor handler throws instead of swallowing the exception, so throwing reactors can be specced (#3933)
  • In-memory event sequence storage now records the real identity that caused an event instead of hardcoding Identity.System, so in-process scenarios can assert event attribution (#3928)
  • ReadModelScenario's GetInstanceById now returns null for an instance that was never seeded instead of throwing (#3927)
  • The client now keeps retrying artifact registration in the background after it fails on an otherwise healthy connection, instead of leaving observers disconnected indefinitely until the next reconnect (#3935)

Verification

  • dotnet build (Debug and Release) — zero warnings, zero errors across every affected project
  • dotnet test — zero failures across Core.Specs, Testing.Specs, DotNET.Specs, Storage.InMemory.Specs, Services.Specs
  • #3936's fix is top-level Program.cs startup/shutdown control flow, which has no automated spec coverage in this codebase and was not exercised against a live kernel process in this session — it was verified by code review only (catching OperationCanceledException, the base type TaskCanceledException derives from, around app.RunAsync is the standard .NET pattern for a cancellation requested during startup). Flagging this as unverified-at-runtime rather than claiming a manual test that wasn't actually run.