Skip to content

Releases: Logitar/EventSourcing

v7.0.2

16 Apr 20:41
Compare
Choose a tag to compare

Fixed

  • NuGet upgrades.

v7.0.1

27 Dec 20:38
Compare
Choose a tag to compare

Fixed

  • Nuget publishing conflicts.
  • Dependency Injection (services registered multiple times).

v7.0.0

14 Dec 07:11
Compare
Choose a tag to compare

There are so many changes in this version that I may have missed some.

Added

  • Documented upgrade to .NET 8, .NET 9 and rewriting of the framework.
  • A lot of interfaces, such as IAggregate and IEvent, allowing to use your own implementation of those concepts.
  • The IEventStore interface and its EventStore implementations.
  • Integration of EventStoreDB/Kurrent.
  • Loading an aggregate from a snapshot.

Changed

  • Migrated to .NET9.
  • Upgraded NuGet packages.
  • Refactored domain exceptions.
  • Rewrote the framework while focusing on event streams as well as aggregates. Previous versions database entities are not compatible with v7+.
  • Aggregate Apply methods must be renamed to Handle, in accordance to C# event terminology.
  • The AggregateId is now the StreamId.
  • The IAggregateRepository and AggregateRepository have been renamed to IRepository and Repository.
  • The DomainEvent is back to a record.
  • Refactored exceptions.
  • The EventSerializer can now be overloaded to register custom converters.
  • Aggregate LoadFromChanges method is back to an instance method (not static anymore).
  • The IRepository now allows loading deleted, undeleted and any aggregates (includedDeleted is now isDeleted, a nullable boolean).
  • Rewrote unit and integration tests according to the framework changes.

Fixed

  • A bug when deserializing empty ActorId, AggregateId/StreamId and EventId.

Removed

  • Integration of in-memory, MongoDB, and relational event stores without EntityFrameworkCore.
  • Actor identifier default value SYSTEM.

v6.0.1

28 Nov 16:07
Compare
Choose a tag to compare

Added

  • Added publish.yaml.

Changed

  • Renamed docker-compose.yml to docker-compose.yaml.

Fixed

  • Repository URL and Project URL in NuGet packages.
  • Standardized build.yml.
  • Upgraded NuGet packages.

v6.0.0

07 Jun 02:10
Compare
Choose a tag to compare

Added

  • Database migration tools.

Changed

  • DomainEvent is now a class, and uses an EventId struct.
  • Using ErrorMessageBuilder in exceptions.
  • Recreated scripts and migrations.
  • Refactored the LoadFromChanges<T> method to remove Reflection.
  • Core package now targets .NET Standard 2.1.
  • ToString methods now include ID prefix.

Fixed

  • README files and migration commands.
  • Docker Compose file.

v5.2.0

25 Mar 23:09
Compare
Choose a tag to compare

Added

  • Aggregate Raise methods.

Changed

  • Treat warnings as errors.
  • Deprecated Events and added EventDb classes.
  • NuGet update.

Removed

  • System usings.

v5.1.1

25 Mar 21:22
6e8299b
Compare
Choose a tag to compare

Changed

  • Added a name and renamed services in docker-compose.yml.

v5.1.0

11 Jan 02:05
Compare
Choose a tag to compare

Added

  • docker-compose.yml

Changed

  • Upgraded NuGet packages.
  • Simplified integration test configurations.

Fixed

  • Updated LICENSE year.

v5.0.0

30 Dec 05:24
0f661f8
Compare
Choose a tag to compare

Changed

  • Upgraded to .NET8.

v4.1.0

03 Nov 04:53
9e66c6a
Compare
Choose a tag to compare

Added

  • Implemented Event Sourcing with multiple data stores.
  • Added AggregateRoot metadata.
  • Created a struct for actor identifiers.
  • Implemented an EventSourcing MongoDB store.
  • Added Raise and Handle methods on AggregateRoot.

Changed

  • Reorganized the solution directory structure.
  • Upgraded NuGet packages and fixed EventSourcing project dependencies.
  • Replaced DeleteAction by a nullable boolean.
  • Refactored AggregateRoot and DomainEvent.
  • Injecting IEventSerializer as a dependency.
  • Protected setters on aggregate metadata.
  • Marked old TypeExtensions as obsolete.
  • Refactored AggregateRoot.