Changelog
=========

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`` (:issue:`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 (:issue:`49`)

2.0.2
-----

This is a minor bug fix release.

Fixed bugs
~~~~~~~~~~

* ``Kodi`` and ``KodiIdleTime`` checks now catch ``JSONDecodeErrors`` (:issue:`45`)
* ``Kodi`` and ``KodiIdleTime`` checks now support authentication (:issue:`47`)

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 (`issue #9 <http://github.com/autosuspend/issues/9>`_).
* Ability to call configurable user commands before suspending for notification purposes (`issue #25 <http://github.com/autosuspend/issues/25>`_).
* Checks using network requests now support authentication (`issue #32 <http://github.com/autosuspend/issues/32>`_).
* Checks using network requests now support ``file://`` URIs (`issue #36 <http://github.com/autosuspend/issues/36>`_).

New activity checks
^^^^^^^^^^^^^^^^^^^

* ``ActiveCalendarEvent``: Uses an `iCalendar`_ file (via network request) to prevent suspending in case an event in the calendar is currently active (`issue #24 <http://github.com/autosuspend/issues/24>`_).
* ``KodiIdleTime``: Checks the idle time of `Kodi`_ to prevent suspending in case the menu is used (`issue #33 <http://github.com/autosuspend/issues/33>`_).

New wakeup checks
^^^^^^^^^^^^^^^^^

* ``Calendar``: Wake up the system at the next event in an `iCalendar`_ file (requested via network, `issue #30 <http://github.com/autosuspend/issues/30>`_).
* ``Command``: Call an external command to determine the next wake up time (`issue #26 <http://github.com/autosuspend/issues/26>`_).
* ``File``: Read the next wake up time from a file (`issue #9 <http://github.com/autosuspend/issues/9>`_).
* ``Periodic``: Wake up at a defined interval, for instance, to refresh calendars for the ``Calendar`` check (`issue #34 <http://github.com/autosuspend/issues/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 (`issue #29 <http://github.com/autosuspend/issues/29>`_).

Notable changes
~~~~~~~~~~~~~~~

* The namespace of the logging systems has been rearranged (`issue #38 <http://github.com/autosuspend/issues/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 (`issue #39 <http://github.com/autosuspend/issues/39>`_).

For a complete list of all addressed issues and new features, please refer to the respective `Github milestone <https://github.com/languitar/autosuspend/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A2.0>`_.
