Skip to content

Releases: yousty/pg_eventstore

v2.0.0

15 Jan 16:04

Choose a tag to compare

  • Breaking change: pg_eventstore now requires pg_cron extension;
  • Breaking change: pg_eventstore now requires PostgreSQL v16+;
  • Greatly decreased the number of connections, used by pg_eventstore subscriptions;
  • Breaking change: drop support of Ruby v3.0 and v3.1. The gem now requires Ruby v3.2+;
  • Breaking change: PgEventstore::Extensions::OptionsExtension::Options class is no longer a child of Set class - it has independent implementation now;
  • Add support of Ruby v4.0;
  • Client#multiple method now accepts read_only keyword argument. When it is set to true - transaction is run in read-only mode;
  • Breaking change: rework links implementation. This change boosts performance, but affects the database structure, so your previous database dumps become incompatible with this change. PgEventstore::Event#link_id was replaced by PgEventstore::Event#link_global_position;

Changes above require you to run migrations - bundle exec rake pg_eventstore:migrate. One of the migrations also migrates existing data using several concurrent workers(threads). You can adjust the number of workers using CONCURRENCY environment variable. Default number of concurrent workers is 10. Migrations require a downtime - no reads/writes should be performed during the time of the migrations, so plan your maintenance downtime accordingly.

v1.13.4

08 Dec 09:37

Choose a tag to compare

  • Fix subscriptions potentially skipping events when multiple events are appended in concurrent transactions

v1.13.3

03 Oct 08:56

Choose a tag to compare

  • Reduce subscription delays for newly published events

v1.13.2

28 Aug 10:07

Choose a tag to compare

  • Fix a bug that prevents correct processing of CLI commands using public API

v1.13.1

28 Jul 09:25

Choose a tag to compare

  • Do not mutate public methods arguments

v1.13.0

25 Jul 09:14

Choose a tag to compare

  • Introduce automatic subscriptions recovery from connection errors. This way if a subscription process loses the connection to the database - it will be trying to reconnect until the connection is restored.
  • Resolve an ambiguity in usage of PgEventstore.config method. It now returns the frozen object.

v1.12.0

26 Jun 12:59

Choose a tag to compare

  • Introduce #read_grouped API method that allows to group events by type

v1.11.0

01 May 07:34

Choose a tag to compare

  • Add a global position that caused an error to the subscription's error JSON info. This will help you understand what event caused your subscription to fail.
  • Improve long payloads in JSON preview in admin web UI in the way it does not moves content out of the visible area.
  • Admin UI: adjust events filtering and displaying of stream context, stream name, stream id and event type when values of them contain empty strings or non-displayable characters

v1.10.0

14 Apr 12:58

Choose a tag to compare

  • Admin UI: Adjust SubscriptionSet "Stop"/"Delete" buttons appearance. Now if SubscriptionsSet is not alive anymore(the related process is dead or does not exist anymore) - "Delete" button is shown. If SubscriptionSet is alive - "Stop" button is shown
  • Admin UI: fixed several potential XSS vulnerabilities
  • Admin UI: Add "Copy to clipboard" button near stream id that copies ruby stream definition
  • Admin UI: allow deletion of streams with empty attribute values

v1.9.0

14 Mar 12:13

Choose a tag to compare

  • Implement an ability to delete a stream
  • Implement an ability to delete an event
  • Add "Delete event" and "Delete stream" buttons into admin UI