Skip to content

Releases: quasarnova-team/hypernova

hypernova 1.1.1 — connection-manager rollback hardening

Choose a tag to compare

@parasxos parasxos released this 12 Jul 23:38

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

Choose a tag to compare

@parasxos parasxos released this 12 Jul 23:01

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 live ConnectionEndpoints of 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

Choose a tag to compare

@parasxos parasxos released this 12 Jul 18:58

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_signed demands
    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-of follower 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

Choose a tag to compare

@parasxos parasxos released this 12 Jul 16:16

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/Subscriber by 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