Skip to content

v0.1.1 — maintenance update

Choose a tag to compare

@ogaworld369 ogaworld369 released this 05 Nov 04:53
· 48 commits to main since this release

v0.1.1 — maintenance update

A small maintenance release for the Android full node. It fixes the low-severity findings of a full source audit of v0.1.0 (no high- or medium-severity issues were found). No changes to the node's launch arguments, the database format, or the app's permissions: it installs over v0.1.0 and keeps your settings and synced data — verified on the reference device, where the node resumed at the chain tip after the update without re-syncing.

What's fixed

  • Leftover-process check tightened — the "is an old node still running?" check now uses the same strict match as the process scan (libquantus_node.so), removing a rare false-positive that could block starting (PID reuse combined with an unrelated process name).
  • Interrupted workers now shut down cleanly — if the node-waiting thread is ever interrupted, the session now goes through the same generation-checked stop path as a normal exit instead of returning early.
  • Display-name hardening — bidirectional text controls, U+FEFF and zero-width spaces are stripped from node names (ZWNJ/ZWJ are kept: legitimate in Arabic-script and Indic names), and the 64-character limit now counts Unicode code points, so emoji can no longer be split into broken characters. The stored raw name is also capped at 256 characters.
  • CA bundle freshness by content — the bundled Mozilla CA list is now re-copied when its contents differ, not only when its length changes.
  • Start-failure evidence is more complete — the per-attempt output capture now waits up to 3 s, so the node's final lines (often the failure reason) are not cut off.
  • Two unused translation keys removed (49 keys × 9 languages, machine-verified again), a stale code comment corrected, and the in-app footer now shows the real version (v0.1.1) instead of the old "v0.1-mvp" label.

Verification

  • Full source audit of v0.1.0 before fixing: findings were low-severity only; the race fixes of earlier builds were re-read and confirmed closed.
  • JVM checks: translation tables (49 keys × 9 languages, all format strings executed), name-sanitizing suite 21/21 cases.
  • Lifecycle desk check: 9 sequences traced through the code (the previous 8 plus the new interrupt case).
  • Byte-level comparison with the v0.1.0 APK: only classes.dex, the version in AndroidManifest.xml, and the signature files differ — the node binary, the CA bundle and all resources are byte-identical.
  • On device (Pixel 9a, GrapheneOS): updated in place over v0.1.0, settings carried over, node resumed at the tip and ran in steady state.
  • Honest note: the race and interrupt sequences are verified by code tracing, not reproduced on a device.

Requirements

  • Android 12 or newer, arm64 device
  • Verified on: Pixel 9a + GrapheneOS. Other devices are expected to work, but vendor power management may stop the background service
  • About 3 GB of free storage (measured after a full sync: 1.30 GB total)
  • Wi-Fi recommended for the first sync (about 2–3 hours; battery went from 71% to 27% in our first-sync test, including time on mobile data)

Install

Download quantus-node-v0.1.1.apk below and open it on the phone. If you already run v0.1.0, just install it over the existing app — do not uninstall first, or your synced database and node identity are deleted. Android may ask you to allow installs from your browser or file manager.

Files

  • quantus-node-v0.1.1.apk — 55,683,797 bytes
    SHA-256: b1f91fca62e6944dfcb47ca029c72c9c8d7a41c341c4be0a4e7c6379a5cad6b0

Signing

Release signing certificate SHA-256 (unchanged from v0.1.0):
65bb1a5fef27d70be1dd12fc12ce3484b4c848fceca92f8898cd96cb2784f6ff

Verify with: apksigner verify --print-certs quantus-node-v0.1.1.apk