Releases: Cratis/Chronicle
Releases · Cratis/Chronicle
Release v10.1.11
Fixed
- Upgrading ApplicationModel to latest.
Release v10.1.10
Fixed
- Upgrading to latest ApplicationModel.
- Upgrading to latest version of the MongoDB Driver (3.0.0).
Release v10.1.9
Summary
In the process of adding specs to the Observation system many smaller issues were discovered and fixed. Along with general code cleanup and refactoring.
Added
- More Logging
- Replaying and CatchingUp partitions to ObserverState
Changed
- Various code in the kernel to make it cleaner and more robust
Fixed
JobStep
did not save state when paused- Catching up failing or replaying partitions
- Improved resilience around Observers and Jobs
- Fixes #1543
- Fixes #1539
Removed
Handled
from ObserverState counting the number of handled events. This can be done differently in the future
Release v10.1.8
Fixed
- Increasing reliability for background task for
AppendedEventsQueue
by handling potential errors and making sure the task don't die. (#1545) - Fixing how we deal with partitioning in
AppendedEventsQueue
and not just assume that the first event in a batch represents the partition of all events. (#1546) - Parallelising event handling between different subscribers. (#1547)
- Moving
EventSequence
state mutation and persisting to right after it has been handled. - Move resolution of identity in
EventSequence
Grain to outside the retry loop. - Remove duplicate call to
SetCurrentIdentity()
fromReactor
in the client.
Release v10.1.7
No release notes
Release v10.1.6
Added - Multi-build for .net8 and .net9 ### Fixed - Updated dependencies
Release v10.1.5
Added
- More specs for internal working of constraints.
Fixed
- Constraints no longer get deleted just because a client doesn't have them anymore. We will meed a specific API for deleting constraints.
Release v10.1.4
Added
- More logging and a bit more functional code base
Release v10.1.3
Fixed
- An issue where joined events in child projections had multiple equal array filters resulting in exceptions being thrown
Release v10.1.2
Summary
Our integration specs for projections was built in a way were they appended all the events for a scenario to the event sequence and then ran the projection, which is a valid scenario for typical catching up. But it camouflaged problems we didn't have spec coverage for. By introducing specs that were geared towards a forward moving one by one event, we could see that joins and removes were indeed handled incorrectly.
Internally we introduced and changed a couple of concepts:
PropertyMapper
now has a signature of returning what difference it represent. The difference returned might have the same value, but the purpose of it is to capture the property that thePropertyMapper
applies to and itsArrayIndexers
. This should have an impact on correctness, but also on performance as we now don't need to compare object graphs to see the difference.- Introduced the concept of
ProjectionOperationType
to be able to know what the specific event represents as an operation to the projection. This aids in decision making throughout the pipeline. ProjectionPipeline
is now broken into specific steps, for better maintainability.
Fixed
- Fixing join relationships for events when moving forward.
- Fixing how we update on join by updating all affected documents in one operation.