diff --git a/CHANGELOG.md b/CHANGELOG.md index cd0d919..e36e061 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -482,7 +482,9 @@ and the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format. - All Phase 1 commands are strictly read-only. No state-changing ADB commands are issued. -[Unreleased]: https://github.com/richardkfm/los-bootstrap/compare/v0.12.0...HEAD +[Unreleased]: https://github.com/richardkfm/los-bootstrap/compare/v0.13.0...HEAD +[0.13.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.12.1...v0.13.0 +[0.12.1]: https://github.com/richardkfm/los-bootstrap/compare/v0.12.0...v0.12.1 [0.12.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.11.0...v0.12.0 [0.11.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.10.0...v0.11.0 [0.10.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.9.0...v0.10.0 diff --git a/CLAUDE.md b/CLAUDE.md index 4f4ca9e..07dc033 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,11 +13,14 @@ audit privacy posture, and (eventually) apply opinionated hardening. It can guide users through flashing a ROM and unlocking their bootloader, and helps with everything that comes after the ROM is installed. -## Current scope (Phase 10, version 0.12.x) +## Current scope (Phase 10 complete, version 0.13.x) Audit MVP, bootstrap profiles, hardening assistant, location / maps integration, camera / GCam port profiles, interactive wizard, ROM flashing assistant, -one-line install distribution, and Android tablet support: +one-line install distribution, and Android tablet support. Phases 1–10 have +all shipped; 0.13.0 layered cross-cutting CLI polish and bug fixes on top of +that scope rather than opening a new phase. **No Phase 11 is scoped yet** — +see `roadmap.md` for how to propose one. - Phase 1–5 (still in place): see prior changelog entries - Phase 6 (still in place): @@ -106,8 +109,26 @@ one-line install distribution, and Android tablet support: language across wizard prose, flash unlock guides, and camera hints. - GCam port profiles for two LineageOS tablets: Xiaomi Pad 5 (nabu) and OnePlus Pad (jupiter). - -If a change does not fit Phase 10, it goes in the roadmap, not the code. + - ✓ Shipped in 0.12.0. Exit criteria met; see `roadmap.md`. + +- Phase 10 follow-up polish (0.13.0, not a new phase): + - Global options (`--serial/-s`, `--no-banner`, `--compact-banner`) now + also accepted after the subcommand; `--version`/`-V` flag added. + - Colorized report output (audit, harden, location doctor) on a TTY, + honoring `NO_COLOR` / `FORCE_COLOR`. + - Distinct exit code (3) for commands whose checks found issues, + separate from exit code 2 (usage errors). + - `flash status` detects Samsung Download Mode via `heimdall detect`. + - Profile files with a `.yaml` extension are now discovered alongside + `.yml`. + - Notable fixes: microG was never actually detected in + `location doctor` (wrong package id) and always produced a false + "real GMS" warning; several flash-safety gaps (destructive steps not + gated, wrong-codename ROM not blocked, `flash run` hanging on a + booted device) were closed. Full list in `CHANGELOG.md`. + +If a change does not fit Phase 10 or the maintenance/polish of an +already-shipped phase, it goes in the roadmap, not the code. ## Non-goals diff --git a/README.md b/README.md index 90bdde2..a4b84c4 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,17 @@ A CLI-first toolkit for **LineageOS** and other AOSP-derived, degoogled Android ROMs — covering the full journey from locked bootloader to a hardened, privacy-audited daily driver. -> **Status:** Phase 10 — Android tablet support. `los-bootstrap info` now -> detects phone vs tablet via `ro.build.characteristics`. GCam port -> profiles added for Xiaomi Pad 5 (`nabu`) and OnePlus Pad (`jupiter`). -> All user-visible "About phone" language is now form-factor-neutral. -> Install with a single `curl … | sh` (Linux/macOS) or `irm … | iex` -> (Windows PowerShell) command. Mutating commands only run with explicit -> `--confirm`. See [`roadmap.md`](./roadmap.md) for what comes next. +> **Status:** v0.13.0. Phase 10 (Android tablet support) is complete — +> `los-bootstrap info` detects phone vs tablet via +> `ro.build.characteristics`, with GCam port profiles for the Xiaomi Pad 5 +> (`nabu`) and OnePlus Pad (`jupiter`) and form-factor-neutral prose +> throughout. 0.13.0 added colorized report output, a distinct exit code +> for findings that need attention, `--version`/`-V`, Samsung Download +> Mode detection, and fixed a false-positive microG detection bug plus +> several flash-safety gaps. Install with a single `curl … | sh` +> (Linux/macOS) or `irm … | iex` (Windows PowerShell) command. Mutating +> commands only run with explicit `--confirm`. No new phase is scoped yet +> — see [`roadmap.md`](./roadmap.md) for what's next. [Why](#why) · [Install](#install) · [Upgrade](#upgrade) · [Quick start](#quick-start) · [What it currently does](#what-it-currently-does) · [What it does NOT do](#what-it-does-not-do) · [Project layout](#project-layout) · [License](#license) diff --git a/roadmap.md b/roadmap.md index 7c26b5b..ffeb543 100644 --- a/roadmap.md +++ b/roadmap.md @@ -298,7 +298,7 @@ read and audit it in one sitting. --- -## Phase 10 — Android Tablet Support +## Phase 10 — Android Tablet Support ✓ **Goal:** make los-bootstrap correctly detect and serve Android tablets running LineageOS — the same ROM, the same privacy goals, but a different form factor @@ -331,7 +331,30 @@ port profiles. **Exit criteria:** `los-bootstrap info` correctly labels a connected tablet as `form_factor: tablet`. All "About phone" occurrences visible to the user are replaced with neutral language. Two tablet GCam profiles are present and -`camera list-profiles` shows them. All tests pass. +`camera list-profiles` shows them. All tests pass. ✓ Shipped in 0.12.0. + +--- + +## Post-Phase-10 maintenance (0.13.0) + +0.13.0 did not open a new phase; it was a cross-cutting polish and +bug-fix release on top of the Phase 1–10 scope: CLI ergonomics +(`--version`, global flags after the subcommand), colorized report +output, a distinct exit code for findings, and a batch of correctness +fixes (microG detection, flash-safety gating, `.yaml` profile discovery). +See `CHANGELOG.md` for the full list. + +--- + +## What's next + +**No Phase 11 is currently scoped.** Phases 1–10 are complete and 0.13.0 +closed out known polish and correctness issues on top of them. Per the +roadmap discipline in `CLAUDE.md`, a new phase must be proposed and added +here — with goal, scope, exclusions, and exit criteria — *before* any +code for it is written. Candidate ideas raised in issues or discussion +but not yet promoted to a scoped phase belong in a "candidates" note +here or in a GitHub issue, not in the codebase. ---