Releases: dogmatiq/dogma
Releases · dogmatiq/dogma
Version 0.11.0
Added
- [BC] Add
ProjectionCompactScope.Now()
Changed
- [BC]
ProcessMessageHandler.HandleEvent()
now takes anProcessRoot
parameter - [BC]
ProcessMessageHandler.HandleTimeout()
now takes anProcessRoot
parameter Process[Event|Timeout]Scope.ExecuteCommand()
andScheduleTimeout()
can now be called afterEnd()
Removed
- [BC] Remove
ProcessEventScope.Begin()
- [BC] Remove
ProcessEventScope.HasBegun()
andProcessTimeoutScope.HasBegun()
- [BC] Remove
ProcessEventScope.Root()
andProcessTimeoutScope.Root()
Version 0.10.0
Added
- [BC] Add
ProjectionMessageHandler.Compact()
andNoCompactBehavior
- Add
ValidatableMessage
interface andValidateMessage()
Version 0.9.0
Changed
- [BC]
AggregateMessageHandler.HandleCommand()
now takes anAggregateRoot
parameter - [BC]
fixtures.AggregateRoot
now stores all its historical events internally AggregateCommandScope.Destroy()
no longer requires a prior call toRecordEvent()
AggregateCommandScope.RecordEvent()
can now be called afterDestroy()
Removed
- [BC] Remove
AggregateCommandScope.Root()
Version 0.8.0
Changed
AggregateCommandScope.Root()
can now be called for non-existent aggregate instancesAggregateCommandScope.Destroy()
is now a no-op for non-existent aggregate instancesAggregateRoot.ApplyEvent()
no longer has a hard requirement to panic withUnexpectedMessage
Removed
- [BC] Remove
AggregateCommandScope.Create()
- [BC] Remove
AggregateCommandScope.Exists()
- [BC] Remove
StatelessAggregateRoot
andStatelessAggregateBehavior
Version 0.7.0
Added
- [BC] Add
AggregateCommandScope.Exists()
- [BC] Add
ProcessEventScope.HasBegun()
andProcessTimeoutScope.HasBegun()
Changed
- Allow engines to call
AggregateRoot.ApplyEvent()
with historical events - Clarify semantics of
AggregateMessageHandler.New()
andProcessMessageHandler.New()
- Clarify semantics of surrounding creating an aggregate instance within the same scope as it was destroyed
- Clarify semantics of surrounding re-beginning a process instance within the same scope as it was ended
Version 0.6.3
- Clarify comparison semantics for identity names and keys
Version 0.6.2
Fixed
- Exclude
fixtures.AggregateRoot.ApplyEventFunc
from JSON serialization
Version 0.6.1
Added
- Add
DescribeMessage()
and theDescribableMessage
interface - Add the
fixtures
package, which contains message fixtures and mocks of various Dogma interfaces
Version 0.6.0
- [BC]
ProjectionMessageHandler
now uses an OCC strategy for event deduplication - [BC] Remove
ProjectionEventScope.Key()
Version 0.5.0
- Applications and handlers are now assigned an immutable "key"
- Add
NoTimeoutHintBehavior
- [BC] Add
k
andv
parameters toProjectionMessageHandler.HandleEvent()
- [BC] Add
ProjectionMessageHandler.Recover()
andDiscard()
- [BC] Add
ProcessMessageHandler.TimeoutHint()
- [BC] Add
IntegrationMessageHandler.TimeoutHint()
- [BC] Add
ProjectionMessageHandler.TimeoutHint()
- [BC] Add
ProcessTimeoutScope.ScheduledFor()
- [BC] Add
ProcessEventScope.RecordedAt()
- [BC] Replace configurer
Name()
methods withIdentity()
- [BC] Rename
NoTimeoutBehavior
toNoTimeoutMessagesBehavior
- [BC] Rename
ProjectionEventScope.Time()
toRecordedAt()