Skip to content

v0.8.560

Compare
Choose a tag to compare
@rasmus rasmus released this 29 May 05:23
  • Breaking: Remove all functionality related to global sequence
    numbers as it proved problematic to maintain. It also matches this
    quote:

    Order is only assured per a handler within an aggregate root
    boundary. There is no assurance of order between handlers or
    between aggregates. Trying to provide those things leads to
    the dark side.

    Greg Young

    • If you use a MSSQL read store, be sure to delete the
      LastGlobalSequenceNumber column during update, or set it to
      default NULL
    • IDomainEvent.GlobalSequenceNumber removed
    • IEventStore.LoadEventsAsync and IEventStore.LoadEvents taking
      a GlobalSequenceNumberRange removed
  • Breaking: Remove the concept of event caches. If you really need this
    then implement it by registering a decorator for IEventStore

  • Breaking: Moved IDomainEvent.BatchId to metadata and created
    MetadataKeys.BatchId to help access it

  • New: IEventStore.DeleteAggregateAsync to delete an entire aggregate
    stream. Please consider carefully if you really want to use it. Storage
    might be cheaper than the historic knowledge within your events

  • New: IReadModelPopulator is new and enables you to both purge and
    populate read models by going though the entire event store. Currently
    its only basic functionality, but more will be added

  • New: IEventStore now has LoadAllEventsAsync and LoadAllEvents that
    enables you to load all events in the event store a few at a time.

  • New: IMetadata.TimestampEpoch contains the Unix timestamp version
    of IMetadata.Timestamp. Also, an additional metadata key
    timestamp_epoch is added to events containing the same data. Note,
    the TimestampEpoch on IMetadata handles cases in which the
    timestamp_epoch is not present by using the existing timestamp

  • Fixed: AggregateRoot<> now reads the aggregate version from
    domain events applied during aggregate load. This resolves an issue
    for when an IEventUpgrader removed events from the event stream

  • Fixed: InMemoryReadModelStore<,> is now thread safe