Skip to content

Releases: eventflow/EventFlow

v0.43.2806

05 May 06:57
Compare
Choose a tag to compare
  • Breaking: Updated all NuGet package dependencies to their latest versions
  • New: EventFlow now embeds PDB and source code within the assemblies using
    SourceLink (GitLink now removed)

v0.42.2755

02 May 19:30
Compare
Choose a tag to compare
  • Fixed: The deterministic IDomainEvent.Metadata.EventId is now correctly
    based on the both the aggregate identity and the aggregate sequence number,
    instead of merely the aggregate identity
  • Fixed: GitLink PDB source URLs

v0.41.2727

01 May 06:20
Compare
Choose a tag to compare
  • New: NuGet packages now contain PDB files with links to GitHub
    (thanks to GitLink). Be sure
    to check Enable source server support to be able to step through
    the EventFlow source code. See GitLink documentation for details
  • Fixed: Fixed a bug in how EventFlow registers singletons with Autofac
    that made Autofac invoke IDisposable.Dispose() upon disposing
    lifetime scopes

v0.40.2590

30 Mar 12:03
Compare
Choose a tag to compare
  • New: Updated EventFlow logo (thanks @olholm)
  • Fixed: Corrected logo path in NuGet packages

v0.39.2553

16 Jan 20:35
Compare
Choose a tag to compare
  • New: Autofac is no longer IL merged into the EventFlow core NuGet package.
    This is both in preparation for .NET Core and to simplify the build process.
    EventFlow now ships with a custom IoC container by default. The Autofac based
    IoC container is still available via the EventFlow.Autofac and will
    continue to be supported as it is recommended for production use
  • New: An IoC container based aggregate root factory is now the default
    aggregate factory. The old implementation merely invoked a constructor
    with the aggregate ID as argument. The new default also checks if any
    additional services are required for the constructor making the distinction
    between the two obsolete
  • New: Command<,,> now inherits from ValueObject
  • Obsolete: UseResolverAggregateRootFactory() and UseAutofacAggregateRootFactory()
    are marked as obsolete as this is now the default. The current implementation
    of these methods does nothing
  • Obsolete: All IEventFlowOptions.AddAggregateRoots(...) overloads are obsolete,
    the aggregate factory no longer has any need for the aggregate types to be
    registered with the container. The current implementation of the method does
    nothing

v0.38.2454

09 Dec 06:04
Compare
Choose a tag to compare
  • Fix: Single aggregate read models can now be re-populated again

v0.37.2424

08 Nov 21:21
Compare
Choose a tag to compare
  • Breaking: Remove the following empty and deprecated MSSQL NuGet packages. If
    you use any of these packages, then switch to the EventFlow.MsSql package
    • EventFlow.EventStores.MsSql
    • EventFlow.ReadStores.MsSql
  • Breaking: ITaskRunner.Run(...) has changed signature. The task factory now
    gets an instance of IResolver that is valid for the duration of the task
    execution
  • Fixed: The resolver scope of ISubscribeAsynchronousTo<,,> is now valid for
    the duration of the domain handling
  • New: Documentation is now released in HTML format along with NuGet packages.
    Access the ZIP file from the GitHub releases page

v0.36.2315

18 Oct 19:04
Compare
Choose a tag to compare
  • New: Documentation is now hosted at http://docs.geteventflow.net/ and
    http://eventflow.readthedocs.io/ and while documentation is still kept
    along the source code, the documentation files have been converted from
    markdown to reStructuredText
  • New: Added ISubscribeAsynchronousTo<,,> as an alternative to the existing
    ISubscribeSynchronousTo<,,>, which allow domain event subscribers to be
    executed using the new ITaskRunner
  • New: Added ITaskRunner for which the default implementation is mere a thin
    wrapper around Task.Run(...) with some logging added. Implemting this
    interface allows control of how EventFlows runs tasks. Please note that
    EventFlow will only use ITaskRunner in very limited cases, e.g. if
    there's implantations of ISubscribeAsynchronousTo<,,>

v0.35.2247

06 Sep 19:17
Compare
Choose a tag to compare
  • Fixed: IAggregateStore.UpdateAsync and StoreAsync now publishes committed
    events as expected. This basically means that its now possible to circumvent the
    command and command handler pattern and use the IAggregateStore.UpdateAsync
    directly to modify an aggregate root
  • Fixed: Domain events emitted from aggregate sagas are now published

v0.34.2221

23 Aug 19:07
Compare
Choose a tag to compare
  • New core feature: EventFlow now support sagas, also known as process
    managers. The use of sagas is opt-in. Currently EventFlow only supports sagas
    based on aggregate roots, but its possible to implement a custom saga store.
    Consult the documentation for details on how to get started using sagas
  • New: Added IMemoryCache for which the default implementation is a thin
    wrapper for the .NET built-in MemoryCache. EventFlow relies on extensive use
    of reflection and the internal parts of EventFlow will move to this
    implementation for caching internal reflection results to allow better control
    of EventFlow memory usage. Invoke the UsePermanentMemoryCache() extension
    method on IEventFlowOptions to have EventFlow use the previous cache
    behavior using ConcurrentDictionary<,,> based in-memory cache
  • New: Added Identity<>.With(Guid) which allows identities to be created
    based on a specific Guid
  • New: Added Identity<>.GetGuid() which returns the internal Guid