yes 2.7.0 → 2.8.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/lib/yes/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b952d71685a3c534a09518b6c31b15ac3e6cf683a3edbd193034e8cdcfe9f74d
|
|
4
|
+
data.tar.gz: 6a8e9e7fa6dd3177ec3110d9202f87d400d65616f54853043169032d1b604d31
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d62d931166023ff9d2b5dc30d9472857698f901a2cf0db73dde1aabb042636f9e17e198db94d9319bfc06ca34e3f2b68e439433ce1b8566ae6750c9e001d356e
|
|
7
|
+
data.tar.gz: f8cb6d9b8491b488db286a09da739eba9d008f479902ee0d363345117f7fdeb1d1629de1cc0662fcd45d50c76ee5353a48aaf4fa5d42e7ef697b8762d2372f97
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [2.8.1] - 2026-10-30
|
|
8
|
+
|
|
9
|
+
### yes-core
|
|
10
|
+
|
|
11
|
+
#### Fixed
|
|
12
|
+
- Two writers applying the same event to one read model row (for example a slow command and a concurrent
|
|
13
|
+
recovery of the same aggregate) could overwrite the newer state and reset the revision, so every later command
|
|
14
|
+
on that aggregate failed with a revision error. `ReadModelRevisionGuard` now locks the row, reloads it and
|
|
15
|
+
re-checks the revision right before the write; the already applied event is skipped.
|
|
16
|
+
|
|
17
|
+
## [2.8.0] - 2026-10-29
|
|
18
|
+
|
|
19
|
+
### yes-read-api
|
|
20
|
+
|
|
21
|
+
#### Security
|
|
22
|
+
- `QueriesController` answers `400 Bad Request` (`{ "title": "Bad Request", "detail": ... }`)
|
|
23
|
+
instead of silently ignoring a filter parameter its query does not apply. A basic query (`GET`/`HEAD`)
|
|
24
|
+
applies `filters` only, an advanced query (`POST`) applies `filter_definition` only. Rejected are a `GET`
|
|
25
|
+
or `HEAD` carrying `filter_definition`, a `POST` carrying `filters`, a `POST` without `filter_definition`, and
|
|
26
|
+
a `GET` with a `filter_id` whose stored body has no `filter_definition` (`the stored filter has no
|
|
27
|
+
filter_definition`), since a stored filter runs as an advanced query too.
|
|
28
|
+
Request authorizers commonly decide what to check by which parameter is present, so an ignored parameter could
|
|
29
|
+
be authorized while the query returned rows it never bounded. The check runs for subclass actions too.
|
|
30
|
+
Clients must send `filters` on `GET` and `filter_definition` on `POST`; other parameters (`page`, `order`,
|
|
31
|
+
`include`, `filter_id`, ...) are unaffected. Requests that relied on the ignored parameter now receive `400`.
|
|
32
|
+
|
|
7
33
|
## [2.7.0] - 2026-10-29
|
|
8
34
|
|
|
9
35
|
### yes-core
|
data/lib/yes/version.rb
CHANGED
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.
|
|
4
|
+
version: 2.8.1
|
|
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.
|
|
18
|
+
version: 2.8.1
|
|
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.
|
|
25
|
+
version: 2.8.1
|
|
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.
|
|
32
|
+
version: 2.8.1
|
|
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.
|
|
39
|
+
version: 2.8.1
|
|
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.
|
|
46
|
+
version: 2.8.1
|
|
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.
|
|
53
|
+
version: 2.8.1
|
|
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.
|
|
60
|
+
version: 2.8.1
|
|
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.
|
|
67
|
+
version: 2.8.1
|
|
68
68
|
description: Event sourcing framework for Ruby on Rails applications
|
|
69
69
|
email:
|
|
70
70
|
- nico.ritsche@yousty.ch
|