Skip to content

Releases: deragon/autopoweroff

4.2.2

13 Jul 19:16

Choose a tag to compare

Fixes

  • Catch when device file has already disappeared in ApoObserverDevice.py.

    This can happen when a device is removed. The fix prevents
    a useless exception to be thrown.

  • Replace deprecated 'ConfigParser.readfp()', with 'ConfigParser.read_file()'
    in ApoConfig.py.

4.2.1

17 Feb 20:56

Choose a tag to compare

New Features

  • Logs are now stored into a specific file.

    Logs are now saved under:

    • Normal mode: /var/log/autopoweroff.log
    • Debugging mode: /tmp/autopoweroff.log

    Major logs also continue to by saved into syslog.

Under the hood improvements

  • Disable feature now implemented as another ApoObserverManager child,
    following the recent standard to detect events affecting Autopoweroff's
    behavior.

    The disable file used to be called '/run/autopoweroff/autopoweroff.cancel'
    but now is renamed as '/run/autopoweroff/autopoweroff.disable'.

  • Only devices that are part of an "allow" list are now scanned for human
    activity. The devices allowed are mice, keyboards and joysticks.

    Previous strategy accepted all devices except some specific ones part of a
    "deny" list. This previous strategy was flawed. For example, network USB
    device could be picked up thus would always generate events.

  • Add better validation for 'Host=' command in the configuration file.

Fixes

  • Fix bug regarding input device showing up.

    Turns out that sometimes, when USB devices are added, they first appear
    as .tmp-c file as IN_CREATE events, but then are rapidly renamed and
    register as IN_MOVED_TO events.

    Those .tmp-c must be ignored, but the IN_MOVED_TO events must be
    caught as these events show the final, stable device names of the
    devices.

  • Fix Mint version. Thanks to it-jonas for this contribution.

  • Fix thread terminations.

  • Miscellaneous minor improvements.

True systemd support.

01 Oct 20:19

Choose a tag to compare

New Features

  • True systemd support. Autopoweroff Deb and RPM packages are now built
    for systemd. SysV Init files remain available with the tarball.

    This new feature fixes GH19 "Bug in SysV Init Script - Does NOT kill autopoweroffd"

    On a systemd file, it turns out that systemd is buggy supporting old SysV
    Init files. Mostly, /etc/init.d/autopoweroff stop does not kill
    Autopoweroff daemon's. The solution is simply to move to true systemd
    support, which this release does.

  • If the startup delay is below 1 minute (0 or negative), then it is set
    to 2 minutes after the action command is executed once.

    This is to prevent the action command to be repeatedly executed very
    quickly. If the command is for instance, 'Sleep', without this fix /
    safeguard the computer would always go to sleep immediately after waking
    up, giving no chance to the user to take control of it.

Fixes

  • Inner loop breakout when command executed.

    Now after the action command is executed, the execution thread leaves
    the inner loop to restart at the outer loop, causing variables to be
    reset properly as if Autopoweroff restarted completely.

  • Upon termination of Autopoweroff daemon, all thread joining are done after
    all terminate() calls are done, accelerating the termination.

  • Fix bug about pid not showing up when logging graceful shutdown.

  • Miscellaneous minor improvements.

Release 4.1.2 - Better binary packages

25 Sep 13:23

Choose a tag to compare

Fixes

  • Fix GH32 "missing dependency python-gi on autopoweroff-gui"

    Revisit this bug to generate packages for many more distributions with
    versions.

  • Minor fix in GUI to show Autopoweroff's logo instead of generic image.

Release 4.1.1 - Many fixes, some important.

26 Jun 11:16

Choose a tag to compare

No new features, but many fixes, some important. Some documentation improvements.

Full Changelog: 4.1.0...4.1.1

Fixes

  • Fix bug where Autopoweroff would end after action was executed. Autopoweroff must never end.

  • Fix [GH32] "missing dependency python-gi on autopoweroff-gui #32"

    Add build for 'autopoweroff-gui-linuxmint_*_all.deb'.

  • Fix bug in autopoweroffd where sendmsg()'s was called with 'priority'
    instead of expected 'level' arg.

  • Fix [GH28] "Can't install it on Ubuntu 20.04"

    './postinstall' being called now. Previously, './' was missing and
    therefore the Makefile could not find the script that resides in the
    same path.

  • Dependency on perl removed, as it is not used.

  • Miscellaneous minor improvements.

Thanks

Jonas Wiegert reported many bugs, provided fixes and suggested using rtcwake in combination with Autopoweroff, which will be documented in a later release. Thank you Jonas for your contribution; it is well appreciated.

Release 4.1.0 - CpuPercentage parameter implemented and many bug fixes.

04 Mar 02:33

Choose a tag to compare

New Feature

  • CpuPercentage parameter.

    If the CPU usage falls below the provided value (say, '5' for 5%) for a full second, the condition is then considered met and may trigger Autopoweroff to run its configured command if no other condition blocks it.

Fixes

  • Fix GH25 'How to disable no action time range?'.

    Default value is now set when the section is not present.

  • Fix GH23 'Not working on Macbook 5,5 because of SMC event'.

    On Macbook 5.5 (maybe others) the SMC is constantly sending events,
    probably from the light sensor or something so we want to ignore this.

    The SMC is the system management controller. It's responsible for a
    number of processes, including the cooling fans, keyboard, and LED
    lights.

    Thanks to 'robinmayol' for providing the solution.

  • Fix GH20 'Installing .deb fails'.

    Replaces in README.md the installation instructions:

      sudo dpkg -i autopoweroff*.deb
    

    with

      sudo apt install ./*autopoweroff*.deb
    

    This way, the order of the packages and their dependencies is being
    managed properly.

  • Fix GH22 'seems not making server sleep on Ubuntu Server 18.04 #22'.

    Fix consist of adding python[3]-psutils as a dependency to the daemon.

  • Add python-inotify as a dependency for daemon rpm.

  • Fix threads termination when Autopoweroff gets shutdown.

  • Python modules are now installed under /usr/share/autopoweroff.

  • Avoids empty directories to be part of the .deb and .rpm packages.

  • New UEFI / BIOS setup instructions for wakeup.

  • Make use of FPM to generate .deb and .rpm packages.

  • Multiple technical fixes.

Release 4.0.0 - Separate binaries for daemon and GUI, CPU resource check implemented and dynamic input devices detected.

03 Mar 00:16

Choose a tag to compare

  • Separate daemon and GUI packages (deb and rpm). Finally, one
    can install Autopoweroff's daemon on a server without having
    to install the GUI with all its dependencies.

  • Implemented Resources CPU percentage condition. If the CPU percentage
    usage falls below the given threshold for a duration of 1s, the condition is
    met. Resolves issue
    GH004.

  • Fixed GH005
    'Systems with a KVM switch'. Autopoweroff loaded all the
    devices once at startup and the list remained static. Now using
    pyinotify, the list is dynamically adjusted as devices are added or
    removed.

  • Minor improvements brought to the GUI such as removing use of deprecated
    features, enable icons on certain buttons and realigning widgets.

  • Fixed GH012:
    'Autopoweroff cancelfile filename mismatch'.

  • Anywhere where is is relevant, the term 'shutdown time range' has been
    replaced with 'action time range' including in the configuration file. No
    logic has changed.

  • README.md: Small aesthetic improvement such as adding the Autopoweroff,
    AWS and Azure logos and 'Python powered', 'Linux powered' banners with
    the accompanying explanation.

  • All threads are now daemon type. This way, when the main thread dies, all
    of its children die too and the whole programs stops.

  • Removed ARP reverse check since a host that is powered off will remain
    registered on the DNS, thus making this test falsely believe that the
    host is still available when it is not.

  • autopoweroffd.in performSleepForNoActionTimeRange() function content is
    reformulated to be more concise and duplicate code no longer exists.

  • Python psutil dependency added to package desc.

  • Fixed minor logging issue.

Release 3.2.1 - Fixed [GH008] 'Autopoweroff High CPU usage when only condition remaining is a living remote server'

01 Jun 02:40

Choose a tag to compare

  • Fixed GH008: 'Autopoweroff High CPU usage when only condition remaining is a living remote server'

  • Some refactoring in autopoweroffd.

Release 3.2.0 - Python 3 migration

27 May 02:17

Choose a tag to compare

  • GH009: Python3 support

    Code migrated to Python 3.

  • Accelerometer "lis3lv02d" ignored.

    Code to ignore accelerometers has been introduced into Autopoweroff. Currently, only the "lis3lv02d" accelerometer is being ignored, being hardcoded. Not ideal; more work needs to be done so the code becomes generic and ignores any accelerometer.

    Accelerometers are devices that are way to sensitive for Autopoweroff. A laptop laying on a stable table with nobody touching it will still have its accelerometer reporting movement. Thus, it is not reasonable nor necessary to take this devices into account when attempting to figure out if the device is being used or not by a person.

Release 3.1.0

04 May 13:44

Choose a tag to compare

This release contains a few bug fixes and small improvements.

  • GH001: Polkit replaces gksu. This is the main feature of 3.1.0, allowing
    Autopoweroff to work under modern Linux distributions such as
    Ubuntu 18.04 LTS. Thanks to @edgimar from GitHub for providing
    the solution.
  • GH002: Added Python's GI module as a dependency.
  • Dependency fix for Fedora 29 and openSUSE 15.
  • Build improvements.
  • Various little fixes.