Releases: RailsEventStore/rails_event_store
v2.16.0
RubyEventStore
- Fix: deprecation warning about
ostruct
not being a part of Ruby 3.5 - Change:
OpenStruct
is handled byRubyEventStore::Mappers::Transformation::PreserveTypes
only if the library is present in the project bundle - Add: Testing against and official support for Rails 8.0
- Add: Testing against and official support for Ruby 3.4
- Remove: Testing against Rails 6.0 and 6.1 and official support for this EOL releases
RailsEventStore
- Add: Testing against and official support for Rails 8.0
- Add: Testing against and official support for Ruby 3.4
- Remove: Testing against Rails 6.0 and 6.1 and official support for this EOL releases
RubyEventStore::ActiveRecord
- Add: Testing against and official support for Rails 8.0
- Add: Testing against and official support for Ruby 3.4
- Remove: Testing against Rails 6.0 and 6.1 and official support for this EOL releases
AggregateRoot
- Add: Testing against and official support for Rails 8.0
- Add: Testing against and official support for Ruby 3.4
- Remove: Testing against Rails 6.0 and 6.1 and official support for this EOL releases
RubyEventStore::RSpec
- Add: Testing against and official support for Rails 8.0
- Add: Testing against and official support for Ruby 3.4
- Remove: Testing against Rails 6.0 and 6.1 and official support for this EOL releases
RubyEventStore::Browser
- Add: Testing against and official support for Rails 8.0
- Add: Testing against and official support for Ruby 3.4
- Remove: Testing against Rails 6.0 and 6.1 and official support for this EOL releases
v2.15.0
RubyEventStore
- no changes
RailsEventStore
RubyEventStore::ActiveRecord
- Fix: Compatibility with
strong_migrations
[#1755]
AggregateRoot
- Remove: Drop obsolete
base64
gem dependency [#1738]
RubyEventStore::RSpec
- no changes
RubyEventStore::Browser
-
Add: Possibility to copy event id, payload or metadata to clipboard
-
Add: Search modal launched by Meta + K key shortcut
-
Add: Tooltips for current timezone — hovering over the created at or valid at fields displays selected timezone
-
Add: Favicon [#667]
-
Fix: Map IANA linked time zones to the canonical ones [7a13952, #1753]
-
Change: UI improvements
v2.14.0
RubyEventStore
- no changes
RailsEventStore
- no changes
RubyEventStore::ActiveRecord
- no changes
AggregateRoot
- no changes
RubyEventStore::RSpec
- no changes
RubyEventStore::Browser
v2.13.0
RubyEventStore
-
Change:
RubyEventStore::BatchEnumerator
optimization [#1708, #1711]Skip fetching the next batch if the previous one was smaller than the specified batch size.
RailsEventStore
- no changes
RubyEventStore::ActiveRecord
-
Change:
RubyEventStore::ActiveRecord::BatchEnumerator
optimization [#1708, #1711]Skip fetching the next batch if the previous one was smaller than the specified batch size)
-
Change: N+1 optimization [#1708, #1710]
Avoiding N+1 without additional query when join clause is used in the base read query.
AggregateRoot
- no changes
RubyEventStore::RSpec
- no changes
RubyEventStore::Browser
- no changes
v2.12.1
v2.12.0
RubyEventStore
-
Change: Calling
Specification#from
andSpecification#to
won't trigger SQL query to check if given event id exists [067e9b7] -
Fix: Raise
RubyEventStore::EventNotFound
instead ofNoMethodError
if theevent_id
passed toSpecification#from
orSpecification#to
does not exist while usingInMemoryRepository
[#1673]
RailsEventStore
- Add: Support
ActiveJob::ConfiguredJob
as a valid handler forActiveJobScheduler
[331c16b]
RubyEventStore::ActiveRecord
-
Add: Support for ActiveRecord PostGIS adapter in migration generators [#1650, #1668]
-
Add: Support for ActiveRecord Trilogy adapter in migration generators [#1671]
-
Add: Foreign keys for data consistency. This prevents manually removing events at database level if they are already linked in any stream [#1646]
For existing Rails app installations use:
bin/rails g rails_event_store_active_record:migration_for_foreign_key_on_event_id bin/rails db:migrate
For non–Rails applications:
bundle exec rake db:migrations:add_foreign_key_on_event_id bundle exec rake db:migrate
New installations are no–op.
-
Fix: Raise
RubyEventStore::EventNotFound
instead ofActiveRecord::RecordNotFound
if theevent_id
passed toSpecification#from
orSpecification#to
does not exist [#1673]
AggregateRoot
- no changes
RubyEventStore::RSpec
RubyEventStore::Browser
- no changes
v2.11.1
RubyEventStore
- no changes
RailsEventStore
- no changes
RubyEventStore::ActiveRecord
- no changes
AggregateRoot
- no changes
RubyEventStore::RSpec
- no changes
RubyEventStore::Browser
v2.11.0
RubyEventStore
- Fix: Restoring original type with
PreserveTypes
won't break when stored data shape is different than original one. This change also allows usingOpenStruct
for data and metadata [3c5d928]
RailsEventStore
- Add: Out of the box
OpenStruct
support inJSONClient
[2bed49c]
RubyEventStore::ActiveRecord
- no changes
AggregateRoot
- no changes
RubyEventStore::RSpec
- no changes
RubyEventStore::Browser
- no changes
v2.10.0
RubyEventStore
- no changes
RailsEventStore
-
Add: Optional
ActiveJobIdOnlyScheduler
that carries onlyevent_id
. The largest benefit of it has constant size in redis as opposed to size dependent on data and metadata. With the scheduler comes theAsyncHandlerJobIdOnly
[#755, 46dedc2] -
Fix:
JSONClient
correctly handles mapper argument. Previously the mapper argument was unusable, as it was always and unconditionally overwritten [77b7338]
RubyEventStore::ActiveRecord
-
Add: MySQL now supports json column data type for storing data and metadata of events [8e4850b, ]
-
Fix:
streams_of
being slow due to lack of index onevent_id
inevent_store_events_in_streams
table (e.g. causing laggy event overview in RES Browser) [5c2c367]When installing RES from scratch, you don't have to do anything, RES setup will generate valid db migrations. If you're running RES in your existing application, please run accordingly:
-
for a Rails app:
bin/rails g rails_event_store_active_record:migration_for_missing_event_id_index bin/rails db:migrate
-
for a non–Rails Ruby app:
bundle exec rake db:migrations:fix_missing_event_id_index bundle exec rake db:migrate
-
AggregateRoot
- no changes
RubyEventStore::RSpec
- no changes
RubyEventStore::Browser
- no changes
v2.9.1
RubyEventStore
- Fix: Encryption Mapper
The missing transformation has been added. TheRubyEventStore::Metadata
requires metadata keys to be symbols. - Change:
RubyEventStore::Client
now has theInMemoryRepository
as the default repository.
There's no required action. This change is backward compatible.
RailsEventStore
- no changes
RubyEventStore::ActiveRecord
- Fix: Problem with reading the last event sorted by
valid_at
. - Change: Update
ActiveRecord::Migration
version from 4.2 to the latest.
The schema doesn't change. There's no required action.
AggregateRoot
- no changes
RubyEventStore::RSpec
- no changes
RubyEventStore::Browser
- no changes