M9: Docs rewrite, release automation, v0.2.0 version bump - #23
Merged
Conversation
- 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The plan's M9 phase: make the repo tell the truth about v0.2.0 and automate the release.
Docs
Release automation
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_dispatchruns the same build without publishing — the dry-run mode.FFMPEG_DIRenv var first (the.cargo/config.tomlregex scrape is now only a local fallback), version derived fromhost/Cargo.toml,-StrictSignatureswitch for CI,--lockedbuilds, 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_DIRin the build-from-source snippet.Version
Host and wire crates → 0.2.0; iOS
MARKETING_VERSION0.2.0, build 5. Banner and mDNS TXT already readCARGO_PKG_VERSION.After merge: a
workflow_dispatchdry run of release.yml validates the installer pipeline end-to-end before M10's real tag.