Skip to content

Releases: event-driven-io/emmett

0.24.0

10 Jan 14:15
Compare
Choose a tag to compare

🚀 What's New

  • Added MongoDB EventStore onAfterCommit hook. Now you can get notifications about newly added events in MongoDB. You can use that to forward to the message bus. Warning: This is handled in-process, so it doesn't guarantee the full delivery. by @alex-laycalvert in #170
  • Added SQLite append to stream by @davecosec in #165
  • Added read stream by @davecosec in #171

Full Changelog: 0.23.0...0.24.0

0.23.0

08 Jan 14:24
Compare
Choose a tag to compare

🚀 What's New

1. Finalised the first version of MongoDB event store

Now you can select whether you want to use:

  • single collection,
  • collection per stream or
  • custom collection resolution

That gives the possibility for flexible schema definition. by @oskardudycz in 142, 151.

You can also choose whether you want to provide a connection string and have a MongoDB connection setup automatically or inject and reuse your existing Mongo Client by @oskardudycz in 136, 150

Added sample of Mongodb event store WebApi with Express.js See it here. by @oskardudycz in 157, 158

Added query functions to simplify querying for inline read models You can query get count, etc., without gymnastics directly from the MongoDB event store. by @alex-laycalvert in 139, 147 and @oskardudycz in 160

Added the Mongo inline projection specification. Now you can have integration test for your MongoDB inline projections by @oskardudycz in 161, 163

Added check for the MongoDB projection name uniqueness. That should detect potential issues with multiple projections overriding the same read model accidentally by @oskardudycz in 164

2. Started working on SQLite event store.

It's not yet published, but we already have the table setup and connection handling and the next Pull Requests in the pipeline. Expect the first alpha release soon. by @davecosec in 141, 148, 154, 156.

3. Added idempotence check for Decider Specification

Now you can test command handling idempotence, as described in my blog article by @oskardudycz in #145

4. Updated EvenStoreDB test container to the latest LTS

Now it loads by default 24.10.0 version. by @oskardudycz in 135

5. Added after commit hook to in-memory event store

You can use it to process notifications after events were appended. Note, it's run as in-process, so it gives at-most once processing guarantee. by @oskardudycz in 152

6. Refactored Event type metadata to be explicit

Previously, providing metadata during message creation wasn't required, even if it was defined by type. Now it is. If you don't have metadata, then of course, it's not. by @oskardudycz in 162, 159, 166

📝 What's Changed

  • Adjusted build watch and set explicit build order to adjust the build weird flakiness by @oskardudycz in 167

New Contributors

Full Changelog: 0.22.1...0.23.0

0.22.1

06 Dec 08:07
Compare
Choose a tag to compare

📝 What's Changed

  • [MongoDB Event Store]: Fix metadata properties / export emmett-mongodb/eventStore/projections by @alex-laycalvert in #134

Full Changelog: 0.22.0...0.22.1

0.22.0

05 Dec 10:22
Compare
Choose a tag to compare

🚀 What's New

  • Added Async subscriptions for PostgreSQL event store by @oskardudycz in 128
  • BREAKING: Provided inline projection implementation and adjusted MongoDB stream schema. Now you can update projections during appending events in one atomic update by @alex-laycalvert and @oskardudycz in 127
  • BREAKING: Reshaped event store event metadata types to allow extending specific event store implementation For instance, thanks to that, PostgreSQL and EventStoreDB implementations can return global position after append, while MongoDB is not forced to do it by @oskardudycz in 132

📝 What's Changed

Full Changelog: 0.21.1...0.22.0

0.21.1

19 Nov 10:01
Compare
Choose a tag to compare

📝 What's Changed

  • Fixed the issue in Pongo projection that gets the empty object instead of null when the document doesn't exist by @oskardudycz in #130

Full Changelog: 0.21.0...0.21.1

0.21.0

10 Nov 08:58
Compare
Choose a tag to compare

🚀 What's New

  • Added first version of MongoDB event store. It's available in the new @event-driven-io\emmett-mongodb package through getMongoDBEventStore method by @alex-laycalvert in #126

Full Changelog: 0.20.2...0.21.0

0.20.2

25 Oct 18:19
Compare
Choose a tag to compare

📝 What's Changed

Full Changelog: 0.20.1...0.20.2

0.20.1

23 Oct 12:30
Compare
Choose a tag to compare

📝 What's Changed

  • Fix CommandHandler type definition for handleOptions By accident the 0.20.0 provided regression for the event store customisation if you're building your own based on Emmett's abstractions by @alex-laycalvert in 123

Full Changelog: 0.20.0...0.20.1

0.20.0

11 Oct 13:30
3f1c6c4
Compare
Choose a tag to compare

🚀 What's New

  • [BREAKING] Command handling idempotency improvements. This will allow automatic retries, e.g. for optimistic concurrency check, and also ignoring the command by returning an empty array. All of that should give easier handling for idempotent handlers. by @oskardudycz in 119
  • Added Support for an async decide / handle function for CommandHandler Kids, be careful with that! by @alex-laycalvert in 99
  • Added streaming capabilities. That's the foundational work for event subscriptions and event streaming through WebStreams. by @oskardudycz in 76

📝 What's Changed

Full Changelog: 0.19.1...0.20.0

0.19.1

06 Oct 11:20
Compare
Choose a tag to compare

📝 What's Changed

Full Changelog: 0.19.0...0.19.1