Skip to content

Releases: tomasaschan/RdbmsEventStore

.NET 4.6.1 support for EF Core bindings

06 Dec 11:28
Compare
Choose a tag to compare

This release brings no code changes - it just adds .NET 4.6.1 as a build target for the new EF Core bindings.

Package metadata for RdbmsEventStore.EFCore

06 Dec 09:45
Compare
Choose a tag to compare

This is just a patch release to get correct package metadata on the EF Core bindings NuGet package.

If you want to make pancakes...

05 Dec 17:02
Compare
Choose a tag to compare

This release has two sets of breaking changes:

  • A couple of classes in the Entity Framework 6 provider were renamed (#45)
  • We no longer expose the version number in the event store. Instead, the timestamp is used for concurrency checks (#47, #48)

The sample applications have been updated to a beta build which is built from the same commit as in this release, but from before the release was published to NuGet.

EF Core support!

05 Dec 14:16
756ce9d
Compare
Choose a tag to compare

Major improvements in this release:

  • Exit early when the list of event payloads is empty (#42)
  • EF Core support! 🎉 (#44)

Timestamp ordering and various simplifications

01 Nov 12:07
1b02e36
Compare
Choose a tag to compare

Improvements in this release:

  • #35 Order events by timestamp (fixes #34)
  • #36 Simplify event stream
  • #37 Extract QueryableExtensions into its own NuGet package

The major breakage from this release is that I've renamed IEventStream back to IEventStore. The reasoning behind this decision is outlined in #36, but it should remain stable from here on.

Extend querying capabilities

31 Oct 09:59
2b018b8
Compare
Choose a tag to compare

Improvements in this release:

  • #33 Query all events

Update dependencies

26 Oct 08:20
Compare
Choose a tag to compare

Notable changes:

  • #30 Removes dependency on System.ValueTuple.

Re-vamp storage

25 Oct 18:46
Compare
Choose a tag to compare

Major changes:

  • #26 Separates storage type from event metadata container
  • #29 Lock event store per stream, to enable better concurrency (fixes #25)

Improvements and fixes:

  • #24 Only try to inverse-translate event names if set up (fixes #23)

Summary:

Before, it was pretty awkward to get a hold of both the metadata of an event (timestamp, version etc) and the actual payload, because the payload was stored in serialized form on the metadata wrapper.

In this release, the storage type of the event is separated from the metadata container, making it easier to create state projections that use the metadata as well as the payload.

Improved extensibility

05 Oct 12:46
Compare
Choose a tag to compare

Improvements:

  • #22 Improve extensibility (fixes #21)

Summary:

This library was designed to not force anything upon you, but apparently some of the generic constraints where a little, well, constraining. Now, you're free to use whatever classes you want for the event storage type and the db context, as long as they implement the required interfaces.

Decoupled ID types

04 Oct 08:50
Compare
Choose a tag to compare

Enhancements:

  • Decouple Id types #19 (resolves #17)

It is now possible to use different types for the event id, and the stream ids.

Usually, you'll want something like long or Guid for your event ids, but the stream id is not so rigid - it might make sense to use a string built from the aggregate type and id, for example. But since string is probably not a good choice of PK for the event table, they are now completely decoupled.