pgbus 0.4.1 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0f6e053c803e42358c0c3c100dcd24f1d5f3dbfe6087ed1ee95c2ce520643eb
4
- data.tar.gz: d6cceba94c15d7b7b415ea8643f042f5eacf185cfb48f220be893e5f870affd2
3
+ metadata.gz: bb5b86968b21bebedf9b33d6d69338b86f7dfb5304b5efa714b270bc8128fa10
4
+ data.tar.gz: f5d6118149ebcd7c7f773ab399fbdc97079883dd895339c5918c156fc416bbfe
5
5
  SHA512:
6
- metadata.gz: 5f68ce7714dd52a9389190efa27d5a645870a52214531de33d7dea2242fa6b3b5f62a2e1b5d74deac70cbd65087265a87284008e611d3f1f3b45143fb2b9bf57
7
- data.tar.gz: ead64910839a86aa82df6ce4b46e2a485c6e3668c4a915a1d308d3b9f7b7e8595a2dead190307ab760c611d75914f28d2cc06832372194f5761148bc213c978d
6
+ metadata.gz: 7649ee8dfd9d9ff155e510c014a28fb070d79357d34ed4e8a8c0369c502c90b806d01775a0b01f480709fa9399d7ecc3edddb7d4e092813d42014d412833d9ce
7
+ data.tar.gz: 756c31dd3fd970dca11c78cbb17af8b74e798cd42e3782b9993e4081982cc340a1224b6c0b829c259ea6d13abcec035510c2b4e0e6b8c39f73a34b1b9cd2bc48
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [0.5.1] - 2026-04-08
2
+
3
+ ### Fixed
4
+
5
+ - **Capsule DSL: anonymous duplicate capsules are now allowed.** Configurations like `c.workers = "*: 3; *: 3; *: 3; *: 3; *: 3"` (the legacy YAML pattern of 5 forks × 3 threads, all reading every queue) were rejected at boot in 0.5.0 with `Pgbus::Configuration::CapsuleDSL::ParseError: wildcard '*' appears in two capsules`. PGMQ tolerates multiple processes reading the same queue natively (`FOR UPDATE SKIP LOCKED`), and this is the canonical way to scale CPU parallelism across forks, so the rejection was wrong.
6
+
7
+ The fix introduces a "named vs anonymous" distinction:
8
+
9
+ - The string DSL parser is now purely syntactic — it no longer enforces overlap rules.
10
+ - `Pgbus::Configuration#workers=` auto-assigns `:name` only to capsules whose first queue would yield a *unique* name AND is not the bare wildcard. Wildcards stay anonymous; collision-prone first-queues stay anonymous.
11
+ - `Pgbus::Configuration#validate_no_queue_overlap!` (called by `c.capsule :name, ...`) now only checks against existing **named** capsules. Anonymous capsules can overlap freely with each other and with named capsules.
12
+ - Net result: `"*: 3; *: 3; *: 3"` produces 3 anonymous capsules (3 forks), `"critical: 5; default: 10"` produces 2 named capsules (CLI `--capsule critical` still works), and named-vs-named overlap is still rejected as before.
13
+
14
+ No changes required to user configuration — legacy YAML patterns and the modern DSL both work as documented.
15
+
1
16
  ## [Unreleased]
2
17
 
3
18
  ### Breaking Changes