github Lexonight1/thermalright-trcc-linux v9.5.0
v9.5.0 — milestone

5 hours ago

Milestone release rolling up the v9.4.8 → v9.4.15 patch series — every fix from those releases is included here, distilled into one tag for the people whose package manager wakes up once a week.

User-facing fixes (every install)

  • Cloud theme downloads work again: deduped the `czhorde.bj` slug from the GitHub URL, multi-mirror fallback with first-win short-circuit, and the click-to-download path no longer gets gated on a stale in-flight flag.
  • Multi-device support actually drives both coolers: detector returns one `DetectedDevice` per physical USB AND every transport binds to its specific `(bus, address)` via pyusb's `custom_match`. Two same-VID:PID coolers (e.g. Frozen Warframe 240 + Trofeo Vision 6.86", both `0416:5302`) now drive independently.
  • Headless `led-mode temp_linked` / `load_linked`: CLI bootstrap now starts `SystemService` once and seeds every device with current metrics before the command runs.
  • Legacy GUI taskbar icon path corrected.
  • LCD config tolerant of `next/`-shape `config.json` for users opting back to legacy after trying `TRCC_NEXT=1`.

Maintainer-facing

  • Stale-workflow only fires on `awaiting-reporter`-labeled issues (14d stale, 7d grace) — no more auto-closing fresh bug reports.

Architecture

  • `Trcc` is a container — `iter` / `len` replace direct device-list poking.
  • `UsbAddress` frozen-slots dataclass threaded through every USB transport — `PyUsbTransport`, `HidApiTransport`, `UsbBotScsiTransport`, `open_usb_device` — so adapters bind by physical address, not VID:PID alone.

Experimental `TRCC_NEXT=1` (opt-in clean rebuild)

First release where `next/` has parity for the things real users notice on a fresh install:

  • 11 LED segment-display renderers (AX120, PA120, AK120, LC1, LF8, LF12, LF10, CZ1, LC2, LF11, LF15) — `LegacyMetricsView.getattr` translates next/'s sensor dict into legacy attribute shape so the segment math copies across without edits.
  • Cloud-theme `0xDD` DC parser — verified against 5 real `config1.dc` files.
  • `Theme.zt` animation decoder — `MediaService.load_video` dispatches by suffix.
  • Real cross-OS setup wizards: FreeBSD writes devd rules and restarts devd; Windows enumerates devices and prints per-device Zadig recipes; macOS diagnoses codesign / quarantine / privilege state.

`next/` is still opt-in via `TRCC_NEXT=1` or the `trcc-next` console script. Default behaviour unchanged for every shipping user.

🍻 — for the people whose Thermalright cooler finally has a control center that works the way it should, on whichever OS they happen to be on.

Don't miss a new thermalright-trcc-linux release

NewReleases is sending notifications on new releases.