thinkfan 0.9.1
==============

This is a minor update which adds a small but useful feature:

On receipt of a SIGUSR1, thinkfan will now print the current known
temperatures. See the manpage for details. This is the only change in
functionality over the previously released 0.9_beta2.


thinkfan 0.9
============

This took a while, and it comes with lots of changes, so brace yourself.

1) S.M.A.R.T via libatasmart
----------------------------
Thinkfan can now read temperatures directly from hard disks via libatasmart.
To enable it, you need to compile with -DUSE_ATASMART.

2) cmake
--------
I've switched to cmake. Don't ask me why, I think it's just more convenient.
Details are in the README.

3) Multiple sensor inputs
-------------------------
When using libatasmart, you obviously want to have other temperature inputs as
well. Thus, thinkfan now allows temperature inputs (i.e. legacy thinkpad_acpi
procfs, sysfs hwmon and atasmart) to be arbitrarily combined. In order to
clean up the config syntax, the "sensor" and "fan" keywords have been
deprecated in favor of other, interface-specific keywords. See README and
example configs for details.

4) Various bugfixes
-------------------
The depulsing hack is now only applied if the fan is actually running (thx
yuszuv). Various sysfs bugs have been fixed and a rare race condition when
resuming from suspend can now be worked around with DANGEROUS mode.



thinkfan 0.8
============

1) Complex Temperature Limits
-----------------------------
Thinkfan now allows you to specify temperature limits for each sensor
individually. Configuring this requires more tweaking and experimentation,
but's definitely worth the effort, since it allows you much more fine-grained
control over your fan's behaviour. See README and the example configs for
details.

2) Arbitrary Strings as Fan Levels
----------------------------------
Now you can specify arbitrary strings as fan levels. This allows you to use
things like "level auto" or "level disengaged" in certain temperature ranges.
The sanity checks will filter out anything that isn't a known sensible string,
but as usual, you can use dangerous mode to disable them.



thinkfan 0.7
============

1) Correction Values
--------------------
Temperatures that are perfectly fine for your CPU may already be dangerous for
most hard disks.

For simplicity's sake, thinkfan uses only the highest temperature found in the
system, but that'll most likely never be your harddisk. Thus you can now
specify a correction value for any sensor. This value is added to the actual
temperature and can be used to give that sensor a greater chance of being
considered in the fan speed decision.
I know this is quite unintuitive, but it's the least intrusive way of handling
this (for now). In a later release, I might extend the config syntax to allow
for sensor-specific temperature limits.

So please do check out the updated README and example configs, and modify your
config to save your harddisk from premature death. :-/

2) Config Syntax
----------------
Thinkfan now has a shiny new (as in cheesy, but better than scanf) parser for
the config files. It was actually already used in 0.6.5. However in this
release it was changed to be much tighter on the config syntax. In all
previous releases, it just skipped anything it didn't reconize. You could thus
have arbitrary garbage in your config file and thinkfan would just ignore it.
These times are over. Thinkfan now rejects anything that isn't a proper
statement or a comment. You can get the old behaviour back by using the -D
(DANGEROUS) option.
