HyperNet CoreDocumentation
stable / Version 0.9.0Core and Suite manuals
Reference library
Start here
On this page
  1. Linux 0.9.0
  2. Changes
  3. Platform and validation
  4. Upgrade scope
  5. Download and authenticate
  6. Fresh installation
  7. Existing installations
  8. Linux 0.8.0 (published)
  9. Platform and release scope
  10. Download and authenticate
  11. Fresh installation
  12. Existing installations

Linux release notes#

Linux 0.9.0#

Version 0.9.0 adds reusable application streams for services that need private, permissioned transport. Download the native x86_64 package from GitHub Releases. The historical 0.8.0 release notes and downloads remain below.

Changes#

  • Generic application streams provide relay-only duplex transport with separately verified application identity, exact service and local socket bindings, owner/operator consent, cancellation and bounded half-close handling. Protocol 7 carries application bytes without interpreting HTTP, inference requests or model formats.
  • Installed endpoints can use a remote authority through the Suite's private authority connector. The mapped ingress excludes application command sockets, signing keys and requester state.
  • Application renewal preserves identity and rights through explicit owner and application consent. Reusable stream slots bound retained session metadata without resetting generations or quotas.
  • Segmented committed history retains authenticated prefixes on disk with bounded segments, catch-up buffers and an explicit physical storage quota. Existing journals migrate on verified open; capacity exhaustion remains a refusal.
  • Read-only authority transport can recover from a closed exchange within its original deadline. Ordinary mutations retain their exact recovery path.

Platform and validation#

The release uses native Ubuntu 24.04 x86_64 and GNU libc 2.39. Hosting requires rootless Podman, subordinate UID/GID mappings, delegated cgroup v2 controls, seccomp and Landlock ABI 6 or newer. Missing enforcement prevents activation. Native ARM, macOS, Windows and SELinux-enabled hosting remain unqualified.

Signed installation and bounded native relay/authority/application workflows were exercised with separate application hosts and a remote relay. Application integration transferred and SHA256-verified 4,079,434,577 bytes in ten files, including pause/resume, cancellation and permission revocation. This is one bounded integration workload, not a throughput or long-running soak guarantee. Four authority replicas on one machine still share that machine's failures. Independent operator separation and security certification are not established.

Upgrade scope#

Protocol 7 requires matching Core and Suite support. Upgrade the authority committee together before creating new stream or renewal records; do not mix incompatible record semantics within a committee. The retained HyperNet080Authority2 package contract does not make post-0.9 state readable by 0.8. Install side by side through the accepted publisher and a fresh signed target policy, then use the documented stopped replacement workflow. Preserve package trust, complete journals/history, requester floors, identities and unresolved operations. Never reset those floors or substitute the old history format to force a downgrade. See upgrade and recovery.

Download and authenticate#

Download all five package inputs from the release: HyperNet-0.9.0-linux-x86_64.tar, its .sig, HyperNet-0.9.0-linux-x86_64.target.json, its .sig, and Publisher.pub. SHA256SUMS and SHA256SUMS.sig cover the downloadable artifacts. The release also supplies HyperNet-0.9.0-system-sources.tar.xz: exact Ubuntu source packages and patches for the libraries copied into the OCI image. Keep this source archive and the library notices with redistributed binary packages. Its README describes source verification and rebuilding.

Use Tools/Bundle.py and Tools/PackageTrust.py from an independently trusted checkout of the v0.9.0 tag. Python 3.11 or newer and OpenSSH ssh-keygen with Ed25519 SSHSIG support are required. Do not execute tools extracted from an unverified archive. Authenticate the publisher through a separate trusted channel before accepting this release root:

text
Root generation: 1
Root pin: 6529f9e574e73409ec578c9e9a66e683fef6ae885704d22d75538781b4b43b1e

The canonical public key is also recorded in PublisherKey.txt. This hexadecimal pin uses the package tool's canonical-key format, not OpenSSH's base64 fingerprint. A key and signature downloaded together cannot establish publisher identity by themselves.

From the download directory, using the trusted checkout's helper:

sh
python3 /Trusted/HyperNet/Tools/Bundle.py KeyPin --public-key Publisher.pub
sha256sum --check SHA256SUMS

Compare the computed pin with the independently accepted pin above. Checksums alone detect corruption, not publisher identity. Verify the signed checksum file with an independently trusted public key when checking the source accompaniment:

sh
printf 'ReleasePublisher %s\n' "$(cat Publisher.pub)" > ReleaseSigners
ssh-keygen -Y verify -f ReleaseSigners -I ReleasePublisher \
  -n HyperNetRelease1 -s SHA256SUMS.sig < SHA256SUMS

Fresh installation#

Use a new private installation prefix. Initialise trust once per product; Core and Suite use separate trust directories even with the same publisher. These commands are for a fresh installation, not replacement of existing trust.

sh
install -d -m 0700 "$HOME/.local/share/HyperNet" "$HOME/.local/opt"
python3 /Trusted/HyperNet/Tools/Bundle.py TrustInit \
  --trust-directory "$HOME/.local/share/HyperNet/PackageTrust" \
  --public-key Publisher.pub \
  --root-pin 6529f9e574e73409ec578c9e9a66e683fef6ae885704d22d75538781b4b43b1e \
  --root-generation 1 --version-floor 0.9.0 --state-contract HyperNet080Authority2
python3 /Trusted/HyperNet/Tools/Bundle.py Install \
  --archive HyperNet-0.9.0-linux-x86_64.tar \
  --signature HyperNet-0.9.0-linux-x86_64.tar.sig --public-key Publisher.pub \
  --trust-directory "$HOME/.local/share/HyperNet/PackageTrust" \
  --policy HyperNet-0.9.0-linux-x86_64.target.json \
  --policy-signature HyperNet-0.9.0-linux-x86_64.target.json.sig \
  --prefix "$HOME/.local/opt/HyperNet-0.9.0"
python3 /Trusted/HyperNet/Tools/Bundle.py VerifyInstalled \
  --prefix "$HOME/.local/opt/HyperNet-0.9.0" --public-key Publisher.pub
"$HOME/.local/opt/HyperNet-0.9.0/Bin/HyperNet" --help

The signed target has a finite validity interval recorded in its notBefore and expires fields. An expired target needs a newly authorised policy; do not bypass expiry or reset retained trust. Installation starts no network services and creates no membership. Keep profiles, keys, consent and data outside the prefix.

Existing installations#

The generation-1, sequence-3 target supports fresh release trust and existing trust for this publisher with a lower retained sequence. It cannot migrate an existing installation from a different publisher: root rotation must increase the retained generation, and a migration target must match that new generation and exceed the retained sequence. Existing development installations need a separately authorised compatible migration target from the accepted publisher.

Preserve profiles, journals, backups, retained floors and original package trust. Do not reset trust or create a replacement trust directory to bypass those floors. Earlier packages are not automatically upgraded or activated. Follow upgrade and recovery for independent root authentication, state compatibility, migration targets and side-by-side installation.

Linux 0.8.0 (published)#

HyperNet 0.8.0 is the first public Linux release. Download the native x86_64 package from GitHub Releases.

HyperNet provides four-replica Byzantine authority, consented rootless hosting, relay-only reader routes, durable content archives and replicated administration. It serves reviewed Pages, encrypted Mail and Transfers, scoped search and separately consented OpenSSH services. Federation shares approved publications between independently accepted network identities.

Platform and release scope#

The packaged profile is native Ubuntu 24.04 x86_64 with GNU libc 2.39 or newer. Other Linux distributions need the exact ELF loader and libraries recorded in Manifest.json; they are not separately qualified by this release. Native ARM, macOS and Windows are not qualified. SELinux-enabled hosting remains unqualified. Hosting additionally requires rootless Podman, subordinate UID/GID mappings, delegated cgroup v2 CPU/memory/PID controls, seccomp and Landlock ABI 6 or newer. Ubuntu 24.04 alone does not guarantee those kernel controls. Missing enforcement prevents activation. Four replicas on one machine share that machine's failures.

The release includes requester/recipient clock refresh corrections across durable writes and profile-lock ownership fixes. Existing proof deadlines, pending requests and completed effects remain enforced. Source regressions and signed installation checks cover this release. Earlier installed network, recovery, Mail, Transfer and graphical checks remain relevant to the unchanged runtime implementation; they do not become measurements of a different executable.

This release has no independent security certification. Saturation, long-running soak tests, full screen-reader use and independent operator/failure-domain qualification are outside the measured scope. Large file downloads remain slow: a prior 1 MiB relay download took 12.246 seconds. Native administration is not included; use the documented CLI. Read the security and platform guides before planning an exposed deployment.

Download and authenticate#

Download all five package inputs from the release: HyperNet-0.8.0-linux-x86_64.tar, its .sig, HyperNet-0.8.0-linux-x86_64.target.json, its .sig, and Publisher.pub. SHA256SUMS and SHA256SUMS.sig cover the downloadable artifacts. The release also supplies HyperNet-0.8.0-system-sources.tar.xz: exact Ubuntu source packages and patches for the libraries copied into the OCI image. Keep this source archive and the library notices with redistributed binary packages. Its README describes source verification and rebuilding.

Use Tools/Bundle.py and Tools/PackageTrust.py from an independently trusted checkout of the v0.8.0 tag. Python 3.11 or newer and OpenSSH ssh-keygen with Ed25519 SSHSIG support are required. Do not execute tools extracted from an unverified archive. Authenticate the publisher through a separate trusted channel before accepting this release root:

text
Root generation: 1
Root pin: 6529f9e574e73409ec578c9e9a66e683fef6ae885704d22d75538781b4b43b1e

The canonical public key is also recorded in PublisherKey.txt. This hexadecimal pin uses the package tool's canonical-key format, not OpenSSH's base64 fingerprint. A key and signature downloaded together cannot establish publisher identity by themselves.

From the download directory, using the trusted checkout's helper:

sh
python3 /Trusted/HyperNet/Tools/Bundle.py KeyPin --public-key Publisher.pub
sha256sum --check SHA256SUMS

Compare the computed pin with the independently accepted pin above. Checksums alone detect corruption, not publisher identity. Verify the signed checksum file with an independently trusted public key when checking the source accompaniment:

sh
printf 'ReleasePublisher %s\n' "$(cat Publisher.pub)" > ReleaseSigners
ssh-keygen -Y verify -f ReleaseSigners -I ReleasePublisher \
  -n HyperNetRelease1 -s SHA256SUMS.sig < SHA256SUMS

Fresh installation#

Use a new private installation prefix. Initialise trust once per product; Core and Suite use separate trust directories even with the same publisher. These commands are for a fresh installation, not replacement of existing trust.

sh
install -d -m 0700 "$HOME/.local/share/HyperNet" "$HOME/.local/opt"
python3 /Trusted/HyperNet/Tools/Bundle.py TrustInit \
  --trust-directory "$HOME/.local/share/HyperNet/PackageTrust" \
  --public-key Publisher.pub \
  --root-pin 6529f9e574e73409ec578c9e9a66e683fef6ae885704d22d75538781b4b43b1e \
  --root-generation 1 --version-floor 0.8.0 --state-contract HyperNet080Authority2
python3 /Trusted/HyperNet/Tools/Bundle.py Install \
  --archive HyperNet-0.8.0-linux-x86_64.tar \
  --signature HyperNet-0.8.0-linux-x86_64.tar.sig --public-key Publisher.pub \
  --trust-directory "$HOME/.local/share/HyperNet/PackageTrust" \
  --policy HyperNet-0.8.0-linux-x86_64.target.json \
  --policy-signature HyperNet-0.8.0-linux-x86_64.target.json.sig \
  --prefix "$HOME/.local/opt/HyperNet-0.8.0"
python3 /Trusted/HyperNet/Tools/Bundle.py VerifyInstalled \
  --prefix "$HOME/.local/opt/HyperNet-0.8.0" --public-key Publisher.pub
"$HOME/.local/opt/HyperNet-0.8.0/Bin/HyperNet" --help

The signed target has a finite validity interval recorded in its notBefore and expires fields. An expired target needs a newly authorised policy; do not bypass expiry or reset retained trust. Installation starts no network services and creates no membership. Keep profiles, keys, consent and data outside the prefix.

Existing installations#

The published generation-1 target is for fresh release trust. It cannot migrate an existing installation from a different publisher: root rotation must increase the retained generation, and a migration target must match that new generation and exceed the retained sequence. Existing development installations need a separately authorised compatible migration target from the accepted publisher.

Preserve profiles, journals, backups, retained floors and original package trust. Do not reset trust or create a replacement trust directory to bypass those floors. Earlier packages are not automatically upgraded or activated. Follow upgrade and recovery for independent root authentication, state compatibility, migration targets and side-by-side installation.

HyperNet Core / DocumentationBack to top

Search documentation

Press Escape to close

Loading search...

    Reading appearance

    Choose colours, surfaces and text independently. These settings are saved for this documentation site in this browser.

    Flat surfaces remove decorative materials. Typography is a separate choice. Increased contrast uses the Contrast palette. System forced colours always take precedence.