Changelog for eventium-core-0.2.1
eventium-core Changelog
0.2.1 (Unreleased)
Additions
snapshotEventHandler--EventHandlerthat auto-updates aVersionedProjectionCacheon each event.snapshotGlobalEventHandler-- same forGlobalProjectionCache.applyCommandHandlerWithCache-- likeapplyCommandHandlerbut loads from cache and updates after write.Eventium.ReadModelmodule:ReadModelrecord type for queryable persistent views driven by the global event stream.runReadModel,rebuildReadModel,combineReadModelscombinators.
0.2.0 (Unreleased)
See the root changelog for full details.
Breaking changes
- Record field prefixes removed from all core types. Fields accessed via
OverloadedRecordDot(e.g.projection.seed,event.metadata).NoFieldSelectorsandDuplicateRecordFieldsenabled as default extensions. StreamEventnow has 4 fields (addedEventMetadata).CommandHandlergained anerrtype parameter;commandHandlerHandlerrenamed todecide.ProcessManageris now pure:reactreturns[ProcessManagerEffect].ProcessManagerEffectonly supportsIssueCommand(removedEmitEvent).EventPublisher: removedsynchronousEventBusWrapper; addedpublishingEventStoreWriterandsynchronousPublisher.PollingPeriodSeconds(Double) replaced byPollingIntervalMillis(Int).- Codec wrapper argument order changed (codec comes first).
- Removed
Eventium.ReadModel.Memory.
Internal
- Absorbed
x-sum-type-boilerplateintoEventium.TH.SumType. - Dropped
persistent-templatedependency.
Additions
Eventium.TH.SumTypemodule:constructSumType,sumTypeConverter,partialSumTypeConverter(previously fromx-sum-type-boilerplate).NoFieldSelectors,DuplicateRecordFields,OverloadedRecordDotdefault extensions.EventMetadata,emptyMetadata.lenientCodecEventStoreReader,lenientCodecProjection.runProjectionSubscription,eventHandlerMapMaybe.CommandDispatchernewtype withmkCommandDispatcherandfireAndForgetDispatcher.CommandDispatchResult(CommandSucceeded|CommandFailed Text).IssueCommandWithCompensationeffect for saga compensation workflows.processManagerEventHandlerfor wiring aProcessManagerto anEventHandler.Eventium.CommandDispatchermodule:AggregateHandler,mkAggregateHandler,commandHandlerDispatcherfor list-based multi-aggregate command routing.embeddedCommandHandlerreturnsRight []for non-matching commands (wasDecodeErrorexception).
0.1.0
Initial release.