Rails Event Store v0.35.0 Release Notes

Release Date: 2018-12-07 // over 5 years ago
  • ๐Ÿš… RailsEventStore

    ๐Ÿš… Add: APP_TEMPLATE to bootstrap Rails applications with rails_event_store gem.

    Usage:

    rails new -m https://raw.githubusercontent.com/RailsEventStore/rails_event_store/master/APP_TEMPLATE my_rails_app
    

    ๐Ÿ’Ž RubyEventStore

    Add: Support for Hash and Array as allowed types in RubyEventStore::Metadata [#501]

    Add: Debugging API to get size of a stream to read [#503]

    client.read.stream('GoldCustomers').of\_type([Customer::GoldStatusGranted]).count# =\> 42
    

    ๐Ÿš… RailsEventStoreActiveRecord

    Change: Default column type for event data and metadata is now binary. This allows wider range of exchangeable components (i.e. encryption mapper). In general it is more suitable type to store anything [#490, #308]

    As it always is with data schema changes, a migration is required for existing data. Running migration:

    rails g rails_event_store_active_record:binary_data_and_metadata
    rails db:migrate
    

    ๐Ÿ†“ Feel free to inspect and change generated migration. Make sure to check if your RDBMS can run this migration online and whether that meets your operational requirements.
    https://dev.mysql.com/doc/refman/5.7/en/innodb-online-ddl-operations.html#online-ddl-column-operations

    ๐Ÿš… You can defer this migration for some time if you don't plan to use Protobuf at the moment. The future code in Rails Event Store and its extensions will however assume the columns are binary from now on and can't guarantee full compatibility.

    AggregateRoot

    ๐Ÿ’Ž Change: Make aggregate_root depend on ruby_event_store [4926dc4]

    Initially, when introducing this gem the event store API was simpler and we had plans to swap with with http_event_store. This has changed over the years and now aggregate_root is released along other RES gems.

    ๐Ÿš… RailsEventStore::RSpec

    • no changes

    BoundedContext

    • no changes

    ๐Ÿ’Ž RubyEventStore::Browser

    • no changes

    ๐Ÿ’Ž RubyEventStore::ROM

    • no changes

    ๐Ÿš… RailsEventStoreActiveRecord::Legacy

    • no changes