Skip to content

v1.0 Release Roadmap — sequencing, waves & critical path #167

Description

@VijitSingh97

Single source of truth for the v1.0 release plan. This issue sequences the milestone v1.0 work into ordered waves so humans and agents can see what to do next and why, not just what's left. The milestone says what ships in 1.0; this issue says in what order and what blocks what.

How to use this

  • Pick up the lowest-numbered wave with unfinished work. Within a wave, follow the listed order (it encodes intra-wave dependencies).
  • Every issue carries a wave-N-* label, so you can query directly, e.g. is:open is:issue milestone:v1.0 label:wave-6-release.
  • Check the box here when an issue closes (GitHub keeps the cross-references live).

Status (updated 2026-06-11): v1.0 is 55 closed / 3 open — just the release-engineering finish line (#44, #80) plus this roadmap. Waves 1, 2, 3 and 5 are DONE; Wave 4 was slipped to v1.1. The security/privacy long pole (Wave 2) closed out: every clearnet leak fix landed (#161/#162/#163/#122/#153/#164), the stratum access-password #152 + dev-fee transparency #173 shipped (PR #207), dashboard auth #8 shipped (PR #217), and #57 (argv RPC creds) was closed wontfix with the rationale recorded in docs/privacy.md (PR #219). The whole Wave 3 dashboard cluster shipped (the #156#159 metrics/layout chain, worker-table accuracy #169/#182, chart/badge polish #168/#184/#175, and correctness bugs #141/#136). Wave 5 test hardening is done (#124 CI image builds + hadolint; #140 backup/restore + caddyfile + host-helper tests, PR #220). The privacy-default flips (#165/#166), the #160 epic, and the #91/#183 hardening/convenience items, plus the Wave-4 alerting pair (#121/#79), were deferred to v1.1 (the privacy flips need live-mining benchmarking; the alerting pair is net-new and not launch-blocking).

What's actually left for v1.0: just the Wave 6 finish line — the release pipeline #44, then the launch assets #80 (both unblocked: #54 ✔ + VERSION ✔, and the dashboard UI is final). The Wave-4 alerting pair (#121/#79) was slipped to v1.1. That's it — two release-engineering items.


Critical path (what gates "can we ship?")

Waves 1 / 2 / 3 / 5  ✔ ALL DONE   ·   #54 E2E gate ✔ PASSED   ·   Wave 4 (#121/#79) ➡️ slipped to v1.1
        │
        └─►  #44 release pipeline (unblocked)  ─►  #80 launch assets (unblocked: UI final)  ─►  SHIP

Parallel tracks

Both the backend/security track and the dashboard track have converged. All that remains is Wave 6 (#44 then #80), runnable now.


Wave 1 — Correctness, data-safety & setup wave-1-correctness ✅ DONE

Silent-failure bugs that burn early adopters, plus first-run/setup reliability.

Apply / upgrade / persistence path:

First-run / setup path:

Wave 2 — Security & privacy wave-2-security ✅ DONE (for v1.0)

Credibility-critical for a private-Monero product. The leak fixes, the auth, and the access-control knobs all shipped; the privacy-default flips were consciously deferred to v1.1.

Tier A — clearnet leaks & fail-closed:

Tier B — hardening & limits:

Tier C — privacy-first defaults (epic #160): the v1.0 leak-fixes (Tier A) are done; the default-flips need live-mining benchmarking and were deferred:

Tier D — dashboard auth & safe exposure:

Transparency:

Docs: [x] #164docs/privacy.md egress reference · [x] #113 — public-IP warning.

Wave 3 — Dashboard wave-3-dashboard ✅ DONE

The thing people screenshot. The whole cluster shipped (PRs #210#216, #218).

A. Core metrics & layout chain:

B. Worker-table accuracy:

C. Chart & badge polish:

D. Correctness bugs:

Wave 4 — Operator alerting wave-4-alerting ➡️ SLIPPED to v1.1

Feature track, deferred to v1.1 (2026-06-11). Net-new, default-off, not launch-blocking, and v1.1 already owns the richer Telegram bot (#45) and outage flagging (#99). Both have draft PRs but they're stale (opened 2026-06-04, predating the #124 CI expansion + the Wave-3 dashboard refactor) and need a rebase + full re-validation + un-draft before review — kept open as the v1.1 starting point.

Wave 5 — CI & test hardening wave-5-ci-tests ✅ DONE

Wave 6 — Release gate & launch wave-6-release ⬅ THE FINISH LINE

Strictly ordered. The gate (#54) is cleared; both remaining items are unblocked.

  1. Comprehensive end-to-end infrastructure test matrix on a real Ubuntu server (full Monero + Tari node) #54 — comprehensive E2E infrastructure test matrix on a real Ubuntu server (the release gate — PASSED)
  2. Release & versioning structure (single-product releases via GHCR) #44 — release & versioning pipeline → GHCR (unblocked: Comprehensive end-to-end infrastructure test matrix on a real Ubuntu server (full Monero + Tari node) #54 ✔ + VERSION ✔)
  3. Launch assets: refreshed hero screenshot + demo GIF + GitHub social preview #80 — launch assets: refreshed hero screenshot + demo GIF + social preview (unblocked: the dashboard UI is final)

Cross-issue dependencies (still live)

This… …waits for Status
#80 (launch screenshots) the final dashboard UI (Wave 3) unblocked — Wave 3 shipped
#44 (release pipeline) #54 ✔ + VERSION unblocked
#160 epic (now v1.1) #165, #166 Epic closes when the Tor-default children land (v1.1)
#182#169 shared per-worker last_active state ✅ both shipped together

Deferred to v1.1 (the release valve — all actioned)

Explicitly NOT in v1.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    infraDeployment, packaging, releases

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions