Skip to content

M9: Docs rewrite, release automation, v0.2.0 version bump - #23

Merged
whoisaldo merged 4 commits into
mainfrom
revamp/m9-docs
Aug 26, 2026
Merged

M9: Docs rewrite, release automation, v0.2.0 version bump#23
whoisaldo merged 4 commits into
mainfrom
revamp/m9-docs

Conversation

@whoisaldo

@whoisaldo whoisaldo commented Aug 26, 2026

Copy link
Copy Markdown
Owner

The plan's M9 phase: make the repo tell the truth about v0.2.0 and automate the release.

Docs

  • README rewritten around what v0.2.0 actually is (input relay, protocol v2, reliability, HEVC opt-in), with working badges (CI + latest release instead of a dead v0.1.1 asset), the macOS dev loop, the E2E harness, and an env-var reference. The hardcoded personal path is gone.
  • ARCHITECTURE.md rewritten: threading model, wire-format tables, session rules, reliability mechanisms, input relay, codec negotiation, and the portability/testing map.
  • DECISIONS.md: protocol v2 rationale (clean break, FlatBuffers removal, no app-layer CRC, FEC deferred, reports-as-liveness), FFmpeg 7.1 pin, encoder-reopen model, VDD license verification (MIT — its text now ships in the installer, closing the repo's open TODO), input-relay design, release policy.
  • RELEASE_NOTES.md v0.2.0 section; FRIENDS_TESTING.md and QUICKSTART.txt updated for the new features; HARDWARE_VERIFICATION.md added — the ~45-minute pre-release runbook (8 sections, per-GPU repeats, failure playbook) that M10 executes.

Release automation

  • release.yml: tagging v* builds the installer on windows-2022 — pinned FFmpeg 7.1, pinned Virtual-Display-Driver 25.5.2 downloaded at build time with hard-fail Authenticode verification, Inno Setup via choco, and a GitHub release whose body carries the installer's SHA-256 (docs/download.html already scrapes exactly that). workflow_dispatch runs the same build without publishing — the dry-run mode.
  • package.ps1 / build-installer.ps1: FFMPEG_DIR env var first (the .cargo/config.toml regex scrape is now only a local fallback), version derived from host/Cargo.toml, -StrictSignature switch for CI, --locked builds, and the driver's license staged beside it.

Website

Honesty pass: the unmeasured "<20ms" stat and "no drivers to install" line are gone; v0.2.0 banner and roadmap (Extend + Control shipped; Audio + USB next); FFMPEG_DIR in the build-from-source snippet.

Version

Host and wire crates → 0.2.0; iOS MARKETING_VERSION 0.2.0, build 5. Banner and mDNS TXT already read CARGO_PKG_VERSION.

After merge: a workflow_dispatch dry run of release.yml validates the installer pipeline end-to-end before M10's real tag.

- README rewritten for what v0.2.0 actually is: input relay, protocol v2,
  reliability, HEVC opt-in, honest testing story, mac dev loop, env-var
  reference. Badges point at CI and the latest release instead of a dead
  v0.1.1 asset; the hardcoded personal path is gone.
- ARCHITECTURE.md rewritten around the shipped system: threading model,
  wire format tables, session rules, reliability mechanisms, input relay,
  codec negotiation, portability/testing map.
- DECISIONS.md updated with the v2 rationale (clean break, FlatBuffers
  removal, no app-layer CRC, FEC deferred, report-as-liveness), the FFmpeg
  7.1 pin, encoder-reopen model, VDD license verification (MIT — its text
  now ships beside the driver), input-relay design, and release policy.
- RELEASE_NOTES.md gains the full v0.2.0 section.
- FRIENDS_TESTING.md and QUICKSTART.txt cover the new features (input
  gestures, HEVC toggle, recovery behavior) and the v2 parity story.
- HARDWARE_VERIFICATION.md: the ~45-minute pre-release runbook for
  everything CI can't prove (8 sections, per-GPU repeats, failure
  playbook).
- release.yml: tagging v* builds the installer on CI — pinned FFmpeg 7.1,
  pinned Virtual-Display-Driver 25.5.2 with HARD-FAIL Authenticode
  verification, Inno Setup via choco, SHA-256 published in the release
  body (which the website already scrapes). workflow_dispatch runs the
  same build without publishing = the dry-run mode.
- package.ps1/build-installer.ps1 honor FFMPEG_DIR (env) first and derive
  the version from host/Cargo.toml instead of hardcoding it; the installer
  script gains -StrictSignature for CI and stages the driver's license.
- Website: honest claims (the "<20ms" stat and "no drivers" line are
  gone), v0.2.0 banner and roadmap (Extend + Control done; Audio + USB
  next), FFMPEG_DIR in the build-from-source snippet.
- iOS MARKETING_VERSION 0.2.0, build 5.

Host Cargo.toml stays 0.1.2 in this commit — the bump lands after the M8
branch merges (both touch Cargo.lock).

Claude-Session: https://claude.ai/code/session_013ezpmTwAW6yAcRdy2DEaex
Plainer sentences throughout the rewritten docs: dashes out, label-colon
bullets converted, repeated pet words deduplicated. Historical release-notes
sections keep their original text.

Claude-Session: https://claude.ai/code/session_013ezpmTwAW6yAcRdy2DEaex
Single-sourced: the GUI banner and mDNS TXT read env!(CARGO_PKG_VERSION),
the packaging scripts parse host/Cargo.toml, and iOS MARKETING_VERSION
matches at 0.2.0 (build 5).

Claude-Session: https://claude.ai/code/session_013ezpmTwAW6yAcRdy2DEaex
@whoisaldo
whoisaldo merged commit 85d2f3b into main Aug 26, 2026
4 checks passed
@whoisaldo
whoisaldo deleted the revamp/m9-docs branch August 26, 2026 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant