Rails Event Store v0.39.0 Release Notes

Release Date: 2019-04-24 // almost 5 years ago
  • ๐Ÿš… RailsEventStore

    • ๐Ÿš… Remove: Deprecated from(:head) has been removed from read specification. When from(event_id) is not specified, we always read from head [#565]

    ๐Ÿ’Ž RubyEventStore

    ๐Ÿš… Remove: Deprecated from(:head) has been removed from read specification. When from(event_id) is not specified, we always read from head [#565]

    Change: New default cipher (aes-256-gcm) for RubyEventStore::Mappers::EncryptionMapper. From now on we follow OpenSSL recommendation for using an Authenticated Encryption mode. This change is backwards-compatible, you can still decrypt ciphertext encrypted with previous cipher as this is stored within encryption metadata [#567, a13658c]

    Fix: RubyEventStore::Mappers::NullMapper now follows behaviour of mappers more strictly by turning events into serialized records on serialization. It still does not perform serialization and is thus recommended for use in testing [#552, #575]

    If you've relied on NullMapper + InMemoryRepository returning objects of the same object_id, this is a breaking change. You may replicate that behaviour with:

    class NULLdef self.serialized\_record\_to\_event(record) record enddef self.event\_to\_serialized\_record(event) event endend
    

    โ†ช Bear in mind though such workaround will not support many already existing repository features (i.e. of_type) and may become even more trouble in the future.

    ๐Ÿš… RailsEventStoreActiveRecord

    • ๐Ÿš… Add: Migrating existing events is now supported on sqlite (version 3.24 or newer is required) [#446, #574]

    AggregateRoot

    • no changes

    ๐Ÿš… RailsEventStore::RSpec

    • no changes

    BoundedContext

    • no changes

    ๐Ÿ’Ž RubyEventStore::Browser

    • no changes

    ๐Ÿ’Ž RubyEventStore::ROM

    • no changes

    โœ… In this release we've also ended testing support for Ruby 2.3. This means that while Rails Event Store might continue to work without issues on that Ruby version, new development won't be targeting compatibility with it.