Breaking Changes
* Replaced interfaces' `get_status()` method with [`monitoring_connector()`](https://smarthomeconnect.readthedocs.io/en/stable/interfaces_custom.html#shc.supervisor.AbstractInterface.monitoring_connector), returning a *Readable* (and optionally *Subscribable*) connector object, providing the interface health state as `InterfaceStatus` value
* Custom interfaces with `get_status()` implementation need to be adapted, e.g. by inheriting from [`ReadableStatusInterface`](https://smarthomeconnect.readthedocs.io/en/stable/interfaces_custom.html#shc.interfaces._helper.ReadableStatusInterface) or [`SubscribableStatusInterface`](https://smarthomeconnect.readthedocs.io/en/stable/interfaces_custom.html#shc.interfaces._helper.SubscribableStatusInterface) or creating a custom monitoring connector
* See [Monitoring of Interface Status](https://smarthomeconnect.readthedocs.io/en/stable/supervisor.html#monitoring-of-interface-status) in docs
* Field `InterfaceStatus.metrics` has been removed
* Custom `get_status()` / monitoring connector implementations need to respect the removed field of the named tuple
* Future metrics reporting for monitoring systems shall use additional SHC connectable objects (like the connector objects of the [`EventLoopMonitor` interface](https://smarthomeconnect.readthedocs.io/en/stable/supervisor.html#shc.interfaces.system_monitoring.EventLoopMonitor) interface)
* Attribute `criticality` of interfaces has been removed
* individual interface criticality for the overall application status, reported via the HTTP monitoring endpoint, needs to be configured via [`WebServer.configure_monitoring`](https://smarthomeconnect.readthedocs.io/en/stable/web.html#shc.web.interface.WebServer.configure_monitoring) (see ["Monitoring via HTTP" in docs for more details](https://smarthomeconnect.readthedocs.io/en/stable/web.html#monitoring-via-http))
* `shc.log.generic` moved to `shc.data_logging`
* `PersistenceVariable` has been renamed to `DataLogVariable` and completely reworked in its internal interface and behaviour.
* See [Data Logging](https://smarthomeconnect.readthedocs.io/en/stable/data_logging.html) in docs for further information
* `shc.log.in_memory` moved to `shc.interfaces.in_memory_data_logging` and `InMemoryPersistenceVariable` has been renamed to [`InMemoryDataLogVariable`](https://smarthomeconnect.readthedocs.io/en/stable/data_logging.html#shc.interfaces.in_memory_data_logging.InMemoryDataLogVariable)
* `shc.log.mysql` moved to `shc.interfaces.mysql` and `MySQLPersistence` has been renamed to [`MySQLConnector`](https://smarthomeconnect.readthedocs.io/en/stable/interfaces/mysql.html#shc.interfaces.mysql.MySQLConnector)
* Interface of `MySQLConnector` for retrieving non-logging persistence connector objects has been reworked, with new method [`persistence_variable()`](https://smarthomeconnect.readthedocs.io/en/stable/interfaces/mysql.html#shc.interfaces.mysql.MySQLConnector.persistence_variable)
* New database schema for MySQL interface (when used for value persistence without data logging)
New Features
* New [`EventLoopMonitor` interface](https://smarthomeconnect.readthedocs.io/en/stable/supervisor.html#shc.interfaces.system_monitoring.EventLoopMonitor), for checking the asyncio event loop health via the monitoring interface
* New Nagios-compatible monitoring script (Nagios Plugin) "check_shc.py" in [shc/util/check_shc.py](https://github.com/mhthies/smarthomeconnect/blob/v0.8.0/shc/util/check_shc.py) for monitoring the SHC server health via the HTTP monitoring endpoint
* New [`SimpleInputConnector`](https://smarthomeconnect.readthedocs.io/en/stable/misc.html#shc.misc.SimpleInputConnector) and [`SimpleOutputConnector`](https://smarthomeconnect.readthedocs.io/en/stable/misc.html#shc.misc.SimpleOutputConnector) helper classes. They can for example be used to build function-block-like classes for SHC with multiple input and output connectors and internal logics.
* New [telemetry connector](https://smarthomeconnect.readthedocs.io/en/stable/interfaces/tasmota.html#shc.interfaces.tasmota.TasmotaInterface.telemetry) for Tasmota interface.
* New [energy connector](https://smarthomeconnect.readthedocs.io/en/stable/interfaces/tasmota.html#shc.interfaces.tasmota.TasmotaInterface.energy) for Tasmota interface
* **old `energy_x()` connectors are deprecated and will be removed in a future release**
Misc Improvements
* Improved documentation for web UI widgets: https://smarthomeconnect.readthedocs.io/en/stable/web/widgets.html
* Update UI frontend JS dependencies
* Exceptions during startup are logged and handled gracefully now
* Tests and documentation for MySQL interface
* New settings [`scale_factor`](https://smarthomeconnect.readthedocs.io/en/stable/web/log_widgets.html#shc.web.log_widgets.ChartDataSpec.scale_factor) and [`unit_symbol`](https://smarthomeconnect.readthedocs.io/en/stable/web/log_widgets.html#shc.web.log_widgets.ChartDataSpec.unit_symbol) for ChartWidgets
Internal changes
* We now use flake8 instead of pycodestyle for even stricter code style checking
* New test infrastructure for basic unit-testing of all data logging interfaces