Commit Graph

  • 0544287f26 docs(plans): auto/driver-gaps branch ledger — 92 issues classified (#607) Joseph Doherty 2026-10-08 06:52:41 -04:00
  • 1b37b2f2b0 perf(scripting): cache ScriptSandbox BCL + pinned metadata references (#603) Joseph Doherty 2026-10-08 06:52:35 -04:00
  • 7c4c7f9653 fix(galaxy): seam hardening - advise unmark on throw, dup attributeRef surfaced, bounded subscribe-once read; delete dormant historian connection probe (#605) Joseph Doherty 2026-10-08 06:52:21 -04:00
  • 33d72edcd0 Merge #613 slice: MTConnect authoring-time DataType advisory + ignored-DeviceName warning Joseph Doherty 2026-10-08 06:52:08 -04:00
  • b78c7ff9db feat(mtconnect): authoring DataType warning + loud ignored-DeviceName warning (#613 slice) Joseph Doherty 2026-10-08 06:51:40 -04:00
  • a8703c6afe refactor(virtualtags): retire dormant VirtualTagEngine/Source/Definition + TimerTriggerScheduler (#603) Joseph Doherty 2026-10-08 06:51:22 -04:00
  • 21267750c7 test(ab-transport): blocked-write timeout fault path via a stream seam (#565, #593) Joseph Doherty 2026-10-08 06:50:40 -04:00
  • 7e91c37a52 test(opcuaclient-browser): skip live browse tests when opc-plc is unreachable; move out of unit project (#594) Joseph Doherty 2026-10-08 06:48:34 -04:00
  • 792510c0eb Merge #595/#606: OTOPCUA0001 error under src/, scoped NoWarn in driver test projects, global.json Joseph Doherty 2026-10-08 06:48:15 -04:00
  • 7aa7758864 build: scoped OTOPCUA0001 NoWarn in 13 test projects, error under src/, pin SDK via global.json (#595 #606) Joseph Doherty 2026-10-08 06:47:40 -04:00
  • b37e9613f7 test(ab): default AB matrices to one profile when unset; PLC-5/status-bit refusal fixture tests (#594, #593) Joseph Doherty 2026-10-08 06:45:51 -04:00
  • dc54b883eb fix(historian): provision tags whose historization flips on or historian name changes (#600) Joseph Doherty 2026-10-08 06:45:48 -04:00
  • 3baa332d6b Merge: over-the-wire test of the shared client's alarm method calls against the in-process server Joseph Doherty 2026-10-08 01:49:44 -04:00
  • d66269a99b test(client): over-the-wire alarm method calls against the in-process server Joseph Doherty 2026-10-08 01:49:32 -04:00
  • d978573fb2 Merge #591: FOCAS duplicate-sibling tests wait for the first axis pass, not the bootstrap stamp Joseph Doherty 2026-10-08 01:35:41 -04:00
  • 159f30dcd0 test(focas): wait for the first full poll, not the bootstrap stamp, before reading (#591) Joseph Doherty 2026-10-08 01:35:25 -04:00
  • 3803df0433 Merge #587/#588: one condition event per method-driven transition (native: Ack/AddComment only); model-change + audit events gated per session on i=2253 when ACL is on Joseph Doherty 2026-10-08 01:23:20 -04:00
  • e2663643dd fix(alarms): native conditions support Acknowledge/AddComment only; report only real method changes (#587 review) Joseph Doherty 2026-10-08 01:19:38 -04:00
  • 85f003272c Merge: Client ack/confirm/enable/disable/shelve call Part 9 methods on the condition node (no .Condition/.ShelvingState string ids) Joseph Doherty 2026-10-08 00:57:23 -04:00
  • fa7efb3b62 fix(client-cli): call Part 9 ack/confirm/enable/shelve methods on the condition node itself Joseph Doherty 2026-10-08 00:57:06 -04:00
  • 167a48bffa fix(alarms,acl): one condition event per Part 9 method call; gate Server-object model-change/audit events (#587, #588) Joseph Doherty 2026-10-08 00:54:08 -04:00
  • 15dd75379d Merge #590: ClusterRoleInfo records the RoleLeaderChanged address directly (lagging State snapshot could pin a role leader to null) Joseph Doherty 2026-10-08 00:26:16 -04:00
  • 129b84fd69 fix(cluster): record RoleLeaderChanged leader from the event, not the lagging state snapshot (#590) Joseph Doherty 2026-10-08 00:25:57 -04:00
  • e8453eef6c Merge #589: S7 span-read tests wait out the clock tick before asserting LastSuccessfulRead advanced Joseph Doherty 2026-10-08 00:22:25 -04:00
  • b36f5644d3 test(s7): wait out the clock tick before asserting LastSuccessfulRead advanced (#589) Joseph Doherty 2026-10-08 00:22:11 -04:00
  • 390c8269a0 Merge #586: Server-object (i=2253) event items gated by the data-plane ACL; per-condition delivery with SDK audit guard + monitored bookkeeping Joseph Doherty 2026-10-08 00:09:03 -04:00
  • fe92ff4c34 fix(acl): keep the SDK's audit guard and EventsMonitored bookkeeping on Server-object delivery (#586) Joseph Doherty 2026-10-08 00:05:12 -04:00
  • 277cd6ee3e Merge: deterministic AbCip transport-switch probe tests (libplctag timeout races the probe cancel under load) Joseph Doherty 2026-10-07 23:51:34 -04:00
  • fe2b0614c8 test(abcip): deterministic transport-switch probe tests Joseph Doherty 2026-10-07 23:51:11 -04:00
  • 75e559f6d8 fix(acl): filter Server-object (i=2253) event subscriptions per event through the data-plane ACL (#586) Joseph Doherty 2026-10-07 23:37:47 -04:00
  • e5fe2e5547 Merge #566/#581/#583: per-pool transport diagnostics + per-device open-attempt limit, CIP-level close recycle, positive-control absence tests Joseph Doherty 2026-10-07 23:31:17 -04:00
  • fe94a3bdb8 test(ab): replace fixed-delay absence assertions with positive controls / processed counts (#583) Joseph Doherty 2026-10-07 23:28:33 -04:00
  • 3edff3304b fix(ab-transport): per-pool diagnostics + per-device open-attempt limit, CIP-level close recycle, CipConnection/pool test gaps (#566, #581) Joseph Doherty 2026-10-07 23:21:02 -04:00
  • 35152fcaf7 Merge #562/#563: event/alarm items revalidated by both ACL triggers (reversible stand-down); key usability on WriteOperate/AlarmAck gates regardless of Security:Acl:Enabled Joseph Doherty 2026-10-07 23:11:22 -04:00
  • 2b945672e9 fix(acl): revalidate event/alarm subscriptions on both triggers; key-usability check on role gates (#562, #563) Joseph Doherty 2026-10-07 23:10:35 -04:00
  • 501f6ea4e5 Merge #570/#579: native AbCip per-tag config errors, no mistype churn, STRING 82, LWORD type checks; non-blocking lease release (AbCip + AbLegacy) Joseph Doherty 2026-10-07 23:06:52 -04:00
  • 007174d28a Merge #573: AbLegacy fake tag factory is thread-safe (probe raced the test's tag create) Joseph Doherty 2026-10-07 23:06:07 -04:00
  • 4e6eed7454 fix(abcip): native runtime STRING capacity, mistype churn, malformed-name config error, LWORD type check; non-blocking lease release (#570, #579) Joseph Doherty 2026-10-07 23:05:49 -04:00
  • 8c685bcbba test(ablegacy): make FakeAbLegacyTagFactory.Tags thread-safe — probe loop raced the test thread (#573) Joseph Doherty 2026-10-07 23:05:34 -04:00
  • 1ab961c226 docs(abcip): browsePageDelayMs survives an AdminUI save now that the form preserves unknown keys (#576) Joseph Doherty 2026-10-07 23:04:01 -04:00
  • 7105ef3eb5 Merge #574/#576/#577/#584: AB forms preserve unknown keys + write factory ms keys, /raw device-name + prerender fixes, CLI read prints Bad status, docs dot-form Joseph Doherty 2026-10-07 23:03:48 -04:00
  • bafbcbee7e fix(adminui): AB forms read/write the factory-bound *Ms duration keys, migrate legacy TimeSpan strings (#576) Joseph Doherty 2026-10-07 23:03:38 -04:00
  • 4ba6cbab3a Merge #572/#575: native browse paging/lease/pacing, differential equal-refusal + budget isolation Joseph Doherty 2026-10-07 23:01:26 -04:00
  • be421a4cb0 fix(abcip): native browse paging/pacing/template lease (#572); differential equal-refusal + budget isolation (#575) Joseph Doherty 2026-10-07 22:59:29 -04:00
  • 29cd25dec8 Merge #568/#569/#580/#585: shared AB status map + orphan release, confinement guard tokeniser, adapter + DefaultTransport tests Joseph Doherty 2026-10-07 22:59:30 -04:00
  • 341417f193 fix(ab): share status map + libplctag orphan release, harden confinement guard, pin width-mismatch + DefaultTransport wiring (#568 #569 #580 #585) Joseph Doherty 2026-10-07 22:59:06 -04:00
  • 3d081ad29c fix(adminui,cli): /raw device-name placeholder + no-prerender tree, CLI read prints Bad status (#577) Joseph Doherty 2026-10-07 22:56:47 -04:00
  • 13a6727033 Merge #564/#565: CIP codec hardening, EncapsulationClient gate/timeout bounds Joseph Doherty 2026-10-07 22:55:02 -04:00
  • 7892eb13a8 fix(abcip): harden Ab.Transport CIP codec and EncapsulationClient (#564, #565) Joseph Doherty 2026-10-07 22:54:32 -04:00
  • bd2bebeda6 Merge #567/#582: RequestScheduler reply-size budget, private lock, fragment struct-handle check Joseph Doherty 2026-10-07 22:53:42 -04:00
  • 9641cefe2e fix(abcip): budget expected reply size in RequestScheduler.TakeBatch (#582); private lock + struct-handle check across read fragments (#567) Joseph Doherty 2026-10-07 22:53:10 -04:00
  • e588443ced fix(abcip,adminui): ParseEnum device wording + libplctag probe assertion (#574); AB forms preserve unknown keys + MaxConcurrentReads (#576); probe off for new AbCip driver (#577); docs T4:0.DN (#584) Joseph Doherty 2026-10-07 22:53:04 -04:00
  • 04b6563286 Merge native .NET Allen-Bradley transport (AbCip native default; AbLegacy native opt-in; real-press gated) Joseph Doherty 2026-10-07 22:40:06 -04:00
  • b25ee10a14 test(abcip): real-press pass 3 with packet capture — 17/17, zero write services, 4 sequential sessions (Z-35162) feat/native-ab-transport Joseph Doherty 2026-10-07 22:39:33 -04:00
  • 8e2dbc6721 merge: master (TwinCAT native array subscriptions) into feat/native-ab-transport Joseph Doherty 2026-10-07 21:51:12 -04:00
  • f73c2db599 docs(ab): final review r2 m4/m5 — AbCipTransport doc names Native as default; AbLegacy array-write deferral scoped to libplctag Joseph Doherty 2026-10-07 21:50:57 -04:00
  • ee3ffa90ef docs: final review — CLAUDE.md AB transport section (I1/I2/I3/I4) Joseph Doherty 2026-10-07 21:41:18 -04:00
  • cc3bea8370 fix(ab): final review M2 — a retyped libplctag handle field degrades to keep-alive Joseph Doherty 2026-10-07 21:41:03 -04:00
  • 352ea449e9 fix(abcip): final review I4 — a type mismatch is a refusal, not a comms fault Joseph Doherty 2026-10-07 21:40:04 -04:00
  • 2cea1a0687 fix(ab-transport): final review I2 — wire DeviceSessionPool.Shared to the host logger Joseph Doherty 2026-10-07 21:36:37 -04:00
  • b75e013d0a feat(abcip): final review I1 — node-level Drivers:AbCip:DefaultTransport Joseph Doherty 2026-10-07 21:34:48 -04:00
  • b66972b6f5 fix(ablegacy): final review I3 — default reverts to libplctag; Native is opt-in Joseph Doherty 2026-10-07 21:34:04 -04:00
  • a9fc933e3b docs(plans): native AB transport tasks.json status sync Joseph Doherty 2026-10-07 21:14:44 -04:00
  • 39ae286cd7 fix(ab): a refused operation is BadNotSupported, not a comms fault (Task 22 review r1; closes #571) Joseph Doherty 2026-10-07 21:12:08 -04:00
  • 1806af54f0 fix(ab): Task 22 review r1 — release-note timing and AbLegacy regressions, probe E2E on both transports Joseph Doherty 2026-10-07 21:06:40 -04:00
  • ed0881d672 feat(ab): native managed transport is the default for AbCip and AbLegacy; libplctag remains as fallback Joseph Doherty 2026-10-07 20:49:33 -04:00
  • 17e1170e61 docs(plans): native AB transport tasks.json status sync Joseph Doherty 2026-10-07 20:26:00 -04:00
  • 6a22d28098 test(abcip): real-press read-only gate — native vs libplctag differential and latency (Z-35162) Joseph Doherty 2026-10-07 20:25:32 -04:00
  • df77617051 docs(abcip): Large Forward Open refusal targets and ConnectionSize honouring (T21 review r1 M6) Joseph Doherty 2026-10-07 20:16:34 -04:00
  • 6ae6287360 fix(ab): orphan release clears the wrapper handle; rooting fallback documented and pinned (T21 review r1 M1/M2) Joseph Doherty 2026-10-07 20:16:33 -04:00
  • 43b81b6643 test(abcip): live tags keep a per-element value check; close barrier and GC/RTT attribution (T21 review r1 I1/M9/M8/M4) Joseph Doherty 2026-10-07 20:16:33 -04:00
  • c90b1a8214 feat(ab-transport): Forward Close and per-exchange round-trip gate diagnostics (T21 review r1 M8/M9) Joseph Doherty 2026-10-07 20:16:33 -04:00
  • 82a0c298ce test(abcip): read-parity volatility probe; live tags compared structurally (T21 press pass 1) Joseph Doherty 2026-10-07 19:50:41 -04:00
  • 6cd6876229 fix(ab): destroy the native libplctag tag a failed initialisation leaves behind (T21 press pass 1 crash) Joseph Doherty 2026-10-07 19:49:03 -04:00
  • c306c6f674 fix(abcip): CompactLogix native default connection size matches libplctag's Large Forward Open (found by T21 latency harness) Joseph Doherty 2026-10-07 19:34:30 -04:00
  • 2dc55ecb8f test(abcip): read-only poll-latency comparison harness for the T21 press gate (proven on ab_server) Joseph Doherty 2026-10-07 19:26:23 -04:00
  • 3ea72f29dd docs(plans): native AB transport tasks.json status sync Joseph Doherty 2026-10-07 19:12:59 -04:00
  • e066f89290 docs(ab): note the micro800 libplctag re-run after the empty-path fix Joseph Doherty 2026-10-07 19:12:59 -04:00
  • c7f7c940a8 docs(ab): native transport, Transport switch, known gaps and the type-check change Joseph Doherty 2026-10-07 19:12:32 -04:00
  • 9a576599e1 docs(plans): native AB transport tasks.json status sync Joseph Doherty 2026-10-07 19:11:03 -04:00
  • d613575f32 merge: libplctag empty-path fix (null Path for an empty CIP route) Joseph Doherty 2026-10-07 19:06:36 -04:00
  • b8ebafc642 feat(adminui): Transport dropdown on AbCip/AbLegacy driver forms (live-verified on docker-dev) Joseph Doherty 2026-10-07 19:05:50 -04:00
  • afe6850f3d fix(abcip,ablegacy): pass a null libplctag path for an empty CIP route (Micro800 / unrouted MicroLogix) Joseph Doherty 2026-10-07 19:05:43 -04:00
  • c8b35663e5 docs(plans): native AB transport tasks.json status sync Joseph Doherty 2026-10-07 18:29:04 -04:00
  • 566ab20d72 test(abcip): differential stops on first connection failure, paces + caps requests, reserves array/UDT slots, fails vacuous template parity; write tests opt-in (Task 18 review r1) Joseph Doherty 2026-10-07 18:24:25 -04:00
  • 1d6501f427 feat(ab-transport): process-wide open-attempt budget so the differential never retries an open (Task 18 review r1) Joseph Doherty 2026-10-07 18:10:25 -04:00
  • 0e20a8e5a9 test(abcip): read-only differential harness comparing native and libplctag on one target Joseph Doherty 2026-10-07 17:58:47 -04:00
  • d1ad2600d1 docs(plans): tasks.json sync Joseph Doherty 2026-10-07 17:46:19 -04:00
  • 52670447ca docs(plans): T17 results commit reference Joseph Doherty 2026-10-07 17:36:16 -04:00
  • 8c68694df1 test(ab): run the ab_server integration suites on both transports Joseph Doherty 2026-10-07 17:35:31 -04:00
  • 2171fc8ce3 fix(ablegacy): PCCC requestor id is libplctag's captured identity (found by Task 17 slc500) Joseph Doherty 2026-10-07 17:31:45 -04:00
  • 82d011c7a8 fix(ab-transport): RegisterSession carries a zero sender context (found by Task 17 controllogix) Joseph Doherty 2026-10-07 17:20:06 -04:00
  • 72c73f525e docs(plans): tasks.json sync Joseph Doherty 2026-10-07 17:15:54 -04:00
  • e66b05fddf docs(plans): native AB transport tasks.json status sync Joseph Doherty 2026-10-07 17:14:02 -04:00
  • cff57d25c5 test(abcip): Task 15 nullable warning fix Joseph Doherty 2026-10-07 17:13:53 -04:00
  • 45f6e1793f feat(abcip): Transport option selects native or libplctag across driver, probe and CLI Joseph Doherty 2026-10-07 17:13:37 -04:00
  • 1211cd9a83 test(abcip): Task 13 review r2 - non-vacuous exclusive-packing tests Joseph Doherty 2026-10-07 17:10:35 -04:00
  • b2b9aa04ed fix(abcip): Task 13 review r1 - bounded listing pager, exclusive large reads, template bound, safe lease release Joseph Doherty 2026-10-07 17:07:05 -04:00
  • 78e60a5a75 feat(abcip): native symbol listing and template reads feeding the unchanged decoders Joseph Doherty 2026-10-07 17:01:40 -04:00
  • 5dd1b987b9 docs(plans): native AB transport tasks.json status sync Joseph Doherty 2026-10-07 16:58:54 -04:00