Changelog

autosuspend follows Semantic Versioning. Hence, any breaking change to the configuration, command line interface, systemd interface, etc. will result in a new major release of autosuspend.

Pending

Fixed bugs

  • Connection errors are now properly handled by Mpd (#77).

Notable changes

3.0

This version splits the executable into two distinct subcommands, one for activity checking and one for scheduling wake ups. This way, the wake up scheduling mechanism can be hooked into system tools such as systemd to ensure that wake ups are scheduled correctly every time the system suspends. This increases the reliability of the mechanism but also changes the way autosuspend has to be called. You now need to enable two systemd units as describe in systemd integration and the command line interface has changed.

New features

  • The KodiIdleTime activity check can now be parameterized whether to indicate activity on a paused player or not (#59, #60).
  • New structure as described above in the version introduction (#43).

Fixed bugs

  • Documented default URL for the Kodi* checks did not actually exist in code, which has been fixed now (#58, #61).
  • A bug in LogindSessionsIdle has been fixed (#71, #72).

Notable changes

  • The executable now uses subcommands. The previous behavior as a long-running daemon is now available under the daemon subcommand.
  • The command line flags for logging have changed. The previous -l flag, which combined boolean behavior and file reading, has been split into two distinct flags: -d is a boolean switch to enable full debug logging to console, whereas the old -l is now only used for reading logging configuration files. This change prevents nasty subtleties and issues when parsing the command line and became mandatory to support subcommands after the general configuration arguments such as logging.
  • Dropped support for Python 3.6 and included Python 3.8 in CI infrastructure. Everything works on Python 3.8.
  • The documentation has been restructured and improved. For instance, there is now a Frequently Asked Questions section.
  • Some build and test dependencies have changed.
  • CI-builds have been converted to Github Actions.

2.0.4

This is a minor bug fix release.

Fixed bugs

  • ActiveConnection did not handle local IPv6 addresses with scope such as fe80::5193:518c:5c69:aedb%enp3s0 (#50)

2.0.3

This is a minor bug fix release.

Fixed bugs

  • NetworkBandwidth did not update its internal state and therefore did not work as documented (#49)

2.0.2

This is a minor bug fix release.

Fixed bugs

2.0

This version adds scheduled wake ups as its main features. In addition to checks for activity, a set of checks for future activities can now be configured to determine times at which the systems needs to be online again. The daemon will start suspending in case the next detected wake up time is far enough in the future and schedule an automatic system wake up at the closest determined wake up time. This can, for instance, be used to ensure that the system is up again when a TV show has to be recorded to disk.

Below is a detailed list of notable changes.

New features

  • Scheduled wake ups (#9).
  • Ability to call configurable user commands before suspending for notification purposes (#25).
  • Checks using network requests now support authentication (#32).
  • Checks using network requests now support file:// URIs (#36).

New activity checks

New wakeup checks

  • Calendar: Wake up the system at the next event in an iCalendar file (requested via network, #30).
  • Command: Call an external command to determine the next wake up time (#26).
  • File: Read the next wake up time from a file (#9).
  • Periodic: Wake up at a defined interval, for instance, to refresh calendars for the Calendar check (#34).
  • XPath and XPathDelta: Request an XML document and use XPath to extract the next wakeup time.

Fixed bugs

  • XPath checks now support responses with explicit encodings (#29).

Notable changes

  • The namespace of the logging systems has been rearranged (#38). Existing logging configurations might require changes.
  • The default configuration file has been reduced to explain the syntax and semantics. For a list of all available checks, refer the manual instead (#39).

For a complete list of all addressed issues and new features, please refer to the respective Github milestone.