=================
- Upgrade to Python 3
Breaking changes
----------------
1. The updated :ref:`tasmota-decoder` introduces a breaking change as the
database field names emitted by the decoder will change.
For example, ``AirQuality`` will now be ``SonoffSC.AirQuality``,
``Temperature`` might be called ``DS18B20.Temperature`` and so on.
We have been too lazy in the past. Sorry.
Features
--------
- Honor "Time" field submitted by devices running Tasmota
- Make Tasmota decoder grok double-nested payloads from Wemos devices
- Add decoder for message payloads from Airrohr devices
- Add ``pool_size`` option to ``[influxdb]`` configuration section. Thanks, adrianlzt!
Bugfixes
--------
- Fix logger
- Refactor decoder subsystem
- Add "lan" strategy and "basic" application
This implements a flat MQTT topic namespace for simplifying
addressing and getting started documentation.
- Upgrade to influxdb==5.3.0 module and fix tests
Documentation
-------------
- Update documentation, now using "Material for Sphinx" theme
- Add :ref:`kotori-faq` section
- Add FAQ sections about :ref:`data-acquisition-in-a-nutshell`,
:ref:`grafana-vs-export` and :ref:`weewx-mqtt-faq`.
- Add FAQ section about :ref:`processing-tags`
- Update example configuration and documentation
- Improve Tasmota decoder documentation
Packaging
---------
- Improve Docker image building
- Add packaging for Ubuntu 18 Bionic Beaver
Tests
-----
- Add MQTT/InfluxDB integration tests
- Add MQTT/Grafana integration tests
- Add tests covering all timestamp formats/units
- Add tests covering the Tasmota decoder
- Add test for vendor "hiveeyes"
- Add MQTT/HTTP integration tests for HTTP data acquisition
- Add tests for HTTP API export features
- Add tests for InfluxDB tag heuristics
- Add test for publishing discrete values to MQTT
- Add tests for publishing events using MQTT and HTTP
- Add test covering telemetry from Homie
- Add test for WeeWX integration
- Add test for legacy MQTT topic suffix
Clients
-------
- Add basic data export example for Arduino/HTTP