yes 2.6.0 → 2.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -0
- data/README.md +10 -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: 944da2a67e980d1fb3cde4eab7489658750049367f7768ecad8f726211c08f81
|
|
4
|
+
data.tar.gz: 907d2c09c45c4a45c185298d318b5c1578f53bf013497ecbe94909a6665c0345
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: adf1804ce07f002acb29ba54815e8d21c98a1d1a1be3f6ea44bd97805ae236e58bb201bb5f67c133de56999d3280ddc9caee7a4bacc0a43f1ec0f7b25c874540
|
|
7
|
+
data.tar.gz: 57699ff64dd32932c987d489494d96a3569c294d859ed6bdb5d6f2a31031843e77e9f4e2d2b5b5a1552818df7221d1c4ebf5234bddd5f3810aff21ea6b5bb7e0
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,40 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [2.7.0] - 2026-10-29
|
|
8
|
+
|
|
9
|
+
### yes-core
|
|
10
|
+
|
|
11
|
+
#### Added
|
|
12
|
+
- `Yes::Core::Commands::Bus#call` accepts `extra_notifier_classes:`, a list of command notifier classes that
|
|
13
|
+
run for that call only. They are appended to the configured `command_notifier_classes`, get the same
|
|
14
|
+
`notifier_options`, and also run when commands are processed inline. `Yes::Core::Commands::Processor#perform`
|
|
15
|
+
takes their names as an optional last argument. No new argument is passed to the processor unless per-call
|
|
16
|
+
notifiers are given, so jobs enqueued before the upgrade and custom processors keep working.
|
|
17
|
+
|
|
18
|
+
## [2.6.1] - 2026-10-28
|
|
19
|
+
|
|
20
|
+
### yes-core
|
|
21
|
+
|
|
22
|
+
#### Changed
|
|
23
|
+
- `CerbosGrpcRetryPolicy.channel_args` now also caps the gRPC reconnect backoff (100ms initial/min, 1s max).
|
|
24
|
+
After a refused connection (e.g. a Cerbos pod that is shutting down) the channel otherwise stays in its
|
|
25
|
+
default reconnect backoff, longer than the retry window, and fails every call of the process for many seconds.
|
|
26
|
+
|
|
27
|
+
### yes-command-api
|
|
28
|
+
|
|
29
|
+
#### Changed
|
|
30
|
+
- `CommandsController` responds with `503 Service Unavailable` and `Retry-After: 1` instead of a 500 when
|
|
31
|
+
Cerbos is unavailable (`Cerbos::Error::Unavailable`, `Cerbos::Error::DeadlineExceeded`). No command was
|
|
32
|
+
executed, so the request can be retried. The error is still recorded on the span and reported via `Rails.error`.
|
|
33
|
+
|
|
34
|
+
### yes-read-api
|
|
35
|
+
|
|
36
|
+
#### Changed
|
|
37
|
+
- `QueriesController` responds with `503 Service Unavailable` and `Retry-After: 1` instead of a 500 when
|
|
38
|
+
Cerbos is unavailable (`Cerbos::Error::Unavailable`, `Cerbos::Error::DeadlineExceeded`). The error is still
|
|
39
|
+
reported via `Rails.error`.
|
|
40
|
+
|
|
7
41
|
## [2.6.0] - 2026-10-28
|
|
8
42
|
|
|
9
43
|
### yes-core
|
data/README.md
CHANGED
|
@@ -1740,6 +1740,16 @@ class SlackNotifier < Yes::Core::Commands::Notifier
|
|
|
1740
1740
|
end
|
|
1741
1741
|
```
|
|
1742
1742
|
|
|
1743
|
+
#### Per-call Notifiers
|
|
1744
|
+
|
|
1745
|
+
To attach a notifier to one specific command bus call only, for example to report failures of a batch import without registering the notifier for every batch, pass it as `extra_notifier_classes`:
|
|
1746
|
+
|
|
1747
|
+
```ruby
|
|
1748
|
+
Yes::Core::CommandBus.new.call(commands, extra_notifier_classes: [ImportFailureNotifier])
|
|
1749
|
+
```
|
|
1750
|
+
|
|
1751
|
+
The per-call notifiers are appended to the configured `command_notifier_classes` and receive the same `notifier_options`. Unlike the configured ones, they also run when commands are processed inline, because the caller asked for them explicitly. The notifier classes must be named (anonymous classes are not supported), as only their names are passed on to the command processor job.
|
|
1752
|
+
|
|
1743
1753
|
## Read API
|
|
1744
1754
|
|
|
1745
1755
|
The Read API (`yes-read-api`) provides an HTTP endpoint for querying read models with filtering, pagination, and authorization. Like the Command API, it is a standalone Rails engine that does **not** depend on the aggregate DSL — it works with any ActiveRecord model that has a matching serializer.
|
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.7.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.
|
|
18
|
+
version: 2.7.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.
|
|
25
|
+
version: 2.7.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.
|
|
32
|
+
version: 2.7.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.
|
|
39
|
+
version: 2.7.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.
|
|
46
|
+
version: 2.7.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.
|
|
53
|
+
version: 2.7.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.
|
|
60
|
+
version: 2.7.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.
|
|
67
|
+
version: 2.7.0
|
|
68
68
|
description: Event sourcing framework for Ruby on Rails applications
|
|
69
69
|
email:
|
|
70
70
|
- nico.ritsche@yousty.ch
|