• v0.23.0
    release / release (push) Successful in 14s
    Stable

    jessey released this 2026-05-22 07:56:03 +00:00 | 74 commits to main since this release

    Added

    • Crash-logger trigger modes (M9 / D6) via systemd --user, no root: manual,
      always-on (a background service records continuously), and game-launch (auto-records
      while a Steam game runs). Set it from Settings → Recording trigger or
      rigdoctor service mode <manual|always-on|game-launch>; rigdoctor service status shows it.
      core/service.py writes/enables the user units.
    • Zero-config game-launch watcher (core/watcher.py, rigdoctor watch) — polls Steam's
      RunningAppID and brackets a focused capture around the running game (the D12 fallback for users
      who don't add the wrap launch option; the wrapper stays the precise primary path).
    Downloads
  • v0.22.0
    release / release (push) Successful in 14s
    Stable

    jessey released this 2026-05-22 07:47:45 +00:00 | 76 commits to main since this release

    Added

    • M6 breadth. Environment checks now also report GPU PowerMizer mode (NVIDIA, X — flags
      Adaptive/Auto and suggests Prefer-Max-Performance), the Wine version, and the Steam
      client
      version.
    • Non-Steam launchers. Lutris (its SQLite library) and Heroic (Epic + GOG JSON stores) are
      detected (core/launchers.py) and listed on the Games page and rigdoctor games, tagged by
      launcher. You can Run Diagnostic on them too (records while you play; auto-launch stays
      Steam-only).

    Notes

    • The zero-config game watcher (D12 fallback) is deferred to the M9 trigger-mode work, where the
      service integration lives.
    Downloads
  • v0.21.0
    release / release (push) Successful in 15s
    Stable

    jessey released this 2026-05-22 07:38:34 +00:00 | 78 commits to main since this release

    Added

    • Live monitor TUI (M2). rigdoctor monitor is now a proper curses dashboard:
      current / session-min / session-max per sensor, grouped by subsystem, with temperature and
      utilization color bands (and GPU-lost flagged red). q quits, r resets the session
      min/max. Falls back to a plain full-screen redraw on a non-TTY (--plain forces it). The
      terminal face of the same live data the GUI dashboard graphs. Completes the Monitoring bundle.
    Downloads
  • v0.20.0
    release / release (push) Successful in 15s
    Stable

    jessey released this 2026-05-22 07:31:25 +00:00 | 80 commits to main since this release

    Changed

    • Reorganized navigation into grouped sidebar sections — Monitor (Dashboard) ·
      Diagnose (Games, Recordings, System Health, Tuning) · System (Inventory) · App
      (Settings, Share) — so it's clear where to go.
    • Renames for clarity: Health → System Health (it's the overall 7-day system scan, not
      per-game), Environment → Tuning (gaming tunables + fixes), Logs → Recordings,
      Setup → Settings.
    • Settings absorbed Notifications (alerts) — app configuration (components/deps, alerts,
      account access, uninstall) now lives in one page; Notifications is no longer a separate item.
    • Recordings is now a hub: pick which captured log to view (always-on capture, last
      diagnostic, or a preserved crash), Analyze crash in place, alongside the recorder controls.
    Downloads
  • v0.19.0
    release / release (push) Successful in 13s
    Stable

    jessey released this 2026-05-22 07:22:19 +00:00 | 82 commits to main since this release

    Added

    • System-tray applet (M11, D13). A tray icon whose menu shows live CPU / GPU temp and
      memory used/total, a status line (Normal / Hot / GPU not responding), and is led by a
      Run Diagnostic submenu (pick a detected game → the guided session), plus Open dashboard,
      Start/Stop recording, Snapshot (copy), and Quit. It reuses the dashboard's sample
      stream (no extra sampling). With a tray present, closing the window hides to the tray (Quit
      exits); rigdoctor-gui --tray starts hidden for autostart. Needs a tray host — on GNOME the
      AppIndicator extension; degrades to a no-op if none is available. Completes the Desktop UI bundle.
    • GUI smoke tests: construct MainWindow headless and exercise the tray, so a startup crash
      fails the build (closes the gap that let the 0.18.0 import regression ship).
    Downloads
  • v0.18.2
    release / release (push) Successful in 14s
    Stable

    jessey released this 2026-05-22 07:11:05 +00:00 | 84 commits to main since this release

    Fixed

    • GUI wouldn't start (0.18.0 regression): the recording indicator used a wrong relative
      import (from .corerigdoctor.gui.core, which doesn't exist), crashing MainWindow on
      launch. Corrected to from ..core.
    Downloads
  • v0.18.1
    release / release (push) Successful in 14s
    Stable

    jessey released this 2026-05-22 07:08:41 +00:00 | 86 commits to main since this release

    Changed

    • Recording badge: dropped the sample count (not useful at a glance) — it now shows just
      ● Recording + the game, plus a ⚠ GPU-lost line if one is detected.
    Downloads
  • v0.17.0
    release / release (push) Successful in 15s
    Stable

    jessey released this 2026-05-22 07:06:06 +00:00 | 89 commits to main since this release

    Added

    • Inventory page is back in the GUI (it was removed in 0.7.2 in favor of the CLI). Sidebar
      Inventory → System / CPU / Firmware / Memory / GPU / Storage / Display as cards, with
      Copy Markdown and Save… for pasting into forum/bug reports, and Refresh. Root-only
      details (motherboard/BIOS/RAM modules via dmidecode) fill in after the launch password prompt.
      Backed by the existing M5 core/inventory.py — the CLI rigdoctor inventory is unchanged.
    Downloads
  • v0.16.0
    release / release (push) Successful in 14s
    Stable

    jessey released this 2026-05-22 07:02:00 +00:00 | 91 commits to main since this release

    Added

    • Automatic crash-capture via a Steam launch wrapper (M6/D12). Set rigdoctor wrap %command% as a game's Steam launch option (or in Lutris/Heroic's wrapper field) and RigDoctor
      starts a focused, game-tagged capture when the game launches and stops it cleanly on exit — no
      manual Run Diagnostic / Finish. A hard freeze leaves the capture unterminated, so it's flagged
      as a crash next launch. The wrapper resolves the game name from Steam's SteamAppId, doesn't
      disturb an existing capture, and returns the game's exit code. (core/wrap.py, rigdoctor wrap.)
    • GUI Auto-capture… helper on the Games page: shows the exact launch-option line (absolute
      path, copy button) and how to set it in Steam.
    • Auto-capture preserves an unanalyzed crash (diagnostic-crash.jsonl) before starting a new
      capture, so relaunching the game can't wipe a crash report you haven't seen yet.

    Fixed

    • docs/MODULES.md status column was stale — M1, M3, M4, M5, M8, M10, and M13 are done and now
      marked (only M2 and M11 remain not-started; M6/M9/M12 in progress).
    Downloads
  • v0.15.0
    release / release (push) Successful in 13s
    Stable

    jessey released this 2026-05-22 06:53:29 +00:00 | 93 commits to main since this release

    Added

    • Hard-crash detection & recovery for the guided diagnostic. If a focused capture ends
      without a clean stop (the recorder never wrote session-stop and isn't running), RigDoctor
      treats it as a likely hard freeze. On launch the Games page shows a warning banner —
      "Your last diagnostic for ended unexpectedly…" — with Analyze crash / Dismiss.
    • Deeper crash analysis. Analyze crash combines the captured window (final readings before
      the freeze + any GPU-lost event) with a focused scan of the previous (crashed) boot's kernel
      log
      (journalctl -k -b -1: Xid/panic/OOM/MCE/AER/thermal) plus SMART/driver/persistence/
      live-temp checks — the full "what happened" picture. core/diagnostic.py gains
      pending_crash() / analyze_crash(); health.check_previous_boot() +
      run_health_checks(include_journal=False) back it.
    Downloads