Skip to content

v0.3.6

Choose a tag to compare

@github-actions github-actions released this 07 Nov 19:46
· 6 commits to main since this release
v0.3.6
d7701ba
  • Add an explicit RuntimeBehavior::kPython policy for the unified facade. The native policy remains the default. Classic L6, O6, L20Lite, L20, L30 and explicit O30 V25 are in scope; L6 HOP and mounted O30 retain their existing native path.
  • Coalesce equivalent active reads, identity refreshes and polling by device. Callers retain independent wait deadlines and bounded admission. A result or error published after a caller deadline does not replace that caller's timeout. Unclaimed reads without remaining demand are discarded; polling demand remains independent of internal waiter timeouts. A timed-out reader cannot cancel another reader's transaction. Latest setters remain replaceable until the device transaction lane is available. The existing transport Session remains the physical sender.
  • Start required response windows after physical batch completion, retain a separate recovery execution deadline, and buffer early replies/errors until delivery is known. Classic identity uses one four-request batch with the Python 5 ms spacing. Protocol defaults and an explicit ordinary response-window override are available without changing native timeout defaults. Identity windows use identity_timeout independently; legacy Manager waits do not shorten the selected policy.
  • Reject matching malformed Classic vector, bank and identity responses in the opt-in path. Preserve the last successful cache and apply finite late-response guards. Unrelated routes and opcodes remain unmatched.
  • Under the opt-in policy, serialize endpoint admission and receipt retention with close. Drain all frames of an already claimed physical batch, including read and required-ACK batches; a required-ACK command still fails closed. Preserve the physical outcome of a claimed dispatch-only command during close. Unclaimed commands fail closed; a required-ACK command cannot become successful from delivery alone. No command is replayed on reopen or recovery. Closed runtime references cannot gate or cancel a reopened profile endpoint.
  • Let concurrent callers join an explicit recovery cycle, with independent waits. Retry response-window loss only, after an endpoint quiet period, without reopening the transport for every initialization attempt. Protocol, identity and transport failures stop the cycle. Failed preparation cannot start a later reconnect; explicit recovery is also allowed from Faulted.

The minimum and paired transport remain v0.3.4 (0e190032d65ed0b315337b45b3779cf4f650ed68). Rebuild the SDK and downstream consumers with matching headers and static libraries. Existing signatures and native default behavior remain available; binary compatibility with earlier headers is not claimed.

Validation is offline unless a separate hardware record states otherwise. FakeTransport regressions and pinned Python behavior vectors cover the changed transaction and lifecycle paths. Native/source/prebuilt/installed consumers, sanitizers, static analysis and the twelve-target package matrix remain release gates. No new physical-device acceptance is claimed. Deployed adapters, drivers, firmware, timestamps and mixed-device channel behavior still require hardware acceptance. O20, Python bindings, automatic reconnect/adaptive feedback parity and hand/arm integration are not included.

Source: hand commit d7701bad9d01f9ff72c2e78d1c0c5bc5c39df0da, signed tag v0.3.6. Python behavior reference: 3a63e723b9a0046e9a60a58339b9f064ef5b70fd; this identifies the comparison source, not a deployed hardware acceptance record.

The changed paths have 46 focused regression cases (334 assertions), alongside the full offline suites, 30 executable native/profile/Python observations and 31 same-input wire vectors.

Validation records: merged-source CI, prebuilt transport consumers, complete static report, tagged twelve-target package and draft verification.

Packages cover Ubuntu 20.04/22.04/24.04/26.04 x86_64 and ARM64 Release, plus Windows x64 and ARM64 Debug/Release. Select the matching platform and runtime, and verify the manifest and SHA-256 checksums. Vendor drivers are not bundled.