All Versions
42
Latest Version
Avg Release Cycle
55 days
Latest Release
-

Changelog History
Page 1

  • v1.4.0 Changes

    • List running event store instances (#244).
    • Paginate streams (#246).
    • ➕ Add stream_info/2 function (#247).
    • ✂ Remove unmaintained elixir_uuid dependency (#253).
    • ➕ Add option to use EventStore with PgBouncer (#249).

  • v1.3.2 Changes

    ✨ Enhancements

    • ➕ Add postgrex socket_options option (#242).

    🐛 Bug fixes

    • 🛠 Fix bug with subscriptions trigger in older Postgres versions (#241).

    ⬆️ Upgrading

    🚀 This release includes a database migration to be run. Please read the Upgrading an EventStore guide for details on how to migrate an existing database.

  • v1.3.1 Changes

    🐛 Bug fixes

    • 👌 Support running event store migrations when using a schema (#239).
  • v1.3.0 Changes

    • 👌 Improve performance of appending events under normal and degraded network conditions (#230).
    • Subscription checkpoint tuning (#237).
  • v1.2.3 Changes

    • ➕ Add :configure to postgrex connection options (#233).
    • 🔧 Use runtime configuration in Mix tasks (#236).
  • v1.2.2 Changes

    • Read stream and stream events backward (#234).
  • v1.2.1 Changes

    • 👍 Allow optional event_id to be included in EventStore.EventData struct (#229).
    • ➕ Adds an option to supply an existing database connection or transaction to EventStore functions (#231).
  • v1.2.0 Changes

    ✨ Enhancements

    • ✂ Delete event stream (#203).
    • Introduce mix event_store.migrations task to list migration status (#207).
    • ✂ Remove distributed registry (#210).
    • Hibernate subscription process after inactivity (#214).
    • 🔧 Runtime event store configuration (#217).
    • Shared database connection pools (#216).
    • Shared database connection for notifications (#225).
    • Transient subscriptions (#215)
    • 👌 Improve resilience when database connection is unavailable (#226).

    ⬆️ Upgrading

    🚀 This release requires a database migration to be run. Please read the Upgrading an EventStore guide for details on how to migrate an existing database.

    💥 Breaking changes

    Usage of EventStore.Tasks.Init task to initialise an event store database has been changed as follows:

    Previous usage:

    :ok = EventStore.Tasks.Init.exec(MyApp.EventStore, config, opts)
    

    Usage now:

    :ok = EventStore.Tasks.Init.exec(config)
    :ok = EventStore.Tasks.Init.exec(config, opts)
    

    🐛 Bug fixes

    • 👌 Support appending events to a stream with :any_version concurrently (#209).

  • v1.1.0 Changes

    May 13, 2020

    ✨ Enhancements

    • 👌 Support Postgres schemas (#182).
    • Dynamic event store (#184).
    • ➕ Add timeout option to config (#189).
    • 🔒 Namespace advisory lock to prevent clash with other applications (#166).
    • 🔒 Use database lock to prevent migrations from running concurrently (#204).

    💥 Breaking changes

    The following EventStore API functions have been changed where previously (in v1.0 and earlier) the last argument was an optional timeout (a non-negative integer or :infinity). This has been changed to be an optional Keyword list, which may include a timeout (e.g. [timeout: 5_000]). The stream_forward and stream_all_forward functions now also require the optional read_batch_size argument to be provided as part of the options Keyword list.

    👀 These changes were required to support dynamic event stores where an event store name can be included in the options to each function. If you did not provide a timeout to any of these functions then you will not need to make any changes to your code. See the example usages below for details.

    • EventStore.append_to_stream
    • EventStore.link_to_stream
    • EventStore.read_stream_forward
    • EventStore.read_all_streams_forward
    • EventStore.stream_forward
    • EventStore.stream_all_forward

    Previous usage:

    EventStore.append_to_stream(stream_uuid, expected_version, events, timeout)
    EventStore.link_to_stream(stream_uuid, expected_version, events_or_event_ids, timeout)
    EventStore.read_stream_forward(stream_uuid, start_version, count, timeout)
    EventStore.read_all_streams_forward(start_version, count, timeout)
    EventStore.stream_forward(stream_uuid, start_version, read_batch_size, timeout)
    EventStore.stream_all_forward(start_version, read_batch_size, timeout)
    

    Usage now:

    EventStore.append_to_stream(stream_uuid, expected_version, events, timeout: timeout)
    EventStore.link_to_stream(stream_uuid, expected_version, events_or_event_ids, timeout: timeout)
    EventStore.read_stream_forward(stream_uuid, start_version, count, timeout: timeout)
    EventStore.read_all_streams_forward(start_version, count, timeout: timeout)
    EventStore.stream_forward(stream_uuid, start_version, read_batch_size: read_batch_size, timeout: timeout)
    EventStore.stream_all_forward(start_version, read_batch_size: read_batch_size, timeout: timeout)
    

    ⬆️ Upgrading

    🚀 This release requires a database migration to be run. Please read the Upgrading an EventStore guide for details on how to migrate an existing database.


  • v1.0.3 Changes

    May 06, 2020

    🐛 Bug fixes

    • 👉 Use event's stream version when appending events to a stream (#202).