4e3f6aa94e
release / release (push) Successful in 13s
- updates gated to Gitea account holders via a Personal Access Token (D18 revised: anonymous HTTP -> authenticated HTTP, since the instance requires sign-in for all anonymous access) - token stored encrypted in the OS keyring (secret-tool) when available, with a 0600-file fallback; $RIGDOCTOR_TOKEN override; auto-migrate file->keyring once libsecret-tools is installed - core/updates: token-aware fetch_latest + update_state (no-token/auth/network/ up-to-date/available) - CLI: rigdoctor login / logout / update [--check] - GUI: Setup "Update access" panel (token field, get-a-token, backend status); sidebar update states; libsecret-tools added to the installer catalog - token storage tests (file fallback + env override, keyring mocked) - version 0.0.6, CHANGELOG, docs Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
71 lines
3.9 KiB
Markdown
71 lines
3.9 KiB
Markdown
# 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.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<version>`) 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<version>` 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.
|