# Changelog All notable changes to RigDoctor are recorded here. Format follows [Keep a Changelog](https://keepachangelog.com/); versioning is SemVer-style (`MAJOR.MINOR.PATCH`, pre-1.0). `__version__` and `pyproject.toml` must match the git release tag (so the auto-updater, D18, can compare versions). ## [0.0.7] - 2026-05-21 ### Added - **User-local installer** `install.sh` (no root): creates a private venv, links `rigdoctor`/`rigdoctor-gui` into `~/.local/bin`, and adds a desktop entry. Re-run to upgrade; `--uninstall` to remove. - **Self-extracting `.run` installer** via `packaging/make-run.sh` (makeself) — one download-and-run executable bundling the wheel + `install.sh`; built and attached to each release by CI. - **Self-update apply (M13)**: `rigdoctor update` now installs the newer version via authenticated pip (`rigdoctor[gui] @ git+https://oauth2:@…@`); the GUI sidebar "Update to v…" button applies it and prompts to restart. Token is scrubbed from output. ## [0.0.6] - 2026-05-21 ### Added - **Token-gated updates (M13)**: store a Gitea Personal Access Token, **encrypted in the OS keyring** (Secret Service / GNOME Keyring via `secret-tool`) with a 0600-file fallback. `rigdoctor login` / `logout` / `update [--check]`; GUI **Setup → Update access** panel (token field, "Get a token", backend status) and sidebar states (connect / up-to-date / "Update to v…" / access denied). Updates are gated to accounts on the Gitea server (D18). - `libsecret-tools` added to the installer catalog (enables encrypted token storage). ### Changed - D18 update mechanism revised from anonymous public HTTP to **authenticated HTTP (token)** — the Gitea instance requires sign-in for all anonymous access. ## [0.0.5] - 2026-05-21 ### Added - **M9 installer (first cut)**: detects distro / package manager / GPU; a catalog of optional components (smartmontools, lm-sensors, dmidecode, pciutils, libnotify) with what each enables; `rigdoctor install [--check] [-y]` installs missing apt packages via pkexec/sudo with consent; GUI **Setup** tab with one-click install. Fixes the "smartmontools missing" gap in the health report. - **Update check (M13, check half)**: on GUI launch the sidebar checks the Gitea releases API and shows "up-to-date", an "Update to v…" button if a newer release exists, or "update check unavailable" if the API can't be reached anonymously. ## [0.0.4] - 2026-05-21 ### Added - **M4 health report**: scans kernel logs (NVIDIA Xid incl. 79 "fell off the bus", kernel panic, OOM, MCE, PCIe AER, thermal, amdgpu reset), SMART health, NVIDIA driver/library mismatch, journald persistence, and live temps → prioritized plain-language findings with suggested fixes (read-only, D9). - CLI `rigdoctor report` (text + `--json`). - GUI **Health** tab: runs checks in the background; findings shown as severity-colored cards. - Tests for the journal scanner. ## [0.0.3] - 2026-05-21 ### Added - Show the app version (`v`) in the GUI sidebar. ## [0.0.2] - 2026-05-21 ### Added - **M3 crash-capture logger**: crash-safe JSONL (`fsync` per sample), size-based rotation, GPU-lost/recovered event markers, atomic status file; `rigdoctor record run|start|stop| status|report` (foreground `run` is the systemd-ready entrypoint). - **GUI Recording/Logs page** (M10): start/stop/interval controls, live status, and the post-crash report — driving the same recorder via shared `core.reccontrol`. - Shared render helpers (`format_raw`, `format_headline`, `render_summary`) used by CLI + GUI. - Tests for the crash log (writer, rotation, reader, summary, recorder). - **Gitea Actions release workflow** (`.gitea/workflows/release.yml`): on push to `main`, builds wheel + sdist and publishes a Gitea release `v` with the artifacts. ### Changed - **GUI-first** emphasis (D17): docs reframed; the CLI keeps full parity for headless/SSH. - CPU core temperatures ordered (package, then core 0, 4, 8, …) at the source — fixes the CLI ordering too. - Distribution revised (D8): **user-local self-updating install** is primary, `.deb` optional. ### Planned (docs only) - M12 session sharing / remote assist (D16); M13 no-root auto-update from the public repo (D18); versioning/changelog convention (D19). ## [0.0.1] - 2026-05-21 ### Added - Initial release: planning docs and decisions (D1–D15); **M1 sensor core** (NVIDIA GPU via nvidia-smi, CPU via hwmon, memory + DDR5 SPD temps, NVMe); CLI (`snapshot`, `monitor`, `sources`); and the **M10 desktop GUI** — dark dashboard with circular gauges and collapsible, temperature-colored cards.