Announcement: AppDaemon 4.1.0

Hi all,

This is mainly a maintenance release, we fixed some bugs, updated some packages, and added a few bits and pieces. The most important change is that we added support for python 3.9 which has been much requested, and as part of that process dropped support for python 3.6, since most if not all major platforms have access to python 3.7 and later.

Looking to the future, our next release will be 4.2.0, and will have an all new Admin User Interface based on the VUE framework. If I’m honest, the original AUI was mainly an experiment to see if it was possible and useful - I think we answered both of those questions and I was happy with the way the backend worked, and the event stream kept things up to date, but I was never happy with the actual browser code as it was basic and hard to maintain. So, I spent some time retooling my 00’s browser tech to bring it up to date and selected the Vue framework with Vuetify components to rework the AUI from scratch. Later today I will make it available in the dev branch for early adopters to take a look at with a view to releasing it soon. Here is a taster!

OK, back to today’s release:

4.1.0 (2021-08-21)

Features

  • Added “get_logs” command to stream
  • Added “deregister_service” api call
  • Added new AD event service_deregistered. This is fired when an app’s service is deregistered
  • Added the use of the !include directive in AD. This can be used either in the main appdaemon or apps config
  • Added support for Python 3.9
  • Allowed for service calls over REST API to return data
  • Added the ability to auto set return for the navigate widget - contributed by Christian Lyra <https://github.com/clyra>__
  • Added multi-arch builds to Docker hub - contributed by sineverba <https://github.com/sineverba>__
  • Added new fan widget - contributed by Ben Edmunds <https://github.com/Tigger2014>__
  • Bumped azure-mgmt-compute from 19.0.0 to 20.0.0
  • Bump azure-mgmt-resource from 16.0.0 to 19.0.0
  • Bumped deepdiff from 5.2.3 to 5.3.0
  • Bumped wheel from 0.34.2 to 0.36.2
  • Bumped azure-storage-blob from 12.8.0 to 12.8.1
  • Bumped websocket-client from 0.58.0 to 1.1.0
  • Bumped jinja2 from 2.11.3 to 3.0.1
  • Bumped uvloop from 0.14.0 to 0.15.3
  • Bumped aiodns from 2.0.0 to 3.0.0
  • Bumped docker image to alpine 3.14 using python 3.9.6
  • When apps register endpoints, kwargs can be added which is made available at the callback
  • The request object is now made available in the app endpoint callback if using async, allowing for better flexibility

Fixes

  • Fixed issue with when a plugin that is persistent re-initializes, and it creates an error
  • Fixed issue with when an entity has no state, and if wanting to listen to it, breaks internally
  • Fixed a couple of scheduler issues that affected tmezones west of EDT
  • Fixed issue of app endpoints not being cleaned when app is terminated
  • Fixed issue where it was possible for different apps to register against the same endpoint
  • Fixed issue whereby the wrong response code was sent, when there was a server error
  • Fixed issue with climate widget, so units can be properly set in YAML - contributed by Ben Edmunds <https://github.com/Tigger2014>__
  • Fixed issue with media_player widget in parsing state - contributed by Ben Edmunds <https://github.com/Tigger2014>__
  • fixed issue whereby if timeout is used in listen api, and event gives “timeout” as part of the args, the timeout is used to filter the event
  • Ensured that when apps with registered services are terminated, their services are also deregistered
  • Documentation fixes - contributed by sithmein <https://github.com/sithmein>__
  • Documentation fixes - contributed by Andrew Aneisch <https://github.com/aneisch>__
  • Documentation fixes - contributed by clyra <https://github.com/clyra>__
  • Documentation fixes - contributed by Ben Edmunds <https://github.com/Tigger2014>__
  • Fixed an issue where AD crashes when multiple plugins restart at the same time

Breaking Changes

  • Dropped support for Python 3.6
  • Changed unregister_endpoint to deregister_endpoint
  • Changed unregister_route to deregister_route
  • Changed the callback signature for register_endpoint. Please see example here <https://appdaemon.readthedocs.io/en/latest/APPGUIDE.html#restful-api-support>__
  • Changed the callback signature for register_route
  • Changed the arg name for register_endpoint to endpoint
11 Likes

Thanks for the release. Much appreciated! I was using appdaemon 4.0.6 add-on which is available with HA. I removed it and followed the docker image install guide to get this version running. However, I do not know how to make appdaemon appear as an add-on in supervisor dashboard. Is this possible? If so, please point me in the right direction.