Skip to content
Release history

Changelog

4 releases shipped — every feature, fix, and security improvement on the record. Latest: v0.3.1 on 2026-09-16.

Showing 4 releases matching any change

  1. v0.3.1

    2026-09-16

    Latest2 changes
    • fixedRe-running the installer now actually restarts cryod, so pulling and re-running install.sh — the documented update path — puts the new code live instead of leaving the old daemon running.
    • changedDependency floors raised: PySide6 6.11.2, pyusb 1.3.1, nvidia-ml-py 13.610.43 (CI on setup-uv 10.1).
  2. v0.3.0

    2026-09-15

    9 changes
    • addeddGPU power draw, graphics clock, VRAM used/total, and a top-5 per-process VRAM breakdown on every tick — in a new GUI VRAM panel (sparkline, session peak, per-process rows), the tray tooltip, and the CLI.
    • addedcryoctl status prints a human summary (--json for the raw frame); cryoctl watch --log FILE.csv appends a CSV stream for long leak-hunt sessions.
    • changedProcess names come from /proc argv0 with NVML as fallback, so Chromium-style command lines and Wine/Proton Windows paths reduce to a clean binary name; game detection uses the same list, and one NVML pass per tick feeds both.
    • changed/etc/cryo/config.json is overrides-only and the daemon never rewrites it. Runtime state (last lighting, the curves-off latch a manual boost sets) lives in /var/lib/cryo/state.json; flipping the curves switch clears the latch.
    • fixedA broken config or state file logs and falls back to defaults instead of keeping the daemon — and the Thermal Guard — down.
    • fixedNVML is retried every 30 s while unavailable, so starting before the NVIDIA driver loads no longer disables game detection for the session; the lighting controller is reopened once on a USB error.
    • addedcryoctl reapply (and the reapply socket op) re-asserts lighting, platform profile and NVML; cryod-resume.service runs it after suspend and hibernate.
    • fixedTelemetry subscribers that are closing or stop reading are dropped instead of buffered forever. The installer restarts the daemon on re-run (the update path) and refuses to run without a sudo caller.
    • addedpytest suite (37 tests: engine, game sense, config/state, server) wired into CI.
  3. v0.2.0

    2026-08-08

    5 changes
    • addedEcosystem widening — Cryo now targets the whole alienware-wmi family, not one machine. The daemon probes hardware capabilities at startup (available profiles, G-Mode, fan-boost writability, lighting controller, turbo control, NVML) and the GUI, tray, and CLI render only what exists.
    • addedcryoctl doctor — a hardware/driver compatibility report (model, driver, fans, profile choices, power supply, turbo, AW-ELC, NVML, daemon capabilities) that works without root or a running daemon, formatted for pasting into GitHub model reports.
    • changedProfile names are now translated from what the kernel actually advertises: on G-Mode machines balanced-performance is Performance and performance is G-Mode; on machines without G-Mode, performance is labeled Performance — the old static mapping would have mislabeled it. Auto-rules resolve through the same map with sensible fallbacks.
    • changedPower-supply and CPU-turbo controls are discovered instead of hardcoded — battery auto-rules now work on machines that name their AC adapter ACAD/AC0/ADP1, and AMD machines get cpufreq/boost turbo control.
    • addedCompatibility matrix (docs/COMPATIBILITY.md) plus model-report and bug-report issue templates built around doctor output.
  4. v0.1.0

    2026-08-04

    8 changes
    • addedInitial release — the frozen core. cryod, a root daemon under systemd, owns all hardware access through the in-kernel alienware-wmi driver over sysfs: no acpi_call, no out-of-tree modules.
    • addedSix power modes — Cool, Quiet, Balanced, Performance, G-Mode, and Custom — translated to kernel platform profiles (performance→balanced-performance, gmode→performance, custom→custom).
    • addedCustom fan curves with linear interpolation, a 3 °C hysteresis dead zone, and minimum 5-point write suppression — plus Thermal Guard, an emergency failsafe in every profile that forces 100% fan boost at CPU ≥ 88 °C or GPU ≥ 85 °C and releases once both temps drop 10 °C below trip.
    • addedGame detection as a real state machine over NVML — a dGPU graphics process off the ignore list with ≥ 400 MB VRAM and sustained load (≥ 50% for 10 s in, ≤ 20% for 45 s out) auto-enters G-Mode and restores the prior profile on quit. Degrades gracefully without NVML.
    • addedAuto profiles on transitions only: on_battery→quiet, on_ac→balanced, on_game→gmode, after_game→previous — manual picks always stick until the next event.
    • addedAlienFX lighting via a raw HID SET_REPORT reimplementation (VID 0x187C, PIDs 0x0550/0x0551, 33-byte packets) for the 4-zone keyboard — eight effects including the signature Quantum cyan↔violet morph, plus brightness, persisted and restored on boot.
    • addedLive telemetry at 1 Hz — CPU/GPU temps, four fan RPMs and boosts, dGPU utilization, 120-sample sparklines, session peaks, and a tray tooltip — pushed to every subscribed client over /run/cryo.sock (JSON lines, group-owned, mode 0660).
    • addedPySide6/Qt 6 + QML GUI, the cryoctl CLI (status, watch, profile, gmode, boost, turbo, light, brightness, config), a system tray icon, and a CPU Turbo toggle via intel_pstate/no_turbo.