Releases: eventflow/EventFlow
Releases · eventflow/EventFlow
v0.40.2590
- New: Updated EventFlow logo (thanks @olholm)
- Fixed: Corrected logo path in NuGet packages
v0.39.2553
- 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 theEventFlow.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 fromValueObject
- Obsolete:
UseResolverAggregateRootFactory()
andUseAutofacAggregateRootFactory()
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
- Fix: Single aggregate read models can now be re-populated again
v0.37.2424
- Breaking: Remove the following empty and deprecated MSSQL NuGet packages. If
you use any of these packages, then switch to theEventFlow.MsSql
packageEventFlow.EventStores.MsSql
EventFlow.ReadStores.MsSql
- Breaking:
ITaskRunner.Run(...)
has changed signature. The task factory now
gets an instance ofIResolver
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
- 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 newITaskRunner
- New: Added
ITaskRunner
for which the default implementation is mere a thin
wrapper aroundTask.Run(...)
with some logging added. Implemting this
interface allows control of how EventFlows runs tasks. Please note that
EventFlow will only useITaskRunner
in very limited cases, e.g. if
there's implantations ofISubscribeAsynchronousTo<,,>
v0.35.2247
- Fixed:
IAggregateStore.UpdateAsync
andStoreAsync
now publishes committed
events as expected. This basically means that its now possible to circumvent the
command and command handler pattern and use theIAggregateStore.UpdateAsync
directly to modify an aggregate root - Fixed: Domain events emitted from aggregate sagas are now published
v0.34.2221
- 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-inMemoryCache
. 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 theUsePermanentMemoryCache()
extension
method onIEventFlowOptions
to have EventFlow use the previous cache
behavior usingConcurrentDictionary<,,>
based in-memory cache - New: Added
Identity<>.With(Guid)
which allows identities to be created
based on a specificGuid
- New: Added
Identity<>.GetGuid()
which returns the internalGuid
v0.33.2190
- Fixed: Fixed regression in
v0.32.2163
by adding NuGet package reference
DbUp
toEventFlow.Sql
. The package was previously ILMerged. - Fixed: Correct NuGet package project URL
v0.32.2163
- Breaking: This release contains several breaking changes related to
Elasticsearch read models- Elasticsearch NuGet package has been renamed to
EventFlow.Elasticsearch
- Upgraded Elasticsearch dependencies to version 2.3.3
- Purging all read models from Elasticsearch for a specific type now
deletes the index instead of doing a delete by query. Make sure to
create a separate index for each read model. Delete by query has been
moved to a plugin in Elasticsearch 2.x and
deleting the entire index is now recommended - The default index for a read model is now
eventflow-[lower case type name]
,
e.g.eventflow-thingyreadmodel
, instead of merelyeventflow
- Elasticsearch NuGet package has been renamed to
- Breaking: The following NuGet dependencies have been updated
Elasticsearch.Net
v2.3.3 (up from v1.7.1)Elasticsearch.Net.JsonNET
removedNEST
v2.3.3 (up from v1.7.1)Newtonsoft.Json
v8.0.3 (up from v7.0.1)
- Breaking: Several non-async methods have been moved from the following
interfaces to extension methods and a few additional overloads have
been createdIEventStore
ICommandBus
v0.31.2106
- New: EventFlow can now be configured to throw exceptions thrown by subscribers
byoptions.Configure(c => c.ThrowSubscriberExceptions = true)
- New: Added an
ICommandScheduler
for easy scheduling of commands