Releases: event-driven-io/emmett
0.24.0
🚀 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
🚀 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
- @davecosec made their first contribution in #141
Full Changelog: 0.22.1...0.23.0
0.22.1
📝 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
🚀 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
- Fixed missing WebStreams Pollyfill peer dependency in Emmett by @oskardudycz in 129, 133
- Bumped Pongo to 0.16.4 by @oskardudycz in 129, 133
Full Changelog: 0.21.1...0.22.0
0.21.1
📝 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
🚀 What's New
- Added first version of MongoDB event store. It's available in the new
@event-driven-io\emmett-mongodb
package throughgetMongoDBEventStore
method by @alex-laycalvert in #126
Full Changelog: 0.20.2...0.21.0
0.20.2
📝 What's Changed
- Fixed browser-only usage of Emmett package introduced in 0.20.0 by @oskardudycz in #125
- Fixed Commonjs compatibility by @oskardudycz in #122
Full Changelog: 0.20.1...0.20.2
0.20.1
📝 What's Changed
- Fix
CommandHandler
type definition forhandleOptions
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
🚀 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 forCommandHandler
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
- Bumped pongo 0.16.1 by @oskardudycz in 120
- Fixed Dockerfile configuration to use esmodules instead of common js by @oskardudycz in 121
Full Changelog: 0.19.1...0.20.0
0.19.1
📝 What's Changed
- Bumped Pongo to 0.15.3 version by @oskardudycz in #118
- Updated samples to Emmett 0.19.0 version by @oskardudycz in #118
Full Changelog: 0.19.0...0.19.1