@onlineapps/conn-orch-registry 8.0.0 → 9.0.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,61 @@ All notable changes to this package. Follows [Keep a Changelog](https://keepacha
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [9.0.0] — 2026-10-12
8
+
9
+ ### Changed — BREAKING — zděděné chování `@onlineapps/mq-client-core` 6.0.0 (platí s pinem 6.0.0, který přijde s vydáním jádra; d.1361, d.1363)
10
+
11
+ `QueueManager` je tenký průchod k `BaseClient` jádra — `publish()` (`src/queueManager.js:225-226`)
12
+ a `consume()` (`:242-243`) předávají volání i odmítnutí beze změny. Z jádra tenhle balíček nic
13
+ znovu nevydává (`src/index.js`: `ServiceRegistryClient`, `RegistryEventConsumer`, `EVENTS`) a
14
+ konfiguraci jádra nepropouští (`BaseClient` se staví s pevnými klíči `type`, `host`,
15
+ `serviceName`, `logger`, `src/queueManager.js:73-78`), takže odebrání `criticalHealthShutdown`
16
+ a `health:shutdown` (jádro d.1275) volajícího nezasáhne. Co z CHANGELOGu jádra projde k
17
+ volajícímu veřejnými metodami `ServiceRegistryClient`, jakmile se pin `@onlineapps/mq-client-core`
18
+ zvedne z 5.1.0 na 6.0.0 (zdejší kód se nemění):
19
+
20
+ - **`sendHeartbeat()` a `deregister()` propouštějí `PublishError` jádra neobalený**
21
+ (`src/registryClient.js:931`, `:880`; volby `{ persistent: true }`, tedy výchozí
22
+ `bufferOnFailure: true`). S jádrem 6.0.0 (d.1300): publish, jehož čekání na obnovu skončí
23
+ standby (vyčerpaný cyklus), odmítne `PublishError` s `buffered: true`, `sent: false` — dřív
24
+ bez `buffered` — a zprávu DRŽÍ v bufferu; přehraje ji po příštím `reconnected`/`unblocked`.
25
+ Skončí-li obnova fatálně, nese chyba `code: 'MQ_CONNECTION_FATAL'` a `reason`
26
+ (`'cycles-spent'` | `'broker-refused'`) přímo na sobě; nic se nedrží. Volající, který po
27
+ odmítnutí posílal heartbeat nebo deregistraci znovu sám, ji teď může poslat dvakrát.
28
+ Smyčka `startHeartbeat()` počítá odmítnutý beat jako selhání dál stejně (obal s `cause`).
29
+ - **`init()` předává `code`/`reason` chyby `consume()` na svůj obal** (`src/registryClient.js:305`
30
+ → `_startRegistryConsumer`, `:370-371`). S jádrem 6.0.0 (d.1297) nese chyba `consume()` po
31
+ fatálním cyklu `code: 'MQ_CONNECTION_FATAL'` a `reason` NAHOŘE (dřív jen v `cause`, obal měl
32
+ `code` `undefined`). Volající, který podle `error.code` rozhoduje — `@onlineapps/service-wrapper`
33
+ v bootu (`ServiceWrapper.js`, větve `error.code !== 'MQ_CONNECTION_FATAL'`) — bere týž výpadek
34
+ jako TRVALÝ konec bootu, ne přechodný. Standby, `disconnect()` a `reconnectEnabled: false`
35
+ `code` dál nenesou.
36
+ - **`register()` — zpráva držená přes standby se přehraje i po odmítnutí** (`src/registryClient.js:777`,
37
+ `:798-801`). `register()` chybu publishe obaluje (`Failed to send registration message: <věta
38
+ jádra>`, bez `code`) a čekající registraci zruší; zprávu `register`, kterou jádro 6.0.0 po
39
+ standby drží (d.1300), ale po reconnectu přehraje — registr tak dostane registraci, o které
40
+ volající ví, že selhala; její odpověď skončí řádkem WARN
41
+ „Registration response has no matching pending request“ (`:519`). Sousední cesta (přechodná chyba →
42
+ čekání na běžící reconnect → selhání) držela zprávu už v 5.1.0; 6.0.0 přidává standby.
43
+
44
+ Precedent: `@onlineapps/conn-infra-mq` `[Unreleased]` „BREAKING — zděděné chování
45
+ `@onlineapps/mq-client-core` 6.0.0“ a `@onlineapps/conn-orch-cookbook` `[7.0.0]`. Rozhodnutí
46
+ leada d.1361: major 9.0.0.
47
+
48
+ ### Tests — brána „broker pod alarmem“ IT tieru má jedno tělo v repu (d.1326)
49
+
50
+ - `refuseBrokerUnderAlarm` z `tests/integration/setup.js` (originál, d.775/d.783) přesunut do
51
+ `api/scripts/tests/brokerAlarm.js` vedle `sweepOrphanQueues.js` (d.1320), kam z tohoto tieru
52
+ odešel i sweep; `setup.js` ho volá `refuseBrokerUnderAlarm({ ask: mgmtReader(config), context,
53
+ where })` — čtenář zůstává zdejší `mgmtReader` (rozpočet `withinBudget`). Věta odmítnutí beze
54
+ změny tvrzení (`environmentProbe.integration.test.js`: `[conn-orch-registry/integration] The
55
+ broker is under a resource alarm and is blocking publishers`, `memory on rabbit@…`, `HTTP 503
56
+ from <host:port>`); `Fix` nově jmenuje i `rabbitmq-diagnostics -q alarms`.
57
+ - Čtyři otázky `change-discipline.md` § Removing (za všechny tři kopie): četl je jen `setup.js`
58
+ každého tieru (+ unit testy wrapperu a mq-client-core); psal je každý tier zvlášť (tři
59
+ implementace, měřeno `diff`); nahrazuje je jedno tělo s injektovaným čtenářem; porušení se
60
+ pozná větou alarmu v globalSetup tieru před prvním testem (IT `environmentProbe` to drží stubem).
61
+
7
62
  ## [8.0.0] — 2026-10-03
8
63
 
9
64
  pin: `@onlineapps/mq-client-core` 5.0.0 → 5.1.0
package/README.md CHANGED
@@ -6,7 +6,7 @@ Uniform: [library/orchestration](../conn-orch-validator/manifests/library.manife
6
6
 
7
7
  Duty sections that apply:
8
8
 
9
- - `all`: L-MAIN, L-ENGINES, L-TESTS, L-TEST-SCRIPT, L-PACK-TESTS, L-PINS, L-NO-FILE-RANGE, L-CHANGELOG, L-README, L-README-REGION, L-CONSUMER
9
+ - `all`: L-MAIN, L-ENGINES, L-TESTS, L-TEST-SCRIPT, L-PACK-TESTS, L-PINS, L-NO-FILE-RANGE, L-CHANGELOG, L-PACK-CHANGELOG, L-README, L-README-REGION, L-CONSUMER
10
10
  <!-- END GENERATED: library-uniform -->
11
11
 
12
12
  # @onlineapps/conn-orch-registry
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlineapps/conn-orch-registry",
3
- "version": "8.0.0",
3
+ "version": "9.0.0",
4
4
  "license": "MIT",
5
5
  "description": "conn-orch-registry provides the core communication mechanism for microservices in this environment. It enables them to interact with a services_registry to receive and fulfill tasks by submitting heartbeats or their API descriptions.",
6
6
  "keywords": [
@@ -38,8 +38,8 @@
38
38
  "access": "public"
39
39
  },
40
40
  "dependencies": {
41
- "@onlineapps/logger-contract": "2.0.0",
42
- "@onlineapps/mq-client-core": "5.1.0",
41
+ "@onlineapps/logger-contract": "2.1.0",
42
+ "@onlineapps/mq-client-core": "6.0.0",
43
43
  "uuid": "^9.0.1"
44
44
  },
45
45
  "devDependencies": {