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`