Announcement - AppDameon 4.4.0

We have a few nice adds in this release, notably we now optionally support TOML for all configuration files, and Python 3.11 is officially supported. There is also a new optional mode for passing of **kwargs arguments in callbacks that removes some confusion in how AppDaemon originally implemented its callbacks - there for those that have wanted this for a while! We also have some scheduler fixes as well.

We will also be removing python 3.7 support soon as it goes end of life in a month or two.

  • enjoy!

4.4.0

Features

  • AUI Now shows performance stats for plugin network access

  • New CI pipeline designed and configured by Carlo Mion

  • Add support for python 3.11

  • run_at() support for times that have already passed #1684

  • Add TOML Support

  • App endpoints now support the GET method

  • Many changes to docker image including update to Alpine py3 packages - contributed by Nigel Rook

  • Apps can now accept additional arguments using pythons native dictionary unpacking (** operator) instead of a dictionary

  • Rename parameters for the old kwargs mechanism to cb_args to make the distinction

  • Added type hints and a section on how to use with your IDE

Fixes

  • Trailing slash on hass url breaks connectivity #999

  • parse_time(“sunset”) and impact of “aware” #1645

  • constrain_person not working #1437

  • last_changed_seconds wrong due to timezone #1571

  • Fixed a long standing bug that caused some callbacks to be 1 hour early or later after a DST transition

  • Fixed an issue with sunset and sunrise based constraints on systems that use UTC instead of local timr that also affected now_is_between()

  • This also fixed a long standing issue with sun_up() and sun_down()

Breaking Changes

  • Remove Python 3.7 test coverage prior to deprecation at EOL in 6/23

  • Register endpoint for async callbacks has been harmonized with the async version

Versioning note for 4.4.0 - This release was intended to be 4.3.0, however a problem with the new packaging pipeline blocked use of that version number on PyPi.

2 Likes