Skip to content

Releases: event-driven-io/emmett

0.41.0

24 Nov 16:33

Choose a tag to compare

🚀 What's New

  • Added inline projection initialisation for PostgreSQL and SQLite event stores. Now they're called together with regular event store initialisation! by @oskardudycz in 276
  • Added SQLite Event Store samples. See them here. It also contains examples of advanced raw SQL projection with multiple tables. See it: here. by @oskardudycz in 276
  • Removed the need to pass the SQLite Connection to the projection integration test setup. Now, if you don't provide it, it'll use an in-memory database. You can also just pass the file name. by @oskardudycz in 276
  • Added simple SQLConnectionPool to make easier reuse of the connection. It'll be replaced with the Dumbo one once the new version is out and integrated.. by @oskardudycz in 276

📝 What's Changed

  • Removed Dumbo usage in the SQLite package. This is an intermediate fix, it'll be brought back when work on refactoring Pongo and Dumbo is finished. by @oskardudycz in 276

Full Changelog: 0.40.0...0.41.0

0.40.0

22 Nov 17:35

Choose a tag to compare

🚀 What's New

  • Added MongoDB Consumer based on MongoDB ChangeStream subscription. This is a first beta version of MongoDB consumers using Change Streams. It works, but we'll need to test it still more and ensure that's resilient and stable. It requires clustered setup and Mongo 5 or newer. Example usage:
const consumer = mongoDBEventStoreConsumer({
  connectionString,
  processors: [
    inMemoryReactor<NumberRecorded>({
      processorId: 'test processor',
      eachMessage: (event) => {
        console.log(`I just handled event! ${ JSONSerializer.serialize(event) }`);
       },
    }),
  ],
});

await consumer.start();

See more in tests for reactors and projections.

By @arturwojnar with a bit of help from @oskardudycz in #258, #271

📝 What's Changed

  • Exported SQLite projections It appears that we somehow missed it 🤦 by @oskardudycz in #272

🎉 New Contributors

Full Changelog: 0.39.1...0.40.0

0.39.1

07 Nov 18:32

Choose a tag to compare

📝 What's Changed

  • Fixed Emmett error checks and mapping It seems that because of transpilation, TypeScript settings, Node.js version, or moon phases instance of may or may not work for Error types. Used structure checking instead by @oskardudycz in #270

Full Changelog: 0.39.0...0.39.1

0.39.0

25 Oct 12:12

Choose a tag to compare

📝What's Changed

  • BREAKING: Removed dependency on web-streams-pollyfil and removed emmett-shims package. The initial idea of using streaming shims was to provide streaming support for the event store, both on the web and in Node.js. Still, this polyfill dependency can cause issues in compatibility with other tools, like Svelte. For now, I moved the streaming code to emmett-postgresql so we wouldn't lose it, but it'll be removed from there and moved to a dedicated package eventually. Removed also stream function from InMemoryEventStore, which I think/hope no one used. by @oskardudycz in #269

Full Changelog: 0.38.7...0.39.0

0.38.7

21 Oct 10:06

Choose a tag to compare

📝 What's Changed

  • Fixed PostgreSQL Event Store automatic migration from pre-0.38.0 versions. It appeared that PostgreSQL cannot replace a function if the difference is in the result type. 🤷 Added integration tests against a snapshotted version of the schema to ensure that such bugs will be caught in the future by @oskardudycz in #268

Full Changelog: 0.38.6...0.38.7

0.38.6

05 Oct 13:14

Choose a tag to compare

📝 What's Changed

  • All command handler options are passed now to stream aggregation options. Partition was missing, which wasn't an issue for current implementations, as they're always using the default partition for now, but for custom implementations using partitioning, this could cause issues. by @wataruoguchi in #265

🥳 New Contributors

Full Changelog: 0.38.5...0.38.6

0.38.5

26 Aug 16:47

Choose a tag to compare

📝 What's Changed

  • Fixed deepEquals setup to cover a wider range of cases Now it should work for dates, sets, maps and other types in a more rigid way. by @oskardudycz in #262

Full Changelog: 0.38.4...0.38.5

0.38.4

22 Aug 08:39

Choose a tag to compare

📝 What's Changed

  • Improved PostgreSQL Event Store performance. Ensured that the information that migrations were run is preserved throughout the event store creation in the command handler. This was causing redundant tries to create the schema again. Improved the check for existing stream during append to avoid a potential full scan instead of the index check. by @oskardudycz in 259 and 261

📚 Docs

  • Added read models documentation to getting started by @oskardudycz in 254

Full Changelog: 0.38.3...0.38.4

0.38.3

22 Jun 10:55

Choose a tag to compare

📝 What's Changed

  • Fixed ESDB reactors to handle events sequentially by @oskardudycz in #252
  • Fixed InMemorDatabase replace method to select document to replace correctly by @oskardudycz in #252
  • Made reactors skip events that they have already processed. This is done by checking if the message checkpoint is greater than the last processed one. by @oskardudycz in #252

Full Changelog: 0.38.2...0.38.3

0.38.2

07 Jun 16:43

Choose a tag to compare

📝 What's Changed

  • Fixed EventStoreDB category stream checkpointing Now, consumers for category and event type streams should be able to properly checkpoint their positions. by @oskardudycz in #251

Full Changelog: 0.38.1...0.38.2