Releases: Cratis/Chronicle
Releases · Cratis/Chronicle
Release v10.10.0
Added
- Clients can now use the new
.Watch()
method on projections for watching specific projected read model types for changes.
Fixed
- Internally fixing so that the
IProjection
grain is not linked to specific namespace, meaning that we have now moved the responsibility of subscription for projections to theProjectionsManager
.
Release v10.9.12
Added
- Created timestamp to JobState
Fixed
- #1686 - JobState bson serializer would occasionally fail when serializing Request object
Removed
- Request from JobStepState
- Name from JobState - Type is now effectively what Name was before
Release v10.9.11
Summary
Fixed an issue in the Kernel EventSequence which could cause problems in terms of appending multiple events.
Fixed
- When appending many events all event constraints are checked before any events are appended
Release v10.9.10
Summary
Several specs occatioanly failed for appended events queue because it did not take into account parallelism of event sources. However that uncovered other issues in the appended events queue
Fixed
- Appended events queue issues related to starting too many queue handlers due to incorrect usage of Task.ContinueWith
Release v10.9.9
Fixed
- An issue where during connecting of an Observer it would skip and event if it had to catchup only a single event
- Make getting state from Observer always interleave
Release v10.9.8
Fixed
- Adding fail safe error handling for
ConnectionService
during keep alive. If it fails within the keep alive loop, it will keep on going and not just die. Added logging if this occurs. - Added more error handling for
AppendedEventsQueue
to ensure the queue task is always alive, and if it stops it will be recreated. Logging the errors if they occur. - If a call to
Handle()
on theObserver
fails, theAppendedEventsQueue
will catch this and retry indefinitely. Any failures happening within the Observer should be handled by itself and rais failed partitions. But not being able to reach theObserver
should not mean we move on to the next event. This might need a circuit breaker. For now we consider this scenario as a transient failure. - Observers will now not handle any events unless it is in the
Active
state. This is to prevent handling happening while transitioning between states. - Projections clean up after themselves by unregistering for definition changes.
Release v10.9.7
Fixed
- Defaulting the database for MongoDB to the
chronicle+main
database. This means you don't have to specify database when running Orleans InProcess. This will also then be compatible if moving from in-process to out-of-process as it will default to this. - Adding an overload to
.WithMongoDB()
that takes theChronicleOptions
which is then passed along from the Kernel Server program.
Release v10.9.6
Fixed
- Upgrading all out of date dependencies for both .NET and JavaScript for the Workbench
Release v10.9.5
Fixed
- Simplified states for Observer down to the things that are only necessary. This fixes #1667.
- Removed CatchUp as a separate observer state, making it possible for observers to be observing while some partitions are in catchup.
- Removed Indexing observer state, as we do not do indexing yet.
Release v10.9.4
Changed
- Switching from our own implementation of ReminderTable to the one found in Orleans.Provider.MongoDB project.