Releases: quasarnova-team/hypernova
Release list
hypernova 1.1.1 — connection-manager rollback hardening
Connection-manager hardening from the FX adversarial review: fx connect now rolls both sides back on any post-publisher failure (missing/malformed coordinates, subscriber refusal, or a registry error) — a failed connect never orphans a live half-connection or leaks a server endpoint slot. Coordinates are type-validated before use. 3 new regression tests (89 total, green). Pairs with supernova 1.2.1.
hypernova 1.1.0 — the FX connection manager
hypernova 1.1.0 — the FX connection manager
hypernova learns OPC UA FX: hypernova fx is a connection manager for
servers that expose the FX pattern (Parts 80/81) — today,
supernova ≥1.2.0
with an <Fx> section.
What's new
hypernova fx connect— wires one server's output dataset to another's
input dataset in one command: publisher side first, its returned wire
coordinates handed to the subscriber side as the peer; if the subscriber
refuses, the publisher side is closed again (no half-open links).hypernova fx status— the liveConnectionEndpointsof a server,
with per-endpoint state (Operational,Initial, …).hypernova fx close— teardown by connection id.--register / --register-as / --network— the established stream
becomes a first-class hypernova publication: field names and types are
read from the publisher's FX view, and the registry (which listens to what
it registers) shows the link's values live in the browser. Engineered
links and ad-hoc consumers share one wire.- AutomationComponent auto-discovery (or
--pub-component/--sub-component
to skip it). Requires the[bridge]extra (asyncua). Docs:
doc/fx.md.
Verification
- 5 new unit tests on the orchestration semantics (publisher-first,
coordinate handoff, rollback on subscriber refusal, projection type map) —
87 tests total, green. - End-to-end against real supernova servers in all four backend
combinations; registry synergy verified live (typed registration + the
registry's message counter climbing on the FX stream).
Unchanged
The core (registry, clients, relay, bridges, signing) is untouched — 1.1.0
is purely additive.
hypernova 1.0.0
The consolidation release — every v0.1 gap closed:
- Message signing (hypernova signing profile v1): HMAC-SHA256 in the
Part 14 SecurityHeader frame structure — sign at the publisher or at the
boundary relay, verify in Python and Java;require_signeddemands
cryptographic verification (a self-asserted signed bit proves nothing).
Every-bit-flip tamper test; honest limits (no replay window, no
encryption, not yet cross-stack SecurityPolicy) in doc/security.md. - DIP-scale registry: O(1) stream matching (55k publications: 0.33 s to
register, <1 µs lookups), write locking, Prometheus/metrics,
--mirror-offollower convergence, per-endpoint bind isolation. - Arrays end to end, including through supernova C++ servers
(supernova 1.1.0) — a DOUBLE[] round-trips
python→C++ reader→address space→C++ writer→python bit-exact. - Java client (dependency-free, JDK 11+): subscribe/publish by name,
arrays, quality, signature verification — byte-parity with the C++ and
Python codecs on shared golden vectors, plus a live cross-language CI loop. bridge-opcua: publications served as a classic OPC UA server, so any
OPC UA client — including commercial SCADA tools — can consume streams
without Part 14 support (verified with an OPC UA client end to end).bridge-dip: the migration bridge — republish existing DIP
publications as hypernova streams (CI-tested against a stubbed DIP API;
on-site validation against a live DIP installation still pending).- Soaked and reviewed: 40-minute multi-wrap soak with the registry
subprocess measured (flat RSS/fds, zero loss); second internal
adversarial review — 18 findings, all fixed and regression-locked. - Ops: container build + release workflow (public ghcr publication pending), systemd units, deep-linkable browser,
registry failover via comma-separated URLs.
The scored quality record: QUALITY.md — every aspect scored with evidence (soak, scale, two internal adversarial reviews, three-language byte-parity).
DIP gap analysis: DIP-PARITY.md — all capabilities ✅, most strictly better.
Install: from git while public container publication is pending — see the README.
hypernova 0.1.0
First release of the fabric:
- UADP wire codec (Part 14), byte-identical to supernova's C++ engine on
C++-generated golden vectors; scalars + one-dimensional arrays; DataValue
field encoding carrying per-field status + source timestamp. - Registry: names → streams with collision refusal and leases, per-network
endpoints, JSON persistence — and it listens to what it registers: live
web browser with values, quality, rates, staleness, loss counters and
copy-paste subscriber snippets. - Python clients:
Publisher/Subscriberby name, coordinate caching
(registry-down resilient), explicit-coordinates mode. - Boundary relay: raw-forwarding pinhole process with per-route counters and
a health endpoint. - CLI:
registry,relay,browse,sub,pub,register. - Interop suite vs supernova C++ servers (both quasar backends, both
directions) and a one-command two-network demo.
Quality record: QUALITY.md · DIP gap analysis: DIP-PARITY.md