@uns-kit/core 3.0.38 → 3.0.39

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.
Files changed (2) hide show
  1. package/MIGRATIONS.md +18 -0
  2. package/package.json +1 -1
package/MIGRATIONS.md CHANGED
@@ -9,6 +9,24 @@ Agents must inspect the application's existing ownership and shutdown flow
9
9
  before editing it. The examples below describe the intended behavior, not a
10
10
  mechanical search-and-replace operation.
11
11
 
12
+ ## 3.0.39 - Explicit read-only HTTP work during migration
13
+
14
+ When crossing `<3.0.39` to `>=3.0.39`, existing handlers keep their conservative
15
+ HTTP drain behavior. No MQTT format, ownership contract or Controller change is
16
+ required. Applications that serve reads may opt in per handler using
17
+ `await api.runReadOnlyRequest(res, async () => { /* complete the read */ })`.
18
+ Declare the work before the first asynchronous step and await every admitted
19
+ subtask inside the callback, including cancellation settlement. Use it only for
20
+ work without external effects; neither GET nor POST establishes that property.
21
+
22
+ A reader disconnect no longer poisons future drains for an opted-in handler,
23
+ but drain still waits for actual handler completion, even after an early HTTP
24
+ response. The helper does not cancel SQL, authorize access, retry a request or
25
+ send a response. Keep application cancellation and error handling. An undeclared
26
+ disconnect remains an unknown outcome and blocks handover. Do not wrap writes,
27
+ publications or business mutations as reads to bypass that safeguard. See the
28
+ [HTTP example](https://github.com/uns-openhub/uns-kit/blob/master/docs/mqtt-stateful-handover.md#http-readers-and-disconnects-3039).
29
+
12
30
  ## 3.0.38 - Bounded late-subscriber input boundary (format3)
13
31
 
14
32
  When crossing `<3.0.38` to `>=3.0.38`, non-opt-in applications keep their existing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uns-kit/core",
3
- "version": "3.0.38",
3
+ "version": "3.0.39",
4
4
  "description": "Core utilities and runtime building blocks for UNS-based realtime transformers.",
5
5
  "type": "module",
6
6
  "license": "MIT",