yes 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -1
  3. data/lib/yes/version.rb +1 -1
  4. metadata +9 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5eff49dca0523282e364a82fb408cc06d00742f2fca7056b82384ac091c7e107
4
- data.tar.gz: a2a87f022f74b86b515bc66f8862086a9c036c677e9a1202226361dc5ba48243
3
+ metadata.gz: 91e44ef887d4626f5a871e1a4ddccf41f45e58ff6c9e7d21500e3e04c6a252f6
4
+ data.tar.gz: 076b44cc8d84038b6720b9cf67f2404ff8f4a27f6e3b78e76778cf8de8f59785
5
5
  SHA512:
6
- metadata.gz: b28a95c77f846978113afb0e33996670b693413d972f9b8b20b5734bcafdf783cdec7c5122865e691e37becd8934ae9b800b63fe0e8e74bd458b7015b52eff96
7
- data.tar.gz: 89dd8e95c3ef2cedc6f796e3052886c5948c865f8f8e844a9d23e9ca6d2a00dab1aae61f6f1fc8802ba9f92177ad92d9fef9b54149fadbbdd5e13c1486f426dd
6
+ metadata.gz: 6b81da070eceb08e313a7c102758f77a622a4d2e1c61505c4975b041c381338319e1f2412e3b2e2386dad651d3cbccc2b1e6fd8751a63f59b0240fc1a6f1aa57
7
+ data.tar.gz: c45327b8bc188c4860e9befcdb07358ca328daa5010339d89abac247a0533090c04b4638435aef7a93bcda4fb9dcce7c941c4c6fd409f8119360ef4547e3a3b5
data/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [2.3.0] - 2026-09-03
6
+
7
+ ### yes-core
8
+
9
+ #### Added
10
+ - `CommandHandling::RevisionConflictBackoff` and `RevisionConflictWaiting`: an
11
+ exponential, jittered backoff (10 ms → 1 s per attempt, 2 s in total) applied
12
+ between revision-conflict retries while the read model still lags the stream.
13
+
14
+ #### Changed
15
+ - `CommandExecutor` and `CommandGroupExecutor` wait for the read model to catch up
16
+ before retrying a `PgEventstore::WrongExpectedRevisionError` instead of retrying
17
+ immediately; conflicts the same process caused still retry at once.
18
+ - The `ConcurrentUpdateError` retries take their delay from
19
+ `RevisionConflictBackoff.schedule`; timing unchanged.
20
+
21
+ #### Fixed
22
+ - `EventPublisher#verify_external_revisions!` and `Stateless::Handler#revision_error!`
23
+ raise `WrongExpectedRevisionError` with pg_eventstore's field order: `revision` is the
24
+ store's value, `expected_revision` the caller's. Both were inverted.
25
+
5
26
  ## [2.2.0] - 2026-09-01
6
27
 
7
28
  ### yes-core
@@ -135,7 +156,7 @@ one-way, downtime-requiring operation — see the `pg_eventstore` upgrade notes.
135
156
  `event.link_global_position`, in `Commands::Stateless::Handler` and
136
157
  `CommandHandling::EventPublisher`. `pg_eventstore` v3 drops `events.link_id`
137
158
  (migration 13) in favour of the bigint `link_global_position`, so `Event#link_id`
138
- raises `NoMethodError`. Mirrors the same change in `yousty-eventsourcing` 16.0.0.
159
+ raises `NoMethodError`.
139
160
  **Update any dashboards or trace queries keyed on `event.link_id`.**
140
161
 
141
162
  ### yes-auth
data/lib/yes/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Yes
4
- VERSION = '2.2.0'
4
+ VERSION = '2.3.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: 'yes'
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nico Ritsche
@@ -15,56 +15,56 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 2.2.0
18
+ version: 2.3.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 2.2.0
25
+ version: 2.3.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: yes-command-api
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - '='
31
31
  - !ruby/object:Gem::Version
32
- version: 2.2.0
32
+ version: 2.3.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 2.2.0
39
+ version: 2.3.0
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: yes-core
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 2.2.0
46
+ version: 2.3.0
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 2.2.0
53
+ version: 2.3.0
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: yes-read-api
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 2.2.0
60
+ version: 2.3.0
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - '='
66
66
  - !ruby/object:Gem::Version
67
- version: 2.2.0
67
+ version: 2.3.0
68
68
  description: Event sourcing framework for Ruby on Rails applications
69
69
  email:
70
70
  - nico.ritsche@yousty.ch