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 mainappdaemon
orapps
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 byBen 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, thetimeout
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
toderegister_endpoint
- Changed
unregister_route
toderegister_route
- Changed the callback signature for
register_endpoint
. Please see examplehere <https://appdaemon.readthedocs.io/en/latest/APPGUIDE.html#restful-api-support>
__ - Changed the callback signature for
register_route
- Changed the arg
name
forregister_endpoint
toendpoint