v0.2.1
Fixed
A node's status was unavailable for a full heartbeat interval after it registered.
Heartbeats are periodic, so the status snapshot they carry is one interval away. On the default 15-second cadence the Hub reported no status at all for a node that had just come up — GET /api/v1/nodes/{id}/status answered 404 for ~18 seconds:
registered. polling /api/v1/nodes/worker-01/status every 2s
t+2s → 404
...
t+16s → 404
t+18s → 200 ← 18 seconds of nothing
The agent now pushes a snapshot on becoming ready, on every (re)registration, so status is live immediately (t+1s → 200).
Introduced in 0.2.0: the pre-omnyhub agent sent an eager first heartbeat for exactly this reason, and omnyhub's NodeRuntime beats only on its timer. The test suite could not see it — the harness uses a 200 ms cadence, so a beat always landed before the assertion. The new regression test uses a 30 s cadence, which fails without the fix and passes with it.
Changed
run-hub.shstill passed--api-port, removed in 0.2.0 when the REST API moved onto the Hub's TLS port. It now uses--node-path. The README told people to run it, so it was broken.- README refreshed for the single-port model — the quick-start could not run as written (
nodes listwith no--api/--ca/--token) — plus the full badge set and an OmnyGrid ecosystem section.
101 tests, green on Linux, macOS and Windows. Verified end-to-end against the real CLI. Full notes in CHANGELOG.md.