Repository navigation
Release v19.64.0
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
ICanSeedEventsas its program's authoritative set, keyed byChronicleOptions.ProgramIdentifier, or by the entry assembly name when that is not set. Removing a seeder, or moving its seeds intoForNamespace(...), 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
ProgramIdentifierwhen 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)