Skip to content

Release v19.64.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 06:34
dbe1a17

Summary

Global event seeds that an application stops registering no longer keep reaching every namespace created afterwards. Each program's discovered global seeds are now its authoritative set.

Added

  • The .NET client declares the global seeds it discovers from ICanSeedEvents as its program's authoritative set, keyed by ChronicleOptions.ProgramIdentifier, or by the entry assembly name when that is not set. Removing a seeder, or moving its seeds into ForNamespace(...), therefore stops them reaching namespaces created afterwards. Events already appended stay where they are. See seeding with C# (#4869)

Changed

  • When several programs share an event store, each one replaces only its own declaration. Seeds added by hand, and other programs' declarations, are kept. Identical seeds declared by more than one program are applied once, in the order they were declared. Set ProgramIdentifier when several programs share a store (#4869)
  • Global seeds stored by earlier versions are cleared by the first authoritative registration after both the client and the kernel are upgraded. To clear stale development seeds without resetting the store, upgrade both, remove the seeder or scope it with ForNamespace(...), then start the application once (#4869)
  • If a seeder cannot be activated, the client keeps the previously stored declaration instead of replacing it with an incomplete one, and logs which seeders failed (#4869)