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

Changelog History
Page 3

  • v0.14.0 Changes

    April 06, 2018
    • โž• Add JSONB support (#86).
    • โž• Add :ssl and :ssl_opts config params (#88).
    • ๐Ÿ‘‰ Make mix event_store.init task do nothing if events table already exists (#89).
    • Timeout issue when using EventStore.read_stream_forward (#92).
    • ๐ŸŒฒ Replace :info level logging with :debug (#90).
    • ๐Ÿ‘ Dealing better with Poison dependancy (#91).
    • Publish events directly to subscriptions (#93).
    • ๐Ÿ‘‰ Use PostgreSQL advisory locks to enforce only one subscription instance (#98).
    • โœ‚ Remove stream process (#99).
    • ๐Ÿ‘‰ Use PostgreSQL's NOTIFY / LISTEN for event pub/sub (#100).
    • ๐Ÿ”— Link existing events to another stream (#103).
    • Subscription notification message once successfully subscribed (#104).
    • Transient subscriptions (#105).
    • Transient subscription event mapping function (#108).
    • ๐Ÿš€ Turn EventStore mix tasks into generic tasks for use with Distillery during deployment (#111).

    โฌ†๏ธ Upgrading

    โฌ†๏ธ Upgrade your existing EventStore database by running:

    mix event_store.migrate
    

    You can drop and recreate an EventStore database by running:

    mix do event_store.drop, event_store.create, event_store.init
    

  • v0.13.2 Changes

    November 09, 2017

    ๐Ÿ› Bug fixes

    • ๐Ÿ‘‰ Use Supervisor.child_spec with an explicit id for Registry processes to support Elixir v1.5.0 and v1.5.1 (v1.5.2 contains a fix for this issue).
  • v0.13.1 Changes

    November 08, 2017

    ๐Ÿ› Bug fixes

    • EventStore migrate mix task read migration SQL scripts from app dir (Application.app_dir(:eventstore)).
  • v0.13.0 Changes

    November 08, 2017

    โœจ Enhancements

    • Use a UUID field for the event_id column, rename existing field to event_number (#75).
    • Use uuid data type for event correlation_id and causation_id (#57).
    • Mix task to migrate an existing EventStore database (mix event_store.migrate).

    ๐Ÿ› Bug fixes

    • Append to stream is limited to 7,281 events in a single request (#77).

    โฌ†๏ธ Upgrading

    โฌ†๏ธ Upgrade your existing EventStore database by running: mix event_store.migrate

    Or you can drop and recreate the EventStore database by running: mix do event_store.drop, event_store.create, event_store.init


  • v0.12.1 Changes

    November 01, 2017

    ๐Ÿ› Bug fixes

    • Publisher only notifies first pending event batch (#81).
  • v0.12.0 Changes

    October 25, 2017

    โœจ Enhancements

    • ๐Ÿ‘ Allow optimistic concurrency check on write to be optional (#31).

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fix issue where subscription doesn't immediately receive events published while transitioning between catch-up and subscribed. Any missed events would be noticed and replayed upon next event publish.

  • v0.11.0 Changes

    โœจ Enhancements

    • ๐Ÿ‘Œ Support for running on a cluster of nodes using Swarm for process distribution (#53).

    • โž• Add stream_version column to streams table. It is used for stream info querying and optimistic concurrency checks, instead of querying the events table.

    โฌ†๏ธ Upgrading

    โš™ Run the schema migration [v0.11.0.sql](priv/event_store/migrations/v0.11.0.sql) script against your event store database.


  • v0.10.1 Changes

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fix for ack of last seen event in stream subscription (#66).
  • v0.10.0 Changes

    โœจ Enhancements

    • Writer per event stream (#55).

    You must run the schema migration [v0.10.0.sql](priv/event_store/migrations/v0.10.0.sql) script against your event store database.

    • ๐Ÿ‘‰ Use DBConnection's built in support for connection pools (using poolboy).

  • v0.9.0 Changes

    โœจ Enhancements

    • Adds causation_id alongside correlation_id for events (#48).

    To migrate an existing event store database execute [v0.9.0.sql](priv/event_store/migrations/v0.9.0.sql) script.

    • ๐Ÿ‘ Allow single stream, and all streams, subscriptions to provide a mapper function that maps every received event before sending to the subscriber.
      EventStore.subscribe_to_stream(stream_uuid, "subscription", subscriber, mapper: fn event -> event.data end)
    
    • Subscribers now receive an {:events, events} tuple and should acknowledge receipt by: EventStore.ack(subscription, events)