From 16111a5eee20975cafd35dd0f7073e33e4c8f7dc Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Tue, 10 Nov 2026 10:31:31 -0500 Subject: [PATCH] build: update HistorianGateway client packages to 0.4.0 --- Directory.Packages.props | 4 ++-- docs/Historian.md | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 0ec4d534..cfc831c3 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -240,7 +240,7 @@ - - + + \ No newline at end of file diff --git a/docs/Historian.md b/docs/Historian.md index 4ed72f14..487b8962 100644 --- a/docs/Historian.md +++ b/docs/Historian.md @@ -306,7 +306,7 @@ and is registered the same way for every backend. > **Cross-repo follow-up — a multi-tag batch `WriteLiveValues` on the gateway contract.** The drain's > unit of work is one gateway round-trip **per historian tag**, because -> `ZB.MOM.WW.HistorianGateway.Client` **0.3.0** exposes no RPC that writes values for more than one tag +> `ZB.MOM.WW.HistorianGateway.Client` **0.4.0** exposes no RPC that writes values for more than one tag > in a call. Bounded parallelism (`DrainConcurrency`) is therefore the ceiling: it overlaps the > round-trips but cannot remove them, so a wide tag set still pays `⌈tags / concurrency⌉` network > hops per drain pass. Collapsing that to a single hop needs a **batch/multi-tag `WriteLiveValues`** on @@ -314,6 +314,19 @@ and is registered the same way for every backend. > lands, raising `DrainBatchSize` widens each hop's payload but not the hop count — which is why the > concurrency window, not the batch width, is what governs drain throughput today. +The HistorianGateway **Client and Contracts packages are pinned together at 0.4.0** +([historiangw#119](https://gitea.dohertylan.com/dohertj2/historiangw/issues/119)). The removed +`ReadBlocks` RPC and `ReadBlocksAsync` wrapper were unused here. A partially imported CA PEM bundle now +fails client creation instead of accepting a narrower certificate pin; repair the configured bundle if +startup reports `ArgumentException` for `CaCertificatePath`. + +This package update does not enable new gateway capabilities. OtOpcUa supplies its own non-empty event +GUIDs, sends OPC DA quality bytes (at most 255), retains its UInt16-to-UInt4 provisioning policy, and does +not consume the new store-forward buffer measurement fields. String backfill remains disabled: an older +gateway ignores the new `StringValue` field and stores 0. Upgrade the gateway under +[historiangw#78](https://gitea.dohertylan.com/dohertj2/historiangw/issues/78) before relying on string +backfill, gateway-generated event IDs, UInt1-to-UInt2 creation, or other new server behavior. + ### Typed values, real status and outage markers The recorder no longer assumes "a numeric Good sample". Each mux delta is coerced to a typed `HistorianValue`