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