1.66 - Fri Sep 26 13:37:17 IST 2014
    * Handle device names with whitespaces. Thanks: Zoltan Hidvegi
    * Detach reliably closing all descriptors. Thanks: Matthew Gabeler-Lee
    * Add new Radeon power saving module. Thanks: M. Ziebell
    * Don't run LMT if it is disabled in config file. Thanks: bendlas@Github
    * GUI Tool refactoring. Thanks to Juan.

1.65 - Wed Jun 18 19:22:35 IST 2014
    * fix grep error on missing $device/uevent
    * ethernet: replace sysfs/enabled by 'ip link down'
    * wireless-iwl-power: sysfs attr enbable -> enabled
    * wireless-iwl-power: Add iwlwifi support
    * Use Runtime Power Managemet Framework is more robust now. Deprecates module
      usb-autosuspend
    * Fix multiple hibernate issue
    * When resuming, run LMT in force initialization mode
    * Add module for Intel PState driver
    * GUI: Implement suspend/hibernate interface

1.64 - Sun Sep  1 13:15:02 IST 2013
    * Don't touch USB Controller power settings. The individual devices, when plugged
      in, while on battery, inherit the power settings from the USB controller
    * start-stop-programs: add support for systemd. Thanks to Alexander Mezin
    * Replace hardcoded path to udevadm with "which udevadm". Thanks to Alexander Mezin
    * Honor .conf files only. Thanks to Sven Köhler
    * Make '/usr/lib' path configurable. This is especially useful for systems that use
      /usr/lib64, or /lib64 directly. Thanks to Nicolas Braud-Santoni
    * Don't call killall with the -g argument. Thanks to Murray Campbell
    * Fix RPM Spec file build errors

1.63 - Sat Mar 23 15:01:31 IST 2013
    * Kick the power savings back in, as soon as the stick is unplugged
    * Release lock descriptors in start-stop-programs module. Thanks Renat Sabitov
    * Add option to disable alarm level check. This is helpful if you have a
      broken battery reporting incorrect states. Thanks Mike Roddewig
    * Check for external helper application's presence. And if not available,
      handle it. Thanks Alain Kalker
    * Added PCIe ASPM module. Thanks Martin Wimpress
    * Do not ship the board-specific/ folder in default installs

1.62 - Tue Oct 30 16:45:46 IST 2012
    * Add systemd support
    * Be specific on what file systems we want to handle. Given the wide range of
      file systems Linux has, we don't want to consider them all as not all of them
      fall under the power saving scenarios.
    * Factor out some common code
    * Do not touch autonegotiation settings. Fiddling with auto-negotiation settings
      can cause more problems and the standards expect them to be always on
    * Trim mount point display
    * Organize state/STATE tracking so that we get actual results.
    * cleaner output when asking status. Thanks Jasmine Hassan
    * Append to stdout/stderr to avoid truncating file logs
    * Fix spec file for RPM syntax
    
1.61 - Thu May 17 17:44:26 IST 2012
    * Handle devices with persistent device naming. This fixes the issues where
      you don't have a disk referenced by a block name, the commit= value was
      completely skipped
    * Fix issue where hdparm skips SSDs for power management
    * Add parallel execution for the modules. In theory this should speeden up the
      execution. See git commit log comments for details
    * Add support for non-deafult customized settings
    * calculate design_capacity_warning on machines/arches where it is not readily
      available

1.60 - Fri Oct 14 13:08:09 IST 2011
    * Use proper device reference for iwconfig (Debian BTS: #639388)
    * Check for block device's existence. Thanks to Simon Que
    * Add suspend/resume helper tools: pm-helper, pm-suspend, pm-hibernate
    * What laptop-mode-tools is stopped from init, also kill polling daemon
    * Reliable and much better locking mechanics
    * Make polling dameon lock safe
    * Make lmt-udev distro neutral. Thanks to Simon Que
    * Change Intel HDA Audio's default power save timeout to 2 seconds

1.59 - Mon Aug  8 00:56:48 IST 2011 
    * really don't call batt-poll-daemon inside from the flock instance
    * USB auto-suspend whitelist
    * Add myself as the maintainer
    * Don't call true which forks a subshell
    * Use exit instead of return
    * Check for files instead of kernel version numbers.

1.58 - Sat Jul 23 23:21:22 IST 2011
    * Initialize the PATH variable within us. This helps when our caller did not have a
      proper environment
    * Enable new in-kernel polling mechanism for block devices (Debian BTS: #617705, #574867)
    * Check for kernel's native suspend functionality
    * Support execution of complex commands. Thanks to Changaco for the patch
    * Add new module nmi-watchdog to handle NMI Watchdog related power savings. Thanks to
      Quentin Denis for the report
    * Fix error messages during early boot if /usr is on a different partition.
      (Debian BTS: #624678)
    * Add support for new Linux 3.x kernels. (Debian BTS: #6628764)
    * Fix locking problems when battery polling daemon is enabled

1.57 - Sun Feb 27 12:50:19 IST 2011
    * Pass calling application's arguments to the main function. Thanks to Radek for the 
      report and the patch
    * Use governor policy from the config file. Thanks to Michael Orlov for the report.

1.56 - Mon Feb 14 23:57:50 IST 2011
    * Enable ENABLE_AUTO_MODULES by default. When a user installs the package,
      the first immediate expectation is to see some changes
    * USB suspend interface has changed with kernels 2.6.35 and above.
      (Debian BTS: #589000)
    * Add support for Linux Runtime Power Management (Debian BTS: #592661)
    * On many other distributions, wireless-tools packages is still old and does not
      return proper exit status on failures. Thanks to Luca Landolfi for the patch.
    * Add support to blacklist USB Devices by types. Thanks to Simon Que for the patch
    * Re-initialize dev_path before the next iteration. Thanks to Faustus for the bug
      report and the patch (LP: #662924)
    * ENABLE_LAPTOP_MODE_TOOLS was ignore because of wrong check. Thanks to Matus Harvan
      for reporting this. (Debian BTS: #602278)
    * Add support to invoke laptop-mode-tools with hotplug events. This currently only has
      support for the usb-autosuspend module. Thanks to Simon Que for the patch
    * Add locking support using flock. (Debian BTS: #566613)
    * Add 99-laptop-mode.rules to trap multiple kernel events

1.55 - Wed May 26 21:22:33 IST 2010
    * On Intel HD Audio, revert power saving changes when switching back to AC.
      Thanks to Christoph Langguth for the report and the patch
    * Install the pm-utils hook as 01laptop-mode to ensure proper execution in
      reverse ordering
    * Add wireless-power module, for generic non-Intel wireless interfaces that
      support the iwconfig "power" option.
    * Fixed upgrade path for configurations which didn't have the LM/NOLM
      options in the Intel SATA Power Management module config.
    * Add flush-* to ignored programs for lm-profiler, because it is the
      successor to pdflush.
    * Fix WoL regression introduced by DISABLE_ETHERNET_ON_BATTERY. Thanks
      to Matthias Dienstbier for the report and the patch
    * Update comments in wireless-iwl-power.conf. (Debian BTS: #580730)
    * Check for old hook in pm-utils and remove it
    * Update manpage for all missing modules and options.

1.54 - Wed Mar 10 16:09:34 IST 2010
    * Fix wireless-iwl module. Activation of power saving using iwconfig was
      never done. Thanks to Sergio Cambra for the report
    * Handle new generic interface for ignore_nice_load. The new sysfs
      interface is no more core specific. Thanks to Roman v. Gemmeren for
      reporting it
    * Add a new "exec-commands" module. With this module, users can add
      custom commands specific to their requirements.
    * Document cpufreq frequency behavior about older P4 processors and set
      the default to 0
    * ThinkPads running with thinkpad_acpi driver have a simpler interface for
      bluetooth and video. Currently utilizing the bluetooth interface
    * Don't log VERBOSE messages to syslog unless VERBOSE_OUTPUT=1
      (DBTS: #567766)

1.53 - Sat Jan  2 23:42:50 IST 2010
    * Add global enable/disable switch for laptop-mode-tools
    * Add scheduler power saving module for SMT processors. Thanks to John
      Reilly.
    * Add a new "Auto Modules" mode which enables all modules whitelisted as
      auto with a single configuration setting, ENABLE_AUTO_MODULES.
    * Add LM/NOLM option for Intel SATA Power Management
    * Do a check before trying to write to the SuperHE Control File


1.52 - Thu Oct  8 14:12:23 IST 2009
    * Initialize DEBUG to 0 by default. THanks to Matthijs Kooijman for pointing
      it out.
    * Add an option to completely disable ethernet devices when on battery.
    * Introduce hooks to enable debug mode for individual modules
    * Use iwconfig to determine device type for iwlwifi devices also
    * Collect the correct exit code for iwconfig execution.
    * Use iwconfig in wireless-iwl-power. Thanks to Darren Hoo for spotting it
    * Handle spaces in mount point names. Thanks to Louis Simard for the patch
    * Clarify about Global Debug mode and Module Specific Debug mode.
    * Fix incorrect variable reference in video-out module. Thanks to Hans Werner
      for noticing that.

1.51 - Tue Sep  1 20:48:29 IST 2009
    * Add option to blacklist usb devices by their device id.
      Thanks to ich@phuk.ath.cx for the patch
    * Trigger timer change for power mgmt by doing a device open/close
      The open/close operation can fail if the audio device is busy.
      Since this failure is non-fatal (worst case is that the timer changes
      don't get activated), we don't bother if it was successful or not.
    * Add support for EeePC FSB Control. Thanks to James Rayner
    * Update iwlwifi power modes. Thanks to Clemens Buchacher
      See Debian BTS: #540639
    * Use the standard pm-hibernate script from pm-utils for hibernation
      See Debian BTS: #541447
    * Check if wireless device is disabled before attempting to power configure it
      Thanks to Clemens Buchacher. See Debian BTS: #541997
    * On speed change, an ethernet device can lose connectivity. Document that in
      the config file

1.50 - 24 July 2009
    * Ship pm-utils hooks in /usr/lib/ and not in /etc/pm/
      Distributions will always want to have customized settings in /etc
      and default upstream settings in /usr/lib. See LP: #384875
    * Fix incorrect explanation of Intel HDA Power Savings. See Debian
      BTS: #532733
    * Don't clutter screen with print messages.
    * Add patch from Mulyadi Santosa that adds ability to lm-profiler to show
      read/write frequency of each collected program. Thank you.
    * Enhance usb-autosuspend module to be executed under conditions. Also explain
      the weirdness of broken usb drivers. Fixes Debian Bug #535051
    * Do the test comparision of integeres using string operators. Fixes Debian
      Bug #535650
    * Run pidof with the -x Script Mode switch. Thanks Matthijs Kooijman
    * Disconnect descriptors when backgrounding a script. Thanks Matthijs Kooijman
    * Add option to run in shell debug mode
    * Add a spec file to generate an RPM package

1.49 - 03 June 2009
    * Update runlevel priority to 99. This is require to ensure that we
      start after hald. See LP #369807
    * Reload acpid on restart. Thanks Wido.
    * Handle all power management daemons (apmd,pbbuttonsd,pmud)
    * Allow custom timeout values to be set for Intel HDA Cards
    * Handle Intel HDA powersaving in multiple modes
    * Add syslog logging functionality. Fixes LP #370005
    * Fix shell syntax error in laptop_mode. Fixes Debian Bug #528835
    * Add check with iwconfig when determining a ipw* based wirelss
      device. Fixes: LP #369113
    * Explicitly commit messages to stdout/stderr. This way, user can filter
      irrelevant messages.

1.48 - 06 April 2009
    * Fix udevinfo calls. See Debian BTS #522043
    * Laptops usually have only a single ethernet device, usually being the
      first one, referred as eth0.
    * Don't hard code ethernet configuration to 100MBit speed.
    * Restore ethernet speed to MAX_SPEED when back ON_AC. See Debian BTS
      #519426
    * Don't throttle ethernet when on AC power
    * Restore auto-negotiation and speed, one at a time
    * Create the pm/sleep.d directory when DESTDIR is given
    * udevadm info (or udevinfo) output has changed in version 140
	* Handle friendly names for ethernet speed
	* Handle udev versions in different formats
	* Reliably get ethernet speed
	* Restore ethernet speed throttling in both situations
	* Bump the version to 1.48 in laptop_mode
	* Proper check for Hal Polling. Thanks Vincent Panel

1.47 - 26 January 2008

    * Fix typo in usb-autosuspend module, see Debian BTS #513078.
    * Support ext4 file system. The mount options on these file systems are now
      adapted for laptop mode as well.

1.46 - 25 January 2008

    * iwl4965 driver has been replaced by iwlagn in Linux 2.6.27. Add support
      for this. See Debian BTS #502022.
    * Prefer PMU over APM power information when available. (APM emulation adds
      a delay, which causes incorrect actions.)
    * Add intel-hda-powersave module, to support Intel HDA audio chipset power
      saving mode.
    * Improve comments in hal-polling.conf, and change default for AC so that
      hal polling stays enabled on AC. See Debian BTS #495364.
    * Add module usb-autosuspend, based on a patch contributed by Ritesh Raj
      Sarraf. See Debian BTS #506839.
    * Improved error reporting in lcd-brightness module. See Debian BTS #507640.
    * Fixed verbose output mode. LM_VERBOSE was inverted, which caused a lot
      of output to remain hidden. See Debian BTS #510294.
    * Set sched_mc_power_savings to 2 instead of 1, for more power savings
      (see http://lwn.net/Articles/312230). Contributed by Ritesh Raj Sarraf.
    * Include integration with pm-utils so that hardware settings are re-applied
      on resume from suspend/hibernate. See Debian BTS #481766.
    * Use a different method to determine X displays and authorizations in the
      dpms-standby module. The old method depended on w -hs output, which was
      very unreliable.
    * Add battery-level-polling module, which allows systems with unreliable
      ACPI battery events to use battery level dependent features such as
      auto-hibernate and the disabling of data loss sensitive features when the
      battery runs low.
    * Relax permissions on most files installed by install.sh. We now give
      read/execute permissions to other users as well for the config files and
      executables, since there's no sensitive info in the files.

1.45 - 15 July 2008

    * Cleanup of install.sh, contributed by Alon Bar-Lev. 

1.44 -- 15 July 2008

    * Use POSIX compliant call to "head" in lm-profiler.
    * Support for DESTDIR and other configuration options in install.sh, so that
      package managers can use this installer.
    * Strip non-numeric suffixes from kernel minor version number. (See Debian
      BTS #488950.)
    * Remove spurious error message on machines that don't have
      /sys/class/power_supply. See Debian BTS #490167.
    * Fix incorrect path to laptop-mode.conf in the laptop-mode.conf(8) manual
      page. See Debian BTS #488261.
    * Add sched-mc-power-savings module, to control the Linux kernel process
      scheduler's multi-core power saving mode. Contributed by Ritesh Raj
      Sarraf, see Debian BTS #490587.
    * Add video-out module to selectively disable video outputs depending on
      the power mode.
    * Fix dpms-standby module so that it actually detects the displays.

1.43 -- 22 June 2008

    * Don't use temp file in init script, that doesn't work if /tmp is mounted
      readonly. (See Debian BTS #480946.)
    * Fix IPW2100 power management so that power management mode stays enabled
      even on AC. If we don't do this, we can't control the transmit power at
      all because we let the chipset handle it. (See Debian BTS #481180.)
    * Replace *_ENABLE_HAL_POLLING settings by *_DISABLE_HAL_POLLING. More
      intuitive that way. The old settings were also interpreted in reverse.
      The backward compatibility layer *fixes that* because it was a bug, so
      behaviour will change for 1.42 installations as well. (See Debian BTS
      #482307.)
    * Get rid of bashism in laptop-mode module.
    * Write all output to $OUTPUT in ac97-powersave module.
    * Remove spurious output in main laptop_mode script.
    * Remove spurious output in bluetooth module.
    * Minor optimization of inner loop in main laptop_mode script.
    * Add intel-sata-powermgmt module for enabling Aggressive Link Power
      Management on Intel AHCI compliant SATA controllers.
    * Add ethernet module to optimize ethernet power usage.
    * Performance optimizatons throughout: remove subshells, avoid output
      instead of throwing it away. (Thanks to Omair Eshkenazi for suggestions.)
    * Coding style improvements throughout. (Thanks to Omair Eshkenazi for
      patches.)
    * Remove bashism in lm-profiler (See Debian BTS #480606.)

1.42 -- 12 May 2008

    * Remove "echo -e" bashism in lm-profiler.
    * Allow different names for AC adapter in /sys/class/power_supply.
    * Decrease startup priority, because we definitely need to start after HAL
      now.
    * Add "hal-polling" module to control HAL polling of CD/DVD drives. (Taken
      from powertop tips.)
    * Add "bluetooth" module to disable bluetooth in battery mode.  (Taken from
      powertop tips.)

1.41 -- 22 April 2008

    * Rename core module to laptop-mode. Files with the name "core" were cleaned
      up a bit too diligently by package manager helper scripts such as
      dh_clean.
    * Add missing assignment to ACTIVATE_WITH_POSSIBLE_DATA_LOSS in the path
      where ENABLE_LAPTOP_MODE_ON_AC was set and the computer was on AC power.
    * Add support for energy_* in sysfs battery interface. This adds support for
      batteries which report their energies in mWh instead of mAh (which was
      already supported through the charge_* interface).

1.40 -- 15 April 2008

    * Add support for getting lid button state from HAL instead of from
      /proc/acpi.
    * Sanity check -- battery levels of 0 are interpreted as errors and do not
      cause auto-hibernation.
    * Improved checking for presence of ACPI batteries, so that absent batteries
      do not cause auto-hibernation.
    * Support /sys/class/power_supply interface to determine battery levels.
    * Added generic support for configuration file swapping, in the form of the
      module "configuration-file-control". The old syslog configuration control
      feature is deprecated, removed from the default config file, and removed
      from the manual page (except for a section mentioning that it is
      deprecated). By default the new module has settings to support syslogd,
      syslog-ng and rsyslogd.
    * Laptop mode was not run when the enabled/disabled state changed, but none
      of the other states changed. This was incorrect, because esp. the config
      files should be restored to their non-laptop-mode-tools variants when
      laptop mode tools is stopped.
    * Add the module "wireless-iwl-power" for setting the power levels for
      Intel 3945 and 4965 wireless adapters when using the iwlwifi drivers.
    * Moved CONTROL_START_STOP to start-stop-programs.conf, and the code into
      a separate module.
    * Moved auto-hibernation settings to auto-hibernate.conf.
    * Moved terminal blanking settings into terminal-blanking.conf, and the code
      into a separate module.
    * Moved CPU frequency settings to cpufreq.conf, and the code into a separate
      module.
    * Moved LCD brightness settings to lcd-brightness.conf, and the code into a
      separate module.
    * Moved DPMS standby settings to dpms-standby.conf, and the code into a
      separate module.
    * Moved hdparm functionality to hdparm module (config remains in main
      config file).
    * Moved core laptop_mode functionality to core module (config remains in
      config file).
    * laptop-mode.conf(8) manual page split up by module; updated to include all
      modules (because some modules were not documented yet).
    * All manual pages updated to correct standards: file names in italics,
      config values in bold.
    * Converted all scripts to use /bin/sh instead of /bin/bash. This should
      yield performance improvements on systems that use a non-bash shell.
      Tested using dash on Ubuntu.
    * Added support for starting/stopping services by service name to the
      start-stop-programs module. That's a lot more user friendly than having to
      create symlinks in directories.
    * Added the USE_RELATIME option, which causes laptop mode tools to remount
      file systems using "relatime" instead of "noatime".
    * Changed default maximum CPU frequency on battery to "fastest", to satisfy
      the "race to idle" principle.

1.36 -- 2 March 2008

    * Support /sys/class/power_supply interface to determine power state.
    * Fix incorrect workaround description for DPMS settings in the config
      file. Replaced it by a reference to the manual page.
    * Change default CPU frequency governor on AC power to "ondemand". It works
      just as well as "performance" these days, setting the governor to
      "performance" just wastes a lot of power.
    * Change some output redirection which was causing drive capability checking
      to fail in some situations. Kudos go to Christoph Lange for the fix!

1.35 -- 18 November 2007

    * Set HD power management values to 254 instead of 255. Some hard drives
      go into "no power management" mode only on 254, while 255 yields some
      kind of default that you don't want.
    * Listen on ACPI events ac_adapter.* instead of just ac_adapter. This will
      catch more events, required for some laptops.
    * Give better error messages when "laptop_mode status" is called by a
      non-root user.
    * Install laptop-mode.conf world-readable by default. It contains no
      sensitive information and it is required by "laptop_mode status" when
      it is run as a non-root user.
    * Properly remove temporary file created in init script.
    * Properly log output in init script.
    * Fix error in lm-profiler.conf manual page.
    * Move /var/run/laptop-mode-* to /var/run/laptop-mode-tools/*.
    * Use blockdev --setfra instead of --setra. This is a new option in
      util-linux (actually, util-linux-ng) version 2.13, which makes readahead
      setting work on 2.4 linux kernels. On 2.6 --setfra and --setra are
      equivalent.
    * Remove LSB dependency. If it's not present, normal console output will
      be generated by the init script, and it will use logger to write the
      output to the system log.
    * Only include *.conf files in /etc/laptop-mode/conf.d. (In Debian, the
      .dpkg-dist versions were included as well, which could lead to very
      strange situations.)
    * Make IPW3945 and IPW2100 power levels configurable in
      /etc/laptop-mode/conf.d/wireless-ipw-power.conf.
    * Disable power management correctly on IPW2100 when switching to AC mode.
    * Allow iwpriv and iwconfig in /usr/sbin instead of /sbin.
    * Add a module that enables AC97 power saving.
    * Move modules to /usr/share from /usr/lib. According to the FHS 2.3
      architecture-independent files should go into /usr/share. For backward
      compatibility /usr/local/lib/... remains supported, but /usr/local/share
      is added as an option.

1.34 -- 28 May 2007

    * Added support for modules. Modules should be executables,
      and they should be placed in /usr/lib/laptop-mode-tools/modules,
      /usr/local/lib/laptop-mode-tools/modules, or /etc/laptop-mode/modules.
      The modules are called directly from the laptop_mode script, and can
      use all configuration settings from the laptop-mode.conf, plus the
      ON_AC and ACTIVATE variables.
    * Added modularized configuration file. The main configuration file still
      works, but in addition, configuration files in /etc/laptop-mode/conf.d
      are processed as well. Modules should use modularized configuration
      files. Module configuration files are loaded after the main configuration
      file.
    * The IGNORE_NICE_LOAD setting would only be set for the ondemand
      governor, while it is also available for some other CPU frequency
      governors. (Debian BTS #425387)
    * Silenced error message from modprobe when the CPU frequency
      governor was not compiled as a module. (Debian BTS #425957)
    * Included support for setting IPW3945 and IPW2200 power management
      levels. This feature is implemented as a module, with configuration
      file /etc/laptop-mode/conf.d/wireless-ipw-power.conf. (Debian BTS
      #425551)

1.33 -- 19 May 2007

    * LSB logging functions fixed. Apparently the stuff that was submitted
      by David was Debian-specific, so it would only work on Debian. I now 
      fixed the "normal" script to use the real LSB functions, while the Debian
      diff contains the prettier Debian-only versions. Thanks to all who
      reported this.
    * PARTITIONS didn't support wildcards. Now it does, thanks to a nice
      clean patch by Mikko Rapeli. (Debian BTS #394557.)
    * Laptop mode state is now restored on resume for systems using
      pbbuttonsd, thanks to a patch from John Wright. (Debian BTS #398179.)
    * The FAQ has been removed from the package, as is the HTML version of
      the revision history. For now, only the text version of the revision
      history remains. The reason for this is that previously, I generated
      all of these from a common source. Now, however, I can't do that
      anymore since the HTML must satisfy the syntax accepted by the CMS
      used for the web site. Perhaps it will be back some day when I
      generate everything using some XSLT or something.
    * Fixed a bug in the DPMS standby calculation code that caused incorrect
      values to be calculated.
    * Updated laptop mode homepage URL in /usr/sbin/laptop_mode.
    * Layout tweaks in config file.
    * Added ability to specify the ignore_nice_load setting for CPU frequency
      scaling governors. The "IGNORE_NICE_LOAD" setting specifies that
      background programs that have a low priority ("nice level") should not
      cause the CPU frequency to be increased. (You generally want this to be
      enabled in battery mode.) The settings are called 
      BATT_CPU_IGNORE_NICE_LOAD, LM_AC_CPU_IGNORE_NICE_LOAD and
      NOLM_AC_CPU_IGNORE_NICE_LOAD. (Debian BTS #416445.)
    * Fix for terminal blanking (thanks in part to Giorgio Lando). This adds
      a new configuration setting "TERMINALS", which should specify the
      device file of at least one of the virtual consoles. (The default is
      /dev/tty1.)
    * Fix for X blanking. Determining the correct consoles and users has
      caused a tremendous amount of headaches, I hope this solution will work
      properly. At least this time I've thoroughly tested it. :-)
    * Added documentation hints on how to configure apply X blanking settings
      on new login sessions as well.
    * Updated lm-profiler to be able to handle timestamps at the beginning of
      kernel output lines.
    * Updated lm-profiler so that it reports read and write accesses
      separately. This was done because read accesses usually have a very
      different cause (e.g., lack of prefetching) than write accesses (e.g.,
      synchronous I/O calls).
    * Added ability to set LCD brightness. The facility is extremely simple,
      because brightness support is very different between laptop systems.
      Basically, you need to set CONTROL_BRIGHTNESS=1 and then you need to
      specify commands to set the LCD brightness in *_BRIGHTNESS_COMMAND,
      and where the output of those commands should go in BRIGHTNESS_OUTPUT.
      Suggestions for commands are given in laptop-mode.conf.
      
1.32 -- 6 October 2006

    * CPU frequency settings now affect all CPUs instead of just CPU #0.
    * The init script output now uses LSB logging functionality. (Thanks
      David Härdeman!)
    * Original mount options for filesystems were not correctly restored,
      causing mounts to look like atime when they were actually originally
      noatime. (Thanks Karl Tomlinson, Remy Blank!)
    * Calls to "blockdev" now use the full path, in case /sbin is not in the
      path.
    * If multiple binaries for "xset" are found, use the first one instead
      of applying the settings using each binary found. (Thanks Cyrill
      Helg!)
    * Correctly figure out screen to apply DPMI settings to. (Thanks Cyrill
      Helg!)
    * Increased default HD idle timeout to 20 seconds (from 5 seconds). (I'd
      appreciate some feedback on good values for this setting!)
    * Changed restart, reload and force-reload behaviour to forcibly disable
      and stop laptop mode, remove all stored state files in /var/run, and
      then enable and start laptop mode again. This is supposed to make
      things work better when rebooting on Slackware, where users have been
      instructed to put "/etc/rc.d/init.d/laptop-mode restart" in rc.local.
    * The FAQ now includes a "date last updated" line.
    * Fixed terminal powerdown/blanking default values. (Thanks Jose!)
    * Modprobe CPU frequency governor modules before attempting to set the
      governor.
    * Don't redirect blockdev error output to /dev/null.

1.31 -- 17 April 2006

    * Removed incorrect assumption that gawk's asort() could be used.
    * Added /dev/mapper/* to the default values for PARTITIONS. This ought
      to make the default configuration work with Device Mapper devices.
      Note that /dev/mapper/* hasn't been added to the "auto" list, it's
      really a separate entry in the default, which is now "auto /dev/
      mapper/*". This means that older configurations are not affected by
      this change.
    * Got rid of ^M characters that I'd inserted into some files by mistake.
    * Installer now deals correctly with the case that /etc/rc.d is a link
      to /etc/init.d, as in SuSE 10, and other cases where some of the
      standard init script directories are links and some are files. The
      installer now prefers non-link directories over links.
    * Added config option ASSUME_SCSI_IS_SATA, which is enabled by default.
      When this option is enabled, laptop mode tools will regard SCSI drives
      as SATA drives and control them using hdparm instead of sdparm. This
      stuff is really a mess -- ATA CD-ROM drives can be controlled only
      using sdparm (but fortunately laptop mode tools currently ignores CD
      drives), drives that seem like SCSI drives can be controlled only with
      hdparm, and I really wouldn't know about USB drives. If anyone has a
      USB drive and cares to tell me how to spin it down, please drop me a
      note!

1.30 -- 23 February 2006

    * Fixed /dev/null vs. /dev/nul typo.
    * Changed battery percentage check to count "greater than or equal" as
      enough charge instead of just "greater than".
    * If the minimum percentage check and all the other charge checks are
      disabled (by setting them to 0), the critical battery state check now
      considers a non-critical battery state as "enough". It doesn't
      normally do this if any of the other checks are enabled because that
      would fully override the other checks.
    * "laptop_mode status" now also reports the CPU frequency scaling
      governor settings.

1.29 -- 22 February 2006

    * The backward compatibility for the _MAH and _MWH didn't work as well
      as I expected. Fixed.
    * Nonexistent batteries weren't being handled properly. Fixed.

1.28 -- 22 February 2006

    * Removed useless config reading call from lm_battery.sh.
    * Introduced MINIMUM_BATTERY_CHARGE_PERCENT, which is as intuitive as
      MINIMUM_BATTERY_MINUTES except that it specifies the charge threshold
      as a percentage of the battery design capacity.
    * Support for MINIMUM_BATTERY_MINUTES has been removed. Many batteries
      either report their discharge rates unreliably or not at all, so it's
      not very useful. Also, disabling laptop mode increases power usage and
      thereby increases discharge rate, which makes the rating even more
      unreliable. If MINIMUM_BATTERY_MINUTES is specified in laptop-
      mode.conf and MINIMUM_BATTERY_CHARGE_PERCENT is not, the value of the
      former is used as if it were the value of the latter, as a backward
      compatibility measure. That will give you one percent per minute,
      which is correct on a battery that lasts for 100 minutes. A
      conservative conversion.
    * MINIMUM_BATTERY_CHARGE_MAH/MWH are still supported, but they are
      removed from the default config and the manual page for now, to draw
      out complaints from people for which MINIMUM_BATTERY_CHARGE_PERCENT
      doesn't work. I hope that it will work for pretty much everyone, so
      that I can remove these options in the future.
    * Added DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL. This uses the
      state reported by the battery. (Thanks to Ken Milmore.)
    * Similar changes have been made for auto-hibernation. We now have
      AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL and
      AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT.
    * Config file explanation overhaul.
    * Fixed a bug where the HD write cache would be disabled any time laptop
      mode was disabled. (Thanks to Chung-chieh Shan AKA Ken.)
    * Removed error output from "which" when udevinfo, sdparm or hdparm were
      not found.

1.27 -- 18 February 2006

    * Added filtering for grep output used in determining the battery's
      charge reporting units.
    * Sometimes, when laptop_mode is called directly after unplugging, the
      battery still reports that it is "charged" and not "discharging", even
      though we're not on AC anymore. In this state, we used to miss
      critically low battery charges, and we would enable data loss
      sensistive features anyway. We now use the MINIMUM_BATTERY_CHARGE
      logic (but not MINIMUM_BATTERY_MINUTES -- we have no (reliable)
      discharge rate) to check for a minimum battery capacity.

1.26 -- 7 February 2006

    * Changed meaning of "medium" slightly so that on processors with only
      two frequency levels, it selects the lower value and not the higher
      one. (Thanks, Ken Milmore!)
    * Fixed handling of discharge rate "unknown". This error was not noticed
      before because the code used to be in an ACPI action script, whose
      output only ends up in the acpid logs. :-/
    * Various indentation and wrapping touchups.
    * Check for errors on more kernel parameters.
    * Include FAQ and the revision history in the package, in the
      Documentation directory.
    * Remove the revision history from the README. Saves me a lot of
      redundant work.
    * Replaced all references to "X Windows" with "X".

1.25 -- 6 February 2006

    * Added new CPU frequency setting "medium", which selects a frequency
      somewhere between the slowest and the fastest available frequencies.
    * Typo fix: default config talked about "highest" as a CPU frequency
      value, while the actual value is called "fastest".
    * Changed default governor for battery mode to "ondemand" and the
      maximum frequency to "medium".
    * Reverted Slackware fix from the 1.24 release. Doesn't work. Instead,
      Slackware users have to call the laptop-mode service with "restart"
      from their rc.local. I've put this in the FAQ.

1.24 -- 5 February 2006

    * Fixed up MINIMUM_BATTERY_MINUTES processing.
    * Fixed up multiple-battery-slot handling (previous fix was broken).
    * Remove /var/run/laptop-mode-* files when first starting laptop mode
      service. Apparently on Slackware the /var/run directory isn't cleared
      on bootup as the FHS standard specifies.

1.23 -- 4 February 2006

    * Fixed up MINIMUM_BATTERY_CHARGE_MAH processing.
    * Fixed handling of multiple battery slots when only one battery is
      present.
    * Fixed up auto-hibernation. It should work now.
    * Removed ACPI_WITHOUT_AC_EVENTS. No longer needed, as all the
      processing is done by "laptop_mode auto".
    * Clarified manpage laptop-mode.conf so that it is clear that
      CONTROL_CPU_FREQUENCY also switches governor control.
    * Fixed udev media detection. The fallback still worked, but it's
      cleaner if it works this way.

1.22 -- 28 January 2006

    * The SECOND, inevitable bugfix release after such a large release. :-)
    * Fixed typo in laptop_mode that broke terminal powerdown control.
      (Blanking still worked though.)
    * Added checks on whether the kernel sysctl settings were actually
      applied. "echo value > /proc/..." does not show errors, so failure was
      silent until now.
    * Removed warnings on MAX_LOST_WORK_SECONDS > 85899. The real problem is
      in the kernel, I submitted patches to fix that problem.
    * In the debian package config directories were incorrectly created in
      the root directory instead of under /etc.

1.21 -- 26 January 2006

    * The first, inevitable bugfix release after such a large release.
    * Fixed installation problem with existing old /var/run/laptop-mode-
      state.
    * Changed installer to stop existing laptop mode service before
      installing.
    * Added check for 32-bit architecture to new warning about maximum
      MAX_LOST_WORK_SECONDS. (The warning does not apply to 64-bit
      architectures.)
    * Fixed laptop_mode output when state unchanged. The prefix "Laptop mode
      " was not printed.

1.20 -- 25 January 2006

    * Fixed a typo that broke the setting of the CPU governor. Thanks to a
      *lot* of people for submitting exactly the same patch. :-) And sorry
      that I didn't get around to actually applying the patches for so long.
      :-(
    * Adapted the "big fat warning" so that it gives more info on how to fix
      the problem.
    * Applied a patch by Chung-chieh Shan (aka Ken) that is supposed to fix
      the feature that controls DPMS standby settings. Everybody, please
      report back if this actually works, I have NOT tested this but as it
      didn't work before either I'm not too worried about breaking it. ;-)
    * Corrected a path that was shown in an error message in /etc/acpi/
      actions/lm_battery.sh.
    * Fixed typo in config: Shoudl should've been should.
    * Changed the default for CONTROL_NOATIME to 0. Mutt doesn't work if
      filesystems are mounted noatime, and the only thing it actually buys
      you is that the disk doesn't spin up if you haven't changed *anything*
      at all for a period of 10 minutes. The chances of that happening are
      practically zero -- you might as well have suspended your system
      during that time, that would have saved more power, as you weren't
      actually doing anything!
    * Fixed a problem that would cause the acpid log to be destroyed every
      time it ran laptop_mode. As much a bug in acpid as in laptop_mode, but
      anyway, it's fixed now.
    * Modified lm-profiler so that block_dump is disabled when profiling is
      interrupted.
    * Added support for controlling terminal blanking settings:
      CONTROL_TERMINAL, and BATT_TERMINAL_BLANK_MINUTES,
      BATT_TERMINAL_POWERDOWN_MINUTES, etc. This feature is disabled by
      default.
    * Changed the default for CONTROL_START_STOP to 1. There are no scripts
      in the start/stop directories initially anyway, and having to
      explicitly enable this is problematic for any related programs that
      want to use this feature.
    * Changed the default for CONTROL_HD_WRITECACHE to 0. As several people
      pointed out, it's very dangerous to turn on write caching without
      explicit knowledge of the system's administrator.
    * Added support for auto-hibernation once a configurable battery level
      is reached. The control option is ENABLE_AUTO_HIBERNATION.
    * Added "sort", "mv" and "sleep" to the default-ignored programs for lm-
      profiler, as they are used by lm-profiler itself.
    * Improved checking for media types, so that no actions are taken on CD-
      ROM drives and the like. This gets rid of the errors that a lot of
      people have been seeing. Thanks to Andrey Borzenkov for contributing
      the bulk of this change. This does NOT yet use the new 2.6.16 kernel
      sysfs "media" attribute, I'll add that when I have the time to upgrade
      to 2.6.16 myself.
    * Support for SCSI drives and sdparm. The appropriate command is
      automatically detected. For now, only idle timeout setting is
      supported (SCSI setting SCT, Standby Condition Timer).
    * Improved the output of lm-profiler so that it doesn't scroll a line
      every second.
    * As it turns out, noatime remounting was only done on ext3, reiserfs
      and xfs filesystems. Fixed.
    * Removed LMTVERSION from the distribution. The version number is now
      stored only in /usr/sbin/laptop_mode, and extracted as needed using
      some grep/sed trickery. This saves me from the mistake of changing one
      but not the other.
    * Changed syslog.conf control so that when laptop mode is disabled by
      the init script, the original syslog.conf is restored. While laptop
      mode is active, it is saved as syslog.conf.no-lm. This fixes a problem
      on some distros (most notably Debian) where the laptop mode
      syslog.conf files were being deleted on purging laptop-mode-tools,
      leaving the system in a state without a syslog.conf. Now, the purging
      can only take place when the laptop mode service has been stopped,
      which means that the original syslog.conf will be back in place before
      the purging is done.
    * When the laptop mode init script is stopped (i.e., laptop mode
      processing is completely disabled), the start/stop program actions
      taken by laptop mode are now completely undone. Previously, the
      computer would be left in the state as if it were in nolm-ac mode with
      laptop mode enabled.
    * Added "force" option to /usr/sbin/laptop_mode script. This makes
      laptop mode reapply all settings even though the new state is the same
      as the previous state. This is useful when coming back from a state
      that may have lost some hardware settings, such as hibernation. (Note
      however that stopping the service during hibernation has the same
      effect.) It is also useful for implementing the "reload" command on
      the init script.
    * Changed the implementation of the "reload" command in the init script
      so that it does "laptop_mode auto force" instead of "start". That
      works better.
    * Removed special support for "start" and "stop" from the laptop_mode
      command. These options now all do the same thing as "auto". This means
      that it has become IMPOSSIBLE to do something like "/usr/sbin/
      laptop_mode start" manually and expect it to work. Laptop mode will
      always simply get into the state that it detects that it needs to get
      into.
    * Moved all special detection logic, such as "minimum battery minutes"
      etc., into the main laptop_mode file. Previously, an ill-timed
      "laptop_mode auto" could re-enable laptop mode even after it had been
      disabled using "laptop_mode stop" by the lm_battery.sh script.
    * From this version onward the "minimum battery minutes" only influences
      the things that can cause data-loss, i.e., most settings stay at
      maximum powersaving, only the HD keeps spun up when the system is low
      on power.
    * Minimum battery minutes now applies to ALL batteries, i.e., it only
      kicks in when ALL of the batteries are below the threshold.
    * Speed optimization: the laptop_mode script no longer needs to call
      itself recursively in order to read the configuration file.
    * AC state is now correctly applied when booting up on AC. This wasn't
      done correctly in 1.11.
    * The installer now creates the batt-start/stop, lm-ac-start/stop and
      nolm-ac-start/stop subdirectories in /etc/laptop-mode.
    * Added a check for MAX_LOST_WORK_SECONDS > 85899 for kernel versions
      2.6.13 and greater. These kernels do some calculations on clock tick
      counts and 2^31 / 250 = ~85899 is the maximum value for any centisecs
      kernel setting that they can handle, due to integer overflow issues.
      Note that this restriction only applies to kernels running on 32-bit
      architectures.
    * Prevented the output of the start-stop scripts from interfering with
      the output of the laptop_mode script.

1.11 -- 29 October 2005

Special thaks go to Jan Polacek, who contributed a very big chunk of work.

    * Cosmetic fix: "laptop_mode status" tried to get the readahead setting
      for block devices that weren't, causing error messages.
    * Fixed backward compatibility with VERBOSE setting (now called
      VERBOSE_OUTPUT), because Debian's init system may define this before
      calling laptop_mode.
    * Cosmetic fix: sed would be run on /var/run/laptop-mode-nolm-mount-opts
      when it didn't yet exist, causing an error message.
    * Cosmetic fix: hdparm is not required, but it would be called even if
      it wasn't installed. Now a warning message is given instead, if any of
      the hdparm-requiring options are enabled while hdparm is not
      installed.
    * Changed default for CONTROL_HD_POWERMGMT to 0. Some people have been
      experiencing system crashes when their hard drives' powermgmt settings
      were modified.
    * Cosmetic fix: updated config file to be 80-column compliant.
    * Added ACPI-ONLY marker to every configuration setting that only works
      on ACPI.
    * Instead of /var/run/laptop-mode-active, there is now /var/run/laptop-
      mode-state, which contains both the laptop mode and power state. This
      is used to detect actual state changes, something which was not
      possible before. If the state doesn't change, then laptop_mode doesn't
      do anything.
    * Added support for controlling the CPU minimum frequency, and frequency
      scaling governor. Thanks to nokos for contributing this.
    * Added the ability to run start/stop scripts. Although the
      implementation is mine, thanks go to Jan Polacek for the inspiration
      (and an initial implementation). You can put links to init scripts (or
      any other scripts that take "start" and "stop" commands) in the
      following directories:
          o /etc/laptop-mode/nolm-ac-start
          o /etc/laptop-mode/nolm-ac-stop
          o /etc/laptop-mode/lm-ac-start
          o /etc/laptop-mode/lm-ac-stop
          o /etc/laptop-mode/batt-start
          o /etc/laptop-mode/batt-stop
    * Added the ability to adjust X-windows DPMS timing, using
      CONTROL_DPMS_STANDBY. Thanks to Jan Polacek.
    * Fixes to useless output of hdparm when laptop mode tries to determine
      if a drive is a CD-ROM. Thanks to Jan Polacek.
    * New tool "lm-profiler", adapted from a contribution by Jan Polacek. It
      provides a profile of your system's disk usage and running network
      services, and it can automatically disable network services and other
      daemons when you are running on battery, by placing links to the
      appropriate init scripts in /etc/laptop-mode/batt-stop.

1.10 -- 14 August 2005

    * Verbose output was on by default in earlier config files.
    * Absence of AC adapters was interpreted as battery mode.
    * HD powermanagement default was incorrect for when laptop mode was not
      active.

1.09 -- 9 August 2005

    * Fixed a typo that caused CPU frequency scaling to no longer work.
    * Support for CPU throttling, using CONTROL_CPU_THROTTLING etc.
    * Stopped using /etc/fstab for determining the default values for
      filesystem options. Instead, they are now stored when laptop mode is
      activated, in /var/run/laptop-mode-nolm-mountopts.
    * The init script does not send the output of laptop mode to /dev/null
      anymore. The VERBOSE_OUTPUT option becomes more useful that way.
    * The state reported by laptop mode is split into an enabled/disabled
      state, which represents whether laptop mode processing is enabled at
      all, and an active/not active state, which indicates whether laptop
      mode is currently active.
    * HD_IDLE_TIMEOUT_SECONDS settings to replace the HD_IDLE_TIMEOUT
      settings. The old settings still work, but the new ones are much less
      awkward.
    * ENABLE_LAPTOP_MODE_ALWAYS has been renamed to
      ENABLE_LAPTOP_MODE_ON_AC, and a new option
      ENABLE_LAPTOP_MODE_ON_BATTERY has been added. This way, laptop mode
      can be completely disabled by disabling all ENABLE_ options, which is
      nice and intuitive.
    * NOLM_MAX_LOST_WORK_SECONDS is removed, and replaced by DEF_MAX_AGE in
      the kernel settings section. Changing this option will not get anyone
      any longer battery life, it will just lose more work, so it's now in
      the "don't change this unless you're really sure" section.

1.08 -- 4 August 2005

    * Fixed a typo in lm_battery.sh that broke the automatic disabling when
      power is low, and the same typo in lm-syslog-setup.

1.07 -- 29 July 2005

    * Fixed the breakage in 1.06 -- it didn't work at all because of a typo.
    * Cleaned up the complete configuration system. The old configurations
      should still be working, but if it's not too much trouble I recommend
      that you start with a fresh config file. The settings are named more
      consistently, and there is a clear grouping of the options in the new
      default config.
    * Allowed separate configuration of MAX_AGE based on AC/non-AC.
    * Allowed separate configuration of readahead when laptop mode is
      disabled.

1.06 -- 28 July 2005

    * Integration with pbbuttonsd that listens to the user's power profile
      (thanks to Matthias Grimm).
    * "status" command for laptop_mode, displays all kinds of useful stuff.
      Also supported by the init script, as is standard in Fedora/RH.
      (Thanks to Piete Brooks for the suggestion.)
    * Added option DO_WRITECACHE to enable laptop mode tools control over
      write caching, and settings BATT_WRITECACHE, AC_WRITECACHE_WITH_LM and
      AC_WRITECACHE_WITHOUT_LM to set the write caching off or on depending
      on the power and laptop mode state. This is ENABLED by default -- it
      always turns write caching off when you are on laptop mode.
    * Support fstypes in fstab with fallbacks, e.g. "ext3,ext2".
    * Allow REMOUNT_PARTITIONS to contain mount points as well as devices.
    * Add "auto" keyword to REMOUNT_PARTITIONS, as a way to indicate "all
      the default partitions".
    * Split CPU_MAXFREQ option into BATT_CPU_MAXFREQ,
      AC_CPU_MAXFREQ_WITH_LM, AC_CPU_MAXFREQ_WITHOUT_LM. (The CPU_MAXFREQ
      setting is now interpreted as BATT_CPU_MAXFREQ.)
    * Support "fastest" in CPU_MAXFREQ options, for use in
      AC_CPU_MAXFREQ_WITHOUT_LM.
    * Adjust syslog and HD settings even when basic laptop mode status does
      not change. Previous versions bailed out, but this meant that
      theAC_*_WITH_LM versus BATT_* options were not actually applied when
      using LAPTOP_MODE_ALWAYS_ON=1!
    * Add "--version" option for laptop_mode.
    * Added BIG FAT WARNING when root filesystem is ext3 and doesn't support
      mount option. This happens when the rootfs is mounted as ext2 at boot
      because of a missing ext3 module, and there is no way to find out the
      actual rootfstype later, so if you get this error you might be running
      without journaling!
    * Support for multiple CPUs for frequency scaling (in preparation for
      multicore laptop processors.)
    * Support /etc/default/laptop-mode, with option
      ENABLE_LAPTOP_MODE="yes"/"no". This is for backward compatibility with
      the Ubuntu "laptop-mode" package.
    * Add VERBOSE configuration setting, for debugging purposes. Laptop mode
      tools will log everything it does when you enable this option.
    * Detect if a drive is not a CD/DVD player before setting spindown
      timeouts on it. This gets rid of "command not supported" errors in
      kernel logs.
    * Include /dev/sda etc. in HD, because those are the device names Linux
      gives to SATA drives.

1.05 -- 10 April 2005

    * Detection of init.d or rc.d locations. Should make things work better
      on Slackware.
    * Make things work if /proc/acpi/ac_adapter contains no AC adapters.
    * Signal acpid to re-read its configuration after installing.
    * Restore config file defaults, so that old config files will keep
      working.
    * Made syslog daemon name configurable, so that you can make it signal
      alternative syslog daemons. (The signal to be sent still needs to be
      SIGHUP though.)
    * Remove error output from "which" in the install script. The result was
      handled gracefully anyway, so why print the output?
    * New configuration setting REMOUNT_PARTITIONS. Default is "", which
      means all partitions on the drives listed in the HD option.
    * New configuration settings MINIMUM_BATTERY_CHARGE_MAH and
      MINIMUM_BATTERY_CHARGE_MWH to specify the minimum remaining charge in
      the battery for laptop mode to remain enabled (in mAh and mWh,
      respectively). This is intended as a replacement for
      MINIMUM_BATTERY_MINUTES for systems that don't specify a discharge
      rate.
    * When booting up on AC, laptop mode did not set the correct
      syslog.conf, because it thought "laptop mode is already disabled so I
      don't need to do anything".
    * Added a manual page for lm-syslog-setup.
    * Attempt at support for pbbuttonsd and pmud. The APM support files are
      no longer installed when /proc/pmu exists (i.e. your system has PMU
      support), because those interfere with the native PMU support.
    * Lowered READAHEAD default from 8MB to 3MB. The high readahead caused
      the system cache to be flushed by too-large readaheads on other files.

1.04 -- 9 November 2004

    * SEE ALSO sections in manpages updated to respect the normal
      conventions.
    * Mention path of laptop_mode script in manual page.
    * Make AC detection work again on PMU (i.e. Mac) systems.
    * Remove config file defaults. Simply define them in the config file.
      The defaults were a pain to maintain, and I had to repeat them in
      several places (manual page, all files in which the config was used,
      config file itself). This was simply too error-prone.
    * Add support for syslog configuration switching based on laptop mode
      and power state. See laptop-mode.conf(8) and the contents of /etc/
      laptop-mode/laptop-mode.conf, and run /usr/sbin/lm-syslog-setup to set
      it up.
    * Added support for forcing laptop mode start/stop using a second
      "force" option to /usr/sbin/laptop_mode.
    * Added support for "/" in mount options. It was used as a delimiter for
      the sed "s" command, and that went wrong when loopback devices were
      used.
    * Dropped the DocBook SGML sources for the manpages, started working
      with pure nroff sources. The output of docbook-to-man was crap
      recently, so I decided to cut it out of the loop.

1.03 -- 27 October 2004

    * Add LM_WHEN_LID_CLOSED, to enable laptop mode when the laptop's lid is
      closed. Only works on ACPI.
    * Fixed incorrect default in a comment in the config file.
    * Fixed a bug in 1.01 which meant that laptop mode was never enabled
      when using APM.

1.02 -- 3 October 2004

    * Choice between update-rc.d and chkconfig was incorrect, so install on
      non-Debian systems didn't completely work. There's no new Debian
      package for this version.

1.01 -- 3 October 2004 (the herring and whitebread edition)

    * Updated commented-out default values for configuration parameters in
      config file, which were not all updated correctly in the previous
      version.
    * Updated the version number 0.100 in the release notes to 1.00. Just
      goes to show how long I doubted on whether to call it 1.00. :)
    * Changed the way the config file is read. Formerly used the construct $
      {VAR:-'value'} to set defaults, now I simply set the values and then
      source the config file. The immediate effect of this is that the
      surrounding environment cannot influence the laptop mode anymore,
      moving the app closer to being safe to use suid. Note that it is NOT
      SAFE to run laptop_mode suid at this moment, I haven't taken all
      necessary security measures!
    * The "hdparm -B" values are now configurable using the
      (AC|BATT)_HDPARM_POWERMGMT options. The option DO_HD_POWERMGMT can be
      set to 0 to disable the -B behaviour altogether.
    * The "hdparm -B" calls are now done BEFORE the -S calls. This is
      because some HDs change the -S setting as a side-effect of using the -
      B option.
    * Use "chkconfig" when it is available to install the rc.d-to-init.d
      links. (Until now only update-rc.d was supported.)
    * AC_HD is split into AC_HD_WITH_LM and AC_HD_WITHOUT_LM. The former
      value is used when AC power is present but laptop mode is still
      enabled (e.g. when the option LAPTOP_MODE_ALWAYS_ON is enabled). The
      latter value is used when AC power is present and laptop mode is
      disabled. The AC_HDPARM_POWERMGMT option has been split in the same
      way. The old option AC_HD is still supported, if the config file
      specifies it then it overrides both new config values.
    * Ripped usage of on_ac_power out of the script and included native
      support for pmud. This is because on_ac_power is part of apmd, and
      doesn't support pmud natively (except for the Debian version, which
      does support pmud). I don't want to depend on having apmd installed or
      on running on a Debian distro.

1.00 -- 3 September 2004

    * Use update-rc.d to install init scripts. Init scripts are now
      installed in the default runlevels, not in the bootup/sysinit scripts.
    * Reduced dependence on location of certain binaries, depend more on
      PATH.
    * Optimize away double actions -- if laptop mode is already in the
      requested state, the laptop_mode script now does nothing instead of
      re-initializing laptop mode to the state it was already in.
    * Laptop mode is now enabled using the "master switch" /etc/init.d/
      laptop-mode. If it has not been called with parameter "start", then
      "laptop_mode start" will not start laptop mode. (The file that is used
      to control this is /var/run/laptop-mode-enabled.)
    * Reduced default value for LM_SECONDS_BEFORE_SYNC to 2 (was 5, but this
      saves more power).
    * Reduced default value for MINIMUM_BATTERY_MINUTES to 7 (was 10).
    * Reduced default value for BATT_HD to 1 (5 seconds), was 4 (20
      seconds).
    * Reduced default value for DIRTY_BACKGROUND_RATIO to 1 (was 5).
    * Increased default value for DIRTY_RATIO to 60 (was 40 previously).
    * Default value for HD changed to "/dev/hda /dev/hdb /dev/hdc /dev/hdd".
    * Corrected documentation to state that READAHEAD is in kilobytes, not
      in 512-byte sectors.
    * Added option ACPI_WITHOUT_AC_EVENTS. Use this if your ACPI doesn't
      generate AC events but does generate battery events.

0.99 -- 18 August 2004

    * Fixed bug that made DO_CPU=1 fail.

0.98 -- 18 August 2004

    * Fixed bug in ACPI battery script -- missing discharge rate would lead
      to division by zero.
    * Added "auto" option to /usr/sbin/laptop_mode script. This autodetects
      the AC state and enables/disables laptop mode accordingly, using
      either /usr/bin/on_ac_power (if available) or using the /proc/acpi and
      /proc/apm values.
    * Modified the APM and ACPI event scripts to simply call "laptop_mode
      auto".

0.97 -- 12 August 2004

    * Fixed: APM script was working backwards, it enabled laptop mode when
      not on battery.
    * Fixed: the default for the HD configuration option was not working.

0.96 -- 5 August 2004

    * Installer was broken in 0.95.
    * APM scripts now support LAPTOP_MODE_ALWAYS_ON as well (i.e. they
      didn't before :) )
    * chkconfig support in the init script.

0.95 -- 31 July 2004

    * Moved Debian package support out of the regular package, into a
      separate diff.
    * Moved all config files to /etc/laptop-mode/laptop-mode.conf. Like to
      keep this consistent. The installer moves all old config files to
      their new locations.
    * Fixed bashisms in /etc/init.d/laptop-mode.
    * Added support for LAPTOP_MODE_ALWAYS_ON.
    * Manual pages also included in the regular distribution, not only in
      the Debian package.
    * Init script now also stops, reloads etcetera.

0.94 -- 29 July 2004

    * Added Debian packaging support.
    * Moved laptop_mode script to /usr/sbin/laptop_mode, because it uses
      programs in /usr.
    * Moved Debian-style config file to /etc/laptop-mode/laptop-mode.conf (/
      etc/default/laptop-mode is intended only for init-scripts.)
    * Wrote manual pages (only built and installed in non-Debian for now.)

0.93 -- 28 July 2004

    * Various small fixes.
    * Enable laptop mode when booting on battery. (Tested only on Debian,
      feedback on other distributions wanted!)

0.92 -- 25 July 2004

    * Add support for doing hdparm on multiple hard drives.
    * Various other fixes (thanks to Peter Ross).

0.91 -- 25 July 2004

    * Add experimental APM support.

0.90  -- 24 July 2004

    * Initial release. Before this, the scripts were maintained in the
      kernel documentation. (They are still in there BTW, it's just that
      laptop-mode-tools contains some extras and is usually slightly ahead.)
