Releases: Patrick-mpy/linfan
Releases · Patrick-mpy/linfan
Release list
LinFan 0.4.0
The fans stop chasing every temperature spike - and a profile can be built before it takes over.
Added
- Curve smoothing. Each curve averages its temperature over a short window - 3 seconds by default,
adjustable per curve,0switches it off - before it is applied. Some processors, AMD's in particular,
report brief and very steep spikes the moment load arrives, and the fans would surge and drop back
within seconds; hysteresis could not absorb that, because it filters how far the temperature moves,
not how briefly. Sustained load still arrives in full, only a little later, and the over-temperature
protection keeps reacting to the raw reading, immediately. - Settings → Airflow shows what is already in effect. The section used to open blank, so a machine
that had been tuned looked exactly like one that never had been. It now lists the fans following an
airflow role curve - each with its mounting position and curve - above the pressure balance of their
positions, for the profile you have open.
Changed
- A profile can be prepared before it takes over the fans. Picking a profile used to hand the fans to
it on the spot, so there was no way to build another setup without the machine following along. The
side menu now lists profiles the way it lists curves: selecting one opens it, a green dot marks the one
actually regulating, and only its "Active" switch hands the fans over - once pending changes are
applied, since the service would otherwise take over its own saved copy rather than what is on screen.
The overview therefore always shows what the service is really running. - Profiles and unsaved changes moved into the window header. Both tabs lost the bar above their
content and gained its height: curves and profiles are managed in the curves tab's side menu, each list
with a plus in its heading, while the running profile and the buttons to apply or discard pending
changes sit in the header, in reach from every tab. A blocked "Active" switch now names its reason
instead of sitting greyed out without a word. - The interface tells things apart by more than text. The three tabs and the curve editor's sensor and
fan lists carry symbols; message cards show a severity icon beside a wider stripe and switch both when
their severity changes; a screen's confirming action is filled in the accent colour and destructive ones
in red, so colour keeps meaning something; and an active curve's temperature is coloured on the same
scale as the readings below it - amber from 60 °C, red from 80 °C. - Sections slide open instead of jumping. Active curves, temperatures, fans, a curve's data points and
a fan's advanced settings expand and close in a short animation, the header arrow folding over in the
same motion - and no longer clipped by the header row on the way.
Fixed
- Dialogs get the dark title bar too. A confirmation or setup window kept the light system title bar
for as long as it was open, while the main window had the right one. - Installing over a running LinFan works on Windows. The install and uninstall scripts closed the
service but not the app, so an upgrade stopped with "the process cannot access the file
Avalonia.Base.dll" and an uninstall silently left files behind. Both now close a running app from the
install directory first; one started from a source tree is left alone. The one-click installer was
never affected, and the Linux uninstall script gained the same step.
LinFan 0.3.1
One window again — no matter how often you start LinFan.
Fixed
- LinFan opens only once. Every launch used to start a GUI of its own: several windows on the same
daemon, each with its own tray icon, each saving settings and window geometry independently. A further
launch — desktop icon, start menu, autostart — now hands over to the instance that is already running
and brings its window to the front, out of the tray as well, instead of adding another one. - Repository only: line endings are now fixed to LF on every platform. A Windows checkout used to
hand out CRLF while the project's own formatter writes LF, so running it left Git reporting hundreds
of changed files that did not differ by a single byte. Nothing about the application changes.
LinFan 0.3.0
LinFan gets its own look — and the setup assistant no longer loses fans along the way.
Added
- LinFan logo and app icons: the wordmark in the GUI header and on the assistant's welcome page,
plus a proper icon for the window and tray, for the executable in Explorer and the Start menu on
Windows, and for the application menu and dock on Linux (it used to borrow a generic system icon).
The installers and the.debship it. - Windows: the native title bar follows the app theme — no more light system bar above a dark window.
Fixed
- The setup assistant no longer loses the fan after a skipped one. A coupling request that arrived
right after the previous run was silently discarded, so the GUI waited out its timeout and wrote the
fan off — skipping both its speed-sensor coupling and its calibration. Requests now wait out the cool
down instead of vanishing. - Inert fans are no longer reported as having no tachometer. The reference measurement waits longer
for the fan to coast down — coasting down takes far longer than spinning up, and a large CPU cooler
was still near full speed when measured. The log now also records what was measured, so a fan that
genuinely has no tachometer can be told apart from one that was measured too early. - The speed-sensor coupling refuses to start when it is already hot. It parks every fan near zero
for the measurement, so it now requires headroom below the fail-safe limit rather than starting just
under it. - No more raw hardware paths as fan names. Entries created by a calibration or a coupling kept the
device path (/lpc/nct6797d/0/control/1) as their display name. They now show the hardware label
until you pick a name of your own, and the calibration message names the fan instead of its id. - Restoring a backup no longer drops the speed-sensor assignments. The GUI never put them on the
wire, so a restore reset every fan to "no sensor" even though the backup file held them — and every
coupling you had run was lost with it. The calibration was already carried; both travel together now. - The English interface was partly German: the theme picker ("Hell"/"Dunkel") and the point and
sensor counts in the curve editor and dashboard now follow the display language and switch with it. - Setup assistant, calibration step: the content scrolls, so the progress card no longer pushes over
the buttons while a fan is being coupled or calibrated.
Changed
- The device lists' filter reads "Hide here too" instead of "Hide hidden" — it hides entries you
already marked hidden from this list as well.