-------------------------------------------------
Changes in release mega-20260720 (since mega-20260125)
-------------------------------------------------

Release date: ma 20 jul 2026 13:16:21 CEST

Gijs Noorlander (9):
      [MFRC522] Speedup reading tag
      [network] Fix wifi#connected and wifi#disconnected events
      [network] Fix typo in event
      [Network] Add AT command write to PPP modem
      [Network] Add connected/disconnected event handling for all interfaces
      [network] Reduce CPU load + fix init NW interface event names
      [MQTT] Fix merge issues
      [Build] Change ESP8266 normal and collection builds to core 3.1.2
      [Build] Enable BUILD_NO_DEBUG for 2nd heap ESP8266 normal builds

TD-er (611):
      [WiFi] Split WiFi code specific for ESP8266 and ESP32
      [Cleanup] Get rid of ESP32-IDF code for IDF3.x or older
      [Cleanup] Fix spelling error in filename
      [WiFi] First part of moving code around to restructure WiFi code
      [WiFi] Start using simplified state machine for WiFi
      [WiFi] Restructure ESP32/ESP8266 code
      [WiFi] Allow connecting to hidden SSID network
      [WiFi] Fix build issue due to enum naming conflict
      [IPv6] Disable IPv6 for ESP32-C2
      [PSRAM] Free GPIO-16 and -17 on ESP32-classic when no PSRAM present
      [PSRAM] Fix build on ESP-IDF 5.1 + add special case of ESP32-picoD4
      [PSRAM] Cleanup code
      [PSRAM] Fix solo1 builds
      [WiFi] Add some debug log to track GotIP event
      [WiFi] Fix not showing /setup page
      [WiFi] Update to latest ESP-IDF SDK + handle gotIP event on ESP8266
      [WiFi] Fix event handling for WiFi on ESP32
      [WiFi] Fix start AP for setup
      [WiFi] Call WiFi_AP_Candidates.force_reload() on saving security setting
      [PSRAM] Use PSRAM for logs, events and controller queues
      [Memory] Fix freeing of allocated strings
      [Memory] Add small optimization in free_string() to prevent copying
      [ESP-IDF] Update to latest Arduino 3.1.2 for LittleFS builds
      [ESP-SDK] Update to ESP32/Arduino 3.1.3
      [ESPEasy p2p] Add node-IDs for new Espressif SoC models
      [WiFi] Fix processing connected event
      [ESP8266] Fix crash on processing log with weblog enabled.
      [Cleanup] Simplify generating sysinfo page
      [ESP8266] Fix crash on ESP8266 SDK 2.7.4
      [ESP8266] Balance more what should be allocated on 2nd heap
      [Build] Fix build issues on ESP32-xx
      [Memory] Make memory allocation on ESP8266 2nd heap more stable
      [Memory] Move C001 and C002 queue elements to 2nd heap (ESP8266)
      [Memory] Move other controller queue elements to 2nd heap (ESP8266)
      [ESP32S3] Fix bootloop on ESP32S3 with OPI PSRAM
      [WiFi] Fix not setting wifi as initialized too often
      [Memory] Improve memory usage on Strings and task data
      [Memory] Fix crashes on ESP32-S2 with 8M PSRAM
      [WiFi] Fix setting dynamic WiFi TX power
      [Cleanup] Optimize parsing system variables
      [Rules] Fix broken math parsing
      [WiFi] Fix (re-)connecting after WiFi connection lost
      [WiFi] Fix build error on ESP8266
      [Cleanup] Uncrustify WiFi/Network code
      [WiFi] Fix reconnecting + WiFi scan
      [ESP-IDF5.4] Prepare for ESP-IDF5.4 with Arduino 3.2.0
      [Eastron] Speed up parsing Modbus RTU messages
      [Serial] Add setXxBufferSize functions
      [ESP-IDF5.3] Update to latest Arduino/ESP-IDF5.3 version
      [timing stats] Simplify and speedup collecting timing stats
      [1-wire] Fix ESP8266 builds not fitting in IRAM
      [ESP32-C5] Add preliminary support for ESP32-C5 with dual band WiFi
      [ESP32-C5] Minor tweaks formatting used WiFi protocol
      [ESP32-C5] Fix file name error for platformio_esp32c5_envs.ini
      [ESP-IDF] Update to latest SDK/IDF
      [ESPtool] Prepare use of esptool v5.0.0
      [ESP32-S2] Change ADC for ESP32-S2 back to 13 bit
      [ESP-IDF] Revert to older build due to broken UART support
      [ESP32-C5] Add hardware specific info about ESP32-C5
      [Build] Get rid of all ESP32-SPIFFS builds
      [Build] Fix display ESP32 build
      [build] Change ESP32 IRExt builds to LIMIT_BUILD_SIZE
      [ESP32-C61] Start adding support for new SoC & generalize WiFi features
      [ADC] Fix not setting attenuation on internal ADC
      [ESP-IDF] Update to latest IDF/Arduino code for IDF 5.5
      [MFRC522] Speed-up detecting cards + make error recovery more stable
      [MFRC522] Improve range of reader
      Add HTML_Print and PrintToString helpers
      [MFRC522] Simplify board reset during init
      [MFRC522] Allow to dump card info to debug logs
      [MFRC522] Do proper timing for communicating with card
      [Rules] Fix processing variables with index > 2^31
      [Log] Add PrintToLog helper
      [Build] Add ESP32C5 to release.yml build script
      [ESP-IDF] Update to latest SDK version
      [MFRC522] Speedup reading by acting on interrupt pin
      [PWM motor] Speedup acting on limit switch interrupt
      [Web flasher] Update esp web tools to 8.1.10 to support ESP32-C5
      [PubSubClient] Update to new fork PubSubClient3
      [PubSubClient3] Speedup publish large messages using buffer
      [Build] Fix failed build due to missing include
      [ESP32-C5] Add option to force WiFi band 2.4/5 GHz
      [PubSubClient3] Add check for nullptr in CHECK_STRING_LENGTH
      [Controller] Fix crashes on MQTT callback calls
      [Network] Start adding Network config page
      [Network] Continue adding network config page
      [Network] Rename NetworkAdapter to NetworkDriver
      [Network] Start on initial first WiFi STA/AP drivers
      [Network] Add webform load/save for WiFi STA and AP
      [Network] Fix looping over CONTROLLER_MAX instead of NETWORK_MAX
      [ESP32P4] Add preliminary support for ESP32P4
      [ESP32P4] Fix crashes when trying to connect to WiFi
      [ESP32P4] Add more warnings for specific GPIO pins
      [Cleanup] Fix JS issues
      [Network] Add ETH config page + tweak Network Page
      [ESP32-P4] Add OTA update command for ESP32C6 WiFi firmware
      Merge branch 'mega' into bugfix/WiFi_state_machine
      [Network] Split ESP32P4 code from other MCUs
      [Network] Fix Ethernet on ESP32P4 + allow multiple active interfaces
      [Network] List all IP-addresses per network interface
      [Network] Process info based on NetworkInterface baseclass when possible
      [Network] Show Network Interface flags
      [PPP Modem] Add framework for new PPP Modem network interface
      [ESP32P4] Add extra HW serial ports supported by ESP32P4
      [Network] Split ETH into RMII and SPI + add template for PPP modem
      [Storage] Add generic key/value store to simplify data storage
      [Storage] Add load function for new key/value store
      [Storage] Add save function for new key/value store
      [Network] Add NetworkSettings type to store network interface settings
      [Network] Fix build issues
      [Network] Uncrustify new code
      [Storage] Add NWPluginData_base & optimize key/value store
      [Storage] Add tests for key/value store
      [Storage] Fix issues storing/loading from key/value store
      [Storage] Remove 0-termination for strings from raw stored data
      [Storage] Use key value store for storing network interfaces
      [PPP Modem] Add modem parameters to NW005 + fix compile issues
      [PPP modem] Add more settings + simplify key/value/store use
      [PPP modem] Add APN/Pin settings + show modem status
      [PPP Modem] Show more cell info + correct reported RSSI/BER values
      [Storage] Fix build on ESP8266 builds
      [PPP modem] Remove PPP Modem plugin from ESP32-C3 as there isn't support
      [PPP Modem] Fix build on LIMIT_BUILD_SIZE ESP32 builds
      [PPP Modem] Add UE Cell info + fix ESP32C2 build
      [PPP Modem] Disable PPP Modem plugin for 4M flash builds due to size
      [Build] Fix ESP32C6 builds
      [Build] Remove "_CDC_" from all env names due to linker issues
      [ESP-IDF] Update IDF 5.5 builds (P4/S3) to latest version
      [Network] Allow crash detection to turn off network interfaces
      [ESP32P4] Set Ethernet as default on ESP32P4 builds
      [PubSubClient] Update to latest lib version
      [PubSubClient3] Speedup publish large messages using buffer
      [Storage] Fix storing bool types
      [Controller] Fix bug not being able to add controller
      [Cleanup] Rename CPlugin and NWPlugin calls to make clear where used
      [Network] Add WiFi/AP when not present in settings + limit options
      [Plugin] Rename PluginCall functions to use same convention as controllers
      [PPP Modem] Make PPP.begin() non-blocking by running in RTOS task
      [PPP Modem] Initialize C-code to NULL instead of nullptr
      [Network] Fix saving WiFi STA & WiFi AP settings
      [Network] Add route prio to network overview
      [Network] Move network plugin code to new ESPEasy::net namespace
      [Network] Move ESPEasy::net namespace code to new folder structure
      [Network] Move global runtime data to new ESPEasy::net namespace
      [Network] Move more WiFi related code into ESPEasy::net::wifi namespace
      [Network] Move Network code to ESPEasy::net namespace
      [Network] Disable ETH for ESP32-xx Display builds to make builds fit
      [Network] Fix ESP32-classic  display build with ETH disabled
      [Network] Move EthernetParameters to ESPEasy::net namespace
      [Network] Move MetworkMedium to new ESPEasy::net:: namespace
      [Network] Move WiFiAPcandidates files to ESPEasy::net::wifi namespace
      [Network] Fix setting up last network/controller entry
      [Network] Move WiFi init code to NW001_WiFi_STA plugin
      [MQTT AutoDiscovery] Fix merge issues
      [PPP modem] Make init of PPP modem more reliable
      [Network] Show connected duration in more readable format
      [Network] Add networkenable / -disable commands + fix for controllers
      [Controller] Fix proper checking when calling CPLUGIN_xxx functions
      [Network] Fix build on ESP8266
      [Controllers] Call [C/NW]PLUGIN_EXIT before _INIT when saving settings
      [Tasks] Fix scheduled Plugin Task Timer & proper task exit/init
      [Build] Fix failing ESP8266 custom build
      [Build] Reduce build size for ESP8266 builds
      [ESP-IDF] Update to latest ESP-IDF/Arduino for ESP32-xx
      [PPP Modem] Disable PPP Modem on platforms that don't support it
      [Network] Add mechanism to restore cached DNS servers
      [Network] Fix ESP8266 build + add log when DNS is restored from cache
      [Network] Fix mangled DNS servers when switching default route interface
      [Network] Trigger checking for DNS server on default NW-IF after event
      [Network] Make connected info more consistent among network interfaces
      [Network] Move common code to collect connection stats to base class
      [Network] Add test to see if we can track interface traffic count
      [Build] Fix ESP32 build due to missing include
      [Network] Show connection info for each interface
      [Network] Reduce code duplication showing connection info
      [Build] Fix ESP-IDF 5.5 platform to specific one before pip -> uv change
      [WiFi] Show WiFi Auth mode in connection info
      [Network] Start removing connected checks from WiFi/Eth EventData
      [Network] Clean up code duplication handling network events
      [Controller] Make connection timeout dynamic per host & networkinterface
      [Network] Remove more legacy WiFiEventData code
      [Network] Cleanup + add charts for RSSI/TX-pwr, traffic, etc.
      [Network] Fix ESP8266 build issues
      [Network] Fix build on ESP8266 1M build
      [Build] Reduce build size on ESP8266 builds
      [Build] Fix copy/paste error on ESP32 builds
      [Network] Fix corrupting settings on ESP8266
      [Network] Add Route Prio setting for each network interface (ESP32-xx)
      [Network] Fix access control check for accessing web config
      [Network] Add column with interface number to Network overview page
      [Network] Fix NAPT forwarding when client connects/disconnects
      [Network] Show connected clients to AP + cleanup charts/stats
      [cleanup] Remove duplicate code in xPlugin tables
      [network] Fix 'Enable' checkbox consistency & bootloop  with AP disabled
      [Network] Fix crashes when toggling WiFi/AP on/off
      [network] Show detailed received IPv6 info in the logs
      [Network] Fix ESP8266 build
      [Network] Fix merge-conflict on ESP32-build
      [ESP-IDF] Move to IDF5.5 for all ESP32-xx builds
      [Build] Fix missing include
      [Build] Define BUILD_NO_DEBUG for Collection_E builds
      [ESP-IDF] update to latest ESP-IDF5.5
      [Build] Define BUILD_NO_DEBUG for all collection builds
      [USBCDC] Fix USB-CDC for ESP32S2 builds
      [Build] Define BUILD_NO_DEBUG for ESP32 Collection A builds
      [Network] Fix collecting RX/TX traffic data
      [Network] Add FEATURE_NETWORK_TRAFFIC_COUNT to toggle tracking traffic
      [Network] Add FEATURE_NETWORK_STATS to toggle collecting network stats
      [Network] Fix reported traffic RX/TX Bytes
      [USBCDC] Properly fix USB CDC issues on ESP32-S2
      [Build] Define BUILD_NO_DEBUG for Display builds
      [Network] Fix xxx#Connected / #Disconnected events
      [Build] Fix merge issues
      [WiFi] Fix WiFi reconnect issues
      [RC522] Add support for 7-byte NFC UIDs
      [webUI] Move Hardware tab before Network tab
      [Build] Fix merge issue
      [SysVars] Fix showing variables with hex number as index
      [MFRC522] Add immediate event on tag removal
      [LAN867x] Add support for LAN867x Ethernet controller (RMII)
      [Network] Exit all networks before reboot
      [WiFi] Fix scanning WiFi returns no networks found
      [Network] Fix showing stats and connection info
      [WiFi] Fix reported WiFi enc. mode on ESP8266
      [WiFi] Clear uses of WiFiEventData for ESP8266 builds
      [Eth] Clear uses of EthEventData for ESP32 builds
      [Build] Fix ESP8266 build
      [WiFi] Fix wifi reconnect (on ESP32)
      [WiFi] Fix internal WiFi state matching real connected state.
      [Network] Log got IP events
      [Network] Add checks to see if _netif is a valid pointer
      [Network] Make logging gotIPv6 events not do memory allocation
      [NeoPixel] Make NeoPixelSendStatus use less memory allocations
      [MQTTDiscovery] Reduce mem alloc MQTT_DiscoveryPublishWithStatusAndSet
      [Network] Remove unused base_class check for NWPluginData structs
      [Network] Add ESPEasy event when network is enabled/disabled
      [Log] Only process log to serial when in "Arduino RTOS task"
      [WiFi] Make sure WiFi actually is disconnected when trying to reconnect
      [MQTT] Only try to run background MQTT connect when connected to network
      [CSS] Tweaks for newly added Network tab
      [web UI] Change tab icons to be more uniform and working on Apple
      [WiFi] Fix automatic redirect on Captive Portal
      [MQTT] Reduce work/memory in background task, use xTaskDelay as required
      [WiFi AP] Fix switching between NAPT and Captive Portal
      [Build] Reduce bin size for ESP32 collection builds
      [Provision] Fix not able to provision files
      [PPP modem] Fix crash when PPP modem is enabled but not present
      [Docs] Add stubs for documenting new Network design
      [TaskValueSet] Fix setting 64-bit int values to a dummy task
      [CacheReader] Fix reading cache files from CacheController
      [CacheReader] Add support for 64bit ints + output as events
      [CacheReader] Fix continue reading after crash/reboot
      [CacheReader] Fix incorrect settings array index
      [CacheReader] Fix incorrect settings array index
      [CacheReader] Fix incorrect settings array index
      [Cleanup] Only show MQTT connected stats on enabled controller
      [CacheReader] Fix reading cache files when files are missing
      [PPP modem] Add DTR pin option to regain access to modem in CMUX mode
      [Cleanup] Simplify managing key-value representation in web UI / JSON
      [JSON] Simplify writing JSON page
      [JSON] Fine-tune + speedup generating JSON
      [Log] Use new streaming JSON writer to generate web log
      [Cache Controller] Use new JSON functions to generate cache_json
      [JSON] Fine tune new JSON generation functions
      [Cleanup] Wrap #ifdef WEBSERVER_NEW_UI.. around functions only used then
      [JSON] Change handle_sysinfo_json() to use new JSON formatting functions
      [JSON] Fix pretty-print generated JSON + add createChild() option
      [JSON] Use new createChild function
      [JSON] Simplify code + reduce build size due to less dependencies
      [JSON] Add option to print JSON to String + convert Domoticz JSON
      [Build] Set ESP8266 IR builds to esp8266/Arduino 3.1.2
      [Build] Fix custom_IR_ESP8266_4M1M build
      [C009 FHEM] Use new JSON code to generate response
      [Cleanup] Remove no longer used to_json_object_value functions
      [Cleanup] Reduce bin size: unsigned long to uint32_t and long to int32_t
      [JSON] Move KeyValueWriter_JSON to src/Helpers/
      [Network] Use new WebForm writer for gathering network adapter info
      [Network] Cleanup code + generate more network info using new K/V writer
      [JSON] Add same info on network adapters & sysinfo & JSON page
      [Build] Fix ESP8266 build fail due to variable type mismatch
      [Build] Reduce bin size by disabling logs in BUILD_NO_DEBUG builds
      [Build] Fix failed custom ESP8266 build, disable CustomProvisioning
      [Build] Disable C014 (Homie) and C017 (Zabbix) for ESP8266 Collections
      [Build] Disable more logs with BUILD_NO_DEBUG on ESP8266
      [Build] Fix failing build hard_SONOFF_POW_4M1M
      [Build] Fix build errors on RISC-V like ESP32-C2/C3/C5/C6
      [Build] Fix build error on safeboot builds
      [Build] Set BUILD_NO_DEBUG for all NeoPixel builds to make builds fit
      [Build] Fix failing max_ESP32c5_8M1M_LittleFS_ETH builds
      [Cleanup] Reduce bin size & simplify ValueStruct
      [ESP-IDF] Update to latest Arduino/ESP-IDF
      [Log] Simplify web log buffering
      [Log] Speedup finding 'next' log element to process
      [Build] Fix ESP8266 build fail as std::make_unique is not (yet) known
      [WebLog] Send many log messages in chunks of 200 msec.
      [TLS] Update TLS to be able to use ECDHE_ECDSA_AES_128_GCM_SHA256 cipher
      [TimingStats] Add stat to measure time spent processing MQTT messages
      [TLS-MQTT] Automatic switch to ECDSA when error is 296 (TLS handshake)
      [Provision] Add option to store (WiFi) credentials to separate file
      [Build] Fix build issues on ESP8266
      [WiFi Setup] Store credentials via setup page to separate file
      [TAR] Fix creating unusable TAR files when backup all
      [WiFi AP] Fix generating correct events when WiFi AP turns on/off
      [WiFi] Fix starting AP when no credentials present or known APs found
      [Log] Convert all ESPEasy console output to LOG_LEVEL_NONE log entry
      [Log] Serial Console pulls logitems when UART buffer is ready + colorize
      [Log] Fix log output to webflasher console + colorize LogEntry output
      [Log] Clearly mark commands in log + source of the command
      [Log] Cleanup and simplify log level code
      [Log] Make syslog to use the new log queue + fix syslog crashes
      [Log] Fix build on ESP8266 + log level label in console + syslog format
      [ChartJS] Use new JSON key-value-writer + cleanup ChartJS code
      [Cleanup] Rename Sp_KeyValueWriter to Up_KeyValueWriter
      [ChartJS] Cleanup forcing "null" on NaN values in JSON
      [Cleanup] Simplify use of LabelType
      [ESP8266] Fix build issues due to older compiler for ESP8266 2.7.4
      [Cleanup] Make nearly all of sysinfo page use new KeyValueStruct writers
      [Cleanup] Make ESP8266 builds fit again + tweak reducing generated HTML
      [Climate] Remove P169 (AS3935 lightning Detector) from ESP8266 builds
      [Build] Revert ESP-IDF/Arduino to make Solo1 and ESP32-P4 build again
      [Cleanup] Simplify ValueStruct to reduce bin size + speed up processing
      [ESPEasy] Increase nr of ints in EventStruct
      [PPP modem] Show mobile provider name from SIM card
      [ValueStruct] Reduce memory allocations on short strings
      [LogEntry] Reduce LogEntry struct to 16 bytes per log item in memory
      [ValueStruct] Fix order initialization members
      [KeyValueStruct] Add standard Unit-of-Measure units
      [WebForm] Show bool types from key/value struct as checkmark
      [ValueStruct] Fix edge case crash copying values.
      [Build] Wrap calls to setUnit in #if FEATURE_TASKVALUE_UNIT_OF_MEASURE
      [ChartJS] Make charts appear on the full width and responsive
      [Charts] Remove no longer needed chart height/width & cleanup code
      [ESPEasy p2p] Cleanup use of std::unique_ptr + p2p data structs
      [Ethernet] Set hostname when Ethernet device is started
      [Build] Reduce build size by disabling GitHub copy button for ESP8266
      [ESP32-P4] Fix WiFi/Eth issues on ESP32-P4 + optimize memory allocations
      [Units Of Measure] fix merge issues PR #5419
      [ESP32P4] Disable USB HWCDC to fix ESPEasy console for ESP32P4
      [ESP-Hosted] Show more info on ESP-Hosted-MCU WiFi (ESP32-P4)
      [ESP-Hosted] Make sure hostname is set on ESP-Hosted-MCU before DHCP
      [IPv6] Add option to enable/disable IPv6 per network adapter
      [JSON] Write empty "Sensors" array when no tasks defined
      [Eth] Move duplicate code to shared functions to display info
      [ETH] Remove left-over code duplication after split RMII/SPI adapters
      [ESPEasy Console] Fix console on both HWCDC and Serial0
      [Network] Make connected check more direct when  starting connection
      [Build] Fix flush() vs. clear() as it differs between ESP8266 and ESP32
      [Build] Make normal_ESP8266_1M_VCC not fail building (still too big)
      [Build] Fix build issue due to missing forward decl. of enum
      [Sysinfo] Add missing Unit-of-measure on file system size
      [Ethernet] Add already setup Ethernet when upgrading ESPEasy
      [Sysinfo] Hide WiFi info when no WiFi is enabled
      [Network] Start adding JSON import/export Network settings per adapter
      [Build] Disable Framed OLED on 1M ESP8266 Normal builds due to size
      [Network] Add networkexportconfig command to export to JSON
      [Network] Add NetworkImportConfig command
      [Eth] Store settings for RMII and SPI Ethernet to KV-store
      [Ethernet] Allocate unused ETH interface support multiple ETH instances
      [Ethernet] Fix saving settings to KVS
      [Network] Restart services (e.g. ESPEasy p2p) when default route changes
      [ESP-IDF] Update to latest Arduino/IDF code with fix for SPI Eth MAC
      [ESP8266] Fix failing ESP8266 build
      [Build] Remove _LittleFS and _ETH from build names due to linker issues
      [Build] Fix build fail with builds without Ethernet support
      [ESP32-P4] Disable OTA update for ESP-HOSTED-MCU on ESP32P4 for now
      [Build] Enable `custom_remove_include` to not build ignored libs
      [Web Flasher] Update script to generate webflasher for new build names
      [Network] Simplify ETH Event handling + update ESP-IDF/Arduino 3.3.3
      [Build] Limit package building to use Python 3.13
      [Build] Fix Solo1 builds
      [Ethernet] Fix loading RMII Eth settings from KVS
      [Ethernet] Fix loading SPI Ethernet settings from KVS
      [Ethernet] Cleanup showing GPIO conflicts/usage
      [Ethernet] Remove no longer needed commands to setup ETH
      [Ethernet] Make Periman reported conflicts the reported conflicts
      [Network] Remove obsolete code from Config and Tools->Advanced page
      [ESP32-C61] Add initial support for ESP32-C61
      [Collection] Remove P038 and P095 from ESP32 Collection builds
      [ESP32-solo1] Add flags to fix IDF5.5 issues for 'esp32-solo1' boards
      [ESP32-P4] Add chip-variant option to support P4 rev 1 and rev 3
      [Build] Speed up builds, add not used libs to lib_ignore
      [WebFlasher] Add support for ESP32-C5/C61 for the webflasher
      [ESPEasy p2p] Add IDs of not yet supported ESP MCUs
      [ESP32-P4/-C61] Update Arduino/IDF to support ESP32-C61 & ESP32-P4 preV3
      [ColorCode] Add NetworkEnable/Disable commands to ColorCode JavaScript
      [WiFi] Fix check for available credentials only in device specific file
      [Network] Fix processing network events on disconnect + simplify check
      [webflasher] Add 'chipVariant' to distinguish ESP32-P4 variants
      [Hardware Info] Show differences between ESP32-C6H4 and ESP32-C6H8
      [Cleanup] Mark unused members in SettingsStruct
      [WiFi] Cleanup WiFi/AP settings + simplify when to start AP mode
      [Build] Fix failed minimal ESP8266 build
      [Build] Fix solo1 builds due to wrongly set LTO flags
      [WebUI] Simplify adding HTML form fields
      [WiFi] Simplify WiFi AP fallback scenarios
      [Build] Fix failing ESP8266 builds
      [P180] BusCmd_Helper processing I2C commands via cmd subcommand was locked out
      [C023] Clone C018 code to C023
      [C023] Remove links to RN2483 code
      [C023] Add initial support for Dragino LA66 LoRaWAN module
      [C023] Add querying LA66 + receive downlink messages
      [C023] Add option to trigger events via downlink messages + code cleanup
      [C023] Fix timeout reading from LoRa + set ClassC after joined
      [C023] Cleanup LoRa AT-command controller + fix parse responses
      [WiFi] Add link to ESP-Hosted-MCU firmware builds
      [C023] Add initial support for RAK3172 LoRaWAN (m5stack AtomDTU)
      [C023] Cleanup AT-command LoRaWAN
      [C023] Add support for RAK3172 LoRaWAN (m5stack AtomDTU)
      [ESP-IDF] Update to latest ESP-IDF/Arduino
      [USBCDC] Simplify code defining USBCDC(TinyUSB) vs. HWCDC
      [C023] Remove debug log
      [Bug] Fix formatToHex_wordarray
      [Network] Enable Network Stats when plugin stats are also enabled
      [WiFi] Fix reconnecting when connection gets interrupted
      [Network] Fix enable/disable IPv6 per network interface
      [Build] Make syslog optional to reduce build size
      [Build] Add flags to disable webserver JSON or syslog to reduce bin size
      [OLED] Fix: 128×64 shows only left half in display_A builds (#5469)
      [Web Flasher] Fix generated web flasher manifest JSON
      [Serial Console] Fix outputting data to USBCDC port for ESP32S2
      [TimingStats] Tweak timing stats for console output
      [Domoticz] Fix Domoticz MQTT outputting svalue wrapped in quotes
      Update README.md
      [Build] Fix failing custom build (#5485)
      [Build] Fix failing custom build (#5485)
      [ESP-IDF] Update to latest 1901-1318-5.5 platform build
      [Build] Fix compile issues
      Revert "[ESP-IDF] Update to latest 1901-1318-5.5 platform build"
      [Sysinfo] Show free space on file system
      [ESP-IDF] Update to latest IDF/Arduino code to test if P4 builds work
      [Build] Fix non-ESP32P4 builds with latest ESP-IDF/Arduino
      [Build] Set BUILD_NO_DEBUG for Climate-A builds to make them fit again
      [SPI] Fix returning 'other' SPI bus for user defined SPI
      [Interfaces] Split SPI and I2C config into new Interfaces page
      [WebUI] Add some icon to Interfaces tab + minor tweaks
      [ESP-IDF] Update to latest ESP-IDF/Arduino SDK
      [Web UI] Change icon for Interfaces
      [Build] Try to reduce build size for ESP8266 minimal, disable I2C/SPI
      [Build] Fix failing neopixel_ESP8266_1M_Domoticz  build
      [Build] Fix failing minimal_IRext_ESP8266_4M1M
      [Build] Fix failing build safeboot_ESP32c2_4M_LittleFS
      Update generate_web_flasher_manifest.py fix showing C6 in list
      [Network] Add 'Fallback Network Interface' concept.
      [Network] Fix failing build on ESP8266
      [Network] Start documenting Fallback Network Interface
      [WiFi] Make WiFi AP act as fallback device when set as such.
      [USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
      [USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
      [TM1637] Fix timing issues for ESP32-builds for P073 TM1637
      [TM1637] Fix timing issues for ESP32-builds for P073 TM1637
      [Direct GPIO] Add missing function decl. for ESP8266
      [Direct GPIO] Add missing function decl. for ESP8266
      [ESP8266 build] Fix failing custom ESP8266 build using Custom.h
      [ESP8266 build] Fix failing custom ESP8266 build using Custom.h
      [WiFi] Fix setting hostname before starting WiFi on ESP8266
      [WiFi] Fix build on ESP8266 SDK 2.7.4
      [WiFi] Set ESP8266 hostname each time before starting WiFi.begin()
      [TM1637] Fine tune signal timing
      [TM1637] Fine tune signal timing
      [TM1637] Make clock timing more constant + fix end of transmission mark
      [TM1637] Make clock timing more constant + fix end of transmission mark
      [TM1637] Pull DIO pin low before switching to input for ACK
      [TM1637] Pull DIO pin low before switching to input for ACK
      [TM1637] Change init procedure not calling directGPIO at init
      [TM1637] Change GPIO toggling to toggle input/output + enable pull-up
      [TM1637] Fix proper timings for start/end sequence
      [TM1637] Change init procedure not calling directGPIO at init
      [TM1637] Change GPIO toggling to toggle input/output + enable pull-up
      [TM1637] Fix proper timings for start/end sequence
      [ESP-IDF] Switch to latest ESP-IDF / Arduino SDK & GCC 15.2
      [Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
      [Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
      [Build] Reduce build size by tweaking compile flags
      [Build] Fix mDNS builds + failing FEATURE_MQTT_TLS=0 & HTTP_TLS=1
      [ESP32-P4] Fix failing ESP32-P4 build due to upstream ESP-IDF changes
      [mDNS] Fix mDNS on ESP8266
      [ESPEasyP2P] Add ESP32-S31 as node ID to be recognized as ESP type
      [Serial Console] Fix showing console output in VScode
      [Console] Fix sluggish reply on console input + allow disable color logs
      [Git] Add sdkconfig.* to .gitignore
      [GPIO] Fix GPIO re-assign on ESP32 previously used by serial
      [Build] Add missing changes for disable colorize logs
      [ESP-IDF6.0] Add support for latest IDF6.0
      [mDNS] Properly destruct MDNS objects when updating
      [SPI Eth] Fix SPI Ethernet using correct SPI bus
      [ESP-IDF] Revert to IDF 5.5.3
      [SPI] Fix build on ESP32C3
      [SPI] Simplify SPI code + fix SPI bus selection
      [Build] Fix build missing #if FEATURE_SD
      [Web UI] Fix selected disabled item not getting saved
      [SPI] Fix potential uninitialized spi gpio pins
      [WiFi-AP] Extend WiFiAPmode command to toggle WiFi-AP without disable it
      [P169] AS3935 Lightning Detector was missing from Climate B builds
      [Network] Fix starting fallback interfaces if all are fallback on ESP32
      [mDNS] Add mDNS for ESP32 builds
      [mDNS] Update ESP32 mDNS lib + improve handling fallback AP on ESP8266
      [Docs] Update links to datasheets + TR of supported ESP chips
      [Docs] Fix frequency of ESP32-S31 + ESPEasy supported since
      [Docs] Fix rendering supported CPUs table
      [mDNS] Add flag to toggle mDNS
      [Network] Reduce includes in network code
      [Network] Fix failing custom_beta_2ndheap_ESP8266_4M1M
      [Network] Reduce number of includes in WiFi/Network code
      [Build] Fix hard_SONOFF_POW_4M1M  build
      [Cleanup] Reduce number of includes
      [Build] Fix failing build collection_C_ESP32_IRExt_4M316k
      [WiFi] Fix odd WiFi behavior on ESP8266
      [Build] Reduce size of custom ESP8266 build
      [ESP8266] Simplify device info functions on ESP8266
      [ESP8266] Define more bus specifics for ESP8266 in esp8266_soc_caps.h
      [Cleanup] Add 'override' to virtual controller queue functions
      [Cleanup] Add 'override' to virtual functions libs changed for ESPEasy
      [Cleanup] Fix failing builds due to different virtual function sigs
      [Network] Cleanup code + show connection info on ESP8266 adapter page
      [Cleanup] Comment unused NWPluigin functions
      [mDNS] Disable mDNS in builds as it is considered unstable
      [WiFi] Fix initial WiFi setup via soft-AP
      [Build] Fix missing include for ESP32 builds
      [WiFi] Fix uncrustify messing up wifiChannels table
      [WiFi] Fix captive portal and initial setup for ESP32-S2
      [WiFi] Fix crash on saving WiFi settings with active network connections
      [WiFi] Add OTA update for ESP-Hosted-MCU on ESP32-P4
      [sendToHttp] Fix  SendToHttp HTTPS command using HTTPClientLight
      [Build] Fix include for ESP8266 builds
      [sendToHTTP] Fix sendToHTTP using the new lib for https. (revuew by Ton)
      [ESP-IDF] Update to latest ESP-IDF/Arduino
      [RMII Eth] Fix setting clock mode + document NW config import/export
      [Docs] Update ESP-Chips table
      [ESP32P4r3] Add support for ESP32-P4 rev3
      [Eth] Fix static IP for Ethernet
      [Build] Fix missing include on minimal_core_312_ESP8266_1M_OTA_Domoticz
      [Build] Fix missing include for collection_H_ESP32_IRExt_4M316k build
      [WiFi] Fix slowdown issues using Eth on ESP32-P4 with WiFi off
      [WiFi] Make Captive Portal more intuitive and only act when connected to AP
      [WiFi] Fix continuous logs flood + fix check for no credentials
      [Build] Fix ESP8266 build
      Fix syslog packets contain only a prefix (#5538)
      [ETH] Fix setting static IP for Ethernet network interfaces
      [Build] Remove normal_beta_ESP8266_16M_LittleFS
      [Build] Fix missing include
      [WiFi] Fix static IP for WiFi
      [WiFi] Fix static IP for ESP8266
      [ESP32S2] Add MAX 8M1M build for ESP32-S2
      [ESP-IDF] Update to latest IDF/Arduino code
      [Sysinfo] Fix reporting used sketch size on sysinfo page
      [Console] Fix setting correct TX buffer size + add checks + cleanup
      [WiFi] Fix setting init/exit/gotIP flags on Network interfaces
      [ESP32S2] Fix using UART/USBCDC on ESP32S2
      [WiFi] Fix some minor WiFi issues when saving settings (still 5min wait)
      [WiFi] Fix WiFi reconnect + event duplicates on ESP8266
      [ESP32P4] Fix crashes on older ESP-HOSTED-MCU fw & detection 32M flash
      [32M flash] Fix including all 'MAX' plugins for 32M flash builds
      [ESP-Hosted-MCU] Fix OTA URL + speedup log output to serial
      [ESP32-P4] Enable WiFi STA interface on factory reset
      [Webflasher] Add 32M builds to the page generator script
      [Webflasher] Use flash size detection to simplify MAX build selection
      [webflasher] Cleanup Python script to generate page + set to 460800 baud
      [DirectGPIO] Use low-level HAL commands from ESP-IDF for ESP32-xx
      [PubSubClient3] Update to latest MQTT Client PubSubClient3
      [Network] Improve response time on network disconnect for MQTT client
      [Network] Add setting whether to collect network stats (ESP32-only)
      [ESP32S2] Improve free RAM on ESP32S2
      [Network] Fix crash saving network interface settings with p2p active
      [TM1637] Fix ESP8266 not working with TM1637 (#5541)
      [ESP32S3] Fix random crashes on ESP32S3 with PSRAM
      [WiFi] Fix using all set WiFi credentials
      [AccessControl] Fix checking for allowed IP range
      [ESP8266] Fix ESP8266 builds missing include
      [WiFi AP] Fix really stupid error setting WiFi AP static IP
      [ESP-IDF] Update Arduino/ESP-IDF to latest version
      [WebFlasher] Update webflasher to 12.2.4
      [Network] Fix route setting priority (ESP32-only)
      [Network] Fix properly clearing runtime data when starting nw interface
      [Arduino 3.3.9] Update to latest espressif32/Arduino 3.3.9
      [Docs] Add link to Supported Features and Peripherals on ESP32-xx
      [AccessControl] Fix checking for allowed IP access of webinterface
      [Build] Fix custom build missing an include for Metrics.cpp
      [Build] Fix sort custom vars on ESP8266
      [SysVarSort] Only sort system variables on ESP32 due to build size
      [WiFi] Fix stack overflow crash when no credentials set
      [WiFi] Simplify state machine for WiFi STA
      [WiFi] Update WiFi state diagrams
      [WiFi] Simplify WiFi STA state machine
      [WiFi] Cleanup STA state machine code
      [WiFi] Add state diagrams to WiFi documentation
      [Network] Simplify connected/disconnected and enabled/disabled events
      [PWM] Disable fade for ESP32 PWM for now.
      [SendToHttps] Fix crash and actually working + connect timeout
      [Build] Fix failing ESP32C2 Safeboot build.
      [SendToHttps] Log HTTP return code even on BUILD_NO_DEBUG
      [Forms] Add optional changed bool to simplify checking for changes
      [Webserver] Remove code duplication send start of page
      [Webserver] Remove & simplify duplicate code send end of page
      [PPP] Show info even when no connection to provider is active
      [PPP Docs] Add documentation on NW005 PPP Modem
      [PPP Docs] Add description and some tips regarding power
      [Docs] Add documentation for WiFi STA/AP + reformat other network docs
      [Docs] Describe WiFi modes and Passive/Active scan
      [WiFi] Simplify passive/active scan note
      [Docs] Describe rest of WiFi settings
      [Docs] Fix section/subsection marking on PPP page.
      [Docs] Remove empty 'Description' subsection from NW001 page
      [Docs] Add missing documentation for WiFi AP + cleanup network docs
      [Network] Add option to append NW interface name to hostname
      [Docs] Add link of ESP32-Arduino supported features per ESP32-variant
      [Cleanup] Set development/debug log as LOG_LEVEL_DEBUG
      [Network] Add "Append Name to Hostname" to import/export
      [Network] Fix import/export for WiFi STA and AP
      [Docs] Document the Network overview tab
      [Docs] Document the devsecurity.dat file
      [Docs] Add missing network overview tab screenshot

Ton Huisman (166):
      [SPI] Add support for multiple SPI buses
      [P095] Enable support for configurable SPI bus
      [P104] Enable support for configurable SPI bus
      [P116] Enable support for configurable SPI bus
      [P141] Enable support for configurable SPI bus
      [P172] Enable support for configurable SPI bus
      [P162] Enable support for configurable SPI bus
      [P162] Fix compilation for ESP8266
      [P125] Enable support for configurable SPI bus
      [P118] Enable support for configurable SPI bus
      [P111] Enable support for configurable SPI bus (and reformat source)
      [P099] Enable support for configurable SPI bus
      [P096] Enable support for configurable SPI bus
      [P039] Move (nearly) all code to PluginStrucs files
      [P039] Enable support for configurable SPI bus
      [SPI] Show SPI Bus selector also if only second bus enabled
      [SPI] Fix initialization for standard FSPI bus
      [SPI] Improvements in cross-bus GPIO config validation
      [Storage] Add settings for External EEPROM
      [SPI] Rename SPI1 object to SPIe to avoid conflict for ESP32-Classic builds
      [SPI] Code improvements, separate SPI functions, re-init SPI when saving Hardware page
      [P039] Fix compiler warning (nested comments)
      [MQTT] Reconnect on unexpected network interruptions
      [SPI] Disconnect SPI GPIO pins also when not using them
      [P116] Fix GPIO display on Devices page, no default GPIO pins for ESP32
      [P095] Fix GPIO display on Devices page, fix typos, no default GPIO pins for ESP32
      [SPI] Rename settings variable for better usage indication (review comment)
      [MQTT] Cancel background connection request after 2 minutes when still not connected
      [MQTT] Fix reconnect on unexpected network interruptions
      [Discovery] Avoid setting the timeout more than once
      [MQTT] Use client timeout for delay between connection attempts
      [Build] Fix missing FEATURE_SD check
      [P132] Additional support for INA226, INA228, INA230, INA231 and INA260
      [P132] Fix some typos
      [P132] Fix some more typos
      [P132] Fix one more typo and clean up code
      [P132] Add INA231 to plugin name
      [P132] Update documentation
      [P132] Fix conversion rate settings for INA228
      [P132] Fix defaults for INA228
      [P132] Update documentation for INA228 conversion rates
      [P132] Refactor Shunt settings and add more high-current options
      [P132] Update documentation for extended Shunt setting
      [P132] Fix rounding for 400A shunt
      [P132] Better selector-descriptions for shunt values
      Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses, fix conflicts
      [P135] Bugfix: Correct Discovery VTypes
      [SPI] Add SPI bus selector to SPI Ethernet plugin
      [MQTT] Bugfix: Import wasn't initiated and handled correctly
      [Cleanup] Remove Provisioningxxx fall-back commands and other fixes
      [Docs] Fix some small typos
      [Log] Restore EVENT: (some event) in logging for BUILD_NO_DEBUG builds
      [Log] Restore ACT  : (rules action) in logging for BUILD_NO_DEBUG builds
      [P073] Bugfix: Display stays blank after upgrade without settings-save (#5475)
      [P132] Improve calculation accuracy determining shunt microVolt factor
      [P132] Only read measurement when conversion is ready
      [P132] Enable extended features for Energy build ESP8266 for now
      [Build] Fix compilation with Custom.h and TLS on ESP32
      [Fixes] Various fixes and improvements Feb 2026
      [CI] Fix github yaml syntax issues
      [P132] Fix MQTT Discovery for Power setting
      [Docs] Fix warnings and doc-build errors, remove deprecated plugin from conf.py
      [P104] Add font with Cyrillic characters in high-ASCII area
      [P104] Updated documentation for Cyrillic font
      [P104] Updated Cyrillic ext. font with more elaborate character set
      [P104] Updated Cyrillic ext. font with a more visually pleasing character set
      [SPI] Add support (check) for ESP32-C61 in getSPIBusCount()
      [P180] Set Cache-name field by default when empty for better performance, docs updated
      [Docs] Use pioarduino plugin instead of PlatformIO for VSCode
      [Docs] Fix error in internal commands list so it is visible again
      [Build] Disable unneeded 'page will reload' messages
      [Docs] Fix typo
      [Feature] Split Interfaces page into separate tab per interface
      [Build] Remove unneeded ifdef check
      [UI] Add support for collapsible sections on web pages
      [Interfaces] Add collapsible sections for I2C and SPI configuration
      [Build] Fix compiler warnings
      [UI] Fix minor display issue
      [UI] Add support for collapsible sections on web pages
      [Docs] Move Interfaces and Network docs to more appropriate locations
      [Docs] A few textual updates
      [P104] Improved Cyrillic font
      [UI] Improved css when used on small screens
      [UI] Improved css when used on small screens, more updates
      [UI] Improved css when used on small screens, more updates
      [P104] Update Cyrillic font doc screenshot
      [P104] Improved Ë and ë in the Cyrillic set to align with the other Cyrillic characters, and updated screenshot
      [UI] Improved css to have a pointer cursor and some spacing around the Details... label
      [UI] Fine-tune css for nicer menu tabs in dark mode
      [UI] Revert: Fine-tune css for nicer menu tabs in dark mode
      [UI] Fine-tune css for nicer menu sub-tabs (Interfaces)
      [UI] Fine-tune css fixes by @chromoxdor
      [UI] Compatibility css fix by @chromoxdor
      [Docs] Separate ESP32 and ESP8266 status
      [Docs] Separate status for ESP32 and ESP8266 on each page
      [Docs] Small update on excluded plugins
      [Docs] Small updates for supported chips
      [Docs] Small updates for supported chips
      [UI] Disable the Interfaces/Modbus subtab for now, as it's still TODO
      [Docs] Update documentation
      [Build] - Ignore clangd configuration file
      [Build] Add P047 (Moisture sensors) to Climate B, as mentioned in the docs
      [Advanced] Remove I2C ClockStretchLimit note
      [Network] Fix missing reload-indicator for Network Driver selector
      [Docs] Corrections for some recent changes
      [Docs] Expand description for creating a Custom build
      [Docs] Expand description for creating a Custom build, small typo fixes
      [Bugfix] [I2C] Connection-check failure didn't correctly disable the plugin
      [P180] [BusCmd] Allow rules variables in get/read and put/write (bus) commands
      [Build] Use pioarduino also on Github builds
      [Build][GH] Bump github-scripts plugin from v8 to v9
      [Build] Rename library.json for HeatpumpIR to avoid constant re-installs of (outdated version) IRremoteESP8266
      [P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
      [P180] Process I2C commands synchronous when called from rules and other internal sources
      [P180] Update documentation
      [P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
      [P180] Update documentation
      [Build] Create separate ESP32P4 binaries zip in release script
      [Fixes] %iswifi% report status value instead of boolean
      [Metrics] Add network traffic data TX/RX bytes and frames (Prometheus)
      [Docs] Fix typo
      [Ni]otifications] Add usesTLS flag to attributes and show in PluginList
      [Ni]otifications] Add usesTLS flag to attributes and show in PluginList
      [Network] Add define to select factory-default network adapter
      [Custom] Add some missing #define variables to Custom-sample.h
      [Network] Fix struct initialization
      [Settings] Fix waring for VariousBits_2
      [Network] Add size-check for NetworkDriverStruct
      [Custom] Add secure Cloudflare DNS entries
      [Docs] Fix missing column for LoopTimerSetAndRun
      [Build] Add C5 4MB Custom, 16MB MAX and 32 MB MAX32 and P4 32MB MAX32 builds
      [Build] Fix a few typos in 32MB board definitions
      [Build] Missed a typo in 16MB board definition
      [Dist] Update Espressif Flash Download tool to v3.9.10
      [Build] Update documentation
      [Network] Allow network interfaces to be enabled on factory reset
      [Network] Fix small typo
      [P180] Add documentation for TCA9554 I/O extender to control relays
      [P073] Fix build with P073_DEBUG and BUILD_NO_DEBUG enabled
      [Build] uv: Activate the PENV, then install missing requirements there
      [C016] Remove Experimental label, clean up initialization
      [Network] Initially collapse the Statistics section of the page
      [Metrics] Only export metrics when stats enabled
      [Build] Fix comment
      [Network] Allow to not default-enable WiFi interface
      Revert: [Metrics] Only export metrics when stats enabled
      [Docs] Fix link to I2C Bus settings
      [Console] Accept all valid ASCII characters for input
      [Build] Fix install-requirements script on Windows
      [UI] Update icon for Tools tab
      [P039] Fix for initialization error
      [SysVars] List variables numerically sorted
      [SysVars] Sort alphabetic values too (though they come in already sorted)
      [Docs] Suggest VSCode plugin TODO Highlight as Todo Tree doesn't work anymore without an external tool
      [Docs] Update VSCode plugin list
      [C005] Add note MQTT Auto Discovery not enabled in ESP8266 builds
      [Bugfix] Improve initialization of Task Interval
      [Bugfix] Partial revert for saving Task Interval
      [Bugfix] Include PLUGIN_FORMAT_USERVAR values for json updates
      [PLUGIN_FORMAT_USERVAR] Allow optional value display formatting by setting ParN[idx] to 1
      [P126][P129] Code optimization by moving ul2stringFixed to StringConverter_Numerical
      [P126][P129] Code optimization using ceilf instead of ceil, fix conditional compile error
      [Docs] Small typo P124
      [Bugfix] Limit humidity to 100% after applying temperature compensation
      [UI] DevicesPage: Hide Controllers if no values to send
      [Docs] Clarification about Collection builds including Normal plugin set, mention 32MB flash units

andbad (18):
      Update _P036_FrameOLED.ino
      Add new display configuration for 72x40 resolution
      Add case for pix72x40 resolution handling
      Update p036_resolution enum values
      Add new display option '72x40' to OLed_helper
      Fix enum values for p036_resolution
      Reorder resolution options in OLED frame
      Fix formatting of optionValues array in FrameOLED
      Reorder display size options in OLed_helper.cpp
      Remove and re-add 72x40 resolution configuration
      Update OLedFormSizes call to include element count
      Update OLedFormSizes to use optionsSize parameter
      Add default parameters to OLedFormSizes function
      Refactor FormSelectorOptions initialization
      Fix formatting of enum value for p036_resolution
      Fix formatting in P036_data_struct.h
      Add 72x40 OLED size to changelog
      Add 72x40 size

chromoxdor (35):
      Update for the HTTP Response Parser
      minor changes
      Update HTTPResponseParser.h
      Update HTTPResponseParser.h
      HttpResponseParser fix:prevent race condition
      [ESP8266] Enable CORS globally
      [CSS] Future CSS for Wi-Fi & Interfaces tab
      no need here
      [CSS] small update
      Update HTTPResponseParser.cpp
      Update HTTPResponseParser.cpp
      update colorcode files
      Update HTTPResponseParser.cpp
      FIX json?showpluginstats
      Update espeasy.min.js
      [ESP8266] Enable CORS globally (Update)
      [LOG] add filter
      [LOG] refining the filter
      [LOG] revert changes for plugin_sets
      [LOG] add filter field for older builds
      [LOG] reverting accidents
      [LOG] autoscroll fix, code reduction
      [LOG] Removed unnecessary code.
      [LOG+DevicePage_JS] refining the device page JS
      [JS] update WebStaticData.h
      [LOG] Fix for the minified JS
      Delete fetch_and_parse_log.min.js
      [PWM] Fix led flickering
      [PWM] undoing 16-bit changes
      Update Hardware_PWM.cpp
      [PWM] add ledcReadFreq(pin) for comparison
      [PWM] multipin state tracking
      Update Hardware_PWM.cpp
      [PWM] using ledcRead()
      [PWM] reduce function

dependabot[bot] (3):
      Bump actions/download-artifact from 7 to 8
      Bump actions/upload-artifact from 6 to 7
      Bump actions/checkout from 6 to 7

yosinn1-blip (2):
      docs: fix received spelling in docs
      docs: fix occurrence spelling in docs


-------------------------------------------------
Changes in release mega-20260108 (since mega-20260107)
-------------------------------------------------

Release date: Thu Jan  8 08:33:12 AM CET 2026

TD-er (1):
      Add Python version for prepare-dist in release.yml


-------------------------------------------------
Changes in release mega-20260107 (since mega-20250430)
-------------------------------------------------

Release date: Wed Jan  7 11:00:02 PM CET 2026

Bartłomiej Zimoń (4):
      Update Flashing.rst
      Update Flashing.rst
      Update Flashing.rst
      Update Flashing.rst

Fabio Ancona (2):
      Update LD2410 doc adding info of false positive
      Update P159.rst

Jason2866 (8):
      remove cache use uv
      Update build.yml
      Update post_esp32.py
      Update post_esp32.py
      add forgotten function
      missing import os
      Update post_esp32.py
      remove cache use uv

TD-er (55):
      [Favicon] Serve favicon.ico as inline SVG
      [settings] Reduce initial default config.dat to 96k on ESP32
      [JSON] Tweak generating JSON via web requests
      [Favicon] Tweak blue color in SVG ESPEasy favicon
      [Time] Speedup printing date/time string
      [Build] Remove TAR support from LIMIT_BUILD_SIZE builds (saves 5+ kB)
      [OLED display] Reduce build size for P023
      [SysVarPage] Fix table layout on builds with excludes features
      [SysVarPage] Make more clear separation for "Standard Conversions"
      [Sysvar] Enable %c_random% for all builds
      [ESP32-S2] Change ADC for ESP32-S2 back to 13 bit
      [ESPtool] Prepare use of esptool v5.0.0
      [Build] Get rid of all ESP32-SPIFFS builds
      [ESPtool] Prepare use of esptool v5.0.0
      [ESPEasy p2p] Add node-IDs for new Espressif SoC models
      [ADC] Fix not setting attenuation on internal ADC
      [Build] Update to latest IDF5.4 build + add C6 builds
      [ESP32-S3] Revert changes in board defines for ESP32-S3 with OPI PSRAM
      [Build] Speed up ESP32 builds via CompiletimeDefines_generated.h
      [WebFlasher] Add missing ESP32-xx MCUs to manifest script
      [Build] Speed up ESP32 builds via CompiletimeDefines_generated.h
      [WebFlasher] Add missing ESP32-xx MCUs to manifest script
      [Rules] Fix processing variables with index > 2^31
      [MFRC522] Speed-up detecting cards + make error recovery more stable
      [MFRC522] Improve range of reader
      [MFRC522] Simplify board reset during init
      [MFRC522] Allow to dump card info to debug logs
      [MFRC522] Do proper timing for communicating with card
      [MFRC522] Speedup reading by acting on interrupt pin
      Add HTML_Print and PrintToString helpers
      [Log] Add PrintToLog helper
      [PWM motor] Speedup acting on limit switch interrupt
      [ESP-IDF] Update to latest SDK version
      [WebFlasher] Add more info on migrate to LittleFS on web flasher page
      [WebFlasher] Update LittleFS migration guide in webflasher page
      [PWM motor] Fix limit switch invert (again)
      [PubSubClient] Update to new fork PubSubClient3
      [PubSubClient3] Speedup publish large messages using buffer
      [PubSubClient3] Add check for nullptr in CHECK_STRING_LENGTH
      [Controller] Fix crashes on MQTT callback calls
      [WebServer] Properly close chunked transfer
      [Cleanup] Fix JS issues + correctly end chunked transfer
      [Build] Try fixing failing solo1 build
      [ESP32-U4WDH] Fix bootloop on non-Solo1 builds
      Fix missing #ifdef USES_P056
      [Build] Fix missing #ifndef LIMIT_BUILD_SIZE
      [SysVars] Fix showing variables with hex number as index
      [MQTTDiscovery] Reduce mem alloc MQTT_DiscoveryPublishWithStatusAndSet
      Reduce ESP32 Display build size (BUILD_NO_DEBUG)
      [CacheReader] Fix continue reading after crash/reboot
      [CacheReader] Fix reading cache files from CacheController
      [CacheReader] Add support for 64bit ints + output as events
      [CacheReader] Fix incorrect settings array index
      [Build] Limit package building to use Python 3.13
      [Collection] Remove P038 and P095 from ESP32 Collection builds

Ton Huisman (369):
      [P073] Add support for 74HC595 displays
      [P073] Disable debug log
      [P073] Make build fit again (part 1)
      [P073] Make build fit again (part 2)
      [P094] Remove from Collection D for ESP8266 buildsize
      [P073] Move most code to PluginStruct files, explicit compile-time defines
      [P073] Make 7-segment font functions publicly available
      [P073] Separate 74HC595 multiplexed displays, code improvements
      [P073] Update documentation
      [P073] Disable 74HC595 displays for now
      [P073] Add double-buffering for 74HC595 displays
      [P073] Make some functions available externally, fix 74HC595 matrix display (sort-of, still some flickering)
      [P073] Fine-tuning and allow to include 74HC595 in ESP8266 Custom builds
      [P073] Make P073_revert7bits() available for global use
      [P073] Fix copy/paste error
      [P073] Use more efficient bit-revert algorithm, as suggested
      [P073] Add option for time-blinking the second dot instead of the colon
      [P073] Use DIRECT_PIN_IO for TM1637 displays for better timing accuracy
      [P073] Update documentation
      [P073] Should use the public function
      [P165] Fix compiler warning
      [MQTT] (Auto)Discovery implementation
      [P052] Add MQTT Discovery data for supported Values
      [Source] Fix CR/LF vs LF
      [MQTT] Add support for more VTypes, implement more VTypes, small improvements
      [MQTT] Move TaskValue VType Discovery to each plugin where needed. Some other code improvements
      [P105] Fix Uncrustify formatting
      [P164] Add fixme for currently unsupported AQI Discovery value
      [Discovery] Add VType for Reactive Power
      [Discovery] Implement VType for Reactive Power
      [P076] Implement Discovery support (for user-selected values)
      [P077] Implement Discovery support (for user-selected values)
      [P078] Implement Discovery support (for user-selected values)
      [P085] Implement Discovery support (for user-selected values)
      [P102] Implement Discovery support (for user-selected values)
      [P108] Implement Discovery support (for user-selected values)
      [P115] Implement Discovery support (for user-selected values)
      [P132] Implement Discovery support (for user-selected values)
      [P142] Implement Discovery support (for user-selected values)
      [Discovery] Refactor getting VType per plugin, add some more plugins for AutoDiscovery
      [Discovery] Add support for some more VTypes, add AQI and NOx
      [P147] Implement MQTT Discovery support
      [P164] Update MQTT Discovery support
      [EasyColorCode] Updates April 2025
      [P020] Update documentation
      [P116] Fix typo in docs
      [P180] Add plugin Generic I2C
      [P180] Add also to Display, Energy and Neopixel collection builds (ESP32 only)
      [P180] No defaults for I2C address or number of values
      [P180] Cleanup memory after use, fix ESP8266 compilation
      [P180] Cleanup memory after use, fix ESP8266 compilation
      [Rules] Fix parsing bracketed expressions from position 0
      [P180] Add conditionally cancelling a command sequence (if)
      [Rules] Add support for crc8 and crc32 functions
      [P180] Optimize hex formatting, add preprocessed calculation to logging
      [Rules] Add optional validation of crc to crc8 and crc32 functions
      [EasyColorCode] Add more plugin commands
      [P180] Correct regular value handling, improved hex formatting
      [P180] Add documentation and usage examples
      [P180] Add exec subcommand, add valuename support, fix issue updating command-cache
      [P180] Add handling 1/sec, 10/sec and 50/sec event processing, add log subcommand
      [P180] Update documentation and usage examples
      [P180] Update documentation and usage examples
      [EasyColorCode] Update commands for P180
      [Docs] Add examples for substring for translation of day/month names
      [P180] Add let I2C Command, limit delay to max 10ms for 1ps/10ps/50ps
      [P180] Add to Custom-sample.h
      Bugfix [P075] Typo in check for RxD GPIO pin
      [P180] Refactor into BusCmd, phase 1
      [P021] Bugfix: Make Invert work without a GPIO pin selected
      [P180] Refactor into BusCmd_Handler interface, phase 2, Add String support
      [P180] Remove previously added but unused I2C functions
      [P061] Resolve I2C related FIXMEs, gaining ~120 bytes
      [P180] Update documentation
      [P011] Optimize I2C calls, gaining ~110 bytes
      [Discovery] Add /config and Retain Discovery settings to MQTT Controller with AutoDiscovery
      [Discovery] Fix Switch auto-discovery [Discovery] Add support for Inverted Switch [Discovery] Add support for Switch Device Class configuration
      [P001] Implement Switch MQTT Device Class setting and Inverted Switch discovery
      [P009] Implement Switch MQTT Device Class setting and Inverted Switch discovery
      [P001][P009] Correct typo
      [P019] Implement Switch MQTT Device Class setting and Inverted Switch discovery
      [P021] Implement Switch MQTT Device Class setting and Inverted Switch discovery
      [Discovery] Add support for different Switch device class per value
      [Rules] Add support for String type variables
      [StringVars] Fix variable typo
      [StringVars] Remove unneeded UnaryOperator::IsNum
      [StringVars] Fix new introduced template parser bug
      [StringVars] Make string comparisons work with `if`
      Add new commands and functions for String variables support
      [SysVars] Make second argument for 2-argument conversions optional
      [StringVars] Add documentation
      [StringVars] Add documentation for [length#var]
      [Bugfix] String commands parser fix off-by-one issue
      [Rules] Add string function Lookup with docs
      [Rules] Add conversion function %c_strf%() with docs
      [Rules] Fix typo in docs
      [StringVars] Add TaskValueSetDerived, TaskValueSetPresentation commands and handling
      [StringVars] Add TaskValueSetDerived, TaskValueSetPresentation docs
      [Docs] Move Data Acquisition to separate include file
      [StringVars] Avoid calculation of formula with presentation prefix ($)
      [StringVars] Improved handling of calculated values for Derived values
      [SysVars, Conversions] Add %localunixtime%, %systzoffset_s% sysvars and %c_ts2date%() conversion + docs
      [SysVars] Exclude %localunixtime% from Limited builds
      [SysVars] Rename %localunixtime% to %unixtime_lcl%
      [DerivedValues] Add Event & Log option and generate events and logging for Derived values, update docs
      [SysVars] Add %c_ts2wday%(timestamp) (dow) conversion and docs
      [EasyColorCode] Add more new commands and functions for String variables support
      [P180] Add GET_CONFIG_VAR support
      [Discovery] Fix typo in BinarySensorInverted helper
      [Docs] Update WSL2 USB Serial configuration since Linux 6.x core update
      [Feature] Add Unit of Measure for all taskvalues and present on Devices overview page
      [UoM] Add Unit of measure value to /json endpoint
      [UoM] Add Unit of measure value Devices overview page update script (also uses Presentation if available)
      [Build] Reduce size of included Github clipboard script
      [Build] Include reboot.js script in readable form
      [Build] Reduce size of included Fetch and parse logs script
      [UoM] Add Unit of measure value Devices overview page update script (also uses Presentation if available)
      [JSON] Add Presentation as separate value instead of replacing Value (using updated .js scrip)
      [UoM] Make .js script more fault tolerant when no global UoM enable setting is available
      [DerivedValues] Don't determine max decimals for display but use default
      [DerivedValues] Add optional Unit of Measure and include in /json output
      [UoM] Make .js script more fault tolerant when no global UoM enable setting is available
      [UoM] Optional default when fetching Unit of Measure
      [Discovery] Implement UoM per taskValue when available
      [I2C] Show I2C Bus nr in Not enabled message of i2cscanner
      [I2C] Add a few missing I2C device addresses for INA219
      [UoM] Add Feature TaskValue-attributes with support for .uom, .decimals, .hasformula and .statsenabled
      [DerivedValues] Move parsing derived variables to correct code-location
      [DerivedValues] Add TaskValue attribute support for DerivedValues (empty is not valid)
      [Discovery] Add default empty option for Device Class selector (all values shift 1 index up!)
      [P116] Add support for ST7735/ST7789 170x320 displays
      [SysVarPage] Exclude c_random from list for limited builds
      [UoM] Add documentation
      [UoM] Update documentation
      [UoM] Update documentation
      [VTypes] Refactor SensorValueType selector so it can be used separately
      [VTypes] Refactor SensorValueType selector so it can be used separately (cherry picked)
      [ValueTypes] Add Custom VType selection
      [Plugins] Add CustomVTypeVar option for plugins that need custom Value Type selection
      [DerivedValues] Add support for Value Type argument
      [AutoDiscovery] Add support for Derived values, UoM and Value Type, some code optimizations
      [C006] Add support for sending derived values
      [C014] Add Unit of Measure to AutoDiscovery, add Send Derived values support
      [Docs] Updates and improvements, Summer '25
      [Docs] Update docs for Value Type setting for selected plugins
      [Docs] Move Send derived values as a per controller setting for tasks
      [Derived Values] Move enable sending per task-controller, Code optimization
      [C014] Docs: Update UoM feature
      [P027] Docs: Fix a few typos
      [P180] Improvements and fixes in handling of signed values
      [Docs] Update/extend the SPIFFS to LittleFS migration procedure
      [Docs] Update/extend the SPIFFS to LittleFS migration procedure
      [Docs] Extract SPIFFS to LittleFS migration guide for accessability
      [Docs] Expand SPIFFS to LittleFS migration guide, add troubleshooting section
      [AutoDiscovery] Add support for Wind direction and Wind speed
      [Plugins] Minor code improvement
      [UoM] Restructure UoM selector into categories, add more uom options
      [UoM] Fix UoM selector empty value
      [Docs] Update Unit of Measure documentation and screenshots
      [AutoDiscovery] Embed setting for `online` message in `/config` setting
      [Docs] Update documentation for C005
      [AutoDiscovery] Update PluginTemplate
      [AutoDiscovery] Embed setting for `online` message in `/config` setting
      [Docs] P165 Fix a few typos
      [AutoDiscovery] Remove unused code
      [AutoDiscovery] Make start delay compiletime configurable, and extend max delay from 10 to 30 sec.
      [Docs] Update documentation for C005
      [AutoDiscover] Add Duration, Date and Timestamp device classes, fix some irregularities
      [AutoDiscover] Add Data rate, Data size, Sound pressure and Signal strength
      [AutoDiscover] Refactor discovery message composition to reduce binary size by nearly 4k
      [AutoDiscover] Set Unit of Measure and Value Type when adding a device (when possible/available)
      [P095] Add ILI9342 display variants
      [P095] ILI9342 added configurations, set resolution correctly
      [P095] Update documentation
      [UoM] Correct a few Value Type UoM defaults
      [P026] Set default Value Type and UoM when changing a task value setting
      [Converters] Add `%c_ts2isodate%()` Timestamp to ISO date conversion
      [Converters] Add `%c_ts2isodate%()` Timestamp to ISO date conversion
      [AutoDiscover] Clean names sent to HA by replacing unsupported characters by `_`
      [Converters] Include system time-zone in `%c_ts2isodate%()` to have HA accept the `Timestamp` value type
      [Converters] Make system time-zone optional in `%c_ts2isodate%()` (second argument != 0)
      [Converters] Make system time-zone optional in `%c_ts2isodate%()` (second argument != 0)
      [AutoDiscover] Add `Date/Time` (`datetime`) Device class
      [AutoDiscover] Fix handling of BARO_ONLY values, and allow multiple BARO_ONLY values
      [AutoDiscover] Remove non-working `Date/Time` (`datetime`) Device class :-(
      [ValueTypes] Add categorized selector for Value Type per Value
      [P176] Set default Value Types when adding the plugin
      [ValueTypes] Fix optional None value
      [P180] Remove unneeded code
      [AutoDiscover] Try to get switch trigger working
      [ValueTypes] Reorder value types somewhat, use categorized selector where applicable
      [ValueTypes] Update documentation
      [P014] Fix MQTT Discovery value types
      [Build] Remove "_CDC_" from all env names due to linker issues
      [MQTT] Fix command handling for /set and /cmd topic endpoints, add support for P001 in /set
      [AutoDiscover] Mark some MQTT Device classes as 2-way to have on/off devices (Light)
      [CustomVtype, UoM] Fix compilation for ESP8266 when not all enabled
      [AutoDiscover] Better array index checks
      [Backup] Add backup without credentials included (security.dat)
      [Metrics] Add internal CPU temperature
      [Backup] Use term credentials instead of username/password
      [Backup] Update documentation
      [Metrics] Update documentation
      [AutoDiscover] Add support for P009 and P019, only send discovery for plugins that actually send data
      [AutoDiscover] Fix flippin bit-flip issue
      [AutoDiscover] Fix P021 not to be handled as a Switch
      [Backup] Fix typo in variable name for ESP8266
      [AutoDiscover] Fix Group configuration
      [Backup] Compile error when TAR support disabled
      [Libs] MFRC522 remove unused variable
      [Libs] PubSubClient signed/unsigned comnparison warning
      [AutoDiscover] Set default Auto Discovery topics when adding HA Controller
      [P009][P019] Fix logging alignment
      [AutoDiscover] Fix a few comments
      [AutoDiscover] Docs improvement for Group feature
      [TaskValueSetDerived] Improved parsing of Unit of Measure value
      [AutoDiscover] Fix conditional compilation issue
      [Rules] Enable rules by default on a clean install
      [AutoDiscover] Add state_class support and some Value Types
      [AutoDiscover] Enable state_class support for plugins and correct a few Value Types
      [AutoDiscover] Update documentation
      [AutoDiscover] Fix compilation when state_class support not enabled
      [AutoDiscover] Small code improvement
      [P078] Improved value descriptions and register appended, small code improvements
      [Caches] Formatting (minor)
      [P056] Add multi-instance use
      [P078] Fix docs parser warning
      [P056] Update documentation
      [P102] Add support for PZEM-017v1
      [P102] UI updates and corrections
      [P102] Add documentation
      [Build] Fix compiler warning for unused variable
      [BusCmd I2C] Add support for handling > 128 bytes on I2C read/write (ESP32)
      [BusCmd Helper] Add support for variable length string and buffers (Byte/Word), and some bugfixes
      [P180] Update documentation
      [BusCmd Helper] Send data & event when updating value.N from other than PLUGIN_READ action
      [BusCmd Helper] Add LetStr I2C command, analogue to the `LetStr` Rules command, updated documentation
      [P102] Small typo in documentation
      [AutoDiscover] Use %sysname% instead of group_nr if Controller Group = UnitNr
      [AutoDiscover] Update documentation for Group setting
      [AutoDiscover] Add 15 more Value types and 7 UoM values, fix some default UoM
      [AutoDiscover] Update Value type and UoM documentation
      [MQTT] Add Retain option per task
      [MQTT] Update documentation for Retained setting per task
      [MQTT] Some documentation improvements
      [Build] Add [P105] AHT2x to Collection G so it can be used with [P164] ENS160
      [P089] Add support for ESP32
      [P089] Remove unneeded attribute
      [P089] Create separate Ping Service to handle single-instance Ping function sequentially
      [P180] Add Tiny Code Reader example to documentation
      [P180] Add optional skip argument to IF I2C command, update docs
      [P021] Emphasize warning to prevent saving settings too often
      [P039] Update SPI and GPIO documentation
      [P037] Use configured decimals when generating events
      [P037] Update documentation for: use configured decimals when generating events
      [P168] Disable blocking Lux Read-Method options
      [P168] Update documentation
      [P102] Don't check non-available values for NaN
      [P102] Correct documentation small typos
      [MQTT] Handle connecting to broker as a background process
      [Tools] Update documentation for MQTT Connect in background
      [MQTT] Move Settings attribute to next available bit
      [MQTT] Reconnect on unexpected network interruptions
      [P089] Update documentation
      [MQTT] Cancel background connection request after 2 minutes when still not connected
      [MQTT] Fix reconnect on unexpected network interruptions
      [Discovery] Avoid setting the timeout more than once
      [MQTT] Use client timeout for delay between connection attempts
      [Build] Fix missing include
      [MQTT] Refactor background connection process to avoid logging from background task
      [AutoDiscover] Fix small typos in default UoM list
      [AutoDiscover] Fix spelling error in precipitation
      [AutoDiscover] Fix spelling error in precipitation
      [MQTT] Fix compilation on ESP8266 (Retain per task)
      [P089] Bugfix: Putt include in scope
      [P102] Use added setModel() method when needed
      [P033] Enable formula field
      [P033] Update documentation
      [P102] Use defined constants
      [P102] Add Submit instruction after use of 'Reset energy' mode
      [P102] Update documentation
      [Info] Emphasize the number of flash writes count since cold boot #3116
      [C011] HTTP Advanced - Don't URL-encode header
      [HTTP] Add support for TLS
      [HTTP] Enable TLS support for Controllers using HTTP
      [P002] Fix docs layout issue
      [HTTP] Defensive programming in test for https url
      [HTTP] Enable TLS support also for Controller C007 Emoncms
      [Devices] Limit displaying of (old) Wiki Help button to P056 and below
      [Devices] Limit displaying of (old) Wiki Help button to P079 and below
      [MQTT] Reduce work/memory in background task, use xTaskDelay as required
      [Docs] Correct some layout inconsistencies
      [Docs] Update overview generator, include Notify and Network plugins
      [Build] Fix compiler warning
      [Tools] Add Plugin list overview page
      [Tools] Update documentation for Plugin list
      [Build] Split Display into Display A and Display B
      [Build] Display A/B split: Update documentation
      [Tools] Add documentation-button to Plugin list overview page
      [Tools] Add preliminary support for Network plugins
      [Docs] Add MQTT Device class documentation for plugins where available
      [MQTT] Minor corrections
      [TLS] Update TLS to be able to use ECDHE_ECDSA_AES_128_GCM_SHA256 cipher
      [Docs] ESP8266 is Feature Complete!
      [TLS-MQTT] Automatic switch to ECDSA when error is 296 (TLS handshake)
      [MQTT AutoDiscovery] Add support for Switch Device Class
      [MQTT AutoDiscovery] Update documentation for Device Class
      [P026] Fix Value Type for TXpower to use dBm
      [HTTP] Fix build and feature-enable for non-MAX builds
      [HTTP] Update documentation for TLS options
      [UoM] Refactoring to reduce page-load time and size
      [Build] Add Collection H and split Climate into Climate A and Climate B
      [Build] Fix build errors for Collection H and Climate B
      [Build] Remove obsolete comments
      [Build] Move more plugins from Collection G to H to make Collection G fit
      [Build] Reduce build-size for all Collection builds using BUILD_NO_DEBUG
      [Build] Reduce build-size for Collection C build
      [P169] Fix DEBUG log
      [Build] Avoid build-reduction for MAX builds
      [Build] Avoid build-reduction for MAX builds
      [P021] Code optimizations
      [Build] Remove _LittleFS and _ETH from build names due to linker issues
      [Build] Enable `custom_remove_include` to not build ignored libs
      [Build] Limit package building to use Python 3.13
      [UI] Update addTaskSelector() to use FormSelectorOptions
      [Docs] P180 Add example for reading Sensirion SDP-8xx
      [Docs] P180 Small corrections
      [Docs] P180 Sensirion SDP-8xx add description for Single-shot measurement
      [Bugfix] Don't use Flash-string parameter default as ESP8266 compiler doesn't support that
      [Bugfix] PluginList add missing includes needed in some builds
      [PluginList] Update for HTTPS TLS support
      [Build] Fix SafeBoot build
      [Bugfix] Derived values avoid parsing invalid values causing crashes
      [Bugfix] Derived values avoid parsing invalid values causing crashes, more global fix
      [Bugfix] Revert previous change as that didn't really fix the issue
      [AutoDiscovery] Show Auto Discovery for Controllers that have this enabled (Task configuration)
      [Bugfix] Calculation missed value when returning from multiple brackets
      [Bugfix] MQTT StateClass selector stored wrong index
      [P003] Enable MQTT State Class option so pulse-counter can be used for energy measurement (in HA)
      [P180] BusCmd_Helper processing I2C commands via cmd subcommand was locked out
      [SysVars] Add %latitude% and %longitude% vars and Latitude and Longitude commands
      [SysVars] Documentation for %latitude% and %longitude% vars and Latitude and Longitude commands
      [P180] Enable CustomVTypeVar and MQTTStateClass device flags
      [P180] Fix typo in parameter for log subcommand
      [P180] Add documentation for TF-Luna laser distance sensor
      [P180] Small updates in documentation of TF-Luna laser distance sensor
      [P180] Add documentation for QMC6310 3-axis magnetic sensor, add example-index to docs page
      [Bugfix] Calculation of functions discarded the next operator
      [Bugfix] Calculation of functions remove unneeded value duplication, small debug-code optimization
      [Rules] Add some functions, conversions and constants
      [Rules] Add some functions, conversions and constants, fix docs typo
      [Docs] Updates and improvements (2025 Q4/2026-01)
      [Stats] Add minp/maxp stats values and change min/max stats values for running min/max value, update docs
      [Bugfix] Compilation error fix for custom IR build
      [Bugfix] Metrix: Export 0 for empty values
      [Bugfix] Metrix: Export 0 for empty values, fix for ESP8266
      [AdaGFX] Fix `tpm` subcommand argument check
      [Docs] Update copyright notice to show 2026
      [AdaGFX] Fix space-height issue for some fonts
      [P116] Add ST77xx resolutions 240x320 and 240x280
      [P116] Allow for > 16 hardware types in selection
      [P116] Update documentation with new resolutions
      [P087] Add support for receiving binary data, fixed length data, and event as hex string
      [P087] Update documentation
      [P087] Add to `ENERGY` build (ESP32 only)
      [Converters] Bugfix formatToHex_wordarray()
      [P087] Use PCONFIG_ULONG to store new config flags
      [P004] Change name to include DS18xxx/MAX31xxx for better recognizability
      [P057] Add documentation as it wasn't included yet

chromoxdor (63):
      Update Networking.cpp
      a tiny bit better formatting
      changes for OPENMETEO_EVENT and THINGSPEAK_EVENT
      Update Networking.cpp
      combining two functions
      wrong use of concat times two :)
      update
      Update Networking.cpp
      put thingspeak and openmeteo events into extra file
      added inverter event
      fix for not building on minimal_core_274_esp8266...
      #ifdef to #if. m(
      more universal json event approach
      Update HTTPResponseParser.h
      added variable decimals for floating point numbers
      some changes to the json-event
      made the eventQueue even more complex :P
      minor changes
      moved variable to cpp file
      updates
      Update HTTPResponseParser.cpp
      Update define_plugin_sets.h
      Update HTTPResponseParser.cpp
      Update HTTPResponseParser.cpp
      documentation and slight reduction of code
      Update define_plugin_sets.h
      corrected json examples
      Docs: Formatting and linking
      fixed typo
      [P164 ] Adding a sleep mode
      Update P164_data_struct.cpp
      Update define_plugin_sets.h
      Changes as requested
      Update HTTPResponseParser.rst
      Update HTTPResponseParser.cpp
      ColorCode Additions
      Update espeasy.js
      forgot the "f" and the minified version
      some unessecary commas removed
      no indentation for comments....
      added a format button if on mobile device
      format even without colorcode enabled
      more robust block checks
      jump to line of first error and keep history
      make it work for android non color rules again
      Readded search bar and enhanced it.
      fixed broken replace function
      forgot someting to change
      find while typing
      fix replace
      more robust live search handling
      removed unnecessary function
      scroll to top when found
      Update codemirror.min.css
      replace: scroll to top too
      as good as it gets :)
      minor corrections help text
      rephrasing of the confirm dialog
      fix: jump back to cursor position after formatting
      ..and remove an old dialog before opening a new one
      disable shortcuts
      disable shortcut: forgot to add the corresponding function
      Update espeasy.min.js

dependabot[bot] (10):
      Bump cryptography from 43.0.1 to 44.0.1
      Bump actions/download-artifact from 4 to 5
      Bump actions/checkout from 4 to 5
      Bump actions/setup-python from 5 to 6
      Bump actions/github-script from 7 to 8
      Bump actions/download-artifact from 5 to 6
      Bump actions/upload-artifact from 4 to 5
      Bump actions/checkout from 5 to 6
      Bump actions/upload-artifact from 5 to 6
      Bump actions/download-artifact from 6 to 7

jfmennedy (1):
      Fix horizantal vane not working

repa6 (7):
      added TAC2100 support to _P078_Eastron plugin
      Update _P078_Eastron.ino with changelog info
      Update P078_data_struct.h: added comma after TAC2100=7
      extended TAC2100 registers list and added TAC2100 to docimentation
      fixed redister nature of load
      Update P078_data_struct.cpp - added nat:load to SDM_UOMtoString strings
      Update P078_data_struct.cpp - updated register addresses for the last 5 registers of TAC2100


-------------------------------------------------
Changes in release mega-20250430 (since mega-20241222)
-------------------------------------------------

Release date: wo 30 apr 2025 21:42:35 CEST

Daniel Siegmanski (20):
      Added a missing comma so that the plugin can also be built with activated PLUGIN_076_DEBUG.
      Added the ability to read reactive power, apparent power and energy.
      Fixed typo in reset command.
      Changed the PCONIFG values from 1,2,3,4 to 8,9,10,11
      Set default querys in PLUGIN_INIT if not already set.
      Change the PCONFIG values from 8, 9, 10, 11 to 0, 1, 2, 3
      Changed init value from P076_QUERY1_CONFIG_POS
      Changed single = to a double ==
      Set default quersy only if no one is set.
      Update the values only if valid.
      Check if the pointer is valid.
      Replaced spaces through underlines.
      The old meassurement values (voltage, current, active power & power factor) are now defaults again. For compatibility with old setups.
      Added changelog
      Uncrustify
      Added different strings for output selector and value description.
      Resored the old value names for backward compatibility.
      Added an option to set the measured values to 0 if they are not valid. This is necessary if the sensor is behind a relay.
      Added defines for the indices of the differend readed values.
      Fixed typo.

Nikolay (1):
      chore: fix wrong url

TD-er (153):
      [Flash] Fix availability of flash pins on ESP32C3
      [GPIO info] Split ESP8266/ESP32 implementation
      [GPIO info] Split platform specific implementation to separate cpp files
      [CPU info] Split getChipModel over separate .cpp files per platform
      [GPIO] Add "Boot Strapping" as conflict reason for bootstrap pins
      [GPIO] Simplify isSerialConsolePin()
      [Hardware] Simplify checks for DAC and Touch support
      [Touch] Simplify device specific touch capabilities
      [Build] Fix compile error in ESP32-C2 builds
      [DeviceInfo] Prepare for new ESP32-C5/C61/H2/P4
      [Docs] Add info on new ESP32-C5/C61/P4
      [Hardware] Add initial GPIO definitions for ESP32-P4
      [ESP32P4] ESP32-P4 does not use GPIO pins to access flash/PSRAM
      [Build] Fix building ESP-IDF5.3 builds (pioarduino-build.py)
      [LU9685] Add P178_LU9685  (#5216)
      [LU9685] Forgot to enable a pin when setting angle
      [LU9685] Split command into subcommand structure
      [LU9685] Fix typo in parsing subcommand
      [LU9685] Add subcommands enable, disable, setrange
      [LU9685] Add documentation + fix crash
      [BUG] GPIO 10 and 11 not available (#5220)
      [GPIO] update hardware defines for flash connected GPIO pins
      [BME3xx] Lower SPI frequency to 100 kHz
      [P076] Fix initialization + merge issues + cleanup
      [HLW8012] Fix stability of reading + proper pwr/cur/VA/pf measurement
      [HLW8012] Cleanup + simplify code
      [HLW8012] Further cleanup + stabilize reading
      [HLW8012] Fix 'oscillating' measurements at some intervals
      [HLW8012] Cleanup library.properties + fix crash on low power usage
      [HLW8012] Uncrustify .ino file
      [HLW8012] Limit Apparent power to power factor of 25%
      [HWL8012] Fix stability issues on ESP8266 with high current load
      [Build] Fix pre_custom_xxx.py files to work with pioarduino
      [Build] Change generate-compiletime-defines.py to not match .cpp.o
      [Build] Revert platform build to before shorten path commit
      [Build] Also revert the platform link for solo1 builds
      [Build] Add build ignore middleware filter for .cpp.o files
      [JSON] Fix valid JSON for pluginstats
      [Build] Do not use build middleware for compiletime defines
      [Build] Fix missing lib_ignore defines in .ini files
      [Build] Fix merge conflict
      [P139] Add capturing ADC inputs
      [P139] Add charger settings
      [P139] Split AXP2101_settings to separate file
      [P139] Add charger settings to webform load/save
      [P139] Move webform_load and _save to P139_data_struct class
      [P139] Add functions to apply settings to AXP2101
      [P139] Apply setttings to device
      [P139] Fix build ESP8266
      [P139] Fix setting defaults for charger settings
      [Cleanup] Add FormSelector class to simplify P139 charge options
      [Cleanup] Convert other charging related settings to use FormSelector
      [P139] Fix ESP8266 build + show device state
      [P139] Clarify charging state
      [Cleanup] Simplify addSelector calls
      [Cleanup] Change addFormSelector calls to use new class
      [Cleanup] Show reload icon next to selection box triggering page reload
      [Cleanup] Move more code to use new FormSelectorOptions class
      [Cleanup] Convert more code to use new FormSelectorOptions class
      [Cleanup] Move more plugin code to use FormSelectorOptions class
      [P139] Remove PMIC plugins from IRext builds
      [Cleanup] Fix build issue on ESP8266
      [Cleanup] Use new addSelector function of FormSelectorOptions class
      [Cleanup] Remove no longer used markup functions
      [Cleanup] Add "reloadOnChange" icon for all occasions change will reload
      [Cleanup] Move duplicate 'tooltip' code to separate function
      [Cleanup] Add tooltip about ReloadOnChange icon
      [Cleanup] Reduce build size when using empty class name on FormSelector
      [Cleanup] Reduce bin size using FormSelectOptions class
      [Build] Reduce bin size by reducing nr. arguments in addTextBox
      [Build] Fix build errors on ESP8266
      [PSRAM] Use PSRAM for logs, events and controller queues
      [Memory] Fix freeing of allocated strings
      [Memory] Add small optimization in free_string() to prevent copying
      [P123] Fix crashes when using P123, Touch Handler
      [Memory] Tweak some memory allocations
      [Crash] Fix failed init on special String to store in PSRAM
      Fix loading I2C Tourchscreens webpage
      [TouchHandler] Fix ESP8266 build
      [DeviceStruct] Properly initialize DeviceStruct class
      [I2C] Fix build failure on ESP8266
      [I2C] Show conflicting I2C bus when using multiple I2C busses
      [I2C] Fix saving 2nd I2C bus GPIOs
      [I2C] Rename "I2C Interface" to "I2C Bus"
      [NeoPixel] Fix issue running addressable LEDs on ESP32S3 with OPI PSRAM
      [ESP32-S3] Fix max. 63 addressable LEDs on ESP32-S3 with OPI PSRAM
      [Build] Delete ESP8266 concatenated temp file
      [ESP8266] Fix crash on processing log with weblog enabled.
      [Cleanup] Simplify generating sysinfo page
      [ESP8266] Fix crash on ESP8266 SDK 2.7.4
      [ESP8266] Balance more what should be allocated on 2nd heap
      [Memory] Make memory allocation on ESP8266 2nd heap more stable
      [Memory] Move C001 and C002 queue elements to 2nd heap (ESP8266)
      [Memory] Move other controller queue elements to 2nd heap (ESP8266)
      [Memory] Improve memory usage on Strings and task data
      Fix missing include in NodeStruct.cpp
      [Memory] Fix crashes on ESP32-S2 with 8M PSRAM
      [Build] Fix build errors
      [ESP32S3] Disable custom SDK settings on ESP32S3 with OPI PSRAM
      [CDN] Enable custom CDN for all ESP32-builds
      [Build] Change copy_tree import due to Python 3.13
      [Rules] Fix broken math parsing
      [Cleanup] Optimize parsing system variables
      [WiFi] Fix loading credentials after WiFi scan
      [Console] Reduce CPU load on ESP32-S3 sending logs to serial
      [ESP-IDF5.4] Prepare for ESP-IDF5.4 with Arduino 3.2.0
      [Serial] Add setXxBufferSize functions
      [ESP-IDF] Update to latest ESP-IDF5.4
      [1wire] Pull up data pin  after reading a bit to support parasitic power
      [1wire] Make sure to also set the GPIO to output
      [1wire] Simplify code & set data pin high when not used
      [1-wire] Make timing more strict according to datasheet + strong pull-up
      [1-wire] Make 'high' time depending on RC-time of bus
      [1-wire] Fix reading single sensor powered via parasitic power
      [Bug] Fix printing NaN/Inf values
      [1-wire] Fix reading single sensor using parasitic power
      [1-wire] Compensate for measured RC rise time
      [Build] Fix build issue on ESP8266
      [1-wire] Fix set GPIO to output via direct GPIO access
      [1-wire] Cleanup timing critical code
      [1-wire] Reduce jitter on reading short 'low'
      [1-wire] Make timing measurement more strict
      [1-wire] Add more read failure stats, like CRC, power loss, etc
      [Build] Fix build issues on ESP32
      [timing stats] Simplify and speedup collecting timing stats
      [ESP-IDF5.3] Update to latest Arduino/ESP-IDF5.3 version
      [1-wire] Fix ESP8266 builds not fitting in IRAM
      [Build] Reduce build size excluding 1-wire stats for LIMIT_BUILD_SIZE
      [Console] Revert limiting write chunks to 64 bytes for non-USB serial
      [ESP-IDF5.4] Update to latest IDF5.4 code
      [WiFi] Fix setup WiFi scan from web flasher
      [I2C] Fix issues with GPIO 21 & 22 when no I2C is configured
      [Build] Fix ESP8266 build which does not have Wire.end()
      [PinStates] Add ESP32 Periman peripheral bus assignment table
      [Build] Set requirements.txt platformio to 6.1.18
      [PinStates] Add table (ESP-IDF5.5 only) for showing actual GPIO config
      [ADC/DAC] Only include ADC/DAC/Touch on devices supporting those
      [GPIO] Fix checking for correct flash pins IDF5.4/5.5
      [Act LED] Fix disabling WiFi act. LED when changing pin config
      [ESPEasy p2p] Only show remote feed when p2p controller enabled
      [PinStates] Clean up new GPIO states table (IDF5.5 only)
      [Build] Reduce bin  size on ESP8266 disabling some speedup optimizations
      [WiFi RF cal] Always erase WiFi RF calibration on format file system
      [ESPEasy p2p] Prevent node syncing from p2p node with poor time source
      [Minimal OTA] Reduce bin size for minimal OTA build
      [RF Calibration] Automatically re-calibrate when changing ESP-IDF ver.
      [ESP-IDF] Update to latest ESP-IDF5.4
      [RF Calibration] Do not erase rf calibration when formatting file system
      [WiFi RF cal] Disable automatic clear of RF calibration
      [ESP-IDF 5.4] Update to latest ESP-IDF5.4
      [SysVar] Add %c_random%(L,H) system variable
      [SysVar] Do not include new %c_random% in LIMIT_BUILD_SIZE builds
      [Build] Add normal_ESP32s3_4M316k_LittleFS_CDC_ETH

Ton Huisman (228):
      [MQTT] Controller improvements
      [P086] Format source using uncrustify
      [MQTT] Add support for P086 events to all MQTT Controllers
      [MQTT] Only handle plugin if plugin included
      [C014] Use getHostname() for %sysname%, some code optimization
      [P139] Add support for AXP2101 Powermanagement
      [P139] Exclude AXP2101 from ESP8266 builds
      Cherry pick: [IPv6] Reduce events to keep webserver alive [Memory] Flush buffer after sending web page to reduce memory used (code by @TD-er)
      [P139] Add AXP2101 to I2C Scanner
      [P139] Add chargeled and batcharge options, Code cleanup
      [P139] Add generate events option, chargestate and battery detect, fix issues
      [P139] Add chipid and chargingdetail support
      [String] Add `FsP` macro to convert Flash string to String.c_str() pointer
      [P139] Add I2C-enabled check, implement FsP macro
      [C014] Process %sysname% via parseSystemVariables(), logging improvements
      [Controllers] Minor improvements and corrections
      [C004] Some string optimization
      [C004] Add documentation and examples
      [C007] Emoncms: add configurable url (Controller Publish)
      [Coo4] Fix merge conflict issue
      [MQTT] Restore improvement lost at merge conflict
      fix merge conflicts
      [P096] Add default font setting
      [Functions] Add 'map' function
      [Functions] Fix quoting in rules documentation
      [Functions] Rewording argument names in documentation
      [ColorCode] Add map function
      [Functions] Use colon as the argument separator instead of a comma
      [Functions] Switch to using existing fruntion mapADCtoFloat() to enable using float values
      [Docs] Updates for 2025, minor improvements and  corrections
      [P144] Docs update as plugin is also available in Climate build
      [Build] Add plugins in check for enabling ESPEasySerial library
      [Commands] Add commands LoopTimerSetAndRun (_ms)
      [Commands] Update documentation for LoopTimerSetAndRun (_ms)
      [Commands] Fix a bug and a few typos
      [Hardware] Add `double` implementation for `mapADCtoFloat()`
      [Math] Fix double estimation of epsilon in compare functions
      [Math] Fix float estimation of epsilon in compare functions
      [Hardware] De-duplicate implementation for `mapADCtoFloat()`
      [Math] Fix compilation for concatenated sources
      [Commands] Add new commands to Easy ColorCode
      [Build] Update Custom-sample.h
      [SysVars] Add variable `islimited_build`
      [ColorCode] Add variable `%islimited_build%`
      [Docs] Updates for the Tools page documentation
      [ColorCode] Add Provision (sub)commands and events
      [SysVars] Add variable `isvar_double`
      [ColorCode] Add variable `%isvar_double%`
      [ColorCode] Add commands for [P169] and [P175]
      [ColorCode] Combined updates for 2025-01
      [ColorCode] Revert and move updates to separate PR
      [ColorCode] Revert and move updates to separate PR
      [ColorCode] Revert and move updates to separate PR
      [ColorCode] Revert and move updates to separate PR (LF fix)
      [ColorCode] Revert and move updates to separate PR
      [P076] Add preset for Shelly Plus PLUG-S (ESP32)
      [ColorCode] Revert and move updates to separate PR (LF fix)
      [ColorCode] P175 shares commands with P053: Remove duplicates
      [CustomDashboard] Serve .esp pages streaming to avoid HTTP/0.9 response
      [Docs] Fix some typos in Serial Server rules example
      [Math] Guard logging statements with level check
      [Build] Use default nr of elements for stats in Custom builds, unless manually set
      Revert prematurely committed code fragment
      [Math] Rename argument to have less confusing name
      Revert [Math] Rename argument to have less confusing name
      [Math] Rename argument to have less confusing name
      [Math] Move `mapADCtoFloat()` from Hardware to ESPEasy_math helper
      [MQTT] Add setting for Keep Alive Time
      [Custom] Fix code comments for PlatformIO Custom builds
      [Bugfix] Parsing of negative numbers got confused by (multiple) arguments
      [Bugfix] Improve parsing of negative numbers, RPN stack processing revisited, debug logging commented out
      [Build] Small code size reductions to optimize ESP8266 builds
      [Build] Reduce code size to allow for some bugfixes in limited builds
      [Build] Fix typo
      [Bugfix] RTTTL feature was not enabled for ESP32 Collection builds
      [Build] More code reductions in .ino files [P054] .. [P091]
      [Build] More code reductions in .ino files [P092] .. [P110]
      [Build] More code reductions in .ino files: Cleanup PLUGIN_DEVICE_ADD
      [Build] Small code reductions in .ino files [P111] .. [P122]
      [Bugfix] AdaGFX helper [<tft>#length."<text>"] and #textheight didn't support period separator
      [Build] Small code reductions in .ino files [P123] .. [P176]
      [Info] Show sketch size and remaining space
      [RTTTL] Fix typo
      [Build] Enable RTTTL feature for Solo1, C2 and C6 builds
      [Build] Revert unneeded COLLECTION_RTTTL feature for Solo1, C2 and C6 builds
      [LIB] AnyRtttl cherry-picked latest updates, disable unused function that causes a compiler warning
      [PWM] Use defined constant instead of bare value
      [RTTTL] Adjust to work with ESP32 IDF 5.x
      [RTTTL] Fix a typo, explicitly connect GPIO to Tone channel
      [RTTTL] Fix playing the sound properly by not messing up the frequency setting
      [P097] Fix compiler warning
      [P097] Fix some typos
      [P139] Apply some code optimizations
      [P139] Fix silly typos
      [P137] Add predefined settings for M5StickC Plus
      [P137] String deduplication improvement
      [Libs] AXP2101 corrections
      [P139] Enable writing to AXP2101 chip
      [P137] Update documentation
      [P139] Add documentation
      [Docs] Priority task updated layout
      [P139] Documentation updates, updated TTGO T-Pcie configuration defaults
      [P139] Fix configuration constructor typo
      [P137] Bugfix: commands axp,ldo2,x .. axp,dcdc3,x weren't working as intended
      [Console] Support Backspace to correct typos
      [P139] Uncrustify formatting
      [P139] Fix saving settings & predefined, also when task is not enabled
      [P139] Updated TTGO T-Pcie configuration defaults
      [I2C] Add support for multiple I2C interfaces
      [I2C] Re-order I2C variables for better alignment, add (Custom) defaults
      [I2C] Add conversion to adjust defaults if all zeroes
      [I2C] Add more getters to SettingsStruct to simplify code
      [I2C] Fix compilation for ESP8266
      [N001] Use a non-TLS client for SMTP on port 25
      [MQTT] Don't subscribe to empty topics
      [N001] Allso apply to port 2525
      [N001] And clean up object after use
      [N001] Documentation update about port 25 and 2525 (ESP32 with TLS)
      [P139] Update predefined settings for LilyGO T-Beam S3
      [N001] Add pointer null-checks, close client also when connection fails
      [N001] Only delect object if created via new
      [I2C] Code improvements and UI issues fixed
      [I2C] Code improvements and UI issues fixed
      [I2C] Make I2C Interface selector reload page when needed (multiplexer enabled)
      [I2C] I2C Scan layout improvements
      [I2C] Update documentation
      [Build] Add Powermanagement plugins to ESP32 Climate builds
      [P140] Add CardKB I2C Keyboard
      [P140] Switch to VType DUAL from STRING so events are sent as intended
      [P140] Update description
      [P140] Change category, add options and commands, show current buffer, add to I2C scanner
      [P140] Add documentation
      [Dist] Upgrade Espressif Flash Download Tool 3.9.8
      [Libs] Avoid using Wire.begin()
      [Device] Initialization and alignment improvements on struct
      [I2C] GPIO (de)coupling improvements
      [I2C] Clean up unneeded logging
      [FormSelector] Use INT_MAX as default to avoid -1 -none- value being shown as default
      [I2C] Update screenshot without (default)
      [GPIO Selector] Show Wifi Status LED and Reset Pin when configured
      [I2C] Switch to correct bus for PCF/MCP GPIO monitoring
      [I2C] Docs: Use I2C Bus instead of I2C Interface
      [SD-card] Bugfix: Reading a bmp file from SD-Card didn't work as expected
      [SD-card] Remove unneeded logging
      [SD-card] Code corrections
      [Build] Use build-runners on Ubuntu-latest
      [Build] Add some missing plugins to Custom-sample.h
      [P116] Add support for ST7735 172x320px display
      [P177] Add plugin Environment - XDB401 I2C Pressure
      [GPIO] pinSelectors and hardware page show overlapping PSRAM and other conflicting uses
      [P177] Corrections in data initialization, handling and calculation, add settings to generate events or use raw data
      [P177] Corrections in calculation, add setting to ignore negative values
      [P177] Revert modified temperature calculation
      [P177] Improved calculations, without bit-manipulation
      [P116] Enable alternative configurations for ST7789 135x240px displays, ESP32 DISPLAY and MAX builds
      [P177] Fix typos in calculations, avoid a division
      [P177] Swapped Temperature and Pressure values, re-order task settings page
      [Build] Reduce number of ESP32 builds by removing non-Ethernet builds
      [P095] Bugfix: backlight subcommand not working as intended
      [Build] Add ESP32-C3 MAX 16M8M configuration
      [Docs] Update README.md
      [Pinstates] Change infobutton link to RTD Plugin list
      [P177] Ignore status bit for data-ready, add some extra development logging
      [UI] Change more infobutton links to RTD links
      [P116] Small UI improvements
      [P116] Update documentation, refresh some screenshots
      [P177] Disable development logging
      [P177] Change Sensor_VType to SENSOR_TYPE_TEMP_BARO (Domoticz)
      [P036] Add setting to hide the startup logo
      [Build] Upgrade setuptools package to avoid build issues
      [Build] Only pio pkg update for current environment
      [Build] Upgrade to platform_packages build 3427
      [Build] Upgrade to Solo1 platform_packages build 3428
      [Build] Temporary disable most envs for testing
      [Build] Add logging to see current dir data
      [Build] Temporary revert to pio 6.1.16
      [Build] Make extra_scripts explicit
      [Build] Swap script-append order
      [Build] execute copy_files.py explicitly post: build
      [Build] Remove logging to see current dir data
      [Build] execute copy_files.py explicitly pre: build to not mis installing the handler
      [Build] Restore envs, minor env config improvements for Solo1 builds
      [P100] Retrieve CountTotal value
      [Docs] Add SPIFFS to LittleFS migration guide
      [P177] Add documentation
      [Build] Script copy_files.py tweaked to start in the correct order
      [Build] Temporarily disable most builds for testing
      [Build][CI] Explicity call bin_elf_copy in CI script
      [Build] Process copy_files in post_esp32 script
      [Build] Process post scripts in different order
      [Build] Re-enable builds after testing
      [Build] Re-enable builds after testing
      [Commands] I2CScanner command show bus that's being scanned
      [Review] Improvements and typos fixed
      [Boards] Fix typo in ESP32-S3 16M definition
      [P177] Add missing class access specifier
      [P100] Add documentation
      [P100] Add option to show CountTotal value, enable Plugin Stats
      [P100] Update documentation
      [Build] Add ESP32 Climate LittleFS build
      [I2C] Move Clock Stretch setting to Hardware page, move I2C enabled check global
      [Rules] Add optional use of named variables
      [Rules] Reject invalid variable names
      [Rules] Update documentation
      [Rules] Update documentation, add some examples using named variables
      [Rules] Update documentation
      [AdaGFX Helper] Docs for adding a custom font
      [AdaGFX Helper] Docs extended and some typos fixed.
      [Rules] Change example to use named variables
      [I2C] De-duplicate code
      [AdaGFX Helper] Docs extended based on review
      [P104] Bugfix: Apply fontspacing correctly on double-height fonts
      [P104] Enable double-height numeric font for ESP32 builds, minor code improvements
      [P104] Zone order setting was missing the reload-on-change flag
      [P020] Improve data handling send unaltered via network client generate hex event data apply RX buffer size
      [P020] Add support for UDP -> Serial receiver
      [P020] Fix compiler warning
      [Commands] Add command SendToUDPMix
      [P020] Update documentation
      [Rules] Allow eventname and eventpar processing for explicit string events (!serial)
      [Rules] Enable substring function to return the remainder of a string (with docs update)
      [P020] Start UDP-listener once the network is available
      [Rules] Small documentation update for events starting with !
      [P104] Fix increasing character spacing when changing double-height fonts
      [Bugfix] Rules fix handling for nested shorthand vars
      [Bugfix] Build: Adjust processing order for gzip-firmware script
      [Bugfix] MQTT Controller: Keep Alive Time reset to/use default (60 sec) when 0
      [I2C] Renumber buses starting from 0 instead of 1

chromoxdor (31):
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Update _P097_Esp32Touch.ino
      Udated code + added documentation
      Update P097.rst
      Update P097.rst
      [P164] add aqi to taskvalues
      Updates
      update: changelog
      [P038] Fix HSV values in documentation
      Update _P097_Esp32Touch.ino
      adding mapc to constrain values
      Update Rules.rst
      using constrain instead of std::clamp
      Update Rules.rst
      Update Rules_calculate.cpp
      add cheatcode, fix one typo
      Update UDP.cpp
      Update StringParser.cpp
      Update StringParser.cpp


-------------------------------------------------
Changes in release mega-20241222 (since mega-20240822)
-------------------------------------------------

Release date: Sun Dec 22 11:08:22 PM CET 2024

Bartłomiej Zimoń (2):
      if we wait for data from SMTP - do not flush received data
      EMail - correct response checking

Hans-Rune Bue (4):
      Initial ESPeasy tools add
      ESPeasy tools readme
      Missing $ in
      Document enhancements on requirements, security + linting

TD-er (204):
      [MQTT TLS] Add TLS support for MQTT
      [MQTT TLS] Add cert.py to extract certificate info
      [MQTT TLS] Allow to load CA root cert from file
      [Web] Allow to stream from file system (e.g. CSS inline)
      [MQTT TLS] Patch CA root cert to match strict layout
      [MQTT TLS] Work-around for memory leak in MbedTLS (not finished)
      [MQTT TLS] Fix memory leak... finally
      [MQTT TLS] Clear CA certificate when starting a new connection
      [Cleanup] Fix lots of missing delete calls to free memory
      [Webserver] Fix serving CSS
      [TLS] Add ALPN protocol
      [TLS] Add fix for WiFiClientSecure connection timeout
      [MQTT TLS]Display connection info on controller page
      [Cleanup] Use .clear() on strings instead of assigning empty string
      [TLS] Making proper datastructure init
      [MQTT TLS] Improve controller setup page show peer certificate
      [MQTT TLS] Add certificate fingerprint validation
      [MQTT TLS] Add view of certificates + option to store
      [MQTT TLS] Add TLS support for MQTT
      [MQTT TLS] Add cert.py to extract certificate info
      [MQTT TLS] Allow to load CA root cert from file
      [Web] Allow to stream from file system (e.g. CSS inline)
      [MQTT TLS] Patch CA root cert to match strict layout
      [MQTT TLS] Work-around for memory leak in MbedTLS (not finished)
      [MQTT TLS] Fix memory leak... finally
      [MQTT TLS] Clear CA certificate when starting a new connection
      [Cleanup] Fix lots of missing delete calls to free memory
      [Webserver] Fix serving CSS
      [TLS] Add ALPN protocol
      [TLS] Add fix for WiFiClientSecure connection timeout
      [MQTT TLS]Display connection info on controller page
      [Cleanup] Use .clear() on strings instead of assigning empty string
      [TLS] Making proper datastructure init
      [MQTT TLS] Improve controller setup page show peer certificate
      [MQTT TLS] Add certificate fingerprint validation
      [MQTT TLS] Add view of certificates + option to store
      [Webserver] Fix merge issue (MQTT TLS)
      [Merge Fix] Restore P095 and P096 from mega branch
      [MQTT TLS] Fix missing include mbedtls/oid.h
      [MQTT TLS] Fix missing include <vector>
      [Build] Fix merge issue.
      [MQTT TLS] Fix build issues
      [MQTT TLS] Disable fingerprint verify on ESP8266 as not implemented
      [MQTT TLS] Disable USE_MQTT_TLS for LIMIT_BUILD_SIZE and 1M builds
      [MQTT TLS] Disable TLS for ESP8266 completely
      [MQTT TLS] Rename USE_MQTT_TLS to FEATURE_MQTT_TLS
      [MQTT TLS] Resize certificate info textareas
      [MQTT TLS] Fix layout controller page
      [MQTT TLS] Cleanup, reducing build size when no MQTT TLS is set
      [Build] Disable ext. RTC on limited build size builds
      [Build] Reduce bin size by excluding libs from 1M builds
      [GPS] Fix set system time via GPS
      [MQTT TLS] Add MQTT TLS feature to ESP32 MAX builds
      [GPS] Use custom GPS view of plugin stats data
      [MQTT TLS] Fix crashes due to null pointer dereference.
      [Controller] Allow system variables in controller username
      [Cache Reader] Add intended nr of 'samples' per bulk message
      [Cache Reader] Cleanup Export dump to CSV & fix separator
      [Cache Reader] Allow bulk dump CSV to MQTT
      [Cache Reader] Fix serving 'last line' of stored data
      [Cache Reader] Send bulk taskinfo in either CSV or JSON, using settings
      [TaskRun] Reschedule task to set Interval
      [TaskRun] Cleanup code
      [Build] Cleanup code + reduce build size
      [TaskRun] Fix new command ScheduleTaskRun
      [Cleanup] Simplify generating task events
      [Cleanup] Reduce build size by omitting some conversions
      [ADC] Add config commands to set calibration
      [ADC] Document new ADC set calibration commands
      [SenseAir] Fix reading error state from sensor
      [Provisioning] Fix setting allowed file types to download via rules
      Revert accidentally committed pre_custom_esp32.py
      [Provisioning] Fix cache and mDNS updates after provisioning
      [SenseAir] Add more sensor info + begin implementing setting ABC
      [Provisioning] Only allow downloading firmware update from set host
      [Cache Reader] Add option to delete files after upload
      [SenseAir] Temperature is 2-complement signed value
      [SenseAir] Fix reading temperature on non-S8 sensors
      [SenseAir] Keep SenseAir code in sync with PR #4550
      [ESP32 IDF] Update to IDF 4.4.5 (2023-06-14)
      [Build] Fix merge issues
      [Build] Fix merge issues MQTT TLS
      [MQTT TLS] Add MQTT import to Custom ESP32
      [MQTT TLS] Fix merge issues
      [MQTT TLS] Fix static_assert check after update with 'mega' branch
      [Math] Improve intuitively matching & printing floating point values
      [Build] Reduce bin size on ESP8266 Collection D
      [Build] Reduce build size, disabling float print optimization on ESP8266
      [MQTT-TLS] Fix merge issue
      [MQTT-TLS] Fix merge issues
      [Build] Remove CUL reader from ESP8266 collection D build due to size
      [P001] Reduse build size
      [P001] Fix Uncrustify formatting
      [P001] Change runtime counters from PCONFIG to datastruct members
      [P001] Cleanup code using less macro code
      [P001] Cleanup code
      [P001] Cleanup code & add comments
      [P009] Apply same code restructure as for P001
      [P019] Apply same code restructure as for P009
      [P009] Remove temp files
      [P001] Use aliases for PCONFIG to access settings
      [GPIO] Move duplicate code for init P001/009/019 to shared function
      [GPIO] Create generic handler for GPIO plugins
      [GPIO] Deduplicate code in PCF and MCP code for P019 and P009.
      [GPIO] Try to match P009 and P019 code to be the same as P001 code
      [GPIO] Make P001/P009/P019 share the same code
      [GPIO] Fix missing check to recover from offline mode
      [ESP-IDF5.3] Add support for ESP-IDF5.3 and SPIFFS builds for IDF5.1
      [ESP-IDF5.3] Fix crashes on sysinfo page
      [ESP-IDF5.1] Add LTO to reduce bin size for ESP-IDF5.1 SPIFFS build
      [ESP-IDF5.3] Fix usable UART ports on ESP32-C6
      [Build] Fix build error on ESP32 Minimal OTA builds (debug/test builds)
      [ESP-IDF5.3] Add 5 GHz WiFi modes for upcoming ESP32-C5
      [HeatpumpIR] Update lib to latest code
      [Sysinfo] Add used ESP-IDF version to sysinfo page
      [HeatpumpIR] make the library compile again in ESP-IDF5.3
      [ESP-IDF] Make ESP32-S2 build again
      [Arduino] Add define as workaround for Arduino change flush() to clear()
      [Uncrustify] Cleanup _P091_SerSwitch.ino
      [ESP-IDF5.3] Fix building on Windows
      [ESP-IDF 5.x] Fix detection of ESP32-rev3
      [EDP-IDF] Update to latest IDF5.1 (SPIFFS) & IDF5.3(LittleFS) Arduino304
      [ESP-IDF] Simplify eco mode power management
      [ESP-IDF5.3] Update to latest IDF5.3/Arduino3.0.5
      [ESP-IDF] Revert IDF5.3 to IDF5.1 due to WiFi scan issues
      [WiFi] Add copy constructor to WiFi_AP_Candidate
      [Cleanup] simplify ExtraTaskSettings constructor
      [ESP-IDF5.3] Switch back to IDF5.3 for LittleFS builds
      [N001_Email] Increase parse buffer size + cleanup
      [ESP-IDF5.3] Fix build solo1 builds
      [Email] Set timeout on the connection itself
      Do not apply nr. of decimals before calculating formula (#5123)
      [GPIO] Revert some changes regarding send bootstate on P001
      Add .platformio to gitignore
      [GPIO] Revert some changes regarding send bootstate on P001
      Fix formatting nr. decimals with formula (#5123)
      [Email] Early exit on failing Auth calls + some cleanup
      [ESP-IDF5.3] Move to latest Arduino 3.1 / ESP-IDF 5.3.1 (LittleFS build)
      [ESP-IDF5.3] Move to latest Arduino/IDF code
      [Email] Fix issues with different mail server versions
      [Email] Add missing define
      [Email] Fix ESP8266 2.7.4 builds
      [Email] Add missing changes in NotificationPage.cpp
      [Rules] Fix saving rules on ESP-IDF5.3
      [Cleanup] Reduce SaveRules.js
      Fix saving task names when rules are enabled
      Add work-around for changes in File::position()
      [Build] Fix copy/paste error
      [Cleanup] Remove duplicate define from platformio ini file
      [Build] Fix max builds
      [Uncrustify] Update config for latest version of Uncrustify
      [uncrustify] Apply new uncrustify version on some recently changed code
      [ESP-IDF5.3] Update to SDK IDF5.3.1/Arduino3.0.5 20240924
      [ESP-IDF5.3] Update to 20240926
      [GPIO] Fix build warnings on ESP8266 for GPIO direction
      [ESPEasy p2p] Fix sending task value data on ESP8266
      [LibSSL] Add LightBearSSL lib made by Tasmota
      [MQTT-TLS] Switch to Tasmota's Light-Weight BearSSL lib
      [MQTT TLS] Fix build hidden write(uint8_t)
      [MQTT-TLS] Enable TLS for MQTT on all ESP32-xx Custom builds
      [MQTT TLS] Disable PSK option
      [MQTT TLS] Uncrustify controller source files
      [MQTT-TLS] Improve stability of MQTT connection while serving JSON pages
      [PVS-Studio] Add fixes suggested by PVS-Studio
      [MQTT-TLS] Make connection to broker more stable
      [MQTT TLS] Disable certificate validation options for now
      [MQTT TLS] Add some documentation about using TLS for MQTT
      [Controller] Fix really strange merge issue (return statement got lost)
      [HeatpumpIR] Rename lib folder to make it compile on Windows
      [HeatpumpIR] Make IRext builds fit again on ESP8266
      [Build] Add already a shorter folder name for core_dir for future builds
      [Email] Split N001_Email.ino into N001_data_struct
      [Email] Add SSL support for email
      [Email] Fix builds + include N001 in all ESP32-xx custom builds
      [Build] Fix builds which do not have DEBUG log level included
      [Email] Clean-up code
      [BearSSL] Update to latest BearSSL code
      [Email] Enable SSL for email and MQTT on all ESP32-xx builds
      [Email] Fix failed builds
      [Email] Fix silly mistake
      [Email] Add documentation describing SSL port 465
      [CSS] Add retry to load CSS when first attempt failed
      [Docs] Add info how to use USB serial with WSL2
      [WSL2] Add simple script to set permissions for USB to serial in WSL2
      [ESP-IDF] Switch to latest ESP-IDF/ESP32-Arduino 3.0.7
      Fix custom build with <2 included plugins (#5150)
      [P176] Simplify handling temporary values before checksum checked
      [GPS] Add course (bearing) as output option
      [PSRAM] Free GPIO-16 and -17 on ESP32-classic when no PSRAM present
      [PSRAM] Fix build on ESP-IDF 5.1 + add special case of ESP32-picoD4
      [PSRAM] Cleanup code
      [PSRAM] Fix solo1 builds
      [PSRAM] Fix solo1 builds
      [GPIO] Allow to select GPIO-10 on ESP32-U4WDH
      [GPIO] Fix missing check on ESP32-classic for GPIO-10 with emb. flash
      [ESP32C3] Allow GPIO 11, 12, 13 to be used on specific boards
      [ESP-IDF] Update to latest ESP-IDF5.3 for ESP32-xx LittleFS builds
      [ESP32-solo1] Update to latest ESP-IDF5.3 for solo1
      [ESP-IDF5.3] Fix build platform for Solo1
      [Webserver] Fix stalled web requests and not saving rules via Ethernet
      [ESP32] Update to latest Arduino 3.1.0 release
      [Build] Fix building ESP8266 builds
      [Build] Fix merge issues in platformio.ini
      [ESP32-solo1] Fix bootloop on Solo1 boards

Ton Huisman (113):
      [P103] Add support for EZO-HUM sensor
      [P103] Fix some issues, add logging for analysis
      [P103] Fix more issues, add/apply settings for EZO-HUM
      [P103] Handle EZO-HUM firmware issue of unexpected 'Dew' in output
      [P103] Fix to apply new `UserVar` usage
      [P113] Add Region of Interest configuration
      [Devices] Update/Add help links for Stats
      [P113] Check invalid ROI settings after in-place update
      [P163] Add plugin Counter - RadSens I2C radiation counter
      [DevicesPage] Fix clearing the Low I2C speed setting when reusing a task
      [P163] Enable plugin in ESP32 Collection G builds
      [P163] Prevent protential memory leak
      [P163] Add to Custom-sample.h
      [P163] Use Count-average when available, change to Environment category
      [P163] Add documentation
      [P163] Fix missing nullptr check if Count stats not enabled but other stats is
      [Lib] RadSens: Add non-incremental pulses reading and reset of incremental counter
      [P163] Add optional non-incremental counting and reset command/option
      [P163] Update documentation
      [P165] Add plugin Display - NeoPixel (7-segment)
      [P165] Add code from #4977
      [P165] Add code from #5091
      [AdaGFX] Add rgb565/rgb888 color conversions
      [P165] Add Clear display on exit, add manual g-segment split, rework UI for better Extra pixel display, many bugfixes
      [P165] Breaking Settings change! (delete & re-add) Allow 7 pixels/segment for w/h/dot, add 7dbefore command
      [P173] Add plugin Environment - SHTC3
      [I2C] Add functions I2C_write16() and I2C_write16_LE()
      [P165] Add digitmapping for having all RTL groups, UI improvements and fixes
      [P173] Add to I2C scanner
      [P165] Add counter-clockwise numbering, enable digit/group color commands for all builds
      [P173] Add documentation, include in standard C6 Custom build
      [DeviceStruct] Add PinDirection flag for PIN1..PIN3
      [DeviceStruct] Add PinDirection flag for PIN1..PIN3
      [P165] Apply PinXDirection feature
      [P165] Add new commands to EasyColorCode (some are defined for P073)
      [P165] Add documentation and a few configuration examples
      [DeviceStruct] Apply PinXDirection flags for all plugins where appropriate, cleanup unneeded Device flags, reformatted some plugin sources
      [P173] Add to Custom-sample.h
      [EasyColorCode] Command Reset is renamed to FactoryReset
      [P165] Add more code from #5091
      [P165] Fix some bugs found during testing
      [EasyColorCode] Also update minified js file
      [P165] Add more code from #5091
      [P165] Disable periods handling if no decimal dot pixels defined
      [P165] Small bugfix
      [P113] Add UI selection of ROI area (single area selection only)
      [Build] Possible fix for unstable builds
      [Build] Possible fix, part 2, for unstable builds
      [P165] Bugfixes and javascript optimizations
      [P165] Bugfixes and javascript optimizations
      [P113] Improve UI selection of ROI area for touch devices, code improvements
      [P113] Update documentation
      [P113] Improve UI selection of ROI area for touch devices, code improvements
      [UI] Fix disabled-checked Checkbox styling, and allow to enable/disable from js
      [P165] Add option to start numbering at g-segment
      [P165] Add option to use decimal dot for blinking time indicator
      [P165] Fix initialization of output mode
      [Scripts] Fix some issues and upgrade to external changes
      [P054] Allow GPIO configuration for ESP32 units
      [P054] Use Direct-GPIO and implement ESPEasySerial
      [P113] Further minify embedded js
      [P165] Small bugfix
      [P165] Update documentation
      [P054] Add documentation, small UI improvement
      [N001] Email password should use a password input field
      [P159] Extend max threshold
      [P175] Add Dust - PMSx003i (I2C) Sensor
      [P175]/[P053] Check for useable variables
      [P175] Fix reading checksum and data frame correctly
      [P175]/[P053] Optimize re-use of code, add sensor to I2C Scanner
      [P175] Add documentation (partially shared with P053)
      [P175] Show GPIO config on Devices page
      [P103] Javascript fixes, code improvements
      [Build] Fix: Use package with Solo1 'autodetect' (Solo1 specific packaged removed)
      [Build] Fix: Use package with Solo1 'autodetect' (Solo1 specific packaged removed)
      [P176] Add plugin Communication - Victron VE.Direct
      [P176] Add some features and code improvements
      [P176] Fix ESP8266 build issue
      [P176] Update taskvalues at receiving data, other improvements
      [P176] Fix use of plugin compiletime feature flags
      [P176] Move Led initialization to DataStruct initialization function
      [P176] Add documentation
      [P176] Refactorings to optimize performance (lower load), remove RX Timeout setting
      [P176] Update documentation
      [P176] Avoid calling serial->available() too often, uncrustify some recent changes
      [P176] Update changelog (and GH Actions failed)
      [P176] Handle ON and OFF values as 1 and 0
      [P176] Fix checksum validation, was ignoring the first line after receiving a valid checksum
      [P045] Add optional data collection for all axis
      [P045] Update documentation
      [P045] Set correct Sensor_VType for 3 values
      [Build] Enable Servo support for most builds
      [P176] Add variables `successcount`, `errorcount` and `ischanged`
      [Docs] Updates and fixes, November 2024
      [Docs] Rewording a few phrases
      [P176] Rename variable `ischanged` to `updated`
      [P103] Add documentation
      [P103] Fix cast issue
      [EasyColorCode] P020/P044/P087 serial commands
      [P020] Fix docs typo
      [P176] Add Events only when updated option and docs
      [P176] Fix bug in screenshot :-)
      [P009]/[P061] Add note about possible non-working input for MCP23017 PA7/PB7 pins
      [C002] Bugfix: Use correct GPIO pin for controlling P001
      [P105] Add Alternative initialization option for AHT10 clones
      [P041][P042] Update documentation (no longer in Normal builds)
      [P159] Allow max threshold of 101, to resolve an off-by-one error
      [P159] Update documentation
      [P021] Move ifdef to .h file to avoid compiler warnings
      [P057] Fix mprint command to skip the colon segment
      [Controllers] Process % variables before functions
      [Controllers] Change variable replacement order so string functions can be used
      [FactoryReset, ESP8266] Use settings from Custom.h on clean install

chromoxdor (8):
      Update Misc.cpp
      Update Misc.cpp
      Update Misc.cpp
      [P049] added commands
      Update P049_commands.repl
      Update P049.rst
      Update P049.rst
      Update Command.rst

dependabot[bot] (1):
      Bump cryptography from 38.0.3 to 43.0.1

flashmark (18):
      Added state extension
      Fix backwards compatibility issue and tidy up
      Reworked after pull request
      Rework after review
      Cleanup, fix init issue
      Update documentation
      Minor fixes
      P021 Optimize memory footprint
      P021 fixed issue in control algoritm
      P021 Squeeze out some flash usage
      P021 timer initialization
      P021 another set of shaving flash memory consumption
      P021 fixed an oops and reworked review comments
      [P021] disable new feaures for low memory builds. Fix issues.
      [p021] fixed unused variable
      [P021] Documentataion update to refect limited build versions
      [P021] Bugfix
      Minor style change

uwekaditz (13):
      Changes for PR5097
      Code uncrustified
      Function ReplaceTokenDelimiters() to be used for user defined headers and line content
      Changes requested by tonhuisman
      Documentation formatted
      NEW: functions stripEscapeCharacters() and hasEscapeCharacters()
      More advanced parsing as requested by @tonhuisman
      Reuse of 0x11/0x12 also for the \( and \)  changed to 0x05/0x06
      Documentation updated
      Documentation updated for functions
      Removed unneeded string init, code simplified
      BUG: simplified stripEscapeCharacters() did not work
      Disable P040 (RFID - ID12LA/RDM6300) for PLUGIN_BUILD_IR_EXTENDED_NO_RX  due to limited size


-------------------------------------------------
Changes in release mega-20240822 (since mega-20240414)
-------------------------------------------------

Release date: Thu Aug 22 10:35:20 PM CEST 2024

Gijs Noorlander (11):
      [Cleanup] Revert accidentally changed line endings
      [PluginStats] Show average rate and total duration of collected stats
      [PluginStats] Add nr of samples to chart legend
      [PluginStats] Uncrustify/cleanup code
      [Build] Fix build due to static var with too generic name
      [Docs] Remove unused files for P169
      [Docs] Document getconfig and commands for P169 AS3935
      [AS3935] Fix restart measurement after running calibration command
      [PluginStats] Fix patching timestamps from before system time was set
      [AS3935] Enable auto gain and reduce number of events
      [Sonoff POR] Move Sonoff POW R1/R2 ESP8266 build back to core 2.7.4

TD-er (139):
      [IPv6] Add option to enable/disable IPv6
      [AdaGFX Helper] Make "1" in TomThumb font as wide as all other numbers
      [NeoPixel] Add AHT20 support to ESP32 NeoPixel build.
      [NeoPixel Matrix] Fix trailing pixels on scrolling text
      [Hidden SSID] Fix ESP32 connecting to hidden SSID with channel > 11
      [ESP-IDF5.1] Update to latest SDK code + fix HWCDC
      [ESP32 WiFi] Add info about found AP from scan
      [ESPEasy p2p] Add p2pNode#Connected and #Disconnected events
      [Build] Fix build on ESP-IDF4.4 builds
      [C018] Reduce build size
      [Build] Reduce ESP8266 build size by concat all in single __tmpfile.cpp
      [Build] Reduce ESP8266 bin size disable LittleFS lib + OTA on 1M builds
      [AS3935] Add P169 Lightning Detector plugin
      [AS3935] Improve calibration accuracy
      [AS3935] Implement P169 code
      [AS3935] Add option to measure all calibrated oscillators
      [AS3935] Improve frequency measurement accuracy
      [AS3935] Improve stability and calibration success rate
      [AS3935] Make it compile for ESP8266 and clarify logs
      [AS3935] Fix build on ESP32 IDF4.4
      [AS3935MI] Get in sync with pending PR to original lib
      [AS3935MI] Move frequency count code to original library code
      [AS3935MI] Make frequency count "vanilla Arduino" for non-ESP SoC
      [AS3935MI] Add selection for nr Samples, division, etc
      [AS3935MI] Add '2nd best' check to calibration to retest
      [AS3935MI] Add event on lightning strike and count strikes per interval
      [AS3935MI] Add total strikes counter, sensor stats and cleanup plugin
      [AS3935MI] Cleanup settings & add chart to help tuning
      [AS3935MI] Speedup LCO calibration + simplify configuration
      [AS3935MI] Add timestamp to PluginStats
      [AS3935] Fix compile issue
      [ESP-IDF5.1] Update ESP-IDF SDK to fix HWCDC
      [AS3935MI] Change lib function names to use camelCase
      [ESP-IDF5.1] Fix crashes on LittleFS after factory reset
      [ESP-IDF5.1] Fix crashes on LittleFS after factory reset
      [ESP-IDF5.1] Update to latest ESP-IDF SDK code
      [ESP-IDF 5.1] Exclude some OPI PSRAM speed improvements due to stability
      [Json] Fix showing JSON including pluginstats data
      [PluginStats] Compute average taking timestamps into account.
      [PluginStats] Move stats to PSRAM when available
      [AS3935MI] Rename interrupt enum to match style of other enums in lib
      [Controller] Fail gracefully when almost out of memory
      [Controller] Fail gracefully when almost out of memory
      [ESP-IDF5.1] Fix WiFi issues on ESP32-C6
      [AS3935] Minor clean-up in code and user-interface
      [P169] Start documenting AS3935 plugin
      [ESP-IDF5.1] Fix WiFi issues on ESP32-C6
      [AS3935MI] Get rid of 'magic' values in lib code
      [AS3935] Fix "indoor/outdoor" setting + no longer disable on fail calib
      [AS3935] Document calibration for P169 Lightning sensor
      [AS3935] Add commands to P169 Lightning Detector
      [AS3935] Set task values to output distance Far/Near and remove "energy"
      [ESP-IDF5.1] update to latest ESP-IDF SDK & Arduino 3.0.0
      [mDNS] Enable FEATURE_MDNS again for ESP-IDF5.1 builds
      [AS3935MI] Add validation check for computeCalibratedFrequency
      [AS3935MI] Make ISR attributes like IRAM_ATTR platform dependant.
      [AS3935MI] Add auto gain algorithm to adapt to changes in noise envs.
      [PluginStats] Update recorded timestamps when time is first set
      [AS3935] Improve auto tuning
      [mDNS] Disable mDNS again as it causes major stalls
      [Charts] Add option to zoom/pan for PluginStats charts
      [ESP-IDF5.x] Fix recent change of flush() to clear() in Arduino SDK
      Revert "[ESP-IDF5.x] Fix recent change of flush() to clear() in Arduino SDK"
      [ESP-IDF5.1] Revert Arduino PR 9453 WiFiClient - rename flush() to clear()
      [ESP-IDF5.1] Update to latest platform build
      [AS3935] Disable auto gain for now
      [ESP-IDF5.1] Revert Arduino PR 9453 WiFiClient - rename flush() to clear()
      [Build] Fix merge issues.
      [AS3935MI] Update to 1.3.5 with PRs from ESPEasy changes merged to lib
      [System Load] Reduce system load running background tasks
      [Cleanup] Speedup converting task values to String
      [Cleanup] Speedup converting task values to String
      [Cleanup] Further reduction of load
      [Cleanup] Further reduction of load
      [Cleanup] Revert line ending to CRLF again (.h files)
      [Cleanup] Revert changed line-ending back to CRLF (.cpp)
      [Cleanup] Revert line endings from LF to CRLF
      [Cleanup] Revert line endings from LF to CRLF
      [Cleanup] Revert line ending to CRLF for PlatformIO ini files
      [AS3935MI] Update increase/decrease functions return values in lib
      [PluginStats] Decimate samples by not storing unchanged values
      [AS3935] Add selectable range for auto gain algorithm
      [Build] Remove previously created __tmpfile.cpp files on ESP8266 build
      [AS3935] Add check to see if RCO is still active on IRQ pin
      [ESP-IDF5.x] Update to latest code incl. possible fix for WiFi issues
      [Controller] Fix sending to controller
      [Controller] Fix sending to controller
      [Cleanup] Speedup all calls where task value name was used
      [Build] Fix build error on LIMIT_BUILD_SIZE builds
      [ESP-IDF5.x] Update ESP-IDF/ESP32-Arduino  to latest commits
      [ESPEasy p2p] Improve sharing tasks via p2p + add checksum to UDP packet
      [ESPEasy p2p] Add timestamp to taskvalue data to counter network delays
      [ESPEasy p2p] Fix sending taskinfo packet rejected by  wrong size check
      [ESPEasy p2p] Make taskinfo length more flexible, remove trailing zeroes
      [ESPEasy p2p] Add "Data Source" selection to request remote data feed
      [Cleanup] Remove unused code
      [MQTT] Fix some extreme timeouts when broker is unresponsive (#5075)
      [MQTT] Send keep-alive ping at 2/3rd of MQTT_KEEPALIVE
      [MQTT] Set timeout also for connecting to the MQTT broker
      [Memory] Make special memory allocations more robust
      [Controller] Add time spent in connecting to host to timing stats
      [Cleanup] Rename ambiguously controller_number in controller code
      [Controller] Add note on typical timeout for local vs. online networks
      [PluginStats] Fix inconsistency with pluginstats for ADC plugin
      [MQTT] Fix disconnect when broker sends keepalive ping before client
      [ADC] Improve ADC curve fitting calibration accuracy
      [VL53L0X] Fix ignoring sensor error values
      [VL53L0X] Add async read option to library
      [ESP-IDF5.x] Update to latest ESP-IDF/Arduino SDK
      [WiFi] Add passive/active scan for ESP32
      [Cleanup] Always use the same unit/note for settings, regardless the page
      [ESP-IDF5.1] No longer support Ethernet on ESP32-C2
      [Sysinfo] Add internal temperature to sysinfo (when supported)
      [Build] Fix build due to missing #ifdef checks
      [ESP32 temp] Fix int. temperature sensor not changing range
      [WiFi] Fix WiFi not able to reconnect due to unprocessed disconnect
      [VL53L0x] Make reading sensor async
      [VL53L0X] Actually do read the sensor asynchronous.
      [WiFi] Fix (re)connect to WiFi on ESP32-xx builds
      [VL53L0X] Add filtering + make threshold more intuitive
      [AS3935] Do not set IRQ pin to input when not configured (e.g. p2p share)
      [Time] Simplify system time management + increase resolution to usec
      [Time] Cleanup ESPEasy internal system time management
      [VL53L0X] Cleanup code
      [VL53L0X] Add dynamic filtering, allowing fast response on quick change
      [Time] Improve NTP accuracy and prevent lockups on incorrect data
      [Cleanup] Fix wrong unit for TX power on web UI page
      [Time] Improve accuracy and precision of time sync
      [GPS] Fix filtering out occasional jitter in received GPS timestamp
      [ESP-IDF5.1] Fix hanging when OTA update fails.
      [GPS] Fix showing GPS received time on GPS task page
      [P2P] Fix crashes when processing UDP packets after WiFi disconnect
      [ADC] Change order of mV and ADC value as this is more intuitive
      [OTA] Fix crash/abort of larger OTA updates (e.g. Max builds)
      [GPS] Improve GPS time stability
      [Timesync] Tweak time wander penalty for time since last sync
      [CUL reader] Set nr. filters field to actual nr of used filters via cmd
      [CUL reader] Do not sort CUL filters
      [Readme] Added link to PVS-Studio as used SAST tool

Ton Huisman (280):
      [P123] Add FT6206 Capacitive touch screen
      [AdaGFX] Implement/activate generic 'adagfx_trigger' command-trigger
      [P123] Add arguments to Object events, allow initial events for On/Off button objects minor corrections
      [P123] Code improvements, increased button response
      [AdaGFX] Add support for `btn` subcommand to draw button-like objects
      [P123] Add support for button-simulation using AdaGFX btn subcommand
      [Build] Add -Wswitch compiler option for ESP32 (already active for ESP8266)
      [P123] Minor updates and improvements
      [P123] Limit code & bin size for LIMIT_BUILD_SIZE builds
      [AdaGFX] Improve btn subcommand, slim down bin size, other minor improvements
      [TouchHandler] Introduce ESPEasy_TouchHandler, refactored out of P123 touch support
      [P123] Refactor and implement ESPEasy_TouchHandler
      [TouchHandler] Fix conditional compilation issue
      [AdaGFX] Add support for confined windows to print/draw in [AdaGFX] Add support for getting config values
      [P095] [CP] Fix for displaying text on previous location was not overwriting old content Add Text print mode for centered text Extend txtfull subcommand to enable centered text
      [TouchHandler] Move PLUGIN_WRITE and _GET_CONFIG_VALUE to helper, add getters for state and enabled, add toggle subcommand, handle multiple objects for on, off and toggle
      [P123] Refactor PLUGIN_WRITE and _GET_CONFIG_VALUE to TouchHandler, minor improvements
      [AdaGFX] Remove unused variable
      [AdaGFX] Process like template for length and textheight values
      [AdaGFX] Add/update documentation for window commands and config values
      [AdaGFX] Code improvements, initialization, const, move window offset into printText()
      [AdaGFX] Code improvements as suggested by feedback
      [AdaGFX] Correct font include paths, add #ifndef filename checks to fonts
      [AdaGFX] Regression: Background-fill for text should fill entire line height
      [TouchHandler] Change method arguments to const-by-reference where possible
      [TouchHandler] Strip unneeded prefix from page variables
      [P123] Strip unneeded prefix from page variables
      [TouchHandler] Optimizations (as suggested and more)
      [P123] Fix some spelling issues, code optimizations
      [P123] Minor optimizations
      [AdaGFX] Reduce build some more for LIMIT_BUILD_SIZE
      [P123] Small size improvement
      [TouchHandler] Replace _ in captions and object names by a space, and reverse, might save some settings size
      [UI] Add class table.multi2row for alternating color per 2 rows
      [TouchHandler] Use 2-row alternating color, improvements
      [P123] Code improvements
      [AdaGFX] Add Slider/Gauge support (via btn subcommand), fixes
      [AdaGFX] Missed a conditional compile option
      [TouchHandler] Add support for sliders and swiping, many other improvements
      [P123] Implement Slider/Gauge support, other (size) improvements
      [AdaGFX] Improved drawing of Slider/Gauge control (also reverted)
      [TouchHandler] Enable use of reverted sliders/gauges, and improved handling of ranges that don't have 0 included
      [P123] Minor code improvements
      [TouchHandler] Add optional touchscreen disabling, code fixes and improvements
      [P123] Implement disabled-touchscreen feature
      [TouchHandler] Fix typo and conditional compilation issue
      [UI] Improvements for `multi2row` style
      [TouchHandler] Settings page layout adjusted, and some minor improvements
      [TouchHandler] Logging check improvements
      [P123] Logging check improvements
      [TouchHandler] Remove unneeded enum MAX values
      [AdaGFX] Remove unneeded enum MAX values, fix BMP conditional compilation issue
      [AdaGFX] Fix compilation error after merge from mega
      [TouchHandler] Fix compilation error after merge from mega, table improvements
      [P116] Add GetConfig feature, code improvements
      [I2C scanner] Enable plugin-scan for ESP32, updated sensors
      [TouchHandler] Fix touch-disabled option, code improvements
      [P123] Code improvements
      [TouchHandler] Conditional compilation fix
      [TouchHandler] Conditional compilation fix
      [Boards] Add BOARD_HAS_PSRAM flag for 16M8M config (avoids crashing when saving P123 settings)
      [TouchHandler] Logging and code optimizations
      [P123] Bugfixes and logging improvements
      [P123] Fix for disabled touchpanel setting
      [Lib FT6206] Add support for FT6336 touch panel (as used in M5Stack Core2)
      [P123] Correct merge error
      [P123] De-initialize on error during PLUGIN_INIT fixed
      [Core] Add extra storage space for Custom TaskSettings
      [Plugins] Adjust check for max. CustomTaskSettings
      [TouchHandler][P123] Implement Extended CustomTaskSettings feature
      [P104] Improve storing settings (speed and size)
      [TAR] Add support for downloading and uploading files via .tar archive
      [Core] ExtendedCustomTaskSettings code improvements based on feedback
      [Code] Add `NR_ELEMENTS` macro for getting the number of elements in an array
      [TAR] Code improvements from feedback, code de-duplication
      [Download] Only add `exrcfgNN.dat` files with feature enabled
      [TAR] Don't allow subdirectory files, check file before trying to delete
      [TAR] Add setting to disable download configuration as a .tar file
      [TAR] Add documentation
      [TAR] Minimal logging during file-download
      [TAR] Minimal logging during file-upload, code improvements
      [Core] Re-enable Flash-formatting for LittleFS
      [P123][TouchHandler] Fix merge issues, adjust log strings
      [TouchHandler] Fix typo
      [P123][TouchHandler] Fix valuecount issue, implement missing `GET_I2C_ADDRESS` function
      [TouchHandler] Remove unused variable assignment
      [P104] Disable new settings-version V3 for now
      [P104] Code improvements, re-enable new settings-version V3
      [AdaGFX_helper] Reduce build-size
      [AdaGFX_helper] Simplify font handling, add some better 7/14 segment fonts, enable 18pt fonts for ESP32
      Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/TAR-archive-upload-and-download + fixes
      [AdaGFX_helper] Update Fonts documentation
      [TAR] Scrape off a few bytes to make the build fit
      [TouchHandler] Fix compilation errors since Core code changes
      [TouchHandler] Fix compilation errors since Core code changes
      [TouchHandler] Code optimization reducing .bin size
      [P123] Minor code optimiziations
      [Build] Reduce code size to make Collection F fit again
      [Build] Reduce code size to make Collection F fit again (Collection plugins)
      [TAR] Exclude feature from normal_IRext_no_rx build for size overflow
      [TAR] Exclude feature from normal_IRext_no_rx build for size overflow (commit correct file)
      [Build] Reduce code size to make Collection F fit again (Collection plugins)
      [Build] Reduce code size (Stable plugins)
      [P045] Don't use UserVar.setInt32() for Collection builds
      [Build] Reduce code size (Stable plugins)
      [Build] Reduce code size (Stable plugins)
      [Build] Reduce code size (Stable plugins)
      [Build] Reduce code size (Collection A plugins)
      [Build] Reduce code size (Collection B plugins)
      [Build] Reduce code size (Collection C plugins)
      [Build] Reduce code size (Collection D plugins)
      [TAR] Correctly handle a 0-byte file on download
      [TAR] Improve Tools/Save description, add Reboot button on Tools/Load, update documentation
      [Build] Reduce code size (Collection E plugins)
      [Core] String optimizations
      [Core] String optimizations
      [Core] String optimizations
      [Core] String optimizations
      [Lib] LD2410 Optimize code to reduce bin size
      [Build] Reduce code size (Collection G plugins)
      [Build] Reduce code size (Energy plugins)
      [Build] Reduce code size (Display plugins)
      [Build] Reduce code size (Controller helper)
      [AdaGFX_helper] Code improvements Partly based on this commit: https://github.com/letscontrolit/ESPEasy/pull/4932/commits/a95ad3bda183f0ecf4e41efff3e9cbe4fb3a2e16
      [Build] Reduce code size (avoid String(F("...")) conversions and concatenations)
      [Build] Revert modifications for Eth- and WiFi- event handlers (too timing critical)
      [TouchHandler] Also reverse the Left/Right navigation when Up/Down navigation is reversed
      [TouchHandler] Rename inc/dec subcommands to next/prev
      [P123] Refactor increment/decrement functions to next/prev in line with TouchHandler
      [P123][TouchHandler] Add documentation
      [Build] Code reductions to make Collection F build fit in .bin size again
      [P145] Revert moved include
      [P123] Docs minor corrections
      [P011] Add Input (switch) option, code improvements
      [P011] Add documentation
      [P064] Add Separate Gesture events option
      [P064] Updated documentation
      [TAR] Re-enable TAR support in ESP8266 Display build
      [Docs] Improvements and missing features
      [Storage] Use correct parameter-type for strformat()
      [Storage] Use correct parameter-type for strformat()
      [Storage] Use correct parameter-type for strformat()
      [Storage] Use correct parameter-type for strformat()
      [Storage] Use correct parameter-type for strformat()
      [Storage] Use correct parameter-type for strformat()
      [Storage] Use correct parameter-type for strformat()
      [Storage] Use correct parameter-type for strformat()
      [P047] Add support for Adafruit I2C Capacitive Moisture sensor
      [P047] Update documentation for added sensor model
      [N001] Add support for optional Subject to notify command
      [P162] Add plugin for Digipot MCP42xxx/MCP41xxx
      [P162] Add required include
      [P011] Update documentation
      [P011] Add support for Get Config Values and update documentation
      [P011] Add plugin commands to EasyColorCode
      [P162] Fix some testfindings, add logging
      [P162] Add `Send data on change` option
      [P162] Add documentation
      [P162] Add EasyColorCode configuration
      [AdaGFX Helper] Add TomThumb 3x5 font
      [Build] Add ESP32-S3 4MB NeoPixel LittleFS build, including AHT2x (P105) for TinyTronics Smart Home display unit
      [Build] ESP32-S3 4MB NeoPixel LittleFS build, remove typo, no longer needed here
      [AdaGFX] Add Default font option and support functions
      [P131] Add default font selector
      [P131] Update documentation
      [Docs] Hide default enabled sidebar menu
      [P167] Enable use of SEN5x sensor, other improvements
      [SysVars] Add conversions to get remote-unit info
      [SysVars] Add more conversions to get remote-unit info
      [Build] Remove P039 from `normal_IR_no_rx_ESP8266` build to make it fit again
      [P167] Minor corrections and some cleanup
      [SysVars] Update EasyColorCode with new variables and some fixes
      [P167] Add to I2C Scanner
      [P167] Update EasyColorCode docs
      [P110] VL53L0x: Add Direction value, trigger only when changed, trigger delta
      [P113] VL53L1x: Add Direction value, code optimizations
      [P110] Update documentation
      [P113] Update documentation
      [Bugfix][P135] SCD4x fix reading sensor settings
      [P135] Only set sensor parameters if needed
      [P135] Only set sensor parameters if needed
      [P105] Update plugin name and documentation
      [Commands] Correctly handle `on`/`true`/`off`/`false` as enable/disable values for commands
      [P105] Update documentation
      [P034] Add documentation, remove unreachable documentation file
      [P012] Clear splash after 5 seconds if not yet overwritten (man. picked from #4884)
      [C018] Re-enable LoRa TTN controller for ESP32 Collection builds
      [P105] Add extra devices to I2C scanner
      [P167] Fix storing setting to enable tech. logging
      [Build] Update espeasy.min.js for multiple merged PRs
      [P167] Use fixed label for model and tech. logging
      [AdaGFX_Helper] Fix typo in `default` font definition
      [P116] Add Default font selection if AdafruitGFX_Helper fonts are included in build
      [Docs] Add plugin overview per build set (generated)
      [P167] Add command `sen5x,techlog,<0|1>`
      [P167] Add command `sen5x,techlog,<0|1>`
      [P167] Add documentation
      [C011] Documentation correction
      [AdaGFX_Helper] Fix typo in `default` font definition
      [AdaGFX_Helper] Fix merge conflict
      [AdaGFX_Helper] Fix font offset issues
      [P047] Add support for BeFlE v3.x moisture sensor
      [P080] Add Event with iButton address
      [DallasHelper] Reduce logging for Dallas_readiButton to on-change only
      [P080] Remove unneeded Dallas_startConversion calls, reduce logging for Dallas_readiButton call
      [P080] Improved documentation
      [P004] Add support for Get Config Value to retrieve sensor statistics
      [Commands] Add OWScan command to scan for 1-wire devices
      [P004] Correct typo
      [P004] Change argument separator to dot for Get Config Value
      [1WireHelper] Return Unknown for unrecognized devices
      [P168] Add VEML6030/VEML7700 Light/Lux sensor
      [AdaGFX Helper] Parse Get Config Values with period instead of comma, with fall-back
      [AdaGFX Helper] Update documentation
      [P011] Parse Get Config Values with period instead of comma, with fall-back
      [P087] Parse Get Config Values with period instead of comma, with fall-back
      [Build] Fix build error because of removed python package since 3.12
      [Build] Fix build error because of removed python package since 3.12
      [P168] Add documentation
      [P170] Add Seeed studio I2C Liquid Level sensor
      [Build] Set ETH enabled for all IDF 5.1 builds
      [P167] Correct interrupt function definitions
      [P170] Add documentation
      [P170] Add optional logging of received data
      [P123] Add support for GT911, CST820, CST226 and AXS15231 touch screens
      [P123] Update documentation
      [P123] Fix support for CST226 to return 0 when not touched
      [P123] Update documentation
      [P123] Add support for CHSC5816 and update documentation
      [Commands] i2cscanner: add debug and multiplexer support
      [P123] Save current device I2C address
      [P123] Docs: add warning about CST816 can't be found by I2C scan
      [P142] Add AS5600 Magnetic angle sensor
      [P168] Fix VEML6030 support
      [Build] Add P095 to Collection builds (ESP32 only) as documented
      [P047] Fix compiler warning
      [P095] Add support for ILI9488 Displays
      [StringConverter] Fix `parseHexTextData` unwanted increment during parsing
      [P123] Docs: add remark for untested touchscreen controllers
      [P172] Add BMP3xx using SPI interface
      [P142] Add documentation
      [P095] Combine support for ILI9486 Displays with ILI9488
      [P095] Combine support for ILI9486 Displays with ILI9488
      [P095] Update documentation
      [P095] Documentation note for ILI9486 added
      [Docs] Documentation updates, README.md updates
      [P172] Show ChipID when plugin is enabled
      [P172] Add/update documentation
      [P036] Add Header Time format options
      [P087] Add example to plugin documentation
      [P027] Add optional Powerdown mode
      [P027] Fix sending single values via Controller
      [P003] Countertype to determine the number of values
      [P003] Update documentation, apply some corrections
      [P003] Add extra Counter Type options (for selected builds)
      [P003] Add extra setting for Ignore Delta = 0
      [P003] Fix typo
      [Build] Remove P094 from ESP8266 Collection D for size reasons
      [Build] Remove P094 also from ESP32 Collection D builds
      [P003] Allow Interval = 0 and send first read 0 Count value
      [Commands] Rename `Reset` to `FactoryReset`
      [Console] Exclude Serial Console fall-back GPIOs only when fall-back enabled
      [P003] Improve handling and checking for new pulses when Interval = 0
      [P141] Add default font selection setting
      [P011] Exclude plugin from 1M builds
      [P036] Exclude preview from web-UI for 1M builds
      [P123] Missing parenthesis in macro
      [P164] Missing parenthesis in macros
      [TarStream] Add missing fall-through comment in switch
      [P038] Reduce build size
      [P135] Exclude factoryreset command by default
      [P008] Small code optimizations
      [P013] Log-string optimizations
      [P023] Disable Content-display in web-UI for limited builds (code size reductions)
      [P024] Fix issue with reporting/displaying the configured I2C address (offset via Port)
      [P104] Fix unused variable warnings
      [Docs] Corrections for P009 and P019 pin range commands
      [P038] Add commands neopixelfor and neopixelforhsv
      [P038] Add optional `<clear>` argument to neopixelfor commands
      [P038] Fix optional `<clear>` argument for neopixelforhsv command

andibaciu (2):
      Plugin P167 IKEA Vindstyrka
      Fix some bugs and add suport (only read parameters) for standalone sensirion sen54 and sen55

thomastech (10):
      Preliminary Notify Plugin Changes to restore operation after ISP email server upgrade
      Added more comments to file. No code change.
      Changed Notify SMTP email timeout values to mS (were secs), per TD-er's request.
      Cleanup Notify log text messages.
      (1) Reduced Notify Timeout Limit to 12000mS. (2) Fixed "Reply to" address when provided by Notify Command (via rules).
      Reverted Notify Max Timeout to 20000mS (was 12000). Notify Log msgs now employ loglevelActiveFor() wrapper.
      Created Docs (RTD) for updated Notifications Email plugin.
      Corrected Changelog dates in NotificationPage.cpp.
      (1) RTD text corrections, per discussions. (2) Updated RTD link, now use addRTDHelpButton() function.
      Minor edits to Notification Docs, per Github comments


-------------------------------------------------
Changes in release mega-20240414 (since mega-20240401)
-------------------------------------------------

Release date: Sun Apr 14 03:08:46 PM CEST 2024

TD-er (16):
      [HWCDC] Revert to older ESP-IDF/Arduino build
      [Time] Fix updating %sunrise% and %sunset% when no NTP available
      [HWCDC] Fix bootloop on ESP32-C3/C6
      [HWCDC] Cleanup unused test code
      [ESP-IDF5.1] Move to newly network refactored code
      [ESP-IDF5.x] Fix build issue
      [ESP-IDF5.x] Fix building ESP32-solo1 builds
      [Ethernet[ Fix crashes when using Ethernet + IPv6 on LittleFS builds
      [Ethernet] Fix getting DNS from DHCP switch from WiFi to Ethernet
      [ESP-IDF5.x] Fix LittleFS builds without Ethernet
      [IMPROV] Fix provisioning WiFi via web flasher
      [ESP-IDF5.1] Update to latest 2024.04.11 platform build
      [SPI ETH] Fix SPI selection to actual SPI bus for Ethernet
      [SPI Eth] Fix build on ESP32-C3
      [HWCDC] Tweak HWCDC to be more stable
      [Build] Revert unintended change of default PIO env.

Ton Huisman (2):
      [Dist] Update Espressif Flash Download tool 3.9.6
      [JSON] Add extra data in `/json` output


-------------------------------------------------
Changes in release mega-20240401 (since mega-20240331)
-------------------------------------------------

Release date: Mon Apr  1 12:13:54 AM CEST 2024

Ton Huisman (1):
      [Bugfix] Release script fixes and simplifications


-------------------------------------------------
Changes in release mega-20240331 (since mega-20240229)
-------------------------------------------------

Release date: Sun Mar 31 03:40:08 PM CEST 2024

Ernest (ErNis) (1):
      INA219 26V 8A range added

Jason2866 (1):
      small refactor

TD-er (13):
      [JL1101] Fix JL1101 Ethernet + update to latest ESP-IDF5.1 code
      [PlatformIO] Fix installing pygit2
      [ESP8266 WiFi] Initialize flags for AP capabilities
      [ESP8266] Get rid of several union structs which may cause weird issues
      [ESP8266] Remove use of union due to issues on ESP8266
      [ESP-IDF5.1] Revert to older SDK code due to issues with HWCDC
      [Build] Reduce build size regarding WiFi AP Candidate duplicate code
      [HWCDC] Test for ESP32-C3/C6/S3 HWCDC issues
      [CUL Reader] Cherry pick code from ESPEasy_NOW pull request
      [CUL Reader] Fix not being able to set flags
      [Save Settings] Fix issue where data may get corrupted saving task
      [Display] Reduce ESP8266 'display' build size
      [MQTT] Fix crash and disconnect sending to MQTT using formula

Ton Huisman (22):
      [P087] Add serialproxy_test command and Get the parsed data
      [P087] Fix typo
      [P087] Documentation clarification
      [P087] Apply log-string and code optimizations
      [P087] Always process Global Match so values can be retrieved
      [Bugfix] Release.yml shouldn't try to move a non-existing file
      [Build] Add ESP32-C6 MAX builds (preliminary)
      [Docs] Update ESP chip info
      [Docs] Update ESP chip info
      [P116] Add alternative model selections for ST7789
      [Bugfix] Remove duplicate define in Custom-sample.h
      [Build] Custom IR ESP32 configurations not using the pre_custom_esp32_IR.py Python script
      [P116] Add alternative model selection for ST7735
      [P029][C002] Add option Invert On/Off value
      [Docs] Update P029 documentation with new option
      [C002] Reduce .bin size (slightly)
      [P116] Fine-tuning the rotation column-offset for ST7735 135x240 display
      [P116] Documentation improvement.
      [P095] Documentation improvement.
      [P116] Update documentation for supported displays
      [Build] Disable Notifiers in full binaries
      [Build] Fix typo


-------------------------------------------------
Changes in release mega-20240229 (since mega-20231225)
-------------------------------------------------

Release date: Thu Feb 29 03:10:58 PM CET 2024

Fabio Ancona (1):
      Added missing P166

TD-er (104):
      [IPv6] Fix node with IPv6 not seen by other p2p nodes with only IPv4
      [PVS Studio] Fix "dangerous expression" macros.
      [PVS Studio] Fix missing 'break;' in switch statement
      [PVS Studio] Fix Not all members of a class are initialized inside the constructor
      [PluginStats] Add PluginStats chart data to /json
      [PluginStats] Fix pluginstats via JSON & improve speed
      [ESPEasy p2p] Fix Ethernet connected nodes not listed on other nodes
      [Build] Make ESP8266 Energy build fit again
      [Build] Fix duplicate extra_scripts declaration in some ESP8266 builds
      [HW CDC] Fix delay when no client connected to read serial logs
      [UDP] Only process UDP packets while connected
      [Factory Reset] Fix applying NVS stored settings only when these exist
      [ESP-IDF5.1] Add custom_ESP32s2_4M316k_LittleFS_CDC
      [Factory Reset] Add default flags for factory reset
      [ESP-IDF5.1] Fix starting DHCP on ESP AP during setup
      [Cleanup] Reduce bin size (NVS storage & P128 NeoPixelBus)
      [Cleanup] Reduce build size (P128 NeoPixelBus)
      [Cleanup] Reduce build size (P104/P128)
      [Cleanup] Reduce build size (P104 load/save functions)
      [Cleanup] Reduce build size
      [Cleanup] Reduce build size (AdaFruitGFX_Helper fonts)
      [ESP32] Disable PSRAM for ESP32 4M builds (WT32-ETH01 issues)
      [Docs] Add credits to origin of ESP32-S3 flash/PSRAM options
      [ESP-IDF5.1] Improve IPv6 for ESP32-xx
      [ESP-IDF5.1] Fix IPv6 for ESP32-S3
      [Build] Fix build due to typo in source code
      Fix "Enable SDK WiFi Auto Reconnect" state on sysinfo page (#4935)
      [build] Fix another build issue due to includes
      Revert "[Cleanup] Reduce build size (AdaFruitGFX_Helper fonts)"
      [Factory reset] Fix using factory reset defaults on new devices
      [ESP-IDF5.1] Update to latest ESP-IDF & Arduino fixes
      Fix crash in command arg parsing with nullptr string
      [IPv6] Allow `ip6` command from all command sources
      [P077] Add `cseclearpulses` command to reset CF pulses counter
      [Cleanup] Reduce build size by simplifying logs
      [Provisioning] Show error and event on failed firmware update (#4941)
      [Build] Fix build error on ESP8266
      [P077_CSE] Fix cseclearpulses command
      [P077 CSE7766]  Call PLUGIN_READ right after `cseclearpulses`
      [P016 IR] Reduce stack usage executing commands
      [P016 IR] Fix some build mistakes reducing stack usage
      [P016 IR] Reduce stack usage execute command
      [P016 IR] Add debug code to reproduce crashes Uwe
      [Cleanup] Reduce stack usage P036 OLED Framed
      [P036 Framed OLED] Apply cleanup from Ton's TAR pull request
      [P036 OLED Framed] Add bound checks when drawing fonts
      [Commands] Allow commands from external source to be queued (stack)
      [Cleanup] Reduce stack usage P036 OLED Framed
      [P036 Framed OLED] Apply cleanup from Ton's TAR pull request
      [P036 OLED Framed] Add bound checks when drawing fonts
      [ESP32 IPv6] Fix getting IPv6 address on ESP32 classic
      [Build] Add ESP8266 custom IR 1M build + IPv6 to custom ESP32 IR build
      [IPv6] Move log to more logical place
      [SPI Ethernet] Add support for SPI Ethernet modules
      [SPI Ethernet] Fix build for pre ESP-IDF5.1
      [SPI Ethernet] Fix build
      [SPI Ethernet] Use user configurable SPI bus for SPI Ethernet
      [SPI Ethernet] Fix build pre-ESP-IDF5.1
      [SPI Ethernet] Fix detect Link Up/Down + cleanup code
      [SPI Ethernet] Fix build on ESP-IDF < 5.x
      [Build] Fix building on ESP8266
      [SPI Ethernet] Document SPI Ethernet + Eth config for available boards
      [SPI Ethernet] Fix typo in docs
      [Cleanup] Fix crashes on ESP32 sending log from ISR callback functions
      [SPI Ethernet] Add "- None -" Ethernet type option on Hardware Page
      [ESP-IDF5.1] Update to latest SDK/Arduino commits
      [IPv6] Fix IPv6 on ESP32-S3
      [Build] Fix missing #endif
      [SPI Ethernet] Allow selecting RMII pins for SPI Ethernet
      [SPI Ethernet] Fix concurrency issue with shared SPI bus for ETH/display
      [Build] Fix build on ESP32-C3
      [PWM] Fix ESP32 LittleFS build PWM GPIO : port#2 is out of range (#4962)
      [SPI Ethernet] Make default Ethernet parameters more neutral
      [PWM] Fix deadlock on ESP32-classic with PWM fade
      [ESP32 PWM] Fix calling ledcAttach for Servo and PWM on ESP32 IDF5.1
      [ESP-IDF5.1] Update to latest Arduino and ESP-IDF commits
      [Email] Fix sending multiple lines in body (#4967)
      [ESP-IDF5.1] Fix build ESP32-C2
      [Build] Test ESP32-solo1 build on CI
      [ESP-IDF5.1] Update to latest platform build
      [SPI Eth] Add ESP32-S3 ETH builds
      [ESP32 WiFi] Fix slow connect after WiFi scan
      [SPI Eth] Allow SPI Ethernet W5500 to have not connected INT pin
      [Build] Fix missing include
      [ESP-IDF5.1] Update to latest IDF and Arduino commits
      [ESP-IDF5.1] Update platform package for ESP32-solo1
      [ESP-IDF5.1] Fix renamed platform zip file
      [ESP32 WiFi] Fix crashing on wifi disconnect
      [WiFi] Fix crash when calling disconnect or wifimode,off from remote src
      [WiFi] Fix crash when WiFi was turned off while data is sent
      [Docs] Add warning changing ECO mode when using SPI Ethernet
      [GPIO] Add form note setting pull-up on Hardware tab (#4800)
      [Rules] Remove warning for max size on Rules edit page
      [Eth] Show Ethernet adapter used in JSON/Sysinfo
      [ESP-IDF5.x] Add fix to ESP-IDF/Arduino for W5500 without RST (AtomPoE)
      [HW info] Add checks for properly identify embedded flash/PSRAM
      [ESP8266] Reduce memory usage by actively flushing webpage buffers
      [IPv6] Fix slowdown restarting services on receiving IPv6 address
      [ESP32-C3/C6] Fix web slowdown by reverting Arduino/IDF code
      [Build] Fix build issue on ESP-IDF4.4
      [Build] Fix build on non-ESP32-S3
      [Build] Fix typo in ESP32-S2 code
      [ESP32-C3/C6] Fix stalling on concurrent connections
      [Build] Add flag to help not compile/download unused libs

Ton Huisman (116):
      [P044] Uncrustify format source
      [P044] Make Led pin configurable
      [P044] Correct auto-complete typo
      [Plugins] Call PLUGIN_WEBFORM_PRE_SERIAL_PARAMS before serial settings are displayed to allow settings conversion
      [Plugins] Call PLUGIN_WEBFORM_PRE_SERIAL_PARAMS before serial settings are displayed to allow settings conversion
      [P020] Merge [P044] code into [P020], so P020 van emulate P044
      [P020/P044] Migrate settings also on plugin start without prior save from UI
      [P020] Code improvement
      [P020/P044] Add option for including P1 data in #data event
      [UI] Add Separator character input selector
      [P020/P044] Add feature to replace spaces and newlines in received data
      [P020] Add plugin documentation
      [P037] Implement replacement character input selector, update documentation
      [UI] Fix unsupported feature compilation error, fix signed/unsigned warning
      [P044] Only show usable settings
      [P044] Update plugin documentation (based on P020)
      [Build] Adjust Custom ESP8266 as already planned to fix build failure
      [P020/P044] Adjustments to complete the merge
      [P020] Add extra check before sending P1 data
      [P020] Revert extra check before sending P1 data, minor improvements
      [StringConverter] Add parseHexTextString()
      [P020] Add command `serialsendmix`
      [StringConverter] Improvements to parseHexTextString()
      [P020] Add command documentation
      [P020] Correct some typos in documentation
      [StringConverter] Add parseHexTextData() to handle 0x00
      [P020] Use parseHextTextData() to handle 0x00 in data
      [P020] Update documentation for 0x00..0xFF hex data support in serialsendmix
      [P020] Update changelog
      [P020] Unification of Ser2Net log messages
      [Build] Manually apply WiFi build fixes (missing includes)
      [ESPEasySerial] Add shortName option to be used as eventname
      [Helpers] Implement ESPEasySerial shortName option to be used as eventname
      [P020] Increase max. buffer size [P020] Add options for using Serial Port name as event and/or append the task number [P020/P044] Fix plugin initialization when USB (HW)CDC or I2C Serial is selected
      [P020] Update documentation for new options
      [P020] Fix receiving P1 data
      [P020] Fix merge conflict
      [P020] Allow some extra time-out while receiving P1 data, add missing CR/LF
      [P044/P020] Improved defaults for P1 WiFigateway
      [P020][P044] Minor improvements, update with latest mega changes
      [Docs] Hardware page: Add missing documentation for new I2C Slow default
      [P043] Add support for %sunrise% and %sunset% based time-values
      [Docs] Add missing %syssec_d% variable
      [P151] Add missing PLUGIN_I2C_GET_ADDRESS function
      [Docs] Update in Plugin-template embedded documentation
      [Docs] Add Rules example for registering daily working time
      [TimeCalc] Fix parse errors
      [Text input] Add `datalist` support, manually cherry picked from P123 PR
      [Text input] Implement `datalist` support
      [P043] Add selection list (datalist) support for input time string
      [P043] Rework Day,Time inputs, add configurable Day,Time count
      [P043] Change Value input layout to be on same line as the Day,Time input, code optimization
      [Docs] Update Commands and Events references
      [P043] Add option for On/Off value input
      [P043] Add 'config' command support and get config value support
      [P043] Add documentation
      [Build] Disable some failing build envs
      [Docs] Add P043 to commands and events reference pages
      [P043] Fix simple Yes/No behavior like GPIO mode
      [P043] Update documentation
      [Build] Fix buildscripts for v4 Actions `upload-artifact`, `download-artifact` and `delete-artifact`
      [Build] GH Actions v4 use unique upload-id
      [Build] GH Actions use setup-python v5, improved glob for delete-artifact
      [Build] GH Actions v4 try fix artifact download permissions issue
      [Docs] Update `README.md` with new builds/ESPs/options
      [Build] GH Actions v4 Sort builds by ESP, remove repackage step
      [Build] GH Actions v4 Fix build names vs dependencies, add all-binaries artifact
      [Build] GH Actions v4 Rename `repackage` job to `combine_package`
      [Build] GH Actions v4 Apply also to `release.yml`, add ESP32-C2 and ESP32-C6 artifact uploads
      [Lib] NeoPixelBus_Wrapper: Allow fall-back to Adafruit_NeoPixel lib for ESP8266
      [Lib] NeoPixelBus_Wrapper: Fix compilation for IR builds
      [Lib] NeoPixelBus_Wrapper: Correct includes attribute
      [Docs] Add Rules example for measuring daily used power/energy
      [Adafruit_NeoPixel] Fix compiler warning
      [NeoPixelBus_wrapper] Update README.md
      [NeoPixelBus_wrapper] Correct class inheritance error
      [Adafruit_NeoPixel] Exclude from ESP32 builds (unused)
      [Adafruit_NeoPixel] Correct function signature issues causing compiler warnings
      [P131] Fix compiler warning -Wreorder
      [SuperTinyCron] Remove unused commandline tool
      [P020] Replace WiFiServer->available() by accept() (for IDF >= 5)
      [Build] Combine_package use separate downloads to reduce chance of failure
      [Build] Combine_package use wretry.action to try and succeed the downloads
      [Build] Remove RTTTL from `normal_IRext_no_rx` build for size, add some libs to lib_ignore for `custom_IR` builds
      [P043] Exclude some code that won't work for PLUGIN_BUILD_MINIMAL_OTA builds
      [Release] Add ESP32-C2 and ESP32-C6 downloads
      [Build/Release] Fix some issues, apply workarounds where needed
      [Docs] Update copyright year to 2024
      [Docs] Update copyright year to 2024
      [Docs] Update copyright year to 2024
      [Docs] Update Sphinx tools and configuration
      [IR] Enable all protocols for ESP32 IR builds
      [Bugfix] Update bootstrap version for Sphinx to fix documentation menus
      [P166] Add plugin GP8403 DAC Dual channel 0-10V
      [P166] Add isI2CEnabled check on PLUGIN_INIT
      [Build/Release] Update actions/cache to v4
      [P166] Send out datat for events/controllers when changing output values
      [Build/Release] Remove Wdalen/retry.action plugin for Node 20 compatibility
      [P166] Send out data by scheduling a timer
      [P166] Update changelog
      [P166] Set default I2C address to 0x5F, as that's how is delivered
      [UI] Add alternative 'default' selection to `addFormSelectorI2C()`
      [P166] Restore I2C address selector order, fix compiler warning 're-order'
      [UI] Add alternative 'default' selection to `addFormSelectorI2C()`, select by address
      [P166] Adjust I2C address selector default
      [UI] Update plugin I2C address selectors to normal order, with matching default
      [P166] Optionally restore last output value on warm boot (setting, default enabled)
      [P166] Fix bug that Initial values where not applied after settings save
      [P166] Add documentation
      [P166] Documentation improvements
      [Build] Allow FEATURE_SERVO for Custom builds with LIMIT_BUILD_SIZE set
      [Bugfix] `%vcc%` variable isn't recognized
      [MQTT] Add PublishR command: publish with will-retain
      [Docs] Documentation and EasyColorCode updates and fixes, Feb 2024
      [MQTT] Fix debug strformat message
      [EasyColorCode] Correction and var rename commonEvents

chromoxdor (30):
      Update Networking.cpp
      Update Networking.cpp
      Update Networking.cpp
      make thinkspeak event optional
      compare also the last part of the uri to generate an event
      add check if we got an answer otherwise we get -1 as a value
      Update Networking.cpp
      Update Networking.cpp
      Update define_plugin_sets.h
      Update define_plugin_sets.h
      Update Networking.cpp
      Add ThingspeakReply to wordlist
      Update Networking.cpp
      Update Networking.cpp
      added documentation
      Update Rules.rst
      single + multifield reply combined
      Update Rules.rst
      Update Rules.rst
      a little formatting
      Update espeasy.min.js
      Update Rules.rst
      add %sysec_d% and fix typo
      remove change since ton already did it :)
      Update StringGenerator_System.cpp
      initial changes
      Update _P102_PZEM004Tv3.ino
      Update _P102_PZEM004Tv3.ino
      Update Rules.rst
      Update codemirror to 5.65.16

flashmark (9):
      Initial plugin structure
      Rough, working version
      Added recovery from communication failures
      Rework after review, added documentation
      Fixed compiler issue after rebase
      Minor cleanup
      Some fixes after review
      Added to CLimate and Collection G plugin sets. Removed some leftovers.
      Merge

uwekaditz (11):
      [P016] Add protocol RAW to UI if 'Accept DecodeType UNKNOWN' is set
      uint64ToString() changed to ll2String()
      Check the vector size when checking for commands, and check that the command is really not empty
      Reduce code for debug message
      Revert "Merge branch 'P016]-PullRequest' of https://github.com/uwekaditz/ESPEasy into P016]-PullRequest"
      Revert "Reduce code for debug message"
      Reduce code for debug message
      Use the new property addToQueue in ExecuteCommand_all()
      Uncrustify
      Uncrustify #ifdef's
      [P016] BUG: Decode type UNKNOWN was not added to the web settings


-------------------------------------------------
Changes in release mega-20231225 (since mega-20231130)
-------------------------------------------------

Release date: Mon Dec 25 10:28:22 PM CET 2023

TD-er (205):
      [Cron lib] Update code to latest version
      [Cron] Fix unintended month rollovers, ported from staticlibs#35
      [Cron] Prevent warnings in ccronexpr_test.c
      [Cron] Fix build error (define CRON_INVALID_INSTANT in header)
      Revert "[Cron lib] Update code to latest version"
      [ESP_IDF 5.1] Add support for ESP_IDF 5.1 (SP32 Arduino SDK 3.x)
      [ESP_IDF 5.x] Disable ADC calibration for now
      [ESP_IDF 5.1] Fix build on ESP32 ETH builds
      [ESP-IDF 5.1] Fix building ESP32-S3
      [ESP-IDF 5.1] Split ESP32 variant builds with LittleFS to use ESP-IDF5.1
      [ESP-IDF 5.1] Fix building ESP32-Solo & ESP32-C3
      [ESP-IDF 5.1] Fix ESP32-S3 LittleFS build
      [ESP-IDF 5.1] Fix building custom_IR_ESP32_16M8M_LittleFS_ETH
      [ESP-IDF 5.1] Fix builds on Custom IR ESP32 LittleFS ETH & MAX ESP32
      [ESP-IDF 5.1] fix lib_ignore for ESP8266 / ESP32-S3
      [ESP-IDF 5.1] Fix building ESP8266 3.0.2 builds
      [ESP-IDF 5.1] Fix ESP8266 builds demanding EspSoftwareSerial SDK3.x
      [ESP-IDF 5.1] Fix check for IDF major version >= 5
      [ESP-IDF 5.1] Fix some ESP8266 beta builds
      [ESP-IDF v5.1] Fix building ESP8266 minimal IRext
      [ESP32] Update to ESP32 platform 2.0.14 (with SPIFFS)
      [ESP-IDF 5.1] Fix some warnings on compiling with IDF 5.1
      [ESP 2.0.14] Fix ESP32-Solo1 build for ESP32 SDK 2.0.14 (SPIFFS)
      [ESP-IDF 5.1] Fix not always loading correct platform files
      [ESP-IDF 5.1] Implement ADC support for IDF 5.1
      [ESP-IDF 5.1] Fix build with ADC on IDF < 5
      [ESP-IDF 5.1] Remove Hall Effect sensor from ADC selector
      [ESP-IDF 5.1] Fix ADC calibration & crashes on ESP32-C3
      [EDP-IDF 5.1] Fix ADC build on ESP8266
      [ESP-IDF 5.1] Fix crashes on ESP32-S3 & ESP32-S2
      [ADC] Cleanup code
      [Controller Settings] Fix inverted Send LWT and Will Retain
      [Charts] Cleanup code & add option for multiple Y-axis
      [PluginStats] Add option to hide taskvars in chart
      [PluginStats] Add option to select chart axis per taskvalue
      [PluginStats] Cleanup code
      [Cleanup] Reduce build size
      [Access Control] Prevent "IP blocked: 0.0.0.0"
      [Access Controll] Fix using the same WiFiClient
      [ChartJS] Add scatter plot for GPS longitude/latitude
      [WiFi] Add proper erase WiFi calib data on ESP32 cmd 'erasesdkwifi'
      [WiFi] Add more WiFi info for ESP32 + limit bandwidth to HT20
      [HW detection] Update getChipModel() with new chip IDs
      [ESP-IDF 5.1] Fix build issues ESP8266 and ESP-IDF4.x
      [Hardware] Fix build on ESP32-S3 on hardware detection
      [ESP-IDF5.1] Add internal temperature sensor for all ESP32 variants
      [ESP-IDF5.1] Add auto range to internal temperature sensor (ESP32-S*/C*)
      [ESP-IDF5.1] Disable IP subnet check access control (remoteIP() bug)
      [ESP-IDF5.1] Update to IDF5.1 of 2023-10-10
      [ESP-IDF5.1] Add normal_ESP32_4M316k_LittleFS_ETH
      [ESP-IDF5] Add link to Setup page on tools tab (IDF5 remoteIP() issue)
      [Sysinfo] Only show TSF time on sysinfo page when connected to AP
      [ESP-IDF5.1] Fix PWM and Servo
      [Lib Update] Update Adafruit Motor Shield V2 library to v1.1.1
      [ESP-IDF5.1] Fix PWM using fade & 'tone' upto 20 MHz
      [ESP-IDF5.1] Move PWM code to separate Hardware_PWM.h/.cpp
      [ESP-IDF5.1] Move GPIO related code to Hardware_GPIO.h/.cpp
      [ESP-IDF5.1] Split Hardware device info into Hardware_device_info.h/.cpp
      [ESP-IDF5.1] Disable option "Try clear I2C bus when stuck" for IDF5.x
      [ESP-IDF5.1] Move Hardware I2C functions to Hardware_I2C.h/.cpp
      [Cleanup] Remove unneeded includes to "../Helpers/Hardware.h"
      [Neopixel] Update Adafruit NeoPixel library to 1.11.0
      [ESP-IDF5.1] Update NeoPixelBus with Tasmota's patches for ESP-IDF5.1
      [ESP-IDF5.1] Update P128 to use updated NeoPixelBus library
      [ESP-IDF5.1] Fix build issue on older IDF based builds
      [ESP-IDF5.1] Move to latest platform package build 2023-10-24
      [Cleanup] Reduce build size by compacting logs
      [Cleanup] Simplify StringConverter::parseHexTextData function
      [SysInfo] Add PSRAM to P026_sysinfo and cleanup code
      [Cleanup] Simplify function names for P026_SysInfo
      [Build] Add missing include for ESP8266 reading ADC
      [WiFi] Fix force B/G mode on ESP8266
      [WiFi] Fix ESP32 taking very long time to get (re)connected
      [ESP-IDF5.1] Fix issues in IPAddress (SDK platform build)
      [ESP8266] Fix compiler warning in order of member initialization
      [ESP8266] Extend ESP8285 module detection various built in flash sizes
      [ESP-IDF5.1] Disable WiFi power save during connect
      [ESP-IDF5.1] Fix building IR plugins for IDF 5.1 builds
      [GPS] Fix showing lat/long scatter plot
      [ESP-IDF5.1] Fix building IR plugins on ESP32-S3
      [GPS] Cleanup old code
      [ESP-IDF5.1] Enable NeoPixel plugins for IDF 5.1 builds
      [GPS] Fix minor issues Position Scatter plot
      [ESP-IDF5.1] Fix NeoPixel Matrix stability on ESP32-S3 (use DMA)
      [ESP-IDF5.1] Improve NeoPixel on ESP32 + add LittleFS ESP32-S2 Neo Build
      [ESP-IDF5.1] Tweak NeoPixel support on ESP32-C3
      [ESP-IDF5.1] Convert PVS Studio test builds to use IDF5.1
      [ESP-IDF5.1] Fix freeing RMT assigned channel + tweak ESP32-classic
      [ESP-IDF5.1] re-enable P088 Heatpump IR for IDF5.1
      [ESP-IDF5.1] Fix build issues after enabling HeatpumpIR
      [ESP-IDF5.1] Only use -mtext-section-literals on ESP32-S3 IDF5 builds
      [ESP-IDF5.1] Fix build issues with "text-section-literals" build flag
      [ChartJS] Fix GPS position scatter plot + add BME280 scatter plot
      [SenseAir] Fix reading Temperature from Sunrise (S11)
      [ESP8285] Fix check for flash interface pin allowing GPIO 9 & 10
      [Tools] Update script to generate webflasher page to show file system
      [Build] Fix compile error when using default Custom.h (#4870)
      [ESP-IDF5.1] Update Arduino ESP32
      [ESP-IDF5.1] Add hardware specific info on ESP32-C2/ESP32-C6
      [ESP-IDF5.1] Add initial Custom builds for ESP32-C2 and ESP32-C6
      [ESP-IDF5.1] Fix build for ESP32-C6
      [ESP-IDF5.1] Remove ESP32C6-beta chip ID patch for old esptool.py
      [ESP-IDF5.1] Add 2M ESP32-C2 no-OTA option
      [ESP-IDF5.1] Fix bootloop on ESP32-C2/C6 in HWRandom() code
      [ESP-IDF5.1] Enable HWCDC for USB serial console on ESP32-C6
      [Sysinfo] Fix crash on ESP32-C2/C6 when drawing meminfodetail charts
      [ESP-IDF5.1] Add WiFi6 (802.11ax) for ESP32-C6 & fix SPI issues C2/C6
      [ESP-IDF5.1] Fix SPI bus issues for ESP32-C2/C6
      [WiFi] Bugfix: AP wasn't consistently started on WiFi connection failure
      [ESP8266 Setup] Fix bootloop during initial setup Custom ESP8266  build
      [ESP-IDF5.1] Fix build issue ESP32-C3
      [ESP-IDF5.1] Move ESP32 partition definitions
      [Setup] Fix load CSS on initial WiFi setup page
      [ESP8266] Switch to using 2nd heap with Arduino SDK 3.1.2
      [ESP8266] Fix stability issues when using 2nd heap
      [ESP8266] Change default platform to not using 2nd heap
      [ESP8266] On 2nd heap do not keep event queue on 2nd heap
      [ESP8266] Optimize memory allocations + 2nd heap
      [Build] Fix building ESP8266 envs
      [Build] Reduce build size minimal OTA builds (lib_ignore)
      [Build] Make ESP8266 display build fit (lib_ignore)
      [Build] Cleanup of platformIO ini files for ESP8266
      [RAM] Move MQTT buffer and OLED frame buffer to 2nd heap
      [2nd Heap] Tweak 2nd heap stability + set as ESP8266 regular
      [ESP-IDF5.1] Update to the latest Arduino/ESP32 commits for IDF5.1.2
      [ESP-IDF5.1] Fix building ESP32-Solo1 builds
      [ESP8266] Move 'regular' platform back to ESP8266/Arduino 2.7.4
      [Cleanup] Free up 1k of RAM when not using MQTT controller
      [Build] Fix missing include WiFi commands
      [OLED Framed] Use double buffer for update only changed pixels
      [WiFi] Fix connect to Hidden SSID on Mikrotik AP (#4885)
      [Cleanup] Reduce build size for sysvars page
      [Rules] Speedup parsing system variables
      [WiFi] Only connect using BSSID when BSSID is available
      [Variables] Fix bug in parsing incomplete variables + add var nesting
      [Rules] Add variable offset calculation for shorthand var (%v=1+%v2%%)
      [ESP-IDF5.1] Change default SPI pins for ESP32-C2/C6
      [ESP32 WiFi] Fix reconnect issue after WIFI_REASON_AUTH_EXPIRE
      [ESP-IDF5.1] Update to latest IDF/Arduino code
      [ESP-IDF5.1] Revert to previous IDF build (SPI registers wrong)
      [ESP-IDF5.1] Use LTO on ESP32 IDF5.1 builds to reduce build size
      [Build] Fix building ESP8266 core 2.7.4 minimal builds
      [ESP-IDF5.1] Fix ESP32-classic and -S3 build become larger using LTO
      [Docs] Add .readthedocs.yaml to fix auto build
      [ESP-IDF5.1]  Add SafeBoot minimal image for 4M ESP32-xx nodes
      [Webserver] Fix storing static content in browser cache
      [ESP-IDF5.1] Fix crash after scan on setup page with static IP
      [ESP-IDF5.1] Fix crashes on ESP32-S3/C3/C2 WiFi scan
      [Cron] Switch ccronexpr lib to supertinycron fork.
      [Build] Comment  out main function test code supertinycron lib
      [SuperTinyCron] Fix discard 'const' qualifier warning in lib
      [Build] Put IR libs in lib_ignore for 'normal' builds to speed up builds
      [ESP-IDF5.1] Update to latest Arduino/ESP32 and IDF code
      [ESP-IDF5.1] Speed up WiFi reconnect on ESP32-xx
      [Setup] Improve Captive portal redirect on Android
      [Build] Fix build issue for new cron job library
      [ESP-IDF5.1] Clean up ESP32-C2/C6 PlatformIO ini files
      [Formula] Fix applying formula & keep raw values in RTC
      [Formula] Apply formula when updating taskvalues
      [Formula] Fix build on ESP8266
      [Formula] Fix build + cleanup UserVarStruct code
      [Formula] Fix ESP8266 1M build
      [Formula] Allow computing formula when reading the task values
      [Formula] Add detection which cached value has been computed
      [formula] Fix using %pvalue% in formula
      [Formula] Fix stack overflow parsing %pvalue%
      [Formula] Disable PlatformIO env normal_alt_wifi_ESP8266_4M1M
      [Build] Quest for smaller bin files
      [Build] Fix ESP8266 build consistency in used parameters
      [Cleanup] Reduce build size
      [Build] Reduce build size
      [Cleanup] Reduce build size by simplifying task init success check
      [Build] Reduce build size
      [Build] Reduce build size
      [Build] Reduce build size
      [Build] Reduce build size (P137)
      [Build] Reduce build size by turning get/setNbitToUL to macros
      [Build] Reduce bin size (SenseAir)
      [Commands] Simplify internal command handling & reduce build size
      [Cleanup] Simplify calling internal commands
      [USB CDC] Fix console on ESP32-C6 USB Jtag port & cleanup unused boards
      [Cleanup] Cleanup internal command parse code
      [IDF-5.1] Update to latest ESP32 sdk & fix getting remote IP
      [Build] Fix build with wrong board definition
      Fix typo in IP Access control compare IPs
      [IDF-5.1] Update to the latest ESP32 SDK code
      [ESP-IDF5.1] Add initial support for IPv6
      [ESP-IDF5.1] Make IPv6 ESP32-only (for now) & list all IPv6 addresses
      [Build] Fix copy/paste error
      [ESP-IDF5.1] Fix IPv6 build on ESP32-solo1
      [ESP-IDF5.1] Add preliminary IPv6 support for Ethernet
      [IPv6] Fix typo in function name markGotIPv6
      [ESPEasy p2p] Fix rejecting data from nodes running build < 20230505
      [ESPEasy p2p] Fix not checking for sensor type from old nodes
      [ESP-IDF5.1] Add preliminary support for IPv6 for ESPEasy p2p
      [ESP-IDF5.1] Disable IPv6 default, only for TESTING_FEATURE_USE_IPV6
      [ESP_IDF5.1] Fix stupid inverse check for testing IPv6 define
      [Dummy] Fix TaskValueSet command
      [SysVars] Fix parsing all system variables in a rules line
      [Web Formatting] Fix showing Note: HTML class
      [Web commands] Show LogEntry results + speed up  parsing web commands
      [Build] Fix minimal OTA build
      [ESP-IDF5.1] Enable IPv6 for ESP32 'custom' builds
      [Event] Fix duplicate event when sent as web command on tools page
      [Controller] Fix parsing %valname% and %value% used in some controllers

Ton Huisman (2):
      [Build] Freeze Python version on 3.11 so pygit2 will run as intended
      [WiFi] Optimization


-------------------------------------------------
Changes in release mega-20231130 (since mega-20231013)
-------------------------------------------------

Release date: Thu Nov 30 08:11:17 PM CET 2023

Fabio Ancona (3):
      Update Custom-sample.h with missing Plugins and update description
      Update Custom-sample.h after review
      Details supported hardware

TD-er (18):
      [WiFi] Fix force B/G mode on ESP8266
      [WiFi] Limit WiFi speed to HT20 for 802.11n mode on ESP32
      [Build] Fix compile error when using default Custom.h (#4870)
      [CDN URL] Add default CDN url with latest tag when no pygit2 installed
      [WiFi] Fix connect to Hidden SSID on Mikrotik AP (#4885)
      [WiFi] Only connect using BSSID when BSSID is available
      [ESP32 WiFi] Fix reconnect issue after WIFI_REASON_AUTH_EXPIRE
      [FactoryReset] Store settings to keep in ESP32 NVS storage
      [Custom CDN] Move Custom CDN URL to config.dat
      [Custom CDN] Move position of where Custom CDN URL is stored in settings
      [Factory Reset] Use NVS stored defaults on reset
      [Custom CDN] Fix storing empty CDN url.
      [Factory Reset] Store WiFi/Eth config in NVS
      [Factory Reset] Store log/console settings in NVS
      [Custom CDN] Add checkbox to store Custom CDN to NVS
      [Custom.h] Update Custom-sample.h with new CUSTOM_BUILD_CDN_URL
      [Factory Reset] Add new flag to NVS for slow connect to hidden SSID
      [ESP8266 build] Set all ESP8266 'normal' builds to use CDN for CSS/JS

Ton Huisman (68):
      [Lib] HeatpumpIR update to 1.0.23
      [Lib] HeatpumpIR Add compatibility with ESP32 Arduino 3.0/IDF 5.1.x
      [P023] Bugfix: Template parsing was overwriting the template
      [P159] Add LD2410 Radar presence detection
      [P023] Minor performance improvement
      [P159] Remove copy/paste evidence :-D
      [P159] Many improvements, add/update settings for sensitivity
      [P159] Fix compilation on LIMIT_BUILD_SIZE builds
      [P159] Small improvements
      [P159] Small improvements
      [P159] Add command for sensor factoryreset
      [Lib] LD2410: Fix bug (-1 for uint), add undocumented OutputPinState value
      [P159] Add OutputPinState option after AmbientLight option (breaking change!)
      [P159] Minor change to determine how that may influence the build
      [NEOPIXEL] Add NeoPixelBus_wrapper and implement in NeoPixel plugins
      [Lib] Adjust Adafruit_NeoMatrix to use NeoPixelBus_wrapper
      [ESP-IDF5.1] Update NeoPixelBus with Tasmota's patches for ESP-IDF5.1
      [NeoPixel] Add changelogs for applying NeoPixelBus_wrapper library
      [Build] Fix pygit2 version
      [Build] Fix pygit2 version
      [Build] Restore pygit2 version
      [Build] Try older/current version of pip
      [Build] Explicit version of libgit2
      [Build] Undo changes
      [ESP-IDF5.1] Fix build issue on older IDF based builds
      [Neopixel] Fixes and improvements
      [Build] Freeze pip dependencies
      [Build] Undo changes
      [Build] Try fix failing pygit2 install
      [Build] Try older Python version
      [Neopixel] Fix fall-through return value
      [Build] Fix some cherry-pick diffs
      [Build] Freeze Python to 3.11 to fix pygit2 build issue
      [P159] Add Gate0 energy values that where missing Add GetConfig support for fetching all available values Add ld2410,logall command for dumping all values in the log (INFO level) Code improvements
      [NeopixelWrapper] Code optimization
      [P021] Set Hysteresis value via config command
      [P021] Update documentation
      [Build] Freeze Python version to avoid build issue with pygit2
      [Build] Freeze Python version on 3.11 so pygit2 will run as intended
      [P021] Change commands SetHysteresis and GetHysteresis for consistency
      [Lib] LD2410: Read all data that can be read in 5 msec, add errorcount and data_valid checks
      [P159] Rework processing, now near-instant response Add GetConfig support for sensitivity per gate values
      [Lib] LD2410: Reformat source (nearly all is changed!) Replace yield() by delay(0)
      [P159] Fix wrong use of F(""), should be EMPTY_STRING
      [Lib] IRremoteESP8266 update to v2.8.6, with ESPEasy patches applied - Disable some (more) IR protocols to make 1M build fit - Add IDF 5.x compatibility
      [Lib] Adafruit_NeoMatrix: Fix includes
      [Lib] Remove Adafruit_NeoPixel from repo
      [P131] Fix variable initialization, call begin() to start the NeoPixels
      [P041] Uncrustify source, minor improvements
      [P042] Fix initializations to avoid crash at start, minor improvements
      [P070] Minor improvements
      [Lib] Update library.properties for local copy of Adafruit_NeoMatrix
      [Docs] Updates and corrections Nov. 2023
      [Docs] Updates and corrections Nov. 2023
      [P159] Add documentation
      [P159] Update EasyColorMirror
      [P159] Update comments to explicitly name LD2410
      [CDN] Set override url for CDN hosted files
      [CDN] Update documentation
      [CDN] Code improvements, Add to Provisioning
      [CDN] Update documentation
      [Provisioning] Split provisioning commands, add fallback for MAX builds, code cleanup
      [Provisioning] Update documentation
      [CDN] Replace system variables in url, update documentation
      [I2C] Add Device flag for 100 kHz-only devices
      [I2C] Devices that only support 100 kHz speed
      [Bugfix] [P159] Saving settings checkbox failed on ESP8266
      [Docs] Fix some typos Nov. 2023

jfmennedy (8):
      P093 Mitsubishi HeatPump Add Support for SetRemoteTemperature Resolves P093 - Mitsubishi Heat Pump Add Remote Temperature #4711
      Modify Changelog Order
      Help needed here
      - Fix float initialisaton, - Fix float comparator, - Still trying t get SetRemoteTemperature working...
      -Fix static const uint8_t RemoteTemperature
      - Implement remarks from review
      Documentation
      Documentation Review


-------------------------------------------------
Changes in release mega-20231013 (since mega-20230930)
-------------------------------------------------

Release date: Fri Oct 13 06:01:32 PM CEST 2023

Fabio Ancona (1):
      Fix SI7021/HTU21D DOC links

TD-er (2):
      [P039_Thermosensors] Fix check for valid value
      [Controller Settings] Fix inverted Send LWT and Will Retain

Ton Huisman (5):
      [Networking] Log string and formatting improvements for size
      [Networking] Fix typo in string argument for strformat
      [P047] Update address-change documentation
      [P131] Optimization for build size
      [UI] Show Controller-state on Device page

dobry kod (3):
      [GPIO] Fix taking wrong branch in GPIO_Monitor10xSec when MCP/PCF plugin is disabled
      [GPIO] Fix response to Status command
      [GPIO] Fix mode reported in response to Status command


-------------------------------------------------
Changes in release mega-20230930 (since mega-20230822)
-------------------------------------------------

Release date: za 30 sep 2023 15:46:23 CEST

Adam Groszer (1):
      added InfluxDB v2 HTTP API docs and some other minors

Fabio Ancona (3):
      Update README.md adding "Climate"
      [DOC] Update P014 to avoid to use this Plugin with SHT2x devices
      Update P014.rst

Michael Schröder (1):
      Ignore more variants of own Custom.h

TD-er (83):
      Update issue templates
      [ADS1x15] Support ADS1015 & add sample rate selector
      [ADS1x15] Add ADS1015/ADS1115 sensor type detection to task config page
      [Cleanup] Add macro NR_ELEMENTS for array counting
      [ADS1x15] Add option to select multiple task value outputs
      [ADS1x15] Simplify storage of settings
      [ADS1x15] Update documentation
      [ADS1x15] Update documentation
      [ADS1x15] Replace "ADS1115" with "ADS1x15" in docs and I2C scan result
      [ADS1x15] Fix PBC -> PCB typo in documentation
      [BMP3xx] Add support for Bosch BMP384/388/390 temp/pressure modules
      [BMP3xx] Fix saving I2C address
      [BMP3xx] Perform a few reads after init to initialize the IIR filter
      [BMP3xx] Add detected chip + altitude compensation
      [BMP3xx] Document P154 BMP388/BMP390
      [BME280] Show detected sensor model like is done for ADS1x15 and BMP3xx
      [Scheduler] Cleanup of Scheduler code
      [Scheduler] Allow to schedule task calls to specific functions
      [Scheduler] Split Various Scheduler timer types into separate .cpp files
      [Cleanup] Fix build issue in WOL plugin
      [Scheduler] Remove unneeded scheduler call type
      [Scheduler] Cleanup includes and fix decode()
      [Documentation] Document ESPEasy Functional Blocks
      [Documentation] Add ESPEasy Functional block diagram
      [Docs] Mark arrow between controller and MQTT broker as bidirectional
      [Docs] Clarify some arrows in ESPEasy block diagram
      [Task] Revert 'soft disable' task (for now...)
      [Cleanup] Make deviceIndex_t a strict class
      [Cleanup] Only allow PLUGIN_ADD to change Device[] vector
      [Cleanup] Make pluginID_t a strict class
      [Cleanup] Fix build error on ETH builds with pluginID_t
      [Cleanup] Partial conversion npluginID_T to class
      [Cleanup] Complete convert npluginID_t to strict class
      [Cleanup] Reduce build size on ESP8266 making DeviceVector less strict
      [Cleanup] Fix crashing compiler on ESP8266 builds
      [Cleanup] Reduce build size to 'undo' extra added bytes in this cleanup
      [Cleanup] Further reduction of build size
      [Cleanup] Fix build on ESP8266 Collection A
      [Cleanup] Fix build error on ESP8266 Display
      [Cleanup] Reduce build size by moving small functions to .h files
      [Cleanup] Use constexpr for static pluginID compares
      [Cleanup] Use more constexpr for static pluginID compares
      [Controller] Simplify ESPEasy core administration of CPlugins
      [Cleanup] Misc code cleanup + add comments from PVS Studio
      [Plugin] Simplify ESPEasy plugin registration + reduce build size
      [Cleanup] Simplify code for return values internal ESPEasy commands
      [Cleanup] Simplify get/set functions of VariousBits1 in SettingsStruct
      [Cleanup] Remove no longer needed globals/Protocol.h/.cpp
      [Neopixel] Fix build error signed/unsigned compare
      [Cleanup] Apply GPIO log optimizations to reduce build size (@Ton)
      [Cleanup] Fix storing new task (taskenable still doesn't work...)
      [Cleanup] Fix silly bug setting tasks disabled.
      [Cleanup] Reduce size of embedded lookup table to only included plugins
      [Cleanup] Do not use 'Number' in DeviceStruct class
      [Cleanup] Simplify DeviceIndex_sorted
      [Cleanup] Fix merge issue
      [Cleanup] Minor code tweaks to reduce build size
      [Debug] Add "minimal" special build for analysis
      [PVS Studio] Fix issues found by PVS Studio
      [Cleanup] Reduce build size by moving isInitialized() to .h files
      [Servo] Fix servo for ESP32-S2/C3
      [Cleanup] Reduce build size for bitlevel access in Controller Settings
      [Cleanup] Remove code redundancy from DevicesPage and UploadPage
      [PluginStats] Fix showing stats when using 256 samples buffer
      [Cleanup] Fix crash when adding new controller
      [Cleanup] Disable drawing partition layout for limit build size builds
      [Cleanup] Fix isNaN check in thermocouple plugin
      [Debug] Add special debug build env for Display builds
      [Cleanup] Reduce build size making Improv smaller
      [Debug] Set special debug 'display' build to BUILD_NO_DEBUG
      [Cleanup] Shorten (very) elaborate notes in P039 ThermoCouple
      [Cleanup] clarify single event note + reduce GPIO command logs
      [I2C scanner] Fix missing ++x; causing reboot during I2C scan
      [ADC] Fix handling negative ADC values from Hall Effect sensor
      [Notifications] Fix deleting notifier
      [GPIO] Fix check for valid GPIO
      [RTTTL] Fix parsing correct command argument
      [RTTTL] Fix argument index for melody + prevent crash when changing song
      [RTTTL] Fix stupid mix-up of old/new command argument parsing
      [RTTTL] Only check for old/new syntax in the 1st argument
      [RTTTL] I need some coffee....
      [Internal temp] Fix crashes on ESP32-S2/S3/C3 + filter
      [ESP32 temp] Fix specific includes for ESP32-S2

Ton Huisman (77):
      [P036] Show current display content on Devices page
      [P036] Wrap on-display output in `pre` tag to keep spaces and similar formatting
      [P036] Remove unreachable code, other optimizations
      [addHtmlDiv] Add optional `attribute` argument
      [P036] Reduce Show Display font-size to 75%, code optimizations
      [P023] Add Show Values for on-Display content, code improvements and optimizations
      [P036] Make Interval optional
      [P036] Update documentation
      [P023] Add documentation
      [P023] Updated screenshot
      [P036] Add center/right align in preview, make preview compile-optional, code optimizations
      [P036] Only disable alignment feature for 1M builds
      [P036] Add new compile-time directives to Custom-sample.h
      [Build] Make `Climate` build fit
      [P036] Code optimizations
      [P023] Minor code optimizations
      [P036] Add optional user-defined display headers
      [P036] Change compile-time defines to bool, change enums to uint8_t type, update changelog
      [P036] Fix copy/paste error for `userDef2`
      [P028] Add detection-mode setting
      [P028] Ignore humidity if Sensor model BMP280 is selected
      [Devices] Add event PLUGIN_WEBFORM_LOAD_ALWAYS that is also called for remote data-feed devices
      [P028] Fix VType matching for remote data-feed, implement new WEBFORM_LOAD_ALWAYS event
      [P028] Update documentation
      [Controllers] Show correct data (or nothing) for controllers without Host or Port settings
      [Controllers] Code improvement
      [P036] Enable Userdefined headers by default for LIMIT_BUILD_SIZE builds
      [P104] Add Dot subcommand to draw individual dots in a zone
      [P104] Update documentation
      [P104] Code improvements and a bugfix
      [P028] Fix merge conflict
      [P036] Code improvements using `constexpr`
      [Rules] Improving removal of comments
      [Rules] Separate comment removal from reading a line
      [Release] `release.yml` script improvements
      [P036] Fix merge conflicts, small source formatting improvements
      [SD-card] Bugfix: Opening a file from SD-card doesn't always work
      [SD-browser] Code improvements
      [P153] Fix incorrect Sensor_VType setting
      [SD-Card] Show SD-card CS GPIO pin in pin-selection
      [P036] Bugfix in documentation-syntax
      [P051] Fix device being automatically disabled and I2C scan issue
      [I2C Scan] Make I2C scan more robust by adding extra wakeup
      [Docs] Add I2C Scan documentation
      [Docs] Additional I2C Scan documentation (mux)
      [Docs] Rules example for PostToHTTP/PutToHTTP
      [UI] Bugfix: Don't show - None - [SD-CARD] in GPIO selector when SD-Card is not configured (improves #4780)
      [Build] Restore RTTTL feature in ESP8266 Climate build
      [RTTTL] Add Async play and other improvements
      [RTTTL] update documentation
      [GPIO] Decrease buildsize by optimizing logging
      [RTTTL] Add FEATURE_ flags to Custom-sample.h
      [GPIO] Adopt optimized logging improvements (@gijs)
      [Build] Add Collection G builds
      [Build] Move [P154] BMP3xx to Collection G
      [Build] Add checks for some external defined compiletime settings
      [P036] Code formatting and optimizations
      [P037] Build: Include all features in ESP32 builds
      [P073] Reduce logging for BUILD_NO_DEBUG builds to reduce size
      [P036] Updates for documentation
      [P026][Sysvars] Add Internal temperature sensor value for ESP32
      [P026][Sysvars] Feedback and fixes
      [P026][Sysvars] Fix typo in comment
      [P026] Add Get Config feature for all values
      [P026] Add documentation
      [Scripts] Handle 8M builds in WebFlasher
      [P026][Sysvars] Avoid temperature reading errors on ESP32 classic (2 tries only)
      [P026][Sysvars] Read temperature every second on ESP32 classic for better results
      [Build] Try to use real branch name on GH Actions builds
      [Build] Ignore Docs commits to trigger an Actions run
      [P026][Sysvars] Explicitly disable FEATURE_INTERNAL_TEMPERATURE for ESP8266
      [P026][Sysvars] Add delay() call
      [Build][P026] Update documentation (without Actions run...)
      [P037] Update documentation
      [RTTTL] Add events for RTTTL play (async only), fix intermitted/skipped async playing
      [RTTTL] Restore Cancelled event, update documentation
      [P000 Docs] Update some internal links

chromoxdor (2):
      Fixed error in section TaskValueSet
      Update GPIO.cpp

dependabot[bot] (1):
      Bump actions/checkout from 3 to 4

uwekaditz (9):
      [P036] Add ticker as scroll option
      Compiler error if P036_SendEvent was not set
      Calculation for ticker IdxStart and IdxEnd was wrong for 64x48 display, Start page updates after network has connected in PLUGIN_ONCE_A_SECOND
      Some bug fixes (only 1 line displayed)
      Removed unnecessary clear() functions
      Merged with mega from 2023-08-25
      Wrong #ifdef P036_SEND_EVENTS
      CHG: Disable scrolling or ticker if new line content received (PLUGIN_WRITE)
      CHG: Code reduced if P036_ENABLE_TICKER is not used


-------------------------------------------------
Changes in release mega-20230822 (since mega-20230623)
-------------------------------------------------

Release date: Tue Aug 22 09:40:44 PM CEST 2023

TD-er (102):
      [Eastron] Fix merge issues
      [Eastron] Uncrustify + remove 500 bytes of  duplicate strings
      [Eastron] Fix merge issues
      [Cleanup] Reduce bin size by stripping unused code
      [Cleanup] Reduce bin size by deduplicate factory reset code
      [Factory Reset] Fix keeping settings (#4263)
      [RFcal] Fix typo in command "clearwifirfcal"
      [SendToHTTP] Only include "Authorization" header  when credentials set
      [ESP32 2.0.5.x] Fix crashes calling noInterrupt() in ISR callback
      [Adafruit NeoPixel] Update lib to fix noInterrupts
      [Quad Enc] Fix ESP32 noInterrupts()
      [Build] Fix merge issues, missing #endif
      [ESP32-solo1] Add support for single-core ESP32
      [Web flasher] Split "4M collections builds" in a separate group
      [release build] Copy ESP32solo1 binaries during release
      [Crash Analysis] Show controller/plugin name on crash at system event
      [Build] Fix merge issue with duplicate PlatformIO envs
      [Build] Fix missing #ifdef check
      [Devices] Fix showing all included plugins in devices pull-down list
      [Cleanup] Move plugin function pointer array to PROGMEM
      [Cleanup] Simplify weblog buffer
      [Cleanup] Fix build error due to missing defines
      [Cleanup] Improve web serve speed + value formatting speed
      [Cleanup] Reduce resouces used on Dallas, Sysinfo and Dummy tasks
      [Build] Fix missing #ifdef check
      [Cleanup] Reduce CPU usage only calculate valuecount once
      [ESPEasy p2p] Remove delay() calls from p2p messaging
      [Cleanup] Remove unused PLUGIN_EVENT_OUT
      [Cleanup] Get timing stats for controller function calls
      [cleanup] Simplify parse controller variables
      [P2P] unit with latest build not receiving values of shared plugins (#4718)
      [P2P] Check for unset DeviceNumber in matchesSensorType
      [Cleanup] Speedup frequent calls + reduce build size
      [Cleanup] Reduce calls to saveToRTC()
      [Cleanup] Simplify mustConsiderAsJSONString()
      [Cleanup] Remove long webserver debug log
      [Cleanup] Reduce backgroundtasks() frequency
      [Cleanup] Reduce mem allocs for ADC logs
      [HLW8012] Improve stability and accuracy
      [Cleanup] Allow a task to set initial PLUGIN_READ on init
      [Cleanup] Reduce memory usage when timingstats is disabled (or read)
      [PlatformIO] Force PIO to 6.1.7
      [HLW8012] Fix instability due to IRAM
      [Build] Move "hard_" builds to ESP8266 SDK 3.1.2
      [Cleanup] Reduce items being logged in TimingStats
      [Build] Revert switching 'hard_' builds to ESP8266 SDK 2.7.x
      [HLW8012] Remove IIR filter from interrupt callback function
      [PlatformIO] Test build with PIO 6.1.9rc1
      [PlatformIO] Test build PIO 6.1.9rc1 (2nd attempt)
      [PIO] Set minimal PIO version to 6.1.9
      [Cleanup] Simplify allocation of ControllerSettings allocation, memleak?
      [PVS Studio] Fix issues found by PVS Studio
      [PVS Studio] Fix build error & unsafe macro
      [PVS Studio] Fix some issues found by PVS Studio
      [Cleanup] Attempt to fix memory leak in PluginTaskData
      [ArduinoJSON] Update to ArduinoJson 6.21.2
      [Cleanup] Simplify PluginStats::getSample
      [PVS Studio] Fix some issues reported by PVS Studio
      [MDNS] Disable MDNS for ESP8266 due to memory leak
      [CSE7766] Improve reliability + fix issue with console port selection
      [CSE7766] Fix parsing packets with lost bytes
      [CSE7766] Add output selection of units of measure
      [WiFi] Fix ESP8266 instability  compiler optimization flag -O2
      [mDNS] Call MDNS.announce() every second on ESP8266 (mem leak?)
      [Cleanup] Add strformat function to simplify log line creation
      [Build] Fix build errors incorrect use of strformat()
      [Cleanup] Move duplicate oversampling code to helper class
      [ESP32 Serial] Fix serial tasks not working after save or restart task
      [ESP32 Serial] Do not cache baud rate between end() and begin()
      [Cleanup] Replace oversampling code duplication P145
      [Cleanup] Replace oversampling code duplication P060
      [Cleanup] Replace oversampling code duplication P067
      [CSE7766] Update task value with intermediate oversampling value
      [Oversampling] Add reset + weighted keep last
      [ESP32 Serial] Fix serial tasks not working after save or restart task
      [Eastron] Update SDM library to v2.2.2
      [Eastron] Re-apply ESPEasy specific changes to SDM library
      [Eastron] Generate all SDM register strings
      [Eastron] Cleanup showing default taskvalue names + SDM72_V2add
      [Eastron] Cleanup code duplicates & uncrustify
      [Eastron] Fix compiler warnings
      [Eastron] Add support for SDM320C
      [Eastron] Split 'readVal' function to allow async reads
      [Eastron] Add "demand" in register description
      [Eastron] Implement complete async read of Eastron registers
      [Eastron] Add hardware RTS support for ESP32 (for ~RE/DE pin on RS485)
      [Eastron] Fix ESP32 hardware RTS flow control
      [Eastron] improve speed & add commands to set modbusID & baudrate
      [Eastron] Start documentation
      [Eastron] Document RS485 specific wiring
      [Eastron] Complete documentation on Eastron plugin
      [Eastron] Add support for RS485 collision detection on ESP32
      [Serial Console] Fix HW Serial0 unusable on ESP8266 limited builds
      [Eastron] Add delay on first PLUGIN_READ to allow reading registers
      [Build] Set ESP8266 Energy build to LIMIT_BUILD_SIZE
      [Build] Change LIMIT_BUILD_SIZE on ESP8266 Energy to BUILD_NO_DEBUG
      [Eastron] Improve read stability on ESP8266
      [CSE7766] Fix crash when not all stats are enabled
      [Settings] Fix setting task var names & load default names
      [Settings] Fix task value names not being updated on ESP32 (cache)
      [Settings] Fix setting custom task value name on Eastron task
      [ADS1115] Retry on error reads within timeout

Ton Huisman (68):
      [Release][Bugfix] Script should deploy an archive per CPU Architecture
      [Docs] Describe `Wrk` and `Wkd` indicators for `Clock#Time` event
      [P153] Remove unused #include
      [Build] Add support for ESP32-S3 8MB units
      [Build] Rearrange 8M2M to 8M1M configuration
      [P118] Fix compilation when suppressing only DEBUG logging
      [Build] Check all ESP32 builds correctly for factory.bin filesize
      [Docs] Fix typo on Plugin page
      [Build] Add `boards` definitions for ESP32-S3 8MB and ESP32-S3 16MB
      [ETH] Allow Ethernet Power GPIO pin unset (#4724)
      [P014] Set default output values to Temp/Hum
      [P118] Fix compilation when included in Custom builds
      [Build] Update board_name for custom_ESP32_4M2M_NO_OTA_LittleFS
      [Build] Add missing #undef FEATURE_TIMING_STATS
      [Rules] Add minHexDigits to toHex function
      [Docs] Improvements and various fixes
      [Build] Add some missing defines to MAX build to make them explicitly available
      [P128] Revert changes after library update (not working with ESP8266)
      [UI] Add option for disabling Rules auto-completion
      [P035] Add Inverted output option, as supported by the IRsend library
      [P035] Code improvements
      [P035] Add documentation
      [P009] Small documentation typo
      [P014] Fix invalid cast
      [Build] Move ESP32_4M2M settings to own board file
      [Build] Remove unused board definition files
      [P118] Allow enable/disable of ORCON feature via Custom.h
      [P141] Allow enable/disable of Cursor X/Y values feature via Custom.h
      [Console] Add newline after console command to avoid mixing in with logging
      [P046] Fix documentation, address some code issues, WiP
      [P046] Fix compilation issue and include in MAX build
      [Build] Include IR plugins in MAX builds
      [P035] Small size reductions, remove some unused commented code
      [Build] Enable I2C device scan for ESP32 builds
      [P098] Add documentation
      [EasyColorCode] Fix typo `7ddt` (was 7dtt)
      [EasyColorCode] Add some missing commands
      [P013] Move to category Distance (from position), add missing [P134] to Distance too
      [Controllers] Fix `validCPluginID` check (initialization and actual check)
      [P098] Add precaution to documentation for PWM usage
      [Build] Reduce ENERGY build size by removing DEBUG logging
      [Build] Fix compiler warnings
      [EasyColorCode] Fix some auto-complete issues and typos
      [EasyColorCode] Add few missing commands for P036
      [Lib] Update NeoPixelBus to current latest
      [P128] Use customized NeoPixelBus library, upgrading to latest features won't properly work
      [P113] Fix for shifted I2C address in library, code improvements
      [P113] Apply the fix at the original crime-scene ;-)
      [Libs] Update VL53L1X library to current latest v1.2.12 (with fix)
      [P113] Disable I2C address selection as that seems to mess up the sensor
      [P113] Update documentation
      [P122] Uncrustify and move initialization from constructor to .h file
      [P153] Remove unused variable
      [P020] Sourcecode formatting for clarification
      [Docs] Correct some layout issues, causing parts of documentation to disappear
      [P113] Add a few extra nullptr checks
      [Core] Fix some string/message inconsistencies
      [P113] Add a few extra nullptr checks
      [Converters] Add toStringNoZero() function
      [Generic] Improvements and fixes part 2, Aug 2023
      [P113] Fix typo in log statement
      [AdaGFX] Additional error information for unsupported bmp files, improve docs
      [UI] Widen `textarea` fields for easier input of larger/wider text
      [Docs] P002 / P047 Add YT link for selecting a proper (analog) Soil-moisture sensor
      [Converters] Use the correct conversion
      [Tools] Remove ESP Easy Flasher, update Espressif Download tool
      [Tools] Revert esptool to last version
      [Tools] Add `blank_8MB.bin` for erasing 8MB units, exclude from ESP8266 archive

tomcatxx (3):
      Update SDM.h
      Update _P078_Eastron.ino
      Update SDM.h


-------------------------------------------------
Changes in release mega-20230623 (since mega-20230508)
-------------------------------------------------

Release date: vr 23 jun 2023 22:56:40 CEST

Florian Binder (3):
      Enhance P098 to work without encoder and limit sensors
      remove PLUGIN_TIME_CHANGE
      use PCONFIG_LONG instead of PCONFIG

Joan Soler Galmes (2):
      Added Start and End Pixel feature for scan and dualscan modes
      Modified description of the command

Joan Soler Galmés (1):
      Replaced all occurences of hex2rrggbb("000000") for hex2rrggbb(F("000000")) and An int doesn't need to be converted to an int. (Thx  TD-er)

TD-er (146):
      [ESP32-C3 / -S3] Add support for ESP32-C3 & ESP32-S3
      [ESP32-C3] Disable P097 ESP32Touch for ESP32-C3
      [GPIO info] Define flash pins for ESP32-C3 and ESP32-S3
      [GPIO info] Add hardware/GPIO specifics for ESP32-C3/S3
      [GPIO Boot States] Fix bug storing ESP32-S2 boot states + add ESP32-S3
      [Build] Fix missing include
      [Build] Fix build for ESP8266 missing a define macro
      [NeoPixelBus] Update NeoPixelBus library to 2.7.5
      [ESP32-S3] Fix board definitions + build errors on ESP32-S3
      [ESP32-S3] Add 16M max_ESP32s3_16M8M_LittleFS build
      [ESP32-C3] Fix computing free stack on ESP32-C3
      [Docs] Document pins to use for ESP32-S2/S3/C3
      [PSRAM] Fix PSRAM detection on ESP32-S3
      [Docs] Update documentation regarding supported ESP chips
      [NeoPixelBus] Work-around to compile on older compilers (ESP8266 2.7.4)
      [docs] Fix copy/paste error in ESP32-C3 docs
      [Docs] Update specs of supported (and not yet supported) ESP modules
      [Docs] Document future ESP32 C2/C6/H2
      [Cleanup] Simplify detection of active flash mode
      [p2p] Fix task value data exchange between nodes via p2p (#4649)
      [p2p] Fix check on received data for matching plugin IDs
      [p2p] Fix collecting stats + send to controller on p2p received data
      [p2p] Fix build on LIMIT_BUILD_SIZE builds
      [p2p] Fix receiving p2p data on another node (stupid copy/paste bug)
      [ESP32-S2/S3/C3]  Update user configurable SPI bus in ESPEasy.
      [Build] Fix PlatformIO env definition.
      [Build] Fix build for ESP8266 due to misplaced #ifdef ESP32
      [ESP32-S3/C3] Generate web flasher manifest files for all ESP platforms
      [WiFi] Make Wi-Fi TX power configurable for ESP32-S2/S3/C3
      [ESP32 SDK] Update to ESP32 SDK 2.0.9 + Enable WiFi TX pwr for ESP32
      [PIO build] Update build scripts for scons 4.5.x
      [Build] Fix build error due to strange cast of double type in rules
      [Build] Work-around for new ESP8266 macro of round()
      [Build ESP8266] Replace calls to round()
      [Build] Use HWrandom to overcome build issues
      [Build] Fix missing include
      [Build] Remove extern "C" to allow for (C++) function overloading
      [Build] include ESPEasy_common.h instead of Arduino.h where possible
      [Cleanup] Moving not commonly needed code out of ESPEasy_common.h
      [Build] Remove "Helpers" folder from concat script
      [Build] Include ESPEasy_common.h instead of ESPEasy_config.h
      [Build] Add Helpers folder to concat .cpp for ESP8266
      [Build] Add ESPEasyCore to concat cpp & split global RulesCalculate obj
      [Build test] Disable lots of plugins + not concat Helpers/*.cpp
      [Build test] Disable P037 to test build failures
      [Build test] Undef round right after include <Arduino.h>
      [Build] Revert disabling plugins + concat Helpers/*.cpp
      [Build] Include cmath after Arduino.h to redefine round()
      [Build] Fix building ESPEasy in PlatformIO 6.1.7 (#4656)
      [Cleanup] Fix IP address formatting
      [Python] Create tool to generate web flasher files from build
      [Python] Generate index.html for web flasher
      [Build] Include obviously missing plugins from Climate builds
      Change jquery CDN URL for China users
      [Cleanup] Reduce build size by using float instead of double in rules
      [Cleanup] Fix build, removing double function declaration
      [Cleanup] Use float version of geometric functions to reduce bin size
      [Cleanup] Remove duplicate code for leading zeroes formatting int
      [Cleanup] Keep flags for rules floating point value type in sync
      [Cleanup] Revert some changes based on review feedback
      [Custom build] Make it easier for custom builds to force float type
      [USB CDC] Support USB serial port for ESP32-S2/S3/C3
      [ESPEasySerial] Split common code to separate .cpp file
      [ESPEasy Console] Split console to separate class
      [ESPEasy Console] Fix build error
      [Build] Fix building on ESP32-S2
      [ESPEasy Console] Enable USB CDC for ESP32-S2
      [mDNS] Disable mDNS for ESP32-S2 as it seems to affect WiFi stability
      [ESPEasySerial] Add platform specific default pins for Serial0 and 1
      [HWCDC] Add event handling to automatically switch to USB serial
      [HWCDC] Fix automatic switching to USB console port
      [USBCDC] Add using USBCDC as console for ESP32-S2
      [ESPEasySerial] Start adding USB serial to ESPEasySerial
      [ESPEasySerial] Create wrapper classes for USBCDC and HWCDC
      [ESPEasySerial] Split files into wrappers and drivers
      [ESPEasySerial] Cleanup ESPEasySerial class
      [ESPEasySerial] Fix compile errors
      [ESPEasySerial] Fix compile errors.
      [ESPEasySerial] Fix build on ESP32-S2 CDC builds
      [ESPEasySerial] Fix build errors on ESP8266
      [ESPEasySerial] Fix (another) build issue on ESP8266 with SWserial disabled
      [ESPEasySerial] Fix selecting HWCDC on ESP32-C3/S3 for console
      [ESPEasySerial] Fix Custom ESP32 build
      [ESPEasySerial] Simplify check availability nr serial ports on SoC
      [ESPEasySerial] Fix switching HWCDC + dynamically set default pins
      [ESPEasySerial] Add preliminary support for console serial port fallback
      [ESPEasySerial] Refactor file names to clarify their use
      [ESPEasySerial] Fix build issue inconsistent defines
      [ESPEasySerial] Fix USBCDC on ESP32-S2
      [ESPEasySerial] Fix fallback USBCDC to Serial0 (input not working yet)
      [ESPEasySerial] Add separate output buffers for fallback serial
      [ESPEasySerial] Add setting to enable/disable fallback to serial0
      [ESPEasySerial] Fix parsing commands via any serial console
      [ESPEasySerial] Fix crashes on ESP32-C3
      [USBCDC] Remove 2nd USB CDC port + use USB CDC on ESP32-S3
      [ESPEasy Console] Show actual serial port config on sysinfo page
      [Console] Reduce boottime when using CDC as port for console
      [USB CDC] Add max_ESP32s3_16M8M_LittleFS_CDC  (e.g. for Lilygo T-dongle)
      [ESP32-S3 CDC] Switch USB serial to HWCDC for ESP32-S3 for web flasher
      [ESPEasySerial] Fix setting correct baudrate
      [ESPEasySerial] Fix saving SW serial pins
      [ESPEasySerial] Get actual baudrate from SW Serial
      [ESPEasySerial] Add SW Serial support for ESP32
      [ESPEasySerial] Do not show default GPIO pins on SW Serial
      [ESPEasySerial] Document new USB serial ports + SWserial for ESP32-xx
      [ESPEasySerial] Update version nr to v3.0.0
      [Cleanup] Improve formatting of GPIO description on devices page
      [HWCDC] Enable HWCDC for all ESP32-C3 builds
      [USBCDC] Enable USB CDC for all ESP32-S2 builds
      [HWCDC] Enable HWCDC for all ESP32-S3 builds
      [Web Flasher] Remove separation of CDC builds in dropdown list
      [Build] Fix missing include for WiFi.h / ESP8266WiFi.h
      [Build] Remove confusing custom build env. for ESP32-S2
      [Build] Fix build not using ESPEasySerial
      [ESP32 SDK] Update SDK to fixed code for HWCDC.end()
      [DNS] Fix DNS server corruption by IPv6 global IP prefix
      [DNS] Allow DNS cache of 0.0.0.0 to be restored
      [Web flasher] Add link to list of plugins per build to flasher page
      [Web flasher] Use Tasmota's version of ESP Web Tools JS to flash USBCDC
      [ESP32-S3] Clarify OPI flash requirements in 16M PSRAM build
      [Build] Mark P065 as dependency on ESPEasySerial
      [ESP32-S3] Document SPI mode quirks for ESP32-S3
      [IMPROV] Implement Improv to ease deployment via web flasher
      [ESP32-S2] Fix esptool.py upload parameters to help autoreset flashing
      [Serial Helper] Disable updating GPIOs on switch serial port on webpage
      [IMPROV] Replace library + modify
      [IMPROV] Add WiFi scan + board/build identification for web flasher
      [IMPROV] Fix build on ESP8266
      [IMPROV] Fix ESP8266
      [IMPROV] Fix build on ESP8266
      [IMPROV] Do not include IMPROV in ESP8266 limited build size builds
      [IMPROV] Fix connect to Wifi + add logging
      [IMPROV] Clear scan result
      [IMPROV] Clean up ESPEasy console handling fallback serial
      [ETH] No DNS entries when using Ethernet (#4702)
      [IMPROV] Feed invalid IMPROV messages to console input again
      [IMPROV] Use parse state to check parse result
      [ESP32 IDF] Update to IDF 4.4.5 (2023-06-14)
      [ESP32 IDF] Update to IDF 4.4.5 (2023-06-14)
      [Cleanup] Simplify init plugins
      [Cleanup] Fix simplify init plugins
      [Cleanup] Move  Plugin_ptr[] to PROGMEM
      [Cleanup] Simplify init included controllers
      [Cleanup] Reduce memory usage on builds with low numbered plugins
      [Cleanup] Fix missing include
      [Devices] Fix showing all included plugins in devices pull-down list

Ton Huisman (62):
      [P152] Add plugin Output - ESP32 DAC
      [P152] Add plugin to ESP32 and ESP32-S2 Normal (all) builds
      [Core] Add support for ESP32 DAC GPIO selection, display and checks
      [P152] Review feedback
      [Core] ESP32 DAC GPIO review feedback
      [P152] Add documentation
      [Core] ESP32 DAC GPIO Show warning for PSRAM pin
      [P152] Update documentation for PSRAM warning
      [P153] Add plugin Environment - SHT4x (Temperature Humidity sensor)
      [P145] Fix compiler warning (unused variable)
      [P152] Update documentation removing non-existent PSRAM warning (#4624)
      [P153] Add command support, apply feedback and other improvements
      [P147] Add plugin Gases - CO2 SGP4x
      [Helpers] Add `calc_CRC8()` function
      [P147] Rename plugin Gases - SGP4x VOC(/NOx), add to I2C Scanner
      [P083] Rename plugin: Gases - SGP30 TVOC/eCO2
      [Custom] Add P147 options, format some definitions
      [Lib] Add Sensirion Arduino Gas Index Algorithm library
      [P147] Implement Sensirion Gas Index lib, finish SGP41 support
      [P147] Change term Calibration to Compensation
      [Lib] Revert unsupported sampling frequency from NOxGasIndexAlgorithm
      [P147] Adjust timing for SGP41, Fix low-power measurement, fix settings-save issue
      [P147] Include plugin in Collection F build
      [P152] Minor improvements, add to Custom-sample.h
      [P153] Minor UI improvements
      [P153] Add documentation
      [P147] Make Compensation values each optional, minor UI adjustment
      [P147] Add documentation
      [Build] ESP32 derivates available in separate archives
      [Build] Fix typo in script
      [Build] Update README.md
      [Build] Fix quotes in script
      [Build] Fix quotes in script
      [Build] Fix wildcards in find command
      [Build] Fix wildcards in find command
      [Build] Fix build issue with latest SCons (temp. fix: downgrade)
      [Build] Fix build issue with latest SCons (copied)
      [Build] Linux find doesn't like wildcards in variables
      [Build] Restore for loop and fix silly typo
      [P152] Apply new CPU defines for enabling plugin
      [P128] Adjust to latest updates of NeoPixelBuxfx library
      [P128] Definition improvements for new CPU types, add support for BGR neopixels
      [C018] Correct include paths (Arduino IDE compilation)
      [P025] Correct include path (Arduino IDE compilation)
      [C018][P025] Shorten include paths
      [P152] Fix typo
      [SD] Corrections for writing logging to sd-card
      [SD] Fix SD card filebrowser, add `uploadsd` feature
      [SD] Fix traversing subdirectories in filebrowser
      [SD] Corrections for writing logging to sd-card
      [SD] Fix SD card filebrowser, add `uploadsd` feature
      [SD] Fix traversing subdirectories in filebrowser
      [P146] Add documentation
      [P153] [Bugfix] Using Startup config with Heater enabled causes checksum errors
      [P153] Return NaN on command-, read- or checksum-error
      [P146] Clarify setting description
      [P146] Extend documentation, add example
      [P146] Extend documentation, fix some typos
      [Build] Add CONFIGURATION_CODE on System Info page
      [P037] Remove unsupported Formula fields from settings
      [C015] Blynk: Fix compile-error when enabling the SSL option
      [Build] [Bugfix] Typo in enum code for CONFIGURATION_CODE

almirus (3):
      Plugin P133 (LTR390 UV) was moved from Collection_E to Climate
      Update define_plugin_sets.h
      Update doc for P133


-------------------------------------------------
Changes in release mega-20230508 (since mega-20230507)
-------------------------------------------------

Release date: ma  8 mei 2023  8:41:45 CEST

Ton Huisman (1):
      [UserVar] Bugfix: Clear element only


-------------------------------------------------
Changes in release mega-20230507 (since mega-20230505)
-------------------------------------------------

Release date: zo  7 mei 2023 16:27:33 CEST

SirWant (4):
      Fix and Add command to PluginStats
      Replacing sampleN and sample to sample+-N
      minor fix
      Final minor fix...

TD-er (7):
      [Cleanup] Remove duplicate code & document
      [RTC TaskValues] Fix proper init of task values
      [p2p] Fix task value data exchange between nodes via p2p (#4649)
      [p2p] Fix check on received data for matching plugin IDs
      [p2p] Fix collecting stats + send to controller on p2p received data
      [p2p] Fix build on LIMIT_BUILD_SIZE builds
      [p2p] Fix receiving p2p data on another node (stupid copy/paste bug)

Ton Huisman (14):
      [P004] Rename to 1-Wire Temperature, add support for MAX31826 sensor
      [P004] Apply CRC check before testing for fixed resolution
      [P004] Variable naming consistently
      [P004] Update documentation
      [P004] Use matching sensor-resolution when reading
      [P004] Use highest required sensor-resolution when reading multiple sensors
      [P004] Remove unneeded debug log message
      [P004] Add 'unsupported' warning for Parasite Powered sensors
      [Build] Fix `Climate` build size issue
      [Build] Add `BUILD_NO_DEBUG` flag on `normal_302_ESP8266_4M1M` and `normal_beta_ESP8266_4M1M` for size
      [P093] Add support for retrieving all device values
      [P093] Updated documentation for config values
      [P093] Add suggested initialization check
      [Build] Make 1M builds fit by excluding some plugins


-------------------------------------------------
Changes in release mega-20230505 (since mega-20230409)
-------------------------------------------------

Release date: vr  5 mei 2023 22:31:21 CEST

Fabio Ancona (4):
      Rename sensor to SHT3x from SHT30/31/35
      Rename sensor to SHT3x from SHT30/31/35
      SHT3x Update docs with detailed chip list
      SHT1x Update docs with detailed chip list

TD-er (32):
      [LoRaTTN] Split up C018 source files
      [P151] Add Honeywell I2C Pressure sensor plugin
      [P151] Fix I2C scanner result not showing address selection dialog
      [I2C] Use standard functions in I2C_access.h/.cpp
      [Dummy] Add 1...4 ULong as taskvalue output type
      [Dummy] Correctly interpret task values based on sensor type
      [Cleanup] Reduce build size using arrays instead of switch cases
      [Dummy] Reduce code duplication accessing task values
      [Cleanup] Fix index issue determine task value name strings
      [SenseAir] Add ABC option
      [SenseAir] Add some more debug sensor info on settings page
      [Build] Fix merge issues
      [ESP32-S2] Fix selection of only 2 HW serial ports ( #4595)
      [Honeywell] Fix measuring temperature and pressure on real sensor
      [Honeywell] Fix accepting "stale" data when value did change
      [Honeywell] Add documentation for P151 I2C Honeywell Pressure
      [SenseAir] Revert SenseAir changes as that is split to #4550
      [TaskValueTypes] Add various data types for dummy plugin
      [CacheReader] Support new task value data types
      [TaskValueTypes] Fix build issue missing #ifdef
      [TaskValueTypes] Fix storing taskvalues to RTC
      [TaskValueTypes] Rename old "Long" type to "ULong", which it actually is
      [TaskValueTypes] Simplify ESPEasy p2p task value exchange
      [Cache Reader] Optimize JSON output
      [TaskValueTypes] Check new types when checking for valid taskvalues
      [TaskValueTypes] Simplify checks on TaskValues + speedup.
      [TaskValueTypes] Add build flag FEATURE_EXTENDED_TASK_VALUE_TYPES
      [Dummy] Update documentation for the new task value data types
      Update to esptool.py 4.5.1
      Update PlatformIO 6.1.6
      Not define esptool.py in the requirements.txt
      pygit2>=1.10.1

Ton Huisman (41):
      [P150] Add plugin Environment - TMP117 Temperature
      [Build] Correct compiler warning
      [P150] Add opt. Raw, add opt. logging, add opt. Fahrenheit, resolve feedback
      [P150] Remove opt. Fahrenheit output
      [P150] Make one-shot mode work, fix interval reading
      [P150] Correctly apply config bits, improve configuration screen
      [P150] Correctly put in `Collection F` set
      [P150] Add documentation
      [Commands] Add internal command HiddenSSID
      [Commands] Add documentation for HiddenSSID
      [Commands] Fix handling empty argument for on/off commands on ESP8266
      [Commands] Fix documentation typo
      [P106] Update BME680 library to latest
      [P106] Rename to BME68x, add Gas in Ohm option
      [P106] Add documentation
      [Commands] Add PutToHTTP command
      [Docs] Add PutToHTTP documentation
      [Commands] Fix typo in PutToHTTP log message
      [LongPulse_ms] Fix end-state for inverted repeated pulse
      [LongPulse_ms] Fix end-state for inverted repeated pulse
      [GPIO] Improve GPIO states for ESP32-S2
      [GPIO] Fixe ESP8266 compilation issue
      [GPIO] Update hardware-page documentation
      [Docs] Add moving average Rules example
      [Docs] Update moving average Rules example
      [P102] Bring plugin-name in line with other plugins
      [P031] Harmonize plugin name
      [P105] Harmonize plugin name
      [P094] Correct name in documentation
      [P112] Add documentation template
      [P112] Remove [Develoment] tag, add to Collection F
      [P036] Bugfix for overlapping page variables
      [UI] Bugfix: `/dashboard.esp` url was not working anymore
      [UI] Setup page doesn't serve css
      [I2C] `I2Cscanner` command check if I2C enabled
      [Custom] Add `FEATURE_RTTTL` define to Custom-sample.h
      [AdaGFXHelper] Fix optional fonts define error
      [Custom] Add `FEATURE_PUT_TO_HTTP` define to Custom-sample.h
      [P080] Add missing `PLUGIN_READ` function-handler, so the state is sent to controllers
      [P080] Only send state-changes to controllers
      [P080] Use UserVar setters/getters for changing and checking the value

flashmark (13):
      P145 Minor changes sensor definition struct
      P122 SHT2x temperature and humidity sensors
      P122 Reworked after review comment
      P122 review changes
      P122 fix wrong bitmask, cleanup
      P122 Small rework, added documentation
      P144 Start documentation
      P144 Rework documentation
      P122 documentation, fix ordering environment plugins
      P144 small review fix
      P122 Fixed typo in documentation
      P122 Limit build size for esp8266
      P122 fixed bug in conditional compilation when debugging switched off


-------------------------------------------------
Changes in release mega-20230409 (since mega-20230306)
-------------------------------------------------

Release date: zo  9 apr 2023 17:42:52 CEST

TD-er (28):
      [Cleanup] Reduce bin size on minimal builds.
      [ETH] Fix connect to LAN with internal clock
      [Build] Fix missing network medium options
      [WiFi] Fix slow WiFi (re)connect
      [WiFi] Fix connect from RTC
      [Eth] Fix restoring cached  DNS IPs
      [Provisioning] Fix setting allowed file types to download via rules
      [Provisioning] Fix cache and mDNS updates after provisioning
      [Provisioning] Only allow downloading firmware update from set host
      [Cache Reader] Add option to delete files after upload
      [Rules] Fix parsing "Clock#Time=All,**:00"  (#4568)
      Sonoff Soil moistrure sensor MS-01 #4503
      Disable I2C dev check HDC1080  #4571
      [ADS1115] Fix channel results mixed #4570
      Rename HDC1080 to HDC10xx #4578
      [Rules] Use variables in clock events
      [ESP32 WiFi] Enable selecting 802.11g mode on ESP32 #4572
      [ADS1115] Show analog port on Devices page
      [ADS1115] Fix build issue on ESP8266
      [ADS1115] Add option to output in Volt using set gain.
      [ADS1115] Update docs
      [Build] Fix merge issue
      Fix using wrong index from string array in sysinfo and SenseAir plugin
      [PluginStats] Fix "highest peak" for negative values
      [WiFi] Fix really slow reconnect on ESP32 (#4572)
      [WiFi] Add auto WiFi (re)Connect and delay options
      [WiFi] Force restart WiFi if auto reconnect is enabled
      [WiFi] Document new Advanced options auto reconnect and extra wait

Ton Huisman (113):
      [P137] Add AXP192 Powermanagement controller
      [P137] Include used library
      [P137] Enable code only for ESP32
      [P137] Add some missing Get Config values, small improvements
      [Build] Define ESP_LOGD(...) macro, not available on ESP8266 platform
      [P137] Available for ESP8266 too
      [P137] Remove [TESTING] tag, enable for ESP8266, minor code improvements
      [Build] Define ESP_LOGD(...) macro, not available on ESP8266 platform
      [Build] Change ESP_LOGD(...) macro, remove accidentally committed file
      [P137] Restored ESP32 limitation as the Linux build can't handle the workaround
      [P137] Activate in all Collection builds too
      [P137] Add controller to ENERGY builds and Custom-sample.h
      [P137] Add documentation
      [P137] Fix flash-string ==
      [UI] Add `disabled` feature for numeric input fields
      [Tasks] Add Priority task feature for initializing plugins early, with documentation
      [Lib] Pull AXP192 library local, and implement missing features, exclude from ESP8266 builds
      [P137] Implement Priority task feature, add more hardware options, add predefined configurations
      [P137] Update documentation
      [Boards] Add PSRAM option for 16M8M to improve stability
      [Build] Add AXP192 to lib_ignore for IR ESP8266 builds
      [Lib] AXP192 remove some unused variables
      [Build] Add AXP192 to lib_ignore for normal_beta 16M ESP8266 build
      [P137] Adjusted default device settings (turn off led and tft backlight for M5Core2)
      [P137] Revert previously added PSRAM option for 16M8M builds
      [Build] Remove suggestion that P138 will be a Priority task plugin
      [P137] Add commands to codeMirror for Rules syntax highlighting, some typos fixed
      [DOCS] Extend development guide
      [DOCS] Add Using external libraries chapter, small corrections
      [DOCS] Use %eventvalue1% in Rules examples where possible, other improvements and additions
      [P008] Add get config values, update documentation
      [P008] Handle initialization issue for unconfigured GPIO pins
      [I2C] Disable I2C GPIO pin configuration if an I2C Priority task is enabled, updated docs
      [P137] Reorder Device Configuration for output configuration change, enable PluginStats, update documentation
      [Hardware] Add warning to disconnect ETH PoE during USB Serial use
      [UI] Darker background color for disabled input fields
      [UI] Darker background color for disabled input fields, update embedded css
      [P137] Exclude some more unneeded code if FEATURE_PLUGIN_PRIORITY not set
      [P137] Add config for LilyGO T-Beam, improved disabled-port UI, update documentation
      [P013] Add setting for trigger-width
      [Libs] Update `NewPing` library, add sanity check for `triggerWidth` argument
      [P013] Reduce variable use, make State mode interval event optional
      [P013] Update documentation with added setting
      [P013] Update documentation with 'hidden' setting for Mode=State
      [Lib] NewPing limit max trigger-width to 20 usec (wide enough)
      [P013] Reduce plugin size (disable added features and log for 1M builds)
      [P013] Update documentation with adjusted 20 usec setting
      [P008] Reduce plugin size, minor optimizations
      [P137] Add I2C config blocked note to documentation
      [Docs] Correct some plugin status labels
      [P013] Add Combined mode, as started in #3157
      [PriorityTask] Fix argument validation
      [P137] Add support for PLUGIN_I2C_GET_ADDRESS
      [P137] Fix merge issue
      [P137] Fix merge issue
      [P013] Update changelog explaining why not using latest NewPing library version
      [P013] Allow Interval = 0, inhibit setting for  suppressing State-events on Interval
      [P013] Update and cleanup documentation
      [P118] Change command to `itho` from `state` (deprecated, not removed)
      [P118] Update documentation for 'itho' command
      [P145] Fix documentation processor warning
      [Docs] Add some missing includes on Commands overview page
      [Displays] Don't trim spaces from text to display
      [Docs] Correct some plugin labels to display separately
      [Parameters] add `parseStringKeepCaseNoTrim` and `parseStringToEndKeepCaseNoTrim` and implement where useful
      [P145] Fix compiler warning (nested comments)
      [Build] Add KEEP_RTTTL build-flag and apply to some builds
      [P065] Add Serial configuration to enable use on ESP32
      [P065] Update documentation
      [Serial] Show I2CSerial as last option, format sources
      [ESPEasySerial] Remote I2CSerial completely when disabled, format source
      [Serial] Hide I2CSerial completely when disabled
      [Serial] Update documentation
      [P065] Set initial config also for ESP8266, increase initial volume to 50%
      [P137] Implement GetCommandCode() for commands and getvalues to reduce bin-size
      [P021] Add Invert Output option
      [P021] Update documentation
      [P089] Change command-handling making taskname optional
      [P089] Add documentation
      [C014] [Homie MQTT] replace DummyValueSet by TaskValueSet (bugfix)
      [C014] Minor corrections
      [Build] Update Arduino framework 2.0.7 (testing)
      [P089] Show Hostname value on Devices overview page (GPIO column)
      [P014] Disable I2C check to correct HTU21D read
      [StringConverter] Add parseHexTextString()
      [P020] Add command `serialsendmix`
      [StringConverter] Improvements to parseHexTextString()
      [P087] Add command `serialproxy_writemix` using `parseHexTextString()`
      [P087] Format source suing Uncrustify
      [P144] Disable additional debug logging
      [Build] Add [C011] to `Climate` build
      [P109] Add documentation for ThermoOLED plugin
      [StringConverter] Add parseHexTextData() to handle 0x00
      [P020] Use parseHextTextData() to handle 0x00 in data
      [P087] Use parseHexTextData() instead of parseHexTextString()
      [P087] Code improvements
      [Docs] Add reference to Youtube video for Git tools and Python installation
      [Docs] Cancel/remove hardly used Github feature
      [P087] Add documentation
      [P073] Fix documenation typo
      [P073] Correct `7dbin` command for TM1637 and fix scroll feature (bugfix)
      [P073] Wrap some methods for conditional compilation
      [P073] Option to suppress leading zeros on day/hour, fix scroll enable/disable
      [P073] Fix documenation typo
      [P073] Update documentation
      [Docs] Minor correction, remove reference to non-existing paragraph.
      [P073] Fix displaying periods for `7dtext` on 6-digit TM1736
      [Build] Add [P077] to Shelly_PLUG_S build environment
      [P047] Add support for BelFlE Soil moisture sensor I2C
      [P047] Add validation on I2C address inputs
      [P047] Add documentation
      [WiFi] APmodeEnabled event not generated when logging is disabled #4593
      [P047] Correct typo BelFlE to BeFlE

chromoxdor (1):
      [P027] Change the default averaging to 128samples

flashmark (13):
      Introduce P240 Vindriktning
      Add P240_Vindriktning experimental
      P240 Vindrikning, conditional debug messages
      P240_Vindriktning small bugfixes
      renamed:    src/_P240_Vindriktning.ino -> src/_P144_Vindriktning.ino Renamed global variables to keep them unique
      P144 rework
      P144 Vindrikning rework
      P144 Vindriktning minor rework
      P144 Vindriktning Review rework
      P144 Vindriktning Optimize time critical code
      Reworked with separate P144_data_struct
      Rework after review
      Merge define_plugin_sets.h

stefan (3):
      [HTTP] Increase timeout on send
      [HTTP] Increase timeouts and smaller fixes
      Excluded debug output


-------------------------------------------------
Changes in release mega-20230306 (since mega-20230304)
-------------------------------------------------

Release date: ma  6 mrt 2023 21:12:53 CET

Ton Huisman (13):
      [I2C] Don't check device availability for remote I2C devices
      [Devices] Don't show Pin/Port/Address options for P2P remote devices
      [Release] Remove duplicated release notes
      [Release] Improved step name in release.yml
      [I2C] Fix scope error.
      [I2C] Set default response for I2C check to true
      [Plugins] Ignore `PLUGIN_INIT` return value if plugin is actually remote
      [Controllers] Add RTD Help button to Controller config page
      [Controllers] Add RTD Controller Help button only when space allows, replace `switch` by `if`
      [Controllers] RTD Controller Help button match String.reserve() size
      [Build] Update to newer Arduino platform lib (2023.01.02)
      [P037] Always return success on PLUGIN_INIT
      [Device] Show I2C options correctly for local devices


-------------------------------------------------
Changes in release mega-20230304 (since mega-20221224)
-------------------------------------------------

Release date: za  4 mrt 2023 13:54:56 CET

TD-er (135):
      [CacheReader] Play back the recorded CacheController data
      [CacheReader] Add rate limiter + command to set readpos
      [Cleanup] Speedup dumpcache page serving
      [Cache Reader] Create binary dump messages.
      [Cache Reader] Send binary blobs to MQTT
      [Cache Reader] Fix check max. message size bin upload
      [Cache Reader] Fix memory leak by indexing non existing files.
      [Cache Reader] Fix stop increasing peek file nr when last was read.
      [Cache Reader] Store/fetch Plugin ID per sample
      [Cache Reader] Fix proper handling last file upload + wait
      [ESP32 SDK] Update to ESP32 SDK 2.0.6
      [Cache Reader] Add sending task names + fix upload all files
      [JSON] Fix escaping invalid characters in JSON
      [JSON] Fix escaping invalid characters in JSON
      [Controller Queue] Reduce bin size by using inheritance
      [Controllers] Reduce bin size by no longer using template
      [Controllers] Reduce bin size by getting rid of extensive macros
      [Controllers] Move TaskIndex to base class for queue elements
      [Controller] Fix queue element vase class members being set
      [Cache Reader] Fix not converting to PluginID twice
      [PubSubClient] Speedup publish calls by direct writing to client
      [Cache Reader] Fix JSON taskinfo + speedup sending to MQTT
      [Dallas] Fix uninitialized sensor data (+crash) when sensor not found
      [Dallas] Fix uninitialized sensor data (+crash) when sensor not found
      [Cleanup] Fix proper initialization of controller queue elements
      [Cleanup] Proper member initialization on ExtraTaskSettings
      [Dallas] Show auto-detected 1Wire ID on Devices page
      [Cleanup] Proper initialization of P036 and P037 members
      [Dallas] Show auto-detected 1Wire ID on Devices page
      [DNS] Fix restoring DNS server config on DHCP renewal
      [DNS] Fix restoring DNS server config on DHCP renewal
      [Build] Disable some plugins in custom build to make it fit again
      [Build] Fix build on ESP8266
      [Build] Fix building on ESP8266
      [Build] Fix missing include
      [Build] Fix missing include
      [Build] Reduce bin size to make normal_esp8266_1M finish building
      [Build] Reduce build size by not including ESP8266mDNS lib at all
      [Build] Reduce build size by not including ESP8266mDNS lib at all
      [Cleanup] Reduce build size.
      [TM1621 Display] Plugin 148: Sonoff POWR3xxD and THR3xxD display (#4448)
      [TM1621 Display] Plugin 148: Sonoff POWR3xxD and THR3xxD display (#4448)
      [Build] Fix build error (signed/unsigned comparison)
      [TM1621] Clean-up, simplify code slightly.
      [TM1621] Add font containing letters for Sonoff Elite displays
      [TM1621] Simplify code
      [TM1621] Access to units of measure symbols
      [TM1621] Properly formatting numericals
      [TM1621] Clean-up unused function + fix comment
      [TM1621] Add option to show taskvalues from plugin
      [TM1621] Documenting commands
      [TM1621] Documentation
      [TM1621] Add selection of unit symbols per task page
      [Dallas] Fix crash when pluginstats are enabled and sensor not found
      [Dallas] Fix re-init of sensors when using 'scan on init'
      [Cleanup] Only save/load settings from storage when changed.
      [Cache] Only clear specific task caches when needed.
      [Cache] Only flush task caches when config.dat file is renamed/moved
      [Cleanup] Leave out unused code.
      [Cleanup] Reduce build size
      [Build] Fix missing includes.
      [Cache] Do not load ExtraTaskSettings from storage for empty tasks.
      [Cache] Fix saving task name and set taskvalue names
      [Cache] Reduce nr of file load/save calls to a minimum.
      [Cache Reader] Fix selecting start position when only 1 file is present.
      [Cleanup] Add ChecksumType  to reduce unneeded file access.
      [Cleanup] Use ChecksumType to limit load/save
      [Build] Add missing include
      [Cleanup] Reduce nr load/save operations (proper init structs)
      [Cleanup] Reduce build size
      [Cache] Simplify task settings checksums
      [TimingStats] Turn timing stats elements into types to check types
      [TimingStats] Fix cast issue
      [Cache Reader] Add configurable MQTT topics for upload/metadata
      [Cleanup] Group timingstats & fix delete of cache controller files
      [ADXL345] Fix setting nr. of decimals
      [Cache Reader] Stop sending 'empty' data if cache controller not enabled
      [Build] Add pre_custom_espXXX_IR.py due to size of IR libs
      [ESP8266] Speedup event handling and rules parsing by caching task name
      [Docs] Add warning about calibrating CO2 sensors
      [ESP8266] Use different constructor for IPAddress (fix crash)
      [Cache] Cache Controller Settings on ESP32 (slow read from LittleFS)
      [Controller Queue] Do not format message when controller queue is full
      [Factory Reset] Factory reset fails with valid FS, but no config.dat
      [ESP32] Export all task values CacheController
      [Cache Controller] Add command to flush all data in RTC memory to flash.
      [Cache Controller] Improve CSV dump speed via /dumpcache
      [Cache Controller] Add JoinSameTimestamp option
      [Cache Controller] Add option to exclude not enabled tasks
      [Cleanup] Reduce bin size on speed-optimized toString function
      [Cache Reader] Make selecting set tasks optional + add join count column
      [Cache Reader] Add config flags + CSV download button
      [Cache Reader] Add Python code to decode bulk upload data sent via MQTT
      [Cache Reader] Add intended nr of 'samples' per bulk message
      [Cache Reader] Cleanup Export dump to CSV & fix separator
      [Cache Reader] Allow bulk dump CSV to MQTT
      [Cache Reader] Fix serving 'last line' of stored data
      [Cache Reader] Send bulk taskinfo in either CSV or JSON, using settings
      [TaskRun] Add optional unixtime as siuggested timestamp (#4497)
      [C016] Use less includes when USES_C016 is not defined
      [Build] Reduce build size ESP8266_normal_1M to match _1M_VCC
      [BootState] Cleanup setting GPIO boot state
      [Task Commands] Fix parsing parameters on commands with only taskindex
      [Build] Fix build error on ESP32 ETH builds
      [TaskRun] Reschedule task to set Interval
      [TaskRun] Also reschedule on TaskValueSetAndRun
      [TaskRun] Cleanup code
      [TaskRun] Fix new command ScheduleTaskRun
      [Build] Cleanup code + reduce build size
      [Cleanup] Simplify generating task events
      [Cleanup] Reduce build size by omitting some conversions
      [Cleanup] Reduce bin size for (flash)string compares
      [Cleanup] Reduce build size using own equals function for flash strings
      [Cleanup] Reduce build size by using own equals() function
      [Cleanup] Replace single char flash strings with char
      [Cleanup] Fix copy/paste error handling stringcommands
      [Cleanup] Small tweaks suggested to reduce bin size
      [ADC] Add config commands to set calibration
      [ADC] Document new ADC set calibration commands
      [SenseAir] Fix reading error state from sensor
      [Controller] Fix crash debug label for delay queue
      [ESP32 ETH] Fix setting DNS on latest ESP32 SDK
      [ESP32 Ethernet] Make sure any ETH power pin is pulled up at boot
      [Build] Fix build error
      [ESP32] Enable LTO to reduce bin size
      [Build] Fix build ESP32 IR ext. using LTO
      [Build] Fix extra_scripts path
      [Build] Set Python 3.10 in build script
      [I2C] Fix crash I2C device is set as first task, with I2C check enabled
      [Build] Disable LTO for ESP32 and ESP32-S2 due to linker errors
      [P025] Uncrustify code
      [ADS1115] Cleanup I2C code + add read timeout
      [ADS1115] Further clean-up of the code
      automatically updated release notes for mega-20230304
      [Build] Replace all Python 3.8 to 3.10

Ton Huisman (161):
      [P138] Add Power mgt - IP5306 plugin
      [P138] Add IP5306 library to lib folder
      [P138] Fix some typos, clean up some obsolete comments
      [P143] Add plugin I2C Rotary encoders
      [Core I2C] Add I2C_writeBytes_reg function, format source
      [P143] Add support for M5Stack I2C Rotary encoder
      [P143] Add support for DFRobot I2C Rotary encoder
      [P143] Add Led(s) off on exit option
      [P143] Add Button longpress support
      [P143] Add command handling, some refactoring
      [P143] Remove [Testing] tag from plugin name
      [P143] Add documentation
      [P143] Add i2cencoder,set,<position> command
      [P138] Remove [Testing] tag
      [P138] Add to I2C scanner
      [P138] Reorder Device configuration, enable PluginStats option
      [P138] Add documentation
      [P138] Use same term for PowerMgt as in P137 docs
      [P143] Move to Collection C (from A) because of build size
      [P143] Update documentation
      [P143] Add nullptr checks, fix byte-swap issue (M5Stack)
      [Misc] Add `byteSwap16()` function
      [P143] Replace macro by `byteSwap16()` function
      [P038] Bugfix: Set default for Initial brightness > 0
      [Misc] Revert/remove `byteSwap16()` function
      [P143] Disable all code related to M5Stack encoder firmware V1.1 (no device available)
      [P001] Get duty-cycle for [Plugin#GPIO#Pinstate#N] on PWM or SERVO pins
      [P001] Get pinstate/duty-cycle for any plugin that registers its pins, exclude code from 1M devices
      [Plugin] Update documentation for `[Plugin#<plugin>#Pinstate#<Pin>]` use
      [Build] Add ESP32 IRExt with Ethernet build environments
      [Eth] Mark used Ethernet Clock pin as unusable if Ethernet is set as Preferred network medium
      [Eth] Refactor EthClockMode vs gpio check into separate function
      [P067] Refactoring and other improvements
      [N001] Add Date in nail header
      [SysVars] Add `%month_s%` on System variables page
      [DateTime] Allow manual `datetime` command repeatedly (skip delay)
      [SysVars] Add variable `systzoffset` with the timezone-offset string, like +0100
      [N001] Add timezone offset in Date header
      [Docs] Extend copyright year to 2023
      [Docs] Add %sysmonth_s% and %systzoffset% variables
      [N001] Update comments
      [P067] Fixes and improvements in refactoring
      [Plugin] Improved documentation for `[Plugin#<plugin>#Pinstate#<Pin>]` use
      [P067] Fix a typo that broke the Tare value of channel A
      [P067] Minor string reductions
      [Build] Reduce bin size by string reductions and other optimizations
      [Build] Fix ESP8266 Custom IR build failure
      [Build] Reduce bin size by string reductions and other optimizations, next batch
      [Build] Reduce bin size by string reductions and other optimizations, next batch
      [P129] Use DIRECT_pin GPIO functions
      [Build] Adjust Custom ESP8266 as already planned to fix build failure
      [Build] Reduce bin size by string reductions and other optimizations, next batch
      [Build] Reduce bin size by string reductions and other optimizations, next batch
      [Build] Reduce bin size by string reductions and other optimizations, P103 Atlas EZO
      [P103] Uncrustify and more optimizations
      [P129] Suppress PVS Studio false positive warning
      [P103] Refactoring, move some code into PluginStructs folder
      [P039] Add Temperature Threshold option (#4451), update documentation
      [Build] Fix warning: comparison between signed and unsigned integer expressions
      [Build] Include P019 PCF8574 in Climate build, as documented (#4444)
      [Build] Reduce bin size by string reductions and other optimizations, next batch
      [Build] Reduce bin size by string reductions and other optimizations, final batch
      [INIT] Validate all plugins to return success = true when successful
      [Devices] Check Task settings on save except MINIMAL builds (#4455)
      [Github build] Switch job-runner to Ubuntu 22.04 to possibly resolve runner failures
      [Github build] Revert job-runner to Ubuntu 20.04 because of python2 missing
      [Github build] Switch job-runner to Ubuntu 22.04 (without python-dev)
      [Github] Replace deprecated set-output command by environment file
      [Github build] Switch release.yml job-runners also to Ubuntu 22.04 (in line with build.yml)
      [CDN] Update link for Chart.js
      [CDN] Enable overriding CDN urls in Custom.h
      [Adagfx plugins] Improve PLUGIN_READ performance
      [Config] Add option to zerofill Unitnr when appended to Hostname
      [Config] Add missing conditional compile check, minor String improvements
      [Config] Add missing conditional compile check, minor String improvements
      [Commands] Add PostToHTTP command
      [Commands] Add missing documentation for `NTPHost` command
      [WiFi] Workaround Arduino ESP8266 issue, correct TaskExit event generation
      [WiFi] Code optimization
      [WiFi] Correct TaskExit event generation, revert unneeded previous change
      [P042] Reduce size by minifying js scripts, implement jscolor latest updates
      [Markup] Add `id` attribute to input elements for easing javascript support
      [P042] Reformat source using uncrustify
      [Misc] Add RGB2HSV, migrated from P042 (float version)
      [P042] Add Led Count option, more improvements and optimizations
      [P042] Move to PluginStruct for multi-instance use
      [Config] Zero fill unitnr option also disabled in 1M builds
      [Build] Reduce build size by minifying some inlined javascript code
      [Build] Reduce size of embedded css by gzipping it
      [ColorCode] Add PostToHTTP command
      [Config] Revert zerofill option, add %unit_0%, parse sysvars in hostname
      [Docs] Fix typo in PostToHTTP documentation
      [Config] Replace Settings.Name by Settings.getUnitname()
      [Config] Rename getUnitname() to getName() to avoid confusion, fix error that was introduced
      [Config] Update documentation
      [Rules] Accept `if` and `elseif` statements only at the start of a line
      [MQTT] Publish command allow empty payload
      [P067] Add documentation
      [Build] Fix some compiler warnings
      [I2C] Check if I2C device is connected in `PLUGIN_INIT` and `PLUGIN_READ`
      [I2C] Add `I2C_deviceCheck()` to all I2C plugins `PLUGIN_INIT` and `PLUGIN_READ` (if applicable)
      [I2C] Conditionally compile `I2C_deviceCheck()` and exclude from Minimal and ESP8266 Display builds
      [I2C] Conditionally compile `I2C_deviceCheck()` and exclude from Minimal and ESP8266 Display builds
      [I2C] Fix buildsize issues for 1M builds
      [I2C] Rework implementation, separate I2C_GET_ADDRESS from the device check, add setting for Device check
      [I2C] Device check: Update documentation
      [I2C] Add FEATURE flags to Custom-sample.h
      [I2C] Device check: Fix issues and some code improvement
      [I2C] Refactor `getTaskI2CAddress()`
      [I2C] Show task I2C address on Devices page
      [I2C] Fix copy/paste error [P019]
      [P072] Correct typo in calculation, code improvement
      [P030] Remove plugin (BMP280) from repository
      [P077] CSE7766 Add serial GPIO pin configuration
      [P077] Cleanup unused code from source
      [P077] Fix support for ports other than HWSerial0, add calibration commands
      [P077] Add documentation
      [P077] Add safety warning, correct few documentation errors
      [P077] Separate serial0 SERIAL_IN/TEN_PER_SECOND handling, other fixes
      [Build] Simplify the content of the Binaries.zip file
      [Build] Exclude unused `debug` folder from Binaries.zip
      [Build] Replace Espressif flash download tool 3.8.5 by 3.9.3
      [Build] Testing `release` steps in pr build
      [Build] Temporariy reducing the number of envs to improve testing turnaround time
      [Build] Testing `release` steps in pr build, fix typo
      [Build] Temporariy reducing the number of envs to improve testing turnaround time
      [Build] Temporariy reducing the number of envs to improve testing turnaround time
      [Build] Testing `release` steps in pr build, fix script
      [Build] Testing `release` steps in pr build, fix quotes
      [Build] Remove outdated ESP8266-only Flash tools from disrtibution
      [Build] Testing `release` steps in pr build, fix script, add date/time
      [Build] Testing `release` steps in pr build, fix script
      [Build] Testing `release` steps in pr build, fix script, add date & run_id
      [Build] Testing `release` steps in pr build, fix script
      [Build] Testing `release` steps in pr build, improved file filtering, date format
      [Build] Testing `release` steps in pr build, include mega_<date> in zip filenames
      [Build] Testing `release` steps in pr build,  filename tweaks
      [Build] Improve `release` build by creating separate ESP82xx and ESP32 dated archives
      [Build] Restore ESP.Easy.Flasher.exe (ESP8266 usable only)
      [Build] remove undesirable files from ESP32 archive
      [Build] For PR/Push builds repackage Binaries.zip into separate ESP82xx/ESP32 artifacts
      [Build] For PR/Push builds repackage Binaries.zip into separate ESP82xx/ESP32 artifacts, fix typo
      [Build] For PR/Push builds repackage Binaries.zip into separate ESP82xx/ESP32 artifacts, fix typo
      [Build] For PR/Push builds repackage Binaries.zip into separate ESP82xx/ESP32 artifacts, fix typo
      [Build] Remove Binaries artifact after repackaging
      [Build] Restore all build environments to original state
      [Build] Schedule repackage after build step (avoid scheduling delays)
      [Build] Switch actions plugin, add concurrency check for same PR
      [Build] Actions plugin used only checks jobs with a `name` attribute
      [Build] Rename `build-matrix` to `build-all`, test concurrency check
      [Build] Fix typo, test concurrency check
      [Build] Revert waiting for job to complete action, keep concurrency check
      [Scheduled Tasks] Parse correct argument for scheduling
      [P067] Ignore first `PLUGIN_READ` as no data is available yet
      [P067] Update documentation
      [AdaGFX_helper] Parse commands and colors using `GetCommandCode()`
      [P116][P131] Add get_config_value support (from AdafruitGFX_helper)
      [P116][P131] Update documentation
      [P028] Align INFO logging with other plugins
      [I2C] Log error if unresponsive device gets disabled
      [Release] Upload correct files in Binaries artifact

christian-gosse (2):
      Add some log about current conversion channel number
      Correct Handling of end of conversion

flashmark (20):
      Introduce P145 Gasses MQ-xxx
      P145 cleanup, added sensors, start ESP32 support
      P145 Cleanup, update calibrated value
      P145 add [TESTING]
      Rework during review
      Removed P085 & P100 from test setup to free some space P145 Tidy up some comments
      Rollback removal of P085 and P100 exclusion in prwe_custom_esp32.py
      P145 start documentation
      Rework during review rework
      P145 fixes during review P145 updated documentation
      P145 code cleanup,small  GUI changes, documentation updates
      P145 implement lowVcc feature, reduce memory usage, cleanup
      P145 Save some memory
      P145 save some memory
      Removed strings from sensor definition table Added optional heater control for MQ-7 Added new sensor definitions Rework on algorithms
      P145 updated documentation
      P145 small documentation updates
      P145 testing autocalibration
      P145 plugin updates & refactoring
      P145 restructuring and some updates.


-------------------------------------------------
Changes in release mega-20221224 (since mega-20221105)
-------------------------------------------------

Release date: za 24 dec 2022 21:35:00 CET

C.Lee Taylor (1):
      Add comment to P001 for split up

TD-er (39):
      [PIO Build] Remove concat work-around for ESP32 builds
      [PIO] Add all used libraries in lib folder
      [PSRAM] Do not check UsePSRAM but FoundPSRAM
      [Docs] Fix "Validate a RFID tag" example
      [P002] Fix using nr. decimals in calibration
      [Favicon] Fix serving favicon.ico
      [Build] Exclude all ext. RTC code when not enabled in build
      [WiFi] Switch default and alt.WiFi builds for ESP8266
      [LCtech switch] Fix longpulse (#3385)
      [NTP] Fix calling NTP when current time source is ext. RTC
      [Build] Include the 'boards' folder in the source ZIP file (#4274)
      [SendToHTTP] Only include "Authorization" header  when credentials set
      [ESP32 2.0.5.x] Fix crashes calling noInterrupt() in ISR callback
      [Adafruit NeoPixel] Update lib to fix noInterrupts
      [Quad Enc] Fix ESP32 noInterrupts()
      [Docs] Update rules docs not using %eventvalue1%
      [HTTP] Restore Authorization headers used in C011 (#4364)
      [HTTP] Remove check for "Authorization" header
      [ADXL345] Add pitch and roll as derived task values
      [ADXL345] Update min/max values per raw sample reading.
      [Cache Controller] Speedup ESP32 + LittleFS use.
      [Cache Controller] Allow for larger files on large ESP8266 FileSystems
      [Build] Make normal_ESP8266_1M fit max. size again
      [ADXL345] Add output of values in g with self calibration
      [ADXL345] Document new features of plugin
      [LongPulse] Fix recurring longPulse
      [Speedup] Make less calls to LoadTaskSettings as it is slow on ESP32
      [Cache] Fix updating ExtraTaskSettings Cache after it has been modified.
      [Cleanup] Do not call own class functions from constructor/destructor
      [Build] Fix missing #ifdef check.
      [Taskvalue Select] Fix showing taskvalue config for some plugins
      [Taskvalue Select] Fix showing taskvalue config for some plugins
      [PVS Studio] Fix issues reported by PVS Studio
      [Lib] Update to ArduinoJson 6.19.4
      [WiFi] Fix WiFi (re)connect not starting AP immediately
      [WiFi] Fix loop WIFI_STA and WIFI_OFF preventing boot/wificonnect
      [Controller] Allow system variables in controller username
      [ESP32] Fix ECO mode on ESP32
      Fix max. frequencies for various ESP32 SoC's

Ton Huisman (47):
      [Build] Revert Espressif32 framework to 2.0.4.1 to fix NeoPixel/RMT related issues
      [P121] Bugfix for unconnected sensor, correct name-typo, code cleanup
      [P121] Remove obsolete Arduino 1.0 check, use `f` suffix for float values
      [P038] Add initial and max brightness settings and command, update docs, optimizations
      [P121] Add HMC5883L to I2C scanner
      [Build] Update platform to 2.0.5.2, enable PSRAM for 16M8M envs, prepare PSRAM fix config
      [CodeMirror] Add NeoPixelBright command
      [P037] Add JSON sub-attribute support
      [P037] String and memory optimizations
      [P037] Small source cleanup
      [Docs] Add quotes in rules examples for SendTo and SendToHTTP
      Revert "[Docs] Add quotes in rules examples for SendTo and SendToHTTP"
      [Docs] Add quotes in rules examples for SendTo and SendToHTTP
      [P037] Small source improvement
      [P037] Remove unneeded LoadTaskSettings call
      [AdafruitGFX] Fix potential initialization issues
      [Libs] Fix initialization issues
      [PVS] Code improvements and corrections
      [P037] Correct table layout on Configuration page
      [P129] Correct table layout on Configuration page
      [P099] Correct table layout on Configuration page
      [P099] Format sources using Uncrustify
      [P099] Code improvements, small string reductions
      [Command parsing] Non-numeric arguments could return uninitialized data
      [AdaGFX] Fix typo in constructor
      [Build] Deduplicate libs and un-space lib foldernames
      [Build] Add readme.md to lib folder
      [P037] Move device configuration subheader, small uncrustify changes
      [P109] Add Inverted relay-state and Setpoint-delay settings
      [Build] Enable I2C Multiplexer in most ESP8266 4M builds
      [I2CMux] Fix Multiple Channels I2C Multiplexer selection table column widths
      [Metrics] Use default devicename `taskN` when Name is empty
      [Metrics] Show default task number as displayed in the device overview
      [Metrics] Format source using Uncrustify
      [Build] Enable Zabbix controller for Collection builds
      [Rules] Get task settings for use in rules
      [Rules] `settings.controllerN` also check Controller enabled/disabled
      [Rules] Update documentation for task settings variables, fix a few typos
      [Rules] Update ESPEasy ColorCode configuration
      [Rules] Adjust fetching task-controller settings, update documentation
      [Rules] Add String functions `indexOf` and `equals`, with documentation
      [Rules] Improved `indexOf(_ci)` and `equals(_ci)` string function handling, update documentation
      [Rules] Introduce commands `Inc` and `Dec`, update documentation
      [Rules] Update ESPEasy ColorCode config for `dec` and `inc` commands
      [ColorCode] Add missing command for P141
      [Build] Add `COLLECTION F` builds
      [P118] Bugfix for crash during startup

Zafrir Ron (5):
      LCD Rules example
      spelling correction
      Impoved version
      Fix set speed comment
      Fix to asyncevent & speed comment

chromoxdor (23):
      modulo+number is now categorized as number
      [style][layout] css optimizations, values table improvement
      the zero is not necessary i guess
      turns out there is more to remove in the css...
      forgot to minify and embed the css
      removed one sys var wrap and re added  pre tag
      and i forgot to change p021....
      and xmp is out
      Update DevicesPage.cpp
      made the number inputfield better fit (except firefox)
      forgot to change width to max-width
      back to input type=search
      Update Rules.rst
      Update JSON.cpp
      Update JSON.cpp
      Update JSON.cpp
      Update JSON.cpp
      Update JSON.cpp
      Update JSON.cpp
      Update Custom-sample.h
      corrected typo
      update for #4421
      update

jimmys01 (1):
      Move Custom IR related defines in the appropriate file


-------------------------------------------------
Changes in release mega-20221105 (since mega-20220809)
-------------------------------------------------

Release date: za  5 nov 2022 16:15:44 CET

Alex (1):
      Update release.yml

Jason2866 (2):
      Fix boot flash mode
      `opi` flash needs to be flashed in mode `dout`

Max Prokhorov (1):
      Fix github-script v5 breaking change

TD-er (167):
      [Framed OLED] Load/save settings in smaller memory chunks
      [Framed OLED] Reduce memory usage, especially during load/save
      [OLED Framed] Prevent copy of strings when calling some write functions
      [PlatformIO] Do not extend multiple PIO envs
      [PlatformIO] Change src_filter into build_src_filter for PIO 6.0.0
      [PlatformIO] Revert to PlatformIO 5.2.5
      [Cleanup] Reduce build size ESPEasySerial inline functions to .cpp
      Reduce blocking delays in Blynk command
      [Framed OLED] Simplify code to send P036 events
      [GPS] Make a bit more clear the GPS has a fix.
      [LoRaWAN] Reduce build size + more sensible default settings.
      [LoRaWAN] Make RX2 frequency configurable + allow write RN2483 commands
      [LoRaWAN] describe how to reduce nr of OTAA joins
      [ESP32 PN532] Fix reading PN532 on ESP32
      [PN532] Make reading tags non-blocking
      [PN532] Disable Debug code + remove last global variable
      [PN532] Fix switching I2C clock frequency on ESP32
      [I2C] Fix build for ESP8266 (no Wire.end() )
      [Cleanup] Renamed other enums related to PLUGIN_TASKTIMER_IN
      [ESP32 flash mode] Change flash mode board defs to use QIO for ESP32
      [Build] Fix include path + add CircularBuffer to libs folder (#4201)
      [ESP32] Include SPI memory_type in board defs
      [Build scripts] Only show memory_type on ESP32 builds
      [Rules] Fix matching events with first eventvalue being zero (#4198)
      [Rules] Simplify & fix stripping leading zeroes
      [ESP32 flash] Move back to DOUT and DOUT_QSPI
      [SendToHttp] Do not set HTTP authentication when no user/pass set
      [ESP32] Use patched 2.0.4 framework-arduinoespressif32 to fix SPI modes
      [PMSx003] Fix buffer overflow when reading sensor data
      [Build] Include ESPEasy_config.h everywhere
      [Build] Add missing include of Wire.h in ESPEasy_common.h
      [Build] Fix ESPEasySerial build with DISABLE_SOFTWARE_SERIAL defined
      [Build] Explicit ignore SD libraries on "minimal" builds
      [Cleanup] Reduce build size for minimal builds
      [Cleanup] Disable MCP/PCF commands when P009 and P019 not included.
      [Cleanup] Remove MCP/PCF related code when plugins not included
      [Build] Reduce build size reducing ArduinoJSON instances
      [Build] Fix compile time defines strings with spaces
      [Build Version] Generate build version based on date
      [Build] Fix build error due to missed function renames
      [Build] Fix warning when P009 or P019 is not included in build
      [Custom build] Remove #include <Arduino.h> from Custom_sample.h
      [Sysinfo] Add functions to compute runtime ABP and flash frequency
      [Sysinfo] Code cleanup & add Xtal frequency
      [Sysinfo] Fix some code/logic duplication
      [Sysinfo] Fix determining flash mode on ESP32-S2
      [Build] Move include/ESPEasy_config.h to src/include (#4216)
      [Sysinfo] Use FSPI define addressing the SPI bus to the flash
      [SendToHttp] Fix HTTP 401 and 404 error
      [Network Timeout] Apply workaround to set timeout in msec on ESP32
      [Cleanup] Uncrustify _N001_Email.cpp
      [HTTP] Change read timeout into HTTP code 200 when "Ignore Ack" is set
      [SendToHttp] Set timeout to 1000 msec when set to ignore ack
      [Controller] Make timeout dynamic, depending on actual results
      [Controller] Don't make timeout dynamic if ignore acknowledgement is set
      [Git] Add _*Custom.h to .gitignore
      [String] Use .equals for flash strings instead of ==
      [Build] Set ESP8266/Arduino to use actual 'staging' code
      [ESP8266] Change resetmethod to "nodemcu" to fix reset during flash
      [Build] Switch ESP32 board definitions to use DIO mode
      [RN2483] Forward declaration of  functions
      [ESP32 MAX] Fix not defining LIMIT_BUILD_SIZE on MAX builds
      [Build_CDN] Generate CDN prefix URL based on Git tag
      [Build_CDN] Generate CDN prefix URL based on Git tag
      [Build CDN] CDN URL prefix matches checkout tag or  latest tag
      [Build CDN] Serve ESPEasy auto css by default
      [Build] Remove all debug logs when BUILD_NO_DEBUG is set
      [Debug Log] Fix reduces log level combo box with BUILD_NO_DEBUG set
      [ESP ETH] Reset GPIO states before calling ETH.begin()
      [Build] Reduce bin size & merge NodeStruct from ESPEasy-NOW PR
      [Build] Add missing dependency check C013 needs FEATURE_ESPEASY_P2P
      [Cleanup] Minor tweaks to include less code during compile
      [Cleanup] Uncrustify WebServer/RootPage.cpp
      [Cleanup] Remove code duplication + concat function to reduce bin size
      [CSE7766] Fix wrong debug check wrapper P077 (#4248)
      [MH-Z19] Fix executing command for MH-Z19
      [PZEM004T] Fix nullptr dereference (#4251)
      [Build] Reduce build size by doing less flash string conversions
      [Build] Fix missing controllers to ESP32 "Collection" builds
      [Build] Do not (yet)  define USES_ESPEASY_NOW for MAX builds
      [Build] Add FEATURE_RULES_EASY_COLOR_CODE build option
      [ESPEasy p2p] Fix crashes (#4261)
      [GPIO] Fix bug in GPIO command parsing (#4271)
      [Build] Reduce build size for energy and display builds CDN JS/CSS
      [CodeMirror] Fix loading code mirror CSS from filesystem
      [CDN] Serve static files with cache-control from file system
      [build] Disable normal_alt_wifi_ESP8266_1M due to bin size
      [CDN] Cleanup the CDN code
      [CDN] Browser cache  embedded Favicon and CSS
      [Build] Fix build on ESP32
      [CDN] Only load codeMirror files on Rules/Custom page + add Expires
      [CDN] Add Last-Modified header when serving built-in static files
      [CodeMirror] Link JS in the HEAD & don't use defer on those.
      [WiFi] Prevent setting same WiFi mode multiple times
      [SysVars] Fix sunrise/sunset offset (%sunrise-1h%)
      [Build] Reduce build size to make minimal OTA_FHEM_HA fit again
      [String parse] Cleanup formatting transformation function
      [Cleanup] Use roundf or lround where appropriate
      [Build] Reduce build size by removing unneeded pow function calls
      [WiFi] Change Espressif SDK to SDK221
      [WiFi] Prevent reconnect loop
      [WiFi] Check scan results for known candidates
      [WiFi] Make WiFi reconnect more predictable
      [WiFi] Fix WiFi connect timeout handling
      [ADC] Internal ADC plugin reading Vcc on _VCC builds
      [WiFi] Limit WiFi logs on size challenged builds
      [Cleanup] Reduce bin size when using timing stats
      [Commands] Fix accepting invalid commands
      [Factory Default] Fix default settings for SSID2
      [Factory Default] Fix default settings for SSID2
      [WiFi] Reduce time needed to connect to WiFi
      [WiFi Setup] Fix serving CSS on initial WiFi setup
      [Time] Fix check whether real time is set
      [p2p NTP] Update time via p2p node when NTP not set or unreachable
      [p2p NTP] Fix build includes
      [p2p NTP]  Fix applying NTP received from peers
      [p2p NTP] Prevent receiving random data from old ESPEasy nodes
      [p2p NTP] Fix log entry showing correct time source
      [Webserver] Fix strange crashes when serving flash strings
      [GPIO] Add option for longpulse repeat
      [LongPulse] Stop scheduled pulse when setting GPIO + add waveform call
      [Longpulse] Cleanup and document
      [Longpulse] Fix missing includes
      [Dallas] Add option to auto select first sensor found
      [Dallas] Document the new Auto Select Sensor feature
      [Build] Make ESP8266 Collection D VCC fit again
      [Build] Make using ESP8266 Waveform a build feature
      [Build] Disable ext. RTC on limited build size builds
      [Build] Reduce bin size by excluding libs from 1M builds
      [PVS Studio] Fix some uninitialized members found by PVS Studio
      Fix build error
      [Cleanup] Change time wander unit to ppm
      [Dallas] Add DS28EA00 chip (#4292)
      [WiFi] Retry to connect to WiFi when set AP is not reachable
      [Cleanup] Reduce bin size by assigning smaller types to enums
      [Cleanup] Reduce bin size by assigning smaller types to enums
      [Sonoff POW] Do not use volatile ints to check for divide by zero
      [GPS] Fix set system time via GPS
      [GPS] Use custom GPS view of plugin stats data
      [PMSx003] Support I2C UART bridge on ESP32
      [Ext RTC] Fix updating ext. RTC from other sources like p2p nodes
      [Time] Clean up code + show UTC time stored in RTC
      [sunset/sunrise] Fix parsing multiple instances of %sunrise...%
      [Cleanup] Uncrustify ESPEasy_time
      [time] Limit settime update frequency from p2p nodes
      [NTP] Fix prefer NTP over p2p time sync
      [NTP] Make "p2p time sync" only preferred after at least 2 hours.
      [Ext RTC] Round time set to ext. RTC to reduce error to +/- 500 msec
      [time] Reduce time update frequency from the same time source
      [p2p time] Show ESPEasy unit nr used as time source
      [p2p time] Do not use own node as p2p source.
      [Build] Update pygit2 lib to fix GitHub Actions builds
      [Build] Fix missing include
      [SI70xx] Set default I2C address when upgrading using old settings
      [HLW8012] Improve stability and resolution Voltage/Current measurement
      [HLW8012] Don't use double when float will suffice
      [Setup] Fix CSS on setup page + WiFi/Eth event handling
      [Settings] Reintroduce MD5 checksum to prevent saving unchanged settings
      [PlatformIO] Add missing ESP32 ETH envs (energy/display/climate/neopixel)
      [WiFi/Eth] Split handling of WiFi and Ethernet events
      [Eth] Split WiFi and Eth event data + fix static Ethernet IP
      [WiFi] Increase time between WiFi reconnects
      [Ethernet] Restore DNS records for Eth when WiFi turned off
      [Ethernet] Fix restore Eth DNS static IP config
      [Ethernet] Split handling WiFi/Eth event processing
      Reserve ESPEasy-NOW member in SettingsStruct
      [Build] Fix missing include + some define checks

Ton Huisman (332):
      [P118] Make CS pin configurable, resolve some compiler warnings
      [P118] Restructure using Plugin_data_struct, allow 3 simultaneous instances, code reformatted
      [P118] Add library.properties and reference it
      [P118] Use more descriptive names for a few variables/constants
      [P118] Fix missing #define
      [Build] Fix compiler warnings
      [P118] Refactor interrupt handling
      [P118] Attempt to avoid startup crash
      [P118] Attempt to avoid startup crash
      [P118] Add entry to Custom-sample.h
      [P118] Reformat CC1101 library using Uncrustify
      [P095] Add support for extra TFT displays (ILI934x/ILI948x)
      [P095] Reformat sources using Uncrustify
      [P095] String allocation improvements
      [P118] Log optimization
      [P095] Restore accidently lost addLogMove
      [P095] Fix merge issue
      [P095] Make enum values explicit
      [P129] Add 74HC165 input shiftregisters plugin
      [P129] Rename command to ShiftIn, and promote rest of command to second argument
      [P129] Rename plugin, some minor corrections
      [P129] Add documentation
      [P129] Always show formatted output, even when plugin is not active. Rename some arguments
      [P064] Unblock while reading gestures when object is very close
      [P064] Format source using uncrustify
      [P092] DL-Bus: Add support for UVR42
      [P092] Add second digital value for UVR42
      [P092] Add documentation for UVR42, some minor corrections
      [P092] Documentation typo
      [P131] Add plugin Display - NeoPixel Matrix
      [Build] Add ESP32 4M2M NO_OTA configuration
      [P131] Fix IR build issue, initialization of class variables
      [P095] Rename local copy of Adafruit ILI9341 library, initializations
      [P131] Correct invalid initialization in struct
      [P131] Add documentation
      [P095] Updated documentation
      [P045] Add option for detect movement on all/any axis
      [P045] Minor improvements
      [P045] Add plugin documentation, remove invalid documentation file
      [P045] Move descriptions from Device configuration to documentation
      [AdaGFX] Add optional Roboto fonts
      [AdaGFX] Fix typos in #ifdef
      [AdaGFX] Small documentation updates
      [P095] Make Splash at start configurable, docs updated
      [P095] Fix for displaying text on previous location was not overwriting old content Add Text print mode for centered text Extend txtfull subcommand to enable centered text
      [P095] Update documentation
      [Build] Update custom ESP32 NO_OTA_LittleFS build configuration
      [AdaGFX] Add support for `btn` subcommand to draw button-like objects
      [AdaGFX] Improve btn subcommand, slim down bin size, other minor improvements
      [AdaGFX] Add support for confined windows to print/draw in [AdaGFX] Add support for getting config values
      [AdaGFX] Process like template for length and textheight values
      [AdaGFX] Add/update documentation for window commands and config values
      [AdaGFX] Code improvements, initialization, const, move window offset into printText()
      [AdaGFX] Code improvements as suggested by feedback
      [AdaGFX] Correct font include paths, add #ifndef filename checks to fonts
      [AdaGFX] Regression: Background-fill for text should fill entire line height
      [AdaGFX] Re-add some previously missed changes
      [P131] Code optimizations, make splash configurable
      [P095] Implement getconfig feature, code optimization, update documenation
      [Settings] Add PCONFIG_ULONG(n), union with PCONFIG_LONG(n)
      [P131] Fix loading content, implement PCONFIG_ULONG(n)
      [Build] Restore TEST_E builds for ESP and ESP32s2
      [Fix] Complete implementation for changed addFormSelector() definition
      [P129] Optimizations and small fixes
      [Settings] Add PCONFIG_ULONG(n), union with PCONFIG_LONG(n)
      [P129] Implement use of PCONFIG_ULONG()
      [Settings] Replace long by int32_t for PCONFIG_LONG(n)
      [P129] Remove undesirable const declarations
      [Settings] Replace long by int32_t for PCONFIG_LONG(n)
      [P131] Corrections for nullptr, resize and 0 checks
      [P131] Restore delete of matrix object to properly free memory
      [P131] Implement splash without delay()
      [P095] Implement splash without delay()
      [P095] Implement splash without delay()
      [P095] Use ESPEasy-specific ILI9341 extended library
      [P118] Code optimizations
      [P131] Add to NeoPixel builds, make it fit in ESP8266 4M NeoPixel build
      [P064] Code optimizations, remove unused I2C Address selector, adjust documentation
      [P109] Improve binary size and memory use
      [P109] More optimizations, use #defines where appropriate
      [OLedHelper] Add helper with some OLed functions
      [P109] Make plugin multi-instance capable, implement OLed_helper functions
      [P036] Implement OLed_helper to reduce code size
      [P023] Implement OLed_helper to reduce code size, reformat source (Uncrustify)
      [P023] Optimizations, source formatting (Uncrustify)
      [P109] Move deconstruction code to class deconstructor
      [P023] Improved comments to clarify unclear code
      [OLedHelper] Add changeable values argument to OLedFormController function
      [P023] Avoid awkward code construct by using changed OLedFormController
      [P036] Apply changed OLedFormController function
      [P109] Apply changed OLedFormController function
      [P118] Minor code optimizations
      [P110] Replace delay() call, format source, code improvements
      [P110] Disable development logging
      [P111] Format source (uncrustify)
      [P111] Replace delay() calls, format source, code improvements
      [P111] Move reset handling mostly away from 50/sec handler for timing reasons
      [P127] Replace delay() calls, code improvements
      [Build] Enable SD-card support for Display and NeoPixel sets
      [NeoPixel] Add generic power calculation to documentation
      [AdaGFX] Add getTextSize and get/setValidation methods
      [P131] Add horizontal scroll feature, fix clear on exit bug
      [P131] Code optimization
      [P131] Scrolling fixes
      [P131] Documentation updates
      [ILI9341 lib] Extend supported ILI9481 sub-types (CMI7 and CMI8, borrowed from TFT_eSPI)
      [P095] Extend supported ILI9481 display models
      [P095] Update documentation
      [P129] Fix build error, apply code suggestions
      [P128] Fix compiler warning
      [SDcard] Remove unused variable in handle_SDfilelist()
      [P128] Fix compiler warning
      [SDcard] Remove unused variable in handle_SDfilelist()
      [Build] Leave SD-card support out for any NEOPIXEL ESP8266 build to make it fit again
      [P095] Disable unavailable displays (ILI9486/ILI9488)
      [P131] Remove plugin from DISPLAY builds, enable SD-card support for NEOPIXEL ESP32 builds
      [P131] Enable SD-card support for NEOPIXEL ESP32s2 build
      [P131] Add commands for scroll options, update documentation, remove Testing tag, improvements
      [P129] Remove testing tag, update ENABLE_TOOLTIPS to FEATURE_TOOLTIPS
      [P131] Update ENABLE_TOOLTIPS to FEATURE_TOOLTIPS
      [P129] Update ENABLE_TOOLTIPS to FEATURE_TOOLTIPS
      [P131] Update ENABLE_TOOLTIPS to FEATURE_TOOLTIPS
      [P134] Add Distance - A02YYUW sensor
      [P134] Use serialHelper functions where possible
      [P134] Add documentation
      [P008] Reduce iRam usage in ISR
      [P008] Enable Multi-instance use, rename variables, use named setting defines
      [P008] Update documentation
      [P134] Code correction
      [P135] Add SCD4x CO2, Humidity and Temperature sensor
      [Build] Add flag to exclude (unused) debug logging from SparkFun SCD4x library
      [P135] Add documentation
      [P134] Add plugin to Custom-sample.h
      [Docs] Move Serial Helper configuration to separate page and add links where appropriate
      [P135] Rename feature flag, enable selftest and factoryreset for all builds
      [P135] Minor documentation updates
      [I2C] Set default GPIO pins for ESP32 SDA=21, SCL=22
      [P135] Add check for too many mis-readings to stop the plugin
      [P135] Minor documentation updates
      [P135] Add FRC feature, get serial number, update docs, code optimization and improvements
      [P064] Improved handling of errors, remove [TESTING] tag
      [I2C] Set default GPIO pins for ESP32 SDA=-1 SCL=-1
      [I2C] Set default GPIO pins for ESP32 SDA=-1 SCL=-1
      [P129] Fix a bug, improve code and documentation
      [P129] Fix documentation
      [IR] [Build] Enable IR device selection
      [LIB] IRremoteESP8266 updated to v2.8.2
      [IR] Correct some defines for SEND-ONLY protocols
      [Build] Fix extra_scripts environment chaining
      [LIB] IRremoteESP8266 proposed solution for limiting combobox list
      [P016] Limit list of supported protocols to what is actually included in build (proposal), update CustomIR-sample.h
      [P016] Make buffersize configurable, we usually don't need max buffer size
      [P035] Fix list of supported protocols, comment unreachable code
      [P016] Increase default buffersize to 150 to avoid log message for nearly every received code
      [P016] Add feature flag P016_FEATURE_COMMAND_HANDLING to optionally disable command processing
      [SysVars] Add conversion for minutes to hh:mm notation (%c_m2hcm%)
      [P016] Change display/entry of buffer size to bytes instead of unnamed 'units' (2 bytes)
      [P016] Update documentation
      [Rules] Process conversions during rules-matching
      [SysVars] Add string functions timeToMin/timeToSec with docs
      [SysVars] Reduce build size for LIMIT_BUILD_SIZE by disabling timeToMin/timeToSec
      [JSON] Add variables to /json output
      [Build] Upgrade SparkFun MAX1704x to latest
      [P095] Optimize code and reduce string use to make build fit
      [I2C] Improve visibility of I2C Configuration errors, few minor code enhancements
      [I2C] invert bool argument name and value for readability
      [P118] Itho library limit formerly endless loops to max. 3 seconds
      [P118] Fix bugs found during testing, rename variables, clean up source
      [P118] Update documentation
      [P118] Fix bugs found during testing, rename variables, clean up source
      [P118] Fix ESP32 support, shorten lib time-out, improve Devices overview display
      [Devices] Fine-tune display of custom GPIO configuration
      [P116] Add Devices list GPIO overview
      [P118] [Build] Restore Itho communication in ESP32 builds
      [Build] Remove NeoPixel plugins from DISPLAY builds
      [Build] Remove NeoPixel plugins from DISPLAY builds
      [Build] Update documentation
      [Build] Explicitly remove NeoPixel plugins from DISPLAY builds (still in Normal and Collection)
      [IRremoteESP8266] Fix a few wrong-mapped defines
      [P037] Introduce plugin-specific P037_LIMIT_BUILD_SIZE feature flag
      [Build] Have Energy build apply some plugin-specific size-reduction feature flags (P036, P037)
      [Boot] Show binary filename in startup log messages
      [Plugin] Remove obsolete [DEVELOPMENT] tags
      [IRremoteESP8266] Add comments requested by lib maintainers
      [P111] Fix small typo
      [Itho Lib] Merge Orcon functions from #4099
      [P118] Merge Orcon functions from #4099
      [P118] Update documentation with Orcon commands
      [P118] Move plugin to `Collection E` to make the build fit in again
      [P059] Add documentation, migrated from the Wiki
      [Itho Lib] Code improvements as suggested (mostly)
      [P141] Add plugin Display - PCD8544 Nokia 5110 ('migrated' from PluginPlayground)
      [P141] Include in Display builds, add library
      [AdaGFX] Add `txl` subcommand to send multiple lines of text to display
      [AdaGFX] Add documentation for `txl` subcommand
      [P021] Add Auto-save interval option
      [P021] Add Auto-save interval option
      [P021] Update documentation
      [P021] Improved checks to really avoid auto-saving if not needed
      [P021] Fix compilation issue
      [P021] Fix typo
      [P021] Don't restart Auto-save timer after saving settings
      [P021] Extra check to avoid decrementing the timer when not started
      [AdaGFX] Some small improvements and corrections
      [P141] Add Invert display option and matching 'inv' subcommand, several improvements and fixes
      [JSON] Add ESP_CHIP_MODEL and REVISION (ESP32 only) to /json output
      [P135] Remove [TESTING] tag, minor code improvements
      [Lib] Remove unused variable from SparkFun AS7265X library (avoid compiler warning)
      [P111] Small code improvements for size reduction
      [P021] Fix possible issue for GetLevel config value
      [Docs] Split long lines in AdaGFX commands documentation
      [Docs] Update the Commands reference
      [AdaGFX] Implement invertDisplay() used by monochrome displays
      [P141] Improve Inverted display support, code improvements
      [P141] Add documentation
      [P141] Include in Custom-sample.h
      [Hardware] Fix compiler warning about FM_UNKNOWN
      [P135] Fix flash-string ==
      [Bugfix] DevicesPage: ExtraTaskSettings are not always saved
      [P135] Add missing code-comment
      [P135] Change plugin name to include 'CO2', in line with other CO2 plugins, update and corrections for documentation
      [SysVars] Suggested improvement and `timetosec`/`timetomin` code size reduction
      [P109] Optimize code, some deduplication/refactoring
      [UI] Make auto-dark mode optional
      [UI] Make auto-dark mode optional
      [UI] Improved code-semantics
      [UI] Enable Web dark-mode documentation
      [UI] Restore static attribute for css data arrays
      [Tools] embed_files.sh: Use `static` attribute on generated char arrays, force LF line ends for script
      [UI] Device page shows Controller names
      [CSS] Remove no longer needed `esp_auto.css`
      [CSS] Re-add `esp_auto[.min].css`, combining `espeasy_default.css` and `esp_auto_dark.css`
      [UI] Restored `Send to Controller` display, with fixed number display, and Controller name included
      [UI] Make theme selectable: Auto, Light, Dark
      [UI] Rearrange Controller name, checkbox and optional IDX on Devices page
      [UI] Update documentation
      [UI] Change `multi2row` to `multirow tworow` (@chromoxdor), improved `tworow`
      [UI] Apply classes `multirow odd` where previously only `multirow` was needed
      [UI] Replace 'odd' by 'even' class, restoring pre-dark mode multirow style
      [UI] /setup now uses auto-dark mode, Dashboard gets the auto/dark mode from settings
      [UI] Improve template processing, fix partition table in dark mode
      [UI] Fix dark mode display for Chart JS graphs
      [P037] Enable all features for NORMAL builds not using LIMIT_BUILD_SIZE (2M/4M/16M)
      [P037] Disable extra features for ENERGY build for size reasons
      [P037] Update documentation, and some minor corrections
      [Code] Apply PVS-Studio bugfixes and suggestions, 2022-09
      [Code] Use correct Vnnn error codes
      [UI] Correct WiFi bars color (now blue) in /setup
      [UI] Add transparency to WiFi bars not-active color
      [P134] Remove TESTING tag, code improvements
      [AdaGFX] Fix printing partial characters near the right edge of the screen (no linewrap, Window 0 only)
      [P141] Add configurable line-spacing, fix some bugs, code improvements
      [P141] Update documentation
      [Libs] Partially upgrade HeatpumpIR lib to fix PVS reported issue and save space
      [Build] Allow HeatpumpIR in ESP32 Custom_IR builds
      [P131] Fix lines display to start on next tile
      [P141] Reduce build size
      [Build] Minimal OTA Domoticz without HTTP (#4246)
      [Build] Add Minimal OTA Domoticz MQTT builds to restore the HTTP features in previous environments
      [Build] Fix typo in conditional include
      [AdaGFX] Add line-spacing setting, default is backward compatible
      [P141] Remove unneeded color selection options
      [P141] Update documentation
      [Build] Rename feature flag to disable HTTP client
      [P109] Disable in ESP8266 build, some size optimizations
      [P141] Disable SD card support in ESP8266 Display build for size
      [P118] Fix LOG_LEVEL_DEBUG compilation
      [P141] Adjust default plugin settings, update documentation
      [AdaGFX] Fix issue with top pixel when using Col/Row mode
      [AdaGFX] Remove unneeded logging
      [P141] Less preprocessing of commands
      [P045] Minor code size reduction
      [P021] Minor code reduction
      [P110] Rename LOG flags, fix logic for disabling debug log
      [P118] Hide Debug log option from UI when not available, small improvements
      [P127] Use correct build flag
      [P141] Correct line offset, skip empty lines on taskrun
      [P141] Documentation updates
      [P109] Add commands for emulating left, right and mode buttons
      [P141] Enable contrast setting from 1..100% and add 'contrast' subcommand
      [P141] Update and extend documentation
      [P109] Rename commands Left and Right to LeftBtn and RightBtn, some code moved
      [Build] Add CLIMATE configuration and move P118 there with all climate sensors
      [Docs] Update documentation for CLIMATE builds, fix some errors in documentation
      [Build] Fix compiler warnings for signed/unsigned int compare
      [AdaGFX] Allow backlight percentage setting from 0% (instead of 1%)
      [P141] Allow backlight and contrast settings from 0% instead of 1%, updated documentation
      [P141] Also store 'inv' setting when changed via command (not saved)
      [P092] Code optimizations, reduce logging for LIMIT_BUILD_SIZE
      [P075] Increase nr. of lines for commands to send to Nextion
      [P109] Code improvements
      [P109] Fix merge conflict
      [P109] Rename button commands, add title options
      [AdaGFX] Don't trim off spaces from command arguments
      [AdaGFX] Small log improvement
      [Build] Restore Notifiers and other features in normal_ESP8266_4M1M_VCC
      [Build] Fix preprocessor issue
      [Build] Add preprocessor flag NO_LIMIT_BUILD_SIZE
      [P141] Add GET_CONFIG_VALUE support, update documentation
      [OLedHelper] Add OLedI2CAddressCheck() for some de-duplication of OLed plugins
      [P023] Implement OLedI2CAddressCheck()
      [P036] Implement OLedI2CAddressCheck()
      [P109] Change behavior for minimizing saving to thermo<tasknr>.dat, delay relay activation after setpoint change
      [P109] Correct a few bugs, save pending settings, adjust timeout display
      [P109] Correctly un-initialize relay state after enabling/switching task
      [Bugfix] Taskenable,<taskname> wasn't working anymore
      [P109] Add temporary heater delay timing logging
      [Bugfix] P141 PCD8544 Library issue resolutions
      [P109] Solve setpoint update without short interval
      [Formatting] Formatting values doesn't work as intended
      [Checks] Correctly check for obsolete USES_NOTIFIER define
      [Checks] Adjusted comment
      [MAX] Increase plugin list to 140
      [OTA] Initialize Arduino OTA only when enabled
      [Log] Minor logging improvements
      [MAX] Enable I2C Device scan
      [I2C] Some missing I2C devices added
      [P039] Allow GPIO-0 (D3) to be used for CS (Bugfix)
      [Boards] Set additional IDF flag for ESP32s2 (and yet unsupported ESP32c3) boards
      [SPI] 3rd SPI GPIO pin should be output only
      [Boards] Fix IDF version and order of ESP32/s2/c3 checks to get correct GPIO definitions
      [Boards] Move IDF version to platform_core-defs.ini
      [Build] Conditional compilation improvement for CONFIG_IDF_TARGET_ESP32
      [SPI] Corrected pin selection for User-defined SPI (input/output)
      [ESP32] Use patched 2.0.5 framework-arduinoespressif32
      [P095] Add Invert display option for  foreground / background color swap
      [Docs] Add rules example for a b-tree search on a list of Tags
      [P095] Log selected display type during init
      [Docs] Emphasize the use of `%eventvalue%` variables in event-handling rules
      [P037] Bugfix: Enable event generation when adding task
      [Build] Add PSRAM environments for 16M8M
      [Build] Switch to platform-espressif32 2.0.5.2

Zafrir Ron (1):
      Fix CPLIGIN-WRITE to allow controller commands

chromoxdor (56):
      initial codemirror support
      back to local testing
      minor change
      Update espeasy.js
      added minified files
      update
      fixed typo & removed an unintentional easteregg
      each plugin one line
      Forgot to rename variable in anyword
      typo: commonPlugins
      added missing plugin commands + code cleanup
      added all display specific commands
      added , for hinting
      removing duplicates in hints
      nobody except me needs the log
      bit more "root" keywords for faster typing
      maybe better hint listing
      Update anyword-hint.min.js
      changes
      sevenseg fix
      changed css +round buttons
      css update+ round helper buttons
      removed unnecessary css
      changed highlightcolor  + wider column
      fixed to wide input fields
      no rounded corners and green is back
      Update Markup.cpp
      accommodate to windows users
      put back some stuff
      ubbs..i edited the wrong line
      modernized the css
      render table-border on ios devices
      table-border ios fix the 2nd
      added files
      minor changes+ adding automode css files
      resolves minor issue in /setup
      update CM files
      remove unnecessary types
      Update HTML_wrappers.cpp
      added xwide to css, reverted p016 column change
      Update HTML_wrappers.cpp
      Added the tworow class to P016
      no need for two colons
      Add the "ESPeasy Code Editor" to the docs
      Update _P016_IR.ino
      update codemirror files
      Update codemirror.min.js
      better minification
      Css variables update + add P023
      firefox was left out for "normal" rules, removed unnecessary folder
      reposition of codemirror js files + minor css additions
      css fix for textviewer
      it should be height not width :)
      removing height for textarea completely
      re adding max-height
      [P109][Colorcode] added plugin specific commands

fmuntean (9):
      [P014] added support for SI7013 ADC
      [P014] added Datasheet link
      [FIX] updated based on the feedback
      [FIX] reduced the last_measurement_time from 2 places to one; commented all the break; lines
      [FIX] multiple fixes and updates: Init had to be split as delay is required after reset
      [P014] Added documentation
      [Fix] Spelling
      [P014_SI70xx] guardrail all the logging
      [P014] Fixing support for HTU21D with chip_id=50

stefan (2):
      [ArduinoIDE] Make it compile again
      [ArduinoIDE] make it build agian - Fix typo

uwekaditz (37):
      [P036] improvments (line alignment separatly)
      Changes requested by @tonhuisman
      Uncrustify code
      FIX: wrong alignment (only centered) for long, non-scrolling lines
      FIX: wrong pixel calculation for alignment for non-scrolling lines on 64x48 display
      [P036] NEW: individual font settings for each line
      code reduced by 530 bytes to fit the build size for 'esp8266, normal_ESP8266_1M'
      ADD: Setting and support for user defined contrast: oledframedcmd,display,user,contrast,precharge,comdetect
      Copy&paste error
      CHG: Setting for user defined contrast simplified
      NEW: use the split token <|> to split lines into left and right part
      FIX: last frame was not shown
      [NEW] css style xwide
      Documentation updated
      FIX: empty page was shown if just one frame has text
      FIX: empty page was shown if just one frame has text
      CHG: font Dialog_plain_18 is optional (not using LIMIT_BUILD_SIZE)
      CHG: font Dialog_plain_18 is optional (not used with LIMIT_BUILD_SIZE)
      CHG: Logging in [P092] reduced for LIMIT_BUILD_SIZE
      CHG: font Dialog_plain_12 is optional (not used with LIMIT_BUILD_SIZE)
      [P037] Using xWide and html_TD(const String& style)
      P36_MaxFontCount reduced for LIMIT_BUILD_SIZE
      FIX: left alignment again with leading spaces
      NEW: right alignment with trailing spaces
      Update P036.rst
      Update P037_data_struct.cpp
      Reset P037_data_struct.cpp to mega
      [P037] Using xWide and html_TD(const String& style)
      Changes proposed and requested by tonhuisman
      History updated
      Added new sub-table from PR #4239
      CHG: use P036_LIMIT_BUILD_SIZE if PLUGIN_BUILD_IR is defined
      Obsolete code with #ifdef INPUT_PULLDOWN removed
      BugFix for addSelector()
      Conflict resolved
      Conflicts resolved
      CHG: Display timeout is now a uint16_t value (max 65535s for display off)


-------------------------------------------------
Changes in release mega-20220809 (since mega-20220616)
-------------------------------------------------

Release date: di  9 aug 2022  8:58:50 CEST

DMoosh (1):
      Update README.md

Florin (1):
      Notification Page to Display GPIO pins when in use.

TD-er (145):
      [ESP8285] Remove ESP8285 specific builds, detect at runtime (#3848)
      [Provisioning] Add command to download firmware OTA
      [Provisioning] Fix missing includes
      [Build] Fix missing line in .ini file due to merge issues
      [PlatformIO] Update to PIO 6.0.1
      [PlatformIO] Clean requirements.txt files to only the essentials
      [Provisioning] Fix missing include
      [P002 ADC] Move PluginTaskData to separate file
      [ADC] Add binning and multi-point processing of values
      [ADC] Improve binning stability
      [ADC] Speed up formula parsing
      [ADC] Add caching for binning range
      [ADC] Add fields to load/save multipoint values.
      [ADC] Add option to paste many variables at once
      [Cleanup] Small optimizations to reduce bin size
      [Cleanup] Reduce loading controller settings when not ready to process
      [Cleanup] Add function addFormSelector_YesNo to remove code duplication
      [Cleanup] Reduce build size by combining controller queue types
      [Controller Queue] Add missing includes
      [PVS Studio] Fix some hints provided by PVS Studio
      [P073, PVS Studio] Fix bug in font handling for Siekoo display
      [ADC] Fix compiler warnings + remove binning for LIMIT_BUILD_SIZE builds
      [Firmware Download] Fix downloading with no content length set
      [Download] Fix warning signed/unsigned
      [BME280] Allow to take samples using taskRun (#3879)
      [BME280] Clean-up code
      [BME280] Proper handling error states, send error event.
      [BME280] Make TaskError event more useful by adding error string
      [BME280] Update comment to reflect actual behaviour
      [Cleanup] Reduce build size web form functions
      [Cleanup] Reduce bin size deduplicate webform switch plugins (001/009/019)
      [Cleanup] Uncrustify
      [Cleanup] Minor optimizations to reduce build size
      [Static Files] Fix option to local store dev page JS file (#4102)
      [Build] Show proper ESP board name on ESP8266 sysinfo
      [Build] Do not use commas in ESP board name
      [PIO] Update to esp8266/Arduino @ 4.0.1
      [Rules] Disable rules reorder optimization (#4062)
      [MCP/PCF] Small optimization in code to set MCP/PCF pin range
      [2nd Heap] No longer use "2nd heap" on all "beta" builds (unstable)
      [Build] Disable ESP8266 custom beta debug build due to size
      [Cleanup] Apply minor suggestions from PVS Studio
      [PlatformIO] Fix upload size for 16M boards, causing bootloops
      [ADC] Add support for ESP32 ADC factory calibration
      [PlatformIO] Fix boot loop issues on 16M ESP32 boards
      [ADC] Fix building on ESP32-S2
      [Cleanup] Uncrustify Helpers/Hardware.cpp
      [ADC] Fix build on ESP8266
      [ADC] Fix crash when importing older ADC task settings enabling binning
      [ADC] Add charts to show the factory calibration
      [ADC] Hide Factory calibration data + fix build on ESP8266
      [ADC] Add chart axis options (e.g. label)
      [ADC] Add chart to show simulated ADC to output
      [ADC] Add attenuation option for ESP32
      [Cleanup] Remove some unneeded HTML code
      [ADC] Fix building on builds with LIMIT_BUILD_SIZE
      [ADC] Add pseudo task values via PLUGIN_GET_CONFIG
      [ADC] Fix reading + cleanup UI
      [ADC] Add PluginStats to keep history of values
      [ADC] Fix build issue on LIMIT_BUILD_SIZE
      [PluginStats] Add generic statistics for tasks
      [Plugin Stats] Add option for average over last N samples.
      [Plugin Stats] Use task specific error value
      [Plugin Stats] Make Plugin Stats optional per task value
      [Plugin Stats] Add version transitions to ExtraTaskSettings
      [Plugin Stats] Enable Plugin Stats for all plugins with task data
      [Plugin Stats] Show statistics + historic samples on all supported tasks
      [Plugin Stats] Add missing plugins to use the plugin stats too
      [PluginStats] Add build flags USES_PLUGIN_STATS and USES_CHART_JS
      [PluginStats] Exclude PluginStats and ChartJS from NeopixelESP8266 build
      [ADC] Change order of items shown in statistics
      [ADC] Use set nr of decimals for stats
      [Cleanup] Move PluginTaskData_base structs to Pxxx_data_struct.h/.cpp
      [SVG] Revert changes to draw SVG since we're now using ChartJS
      [ADC] Add computed output values for peaks + fix typo
      [ADC] Document new options
      [Plugin Stats] Add stats to plugins to support stats.
      [Docs] Document accessing Plugin Stats
      [Docs] Document typical task setup page and task value stats
      [Plugin Stats] Enable Stats for Sysinfo tasks
      [Plugin Stats] Reduce memory usage when no stats are used.
      [Build] Do not limit build size for custom builds with VCC. (#4129)
      [Plugin Stats] Make labels more clear.
      [Plugin Stats] Fix strange issues PLUGIN_INIT
      [Plugin Stats] Fix editing disabled tasks
      [Plugin Stats] Fix memory leak / low loop count
      [ESP32] Add cache for ExtraTaskSettings due to load speed on ESP32
      [Build] Add apt-get update to build.yml
      [Rules] Fix matching rules with system variables in on...do
      [SendToHttp] Add option to add credentials in the URL
      [Rules] Strip leading zeroes (#4134)
      [Rules] Move logs regarding rules caching to debug
      [Build] Disable ESPEasy p2p for minimal OTA builds
      [sendToHTTP] Use same send_via_http as used in Adv. HTTP controller
      [Cleanup] Reduce build size ESPEasySerial inline functions to .cpp
      [ESP32] Move to Espressif32 SDK 2.0.4
      [ESPEasySerial] Fix case sensitive include
      [ESPEasySerial] Fix incorrect use of `static` for ESP8266
      [SendToHTTP] Add Digest Auth
      [SendToHttp] Clear Basic Auth before using Digest Auth
      [HTTP] Use the same function for all HTTP controllers + fix timeout
      [SendToHttp] Generate event with HTTP return code
      [Web tools] Fix command via Tools page lower case
      [ESP8285] Clearly state absence of separate ESP8285 builds in README.md
      [Download] Update using new HTTP Digest Auth implementation
      [Download] Fix missing include
      [SendToHTTP] Allow to use http:// formatted URL
      [HTTP] Document changes to handling HTTP calls + add follow redirects
      [ADC] Improve factory calibration resolution (ESP32)
      [ADC] Fix Binning
      [ADC] Make multipoint charts more intuitive.
      [ADC] Improve settings UI for Binning + adjust 2-point calibration
      [ADC] Update docs
      [ADC] Update documentation
      [Build] Fix missing #include "ESPEasy_common.h"
      [Build] Remove Notification code when notifiers disabled
      [Build] Move some USES_xxx checks and add missing ESPEasy_common.h
      [Dallas] Fix Dallas 1Wire plugins on ESP32
      [Dallas] Reduce iRAM usage on ESP8266
      [NewPing] Rename library from NewPingESP8266 to NewPing
      [NewPing] Update Library to 1.9.4
      [NewPing] Re-apply ESPEasy specific additions to NewPing library
      [NewPing] Use Direct GPIO access to reduce jitter on ultrasonic sensors
      [DHT] Use Direct GPIO access for DHTxx sensors
      [DHT] Remove timing critical aspects from reading DHT sensors
      [DHT] Remove short calls to delayMicroseconds
      [DHT] Add delay right after waking sensor
      [DHT] Add missing initialization
      [DHT] Fix using correct index when recording timings + comments update
      [DHT] Fix GPIO not yet set to input when DHT wake up.
      [DHT] Fix switching pinMode(INPUT_PULLUP) way too slow
      [Direct GPIO] Reduce iRAM usage
      [DHT] Set the GPIO pull-up resistor explicitly
      [DHT] Forgot to disable logic analyzer debug pin
      Revert accidental commit of pre_custom_esp82xx.py
      [Dallas] Fine tune timings for Dallas sensors
      [Direct GPIO] Fix using GPIO-16 on ESP8266 (#4175)
      [Dallas] Add retry to init read or collect data from temp sensor
      Allow to use leading zeroes on HEX formatted strings
      [ESP32] Move to framework core 2.0.4.1
      [PulseCounter] Make ISR function smaller
      [PulseCounter] Use direct GPIO access to read pin state
      [PulseCount] Enable PluginStats for pulse counter
      [Cleanup] Fix some signed/unsigned warnings
      [Task Settings Cache] Fix save taskValueNames on ESP32

Ton (1):
      libraries/ITG3205: Missing 'paragraph' from library\nITG3205: Missing 'url' from library

Ton Huisman (72):
      [Docs] Add missing Tools/Advanced (Rules) screenshot
      [Docs] Update extensions list for VSCode, remove Atom reference, update some text
      [Docs] Fix some heading level warnings
      [Docs] Update styling contrast, add gray and changed options, Retired plugin category, apply changed where appropriate
      [Docs] Add improved reference to open PIO Terminal
      [Docs] Updates on writing documentation, remove unused Linux pdf generation setup
      [P128] Add Max brightness setting
      [P128] Update documentation
      [P128] Improvements: Rename variable
      [Docs] Procedure for configuring a RTC chip
      [Docs] Add alternatives for RTC configuration, update Rules options after recent change
      [P116] Add support for ST7735 80x160px with inverted color
      [P087] Add 'Serial Config' options
      [P087] Lower minimum baudrate to 300 from 2400
      [Helpers] enable parseString() family of functions optionally to not trim off white-space
      [P087] Don't trim white-space from serialproxy_write command argument so f.e. CR/LF can be used to terminate a message
      [TaskCache] Fix for TaskName not always loaded in cache
      [TaskCache] Simplify code
      [P128] [Build] Make FakeTV effect compile-time optional
      [P128] Update documentation
      [P128] Fix compiler warning
      [P128] Fix typo (it's been a hot day)
      [Build] Rename TEST builds to COLLECTION to reduce confusion about build-names
      [Build] Remove TESTING tag from Stable plugins
      [Build] Remove TESTING tag from Stable plugins, fix some plugin names
      [Build] Update documentation to use COLLECTION instead of TESTING
      [Build] Some documentation improvements
      [Build] Update README.md and fix a documentation typo
      [Build] Change FEATURE_SD to use 0/1 state
      [Build] Change FEATURE_ARDUINO_OTA to use 0/1 state
      [Build] Rename USE_DOWNLOAD to FEATURE_DOWNLOAD and use 0/1 state
      [Build] Rename USE_CUSTOM_PROVISIONING to FEATURE_CUSTOM_PROVISIONING and use 0/1 state
      [Build] Rename USE_SETTINGS_ARCHIVE to FEATURE_SETTINGS_ARCHIVE and use 0/1 state
      [Build] Rename USE_TRIGONOMETRIC_FUNCTIONS_RULES to FEATURE_TRIGONOMETRIC_FUNCTIONS_RULES and use 0/1 state
      [Build] Change FEATURE_I2CMULTIPLEXER to use 0/1 state
      [Build] Rename USES_SSDP to FEATURE_SSDP and use 0/1 state
      [Build] Rename USES_TIMING_STATS to FEATURE_TIMING_STATS and use 0/1 state
      [Build] Rename USE_EXT_RTC to FEATURE_EXT_RTC and use 0/1 state
      [Build] Rename ENABLE_TOOLTIPS to FEATURE_TOOLTIPS and use 0/1 state
      [Build] Fix typo in FEATURE_I2CMULTIPLEXER check
      [Sysinfo json] Fix compilation error
      [Build] Add check for renamed #define variables
      [Build] Rename HAS_ETHERNET to FEATURE_ETHERNET and use 0/1 state
      [Build] Move checks file to CustomBuild folder, move include to ESPEasy.ino to show warnings only once
      [Build] Rename USES_DOMOTICZ to FEATURE_DOMOTICZ and use 0/1 state
      [Build] Rename USES_FHEM to FEATURE_FHEM and use 0/1 state
      [Build] Rename USES_FHEM to FEATURE_FHEM and use 0/1 state
      [Build] Rename USES_HOMEASSISTANT_OPENHAB to FEATURE_HOMEASSISTANT_OPENHAB and use 0/1 state
      [Build] Rename USES_PLUGIN_STATS to FEATURE_PLUGIN_STATS and use 0/1 state
      [Build] Rename USES_CHART_JS to FEATURE_CHART_JS and use 0/1 state
      [Build] Rename USE_SERVO to FEATURE_SERVO and use 0/1 state
      [Build] Rename USE_SERVO to FEATURE_SERVO and use 0/1 state
      [Build] Rename USE_RTTTL to FEATURE_RTTTL and use 0/1 state
      [Build] Rename USE_RTTTL to FEATURE_RTTTL and use 0/1 state
      [Build] Rename USE_I2C_DEVICE_SCAN to FEATURE_I2C_DEVICE_SCAN and use 0/1 state
      [Build] Move checks file to CustomBuild folder, warnings will probably show multiple times
      [Build] Remove unused #define
      [Build] Change FEATURE_MDNS to use 0/1 state
      [Build] Add some missing #define featureflag 0
      [Build] Rename USES_NOTIFIER to FEATURE_NOTIFIER and use 0/1 state
      [Build] Add check for FEATURE_MDNS and USES_NOTIFIER
      [Build] Rename USES_MODBUS to FEATURE_MODBUS and use 0/1 state
      [Build] Rename USE_NON_STANDARD_24_TASKS to FEATURE_NON_STANDARD_24_TASKS and use 0/1 state
      [Build] Rename USES_PACKED_RAW_DATA to FEATURE_PACKED_RAW_DATA and use 0/1 state
      [Build] Rename USES_BLYNK to FEATURE_BLYNK and use 0/1 state
      [Build] Fix typo in USES_BLYNK to FEATURE_BLYNK
      [Build] Change FEATURE_ADC_VCC to use 1/0 instead of true/false, fix issues with test for FEATURE_ADC_VCC active
      [P037] Fix build errors on more/less limited builds, apply uncrustify improvements
      [P037] Fix typo
      [Build] Change FEATURE_REPORTING to use 1/0
      [Build] Change FEATURE_DNS_SERVER to use 1/0 state
      [Build] Correct a few FEATURE_flag checks

dependabot[bot] (6):
      Bump actions/github-script from 4 to 6
      Bump actions/setup-python from 2 to 4
      Bump actions/upload-artifact from 2 to 3
      Bump actions/cache from 2 to 3
      Bump actions/download-artifact from 2 to 3
      Bump actions/checkout from 2 to 3

fmuntean (9):
      Allow sysinfo_json page to be enabled separately from the new Web UI
      add support for: DEFAULT_MQTT_DELETE_OLDEST, DEFAULT_CONTROLLER_MUST_CHECK_REPLY flags
      renamed DEFAULT_MQTT_DELETE_OLDEST to DEFAULT_CONTROLLER_DELETE_OLDEST
      used addGpioHtml
      Feature Flagging FEATURE_ESPEASY_P2P the ESP EASY P2P custom protocol
      [Fix] rename to FEATURE_ESPEASY_P2P
      enabled when PLUGIN_BUILD_CUSTOM  is not set
      [FEATURE_ESPEASY_P2P] enable it by default if not defined
      [Fix] Notification Page to display GPIO

naveen (2):
      chore: Set permissions for GitHub actions
      chore: Included githubactions in the dependabot config


-------------------------------------------------
Changes in release mega-20220616 (since mega-20220427)
-------------------------------------------------

Release date: do 16 jun 2022 21:56:25 CEST

Bartłomiej Zimoń (8):
      [P2P] set default port to 8266, plus warn about port, partly fix for #3982
      [p2p] more defaults
      [p2p] warn about int number equals 0
      [p2p] update text plus check for port on rootpage
      [p2p] update text info
      [p2p] typo
      Update AdvancedConfigPage.cpp
      [p2p] typo of typo of typo

Boris Krivonog (2):
      Should resolve #3531 and #3158.
      Removed invalid (no longer working) url ...

Gijs Noorlander (2):
      [MQTT commands] Support commands with arbitrary argument position
      [MQTT commands] Fix parsing full command

Mateusz Skowroński (1):
      P031 - fix timing for SHT1X

TD-er (198):
      [Provisioning] Allow to fetch config via commands from HTTP server
      [Provisioning] Add factory default defines to ease deployment of nodes
      [Provisioning] Add documentation
      [Cleanup] Missing include in C013
      [Cleanup] Fix return value of gpio_mode_range_helper (real bug)
      [Cleanup] Uncrustify Commands/GPIO.cpp
      [ESP32] Update to IDF 4.4 Arduino-ESP32 2.0.1
      [ESP32] Allow building LittleFS builds on ESP32
      [Build] Fix case sensitive include
      [Windows Build] Convert IRremoteESP8266 to single cpp file
      [IR build] Fix build issue on IR plugins
      [WiFi ESP32] Disable WiFi TX power settings for ESP32 (IDF4.4)
      [ESP32 IDF4.4] Update to the latest Arduino ESP32 2.0.1.1
      [Webserver] Change chunked buffer size to 1360 bytes
      [Web UI] Small tweaks improving speed serving pages
      [Cleanup] Use .clear() on strings instead of assigning empty string
      [Webserver] Fix serving CSS
      [Web] Allow to stream from file system (e.g. CSS inline)
      [ESP32-S2] Add PlatformIO envs for ESP32-s2
      [IR] Cleanup check for redefine IR plugin USES
      Revert "[Windows Build] Convert IRremoteESP8266 to single cpp file"
      [Build] Fix build of ESP32 max LittleFS build on Windows
      [PIO] Simplify ESP32 env definitions.
      [PIO] Simplify WROVER kit envs and remove WROVER kit ETH builds
      [PIO] Add missing ESP32-S2 build envs
      [IDF4.4] Use Tasmota's IDF 4.4 platform-tasmota-espressif32
      [IDF4.4-v2.0.2] Now actually using the latest espressif/Arduino-esp32
      [LittleFS] Make sure to always define USE_LITTLEFS on LittleFS envs
      [PIO build ESP32] Attempt to fix boot loop on ESP32 with IDF4.4
      [Cleanup] Misc optimisations to reduce build size
      [LittleFS] Some cleanup to fix boot loops ESP32 IDF4.4 for 16M flash
      [IDF4.4 + 16M] Make normal builds with IDF4.4 work on 16M flash
      [IDF4.4 + 16M] Restore missing ESP32 builds
      [Cleanup] Make ESP32 PIO envs a bit more readable
      [Cleanup] Split ESP32S2 envs to separate ini file.
      [PIO build] Do not use commas in build_flags (Linux build fail)
      [PIO] fix incorrect esp32 IRExt envs
      [PIO] add labels to envs which wil later adjusted in extends
      [PIO] Use shorter extends chain for ESP32 max builds
      [PIO] Apparently when referring an env, the 'env:' prefix is needed
      [P096 eink] Fix  failing build
      [ESP32 LittleFS] Add old LittleFS library to lib_ignore
      [P118] Disable P118 ITHO for now as it crashes on IDF4.4
      [ESP32 Factory] Fix boot loop on 16M flash nodes using factory image
      [ESP32 factory] Use esptool.py to generate and patch combined binary
      [Build] Add missing esptool==3.2 in requirements.txt
      [ESP32 factory] Revert factory image script to not use esptool.py
      [ESP32 factory] Final fix using esptool.py by Jason2866
      [ESP32 factory] Change -factory.bin to .factory.bin
      [ESP32 factory] using the pio env to find esptool
      [ESP32 build] Restore ESP32 build for 16M1M (using SPIFFS) with Ethernet
      [Libs] Update adafruit/Adafruit BusIO @ ^1.10.0
      [ESP32 IDF4.4] Set CPU frequency to 240 MHz
      [ESP32 Max] Do not use "LIMIT_BUILD_SIZE" on Max builds
      [ESP32 PSRAM] Rename define ESP32_ENABLE_PSRAM to BOARD_HAS_PSRAM
      [Ethernet] Add selector for newer supported Ethernet chips
      [PSRAM] Fix 40 MHz signal on GPIO-17 using Tasmota PSRAM functions
      [Build] Fix build on ESP8266
      [Ethernet] Work-around for bug in IDF4.4 in ETH.linkUp()
      [Cleanup] Fix parameter mismatch floating point formatting String
      [ESP32 IDF4.4] Update to include latest merges
      [PSRAM] Fix incorrect log of found PSRAM
      [Eth] Show state of actual active network device in logs
      [Eth] Power cycle Ethernet device if power pin is defined
      [PWM] Fix PWM and status LED on ESP32 IDF4.4
      [Eth] Add option to autodetect Eth PHY address + documentation
      [ESP32-S2] Disable -flto on ESP32-S2
      Disable -flto on ESP32 due to linker errors.
      [Cleanup] Move defines from Commands/GPIO to DataStructs/PinMode.h
      [ESP32 IDF4.4] Move  to platform-espressif32 v2.0.2.1
      [Bugfix] Fix possible crash when printing floating point values
      [Cleanup] Fix define paths on .h files
      [Cleanup] Fix missing paths on #include statements + update I2Cdev lib
      [I2Cdev lib] Change `byte` to `uint8_t`
      [ESP32] Update to IDF 4.4 Arduino-ESP32 2.0.1
      [ESP32] Allow building LittleFS builds on ESP32
      [Build] Fix case sensitive include
      [Windows Build] Convert IRremoteESP8266 to single cpp file
      [IR build] Fix build issue on IR plugins
      [WiFi ESP32] Disable WiFi TX power settings for ESP32 (IDF4.4)
      [ESP32 IDF4.4] Update to the latest Arduino ESP32 2.0.1.1
      [Cleanup] Use .clear() on strings instead of assigning empty string
      [Web] Allow to stream from file system (e.g. CSS inline)
      [ESP32-S2] Add PlatformIO envs for ESP32-s2
      [IR] Cleanup check for redefine IR plugin USES
      Revert "[Windows Build] Convert IRremoteESP8266 to single cpp file"
      [Build] Fix build of ESP32 max LittleFS build on Windows
      [PIO] Simplify ESP32 env definitions.
      [PIO] Simplify WROVER kit envs and remove WROVER kit ETH builds
      [PIO] Add missing ESP32-S2 build envs
      [IDF4.4] Use Tasmota's IDF 4.4 platform-tasmota-espressif32
      [IDF4.4-v2.0.2] Now actually using the latest espressif/Arduino-esp32
      [LittleFS] Make sure to always define USE_LITTLEFS on LittleFS envs
      [PIO build ESP32] Attempt to fix boot loop on ESP32 with IDF4.4
      [Cleanup] Misc optimisations to reduce build size
      [LittleFS] Some cleanup to fix boot loops ESP32 IDF4.4 for 16M flash
      [IDF4.4 + 16M] Make normal builds with IDF4.4 work on 16M flash
      [IDF4.4 + 16M] Restore missing ESP32 builds
      [Cleanup] Make ESP32 PIO envs a bit more readable
      [Cleanup] Split ESP32S2 envs to separate ini file.
      [PIO build] Do not use commas in build_flags (Linux build fail)
      [PIO] fix incorrect esp32 IRExt envs
      [PIO] add labels to envs which wil later adjusted in extends
      [PIO] Use shorter extends chain for ESP32 max builds
      [PIO] Apparently when referring an env, the 'env:' prefix is needed
      [P096 eink] Fix  failing build
      [ESP32 LittleFS] Add old LittleFS library to lib_ignore
      [P118] Disable P118 ITHO for now as it crashes on IDF4.4
      [ESP32 Factory] Fix boot loop on 16M flash nodes using factory image
      [ESP32 factory] Use esptool.py to generate and patch combined binary
      [Build] Add missing esptool==3.2 in requirements.txt
      [ESP32 factory] Revert factory image script to not use esptool.py
      [ESP32 factory] Final fix using esptool.py by Jason2866
      [ESP32 factory] Change -factory.bin to .factory.bin
      [ESP32 factory] using the pio env to find esptool
      [ESP32 build] Restore ESP32 build for 16M1M (using SPIFFS) with Ethernet
      [Libs] Update adafruit/Adafruit BusIO @ ^1.10.0
      [ESP32 IDF4.4] Set CPU frequency to 240 MHz
      [ESP32 Max] Do not use "LIMIT_BUILD_SIZE" on Max builds
      [ESP32 PSRAM] Rename define ESP32_ENABLE_PSRAM to BOARD_HAS_PSRAM
      [Ethernet] Add selector for newer supported Ethernet chips
      [PSRAM] Fix 40 MHz signal on GPIO-17 using Tasmota PSRAM functions
      [Build] Fix build on ESP8266
      [Ethernet] Work-around for bug in IDF4.4 in ETH.linkUp()
      [Cleanup] Fix parameter mismatch floating point formatting String
      [ESP32 IDF4.4] Update to include latest merges
      [PSRAM] Fix incorrect log of found PSRAM
      [Eth] Show state of actual active network device in logs
      [Eth] Power cycle Ethernet device if power pin is defined
      [PWM] Fix PWM and status LED on ESP32 IDF4.4
      [Eth] Add option to autodetect Eth PHY address + documentation
      [ESP32-S2] Disable -flto on ESP32-S2
      Disable -flto on ESP32 due to linker errors.
      [Cleanup] Move defines from Commands/GPIO to DataStructs/PinMode.h
      [ESP32 IDF4.4] Move  to platform-espressif32 v2.0.2.1
      [Cleanup] Fix missing paths on #include statements + update I2Cdev lib
      [I2Cdev lib] Change `byte` to `uint8_t`
      [EDP32 IDF4.4] Fix merge issues
      [IDF 4.4] Update to platform-espressif32 v2.0.2.2
      Temporary revert move operator on RamTracker
      [MQTT commands] Add command via MQTT with variable parameters
      [IDF 4.4] Update to espressif/arduino-esp32 tag 2.0.3
      [WiFi] Prevent stack overflow when WiFi connection isn't successful
      [WiFi] Properly clear duplicates from WiFi scans
      [WiFi] Fix connecting to the strongest WiFi AP
      [Build] Add missing include in Servo.cpp
      [IDF 4.4] Update to platform-espressif32-2.0.3rc1
      Revert "[IDF 4.4] Update to platform-espressif32-2.0.3rc1"
      [Build] Fix build on display plugins using NodeMCU pin labels
      [MQTT] Reduce rate of MQTT reconnects when failing to reconnect
      [IDF 4.4] Update to latest platform espressif32 zip file
      [Web flash] Let user choose to erase flash or not upon flashing
      [Eth] Fix loosing DNS info when disabling WiFi after ETH got IP
      [ETH] Cleanup unused variable
      [Rules] Fix issues with rules one-liners (#4025)
      [ESP32] Fix PWM on IDF4.4
      [Docs] Fix formatting of C005 OpenHab MQTT documentation
      [MQTT Events] Allow receiving events + eventvalues via MQTT (C005)
      [Provisioning] Cleanup code to manage internal file names
      [Provisioning] Cleanup of no longer needed strings + use RULESETS_MAX
      [Misc] pre-merge small fixes from pending ESPEasy-NOW PR
      [Web] Cleanup code to show MAC address input field
      [MQTT events] Do not add '=' when no eventvalues present + dedup
      [WiFi] Revert accidentally reject SSID < 8 chars
      Access extra GPS values + document setLevel command
      [Tools page] Fix to keep original command instead of showing parsed one
      [ESP32] Update to platform-espressif32-v.2.0.3
      [PlatformIO] Revert to PlatformIO 5.2.5
      [PIO lib_deps] Set Adafruit ILI9341 library version
      [PIO] Make lib_deps multi-line definitions
      [PlatformIO] Change to multi-line lib_ignore
      [PlatformIO] Remove normal_ESP32_16M8M_LittleFS env.
      [PlatformIO] Clean up ini files.
      [PlatformIO] Update to PIO 6.0.1
      [PlatformIO] Clean requirements.txt files to only the essentials
      [PVS Studio] Fix a number of issues reported by PVS Studio (#4066)
      [Sysvars] Add various system variables to hardware info
      [System Variables] Clean-up parsing system variables
      [System Variables] Clean-up to reduce build size for sysvars parsing
      [Build] Fix warnings on unused enums in switch statements
      [Cleanup] Small optimizations to reduce bin size
      [Cleanup] Reduce loading controller settings when not ready to process
      [Cleanup] Add function addFormSelector_YesNo to remove code duplication
      [Cleanup] Reduce build size by combining controller queue types
      [Controller Queue] Add missing includes
      [PVS Studio] Fix some hints provided by PVS Studio
      [P073, PVS Studio] Fix bug in font handling for Siekoo display
      [Cleanup] Various PVS-Studio hints
      [Build] switch case does not (yet) exist in the 'mega' branch
      [PIO] Add build_flags to every intermediate PIO env.
      [PIO] Add lib_ignore to all 1M non-Custom builds
      [Build] Set lib_ignore for all ESP8266 Testing builds
      [Build] Remove test_X_alt_wifi_ESP8266_4M1M_VCC envs
      [MQTT command[ Fix unintended change of MQTT command syntax (#4093)
      [Build] Warnings when building with -Wswitch enabled on ESP32 (#4085)
      [Build] Fix warning of 0x99 not in 'esp_partition_subtype_t'
      [LoRaWAN TTN] Fix serial port selector on LoRaWAN TTN controller
      [ESPEasySerial] Update to 2.0.10

Ton Huisman (56):
      [P128] Migrate NeoPixelBuxFX from playground / djcysmic/NeopixelBusFX
      [P128] Fix ESP32 issues, add config for GPIO pin (only ESP32)
      [P128] Move all code & variables to Plugin_data_struct
      [P128] Initialization improvements, code optimizations
      [P128] Forgot some code-debug
      [P128] Code optimizations, review feedback
      [P128] Small UI fixes while writing documentation
      [P128] Add plugin documentation
      [P128] Add compile-time pixel-type selection #defines
      [Build] Add NeoPixel builds for ESP8266 4M and 1M, ESP32 and ESP32s2 with all NeoPixel plugins
      [Docs] Update documentation to reflect NeoPixel builds, and improved Display and Energy build labels
      [P128] Fix JSON assembly, some bugfixes and code improvements
      [P128] Log optimization
      [P133] Add plugin for LTR390 UV Sensor
      [P133] Add to TEST_E build configuration
      [P128] Doc: Bring command syntax in line with other commands by using commas
      [P128] Fix define clash with library method
      [P133] Add documentation
      [P132] New plugin INA3221 3 channel DC Voltage/Current
      [P132] Add separate Conversion rate setting for Voltage and Current
      [P132] Add documentation
      [P073] Correct endless loop in max7219_ShowTime
      [Build] Move ESP32s2 neopixel build to ESP32s2 pio config file
      [P022] Fix [taskname].gpio,all,n command
      [C002] Handle P029 and P088 as if enabled for this controller
      [Sysvars] Add %systm_hm_0%, %systm_hm_sp%, %systm_hm_am_0%, %systm_hm_am_sp%, %systime_am_0% and %systime_am_sp%
      [Sysvars] Update documentation
      [Build] Include Display plugin-set in ESP32 Display build
      [P007] Add Input mode selection, Enable Analog output, analogout command, updated documentation
      [P007] Fix typo
      [P128] Fix NEOPIXEL_ESP32[s2] build configurations
      [GPIO] Remove unwanted colon from GPIO log
      [P028] Add Error State Value option (BMx280)
      [P028] Minor UI correction
      [P028] Update/overhaul of documentation
      [P028] Set error value -1 for Humidity and Pressure
      [Core] Add support for Error State Values
      [Core UI] Add support for Error State Values
      [P028] Use core Error State Value support
      [P028] Update documentation for Error State Values
      [P028] Minor documentation corrections
      [P028] Reduce codesize
      [P020] Add option to process events without network client connected
      [P020] Fix and simplify saving settings on ESP8266 (was working on ESP32)
      [P020] Add option for processing multi-line messages
      [P020] Scrape off a few bytes from buildsize by disabling some debug messages
      [P020] Improvements for processing multi-line messages, optimize String handling
      [P020] Add some extra checks to avoid crashes because of optimized String handling
      [P020] Improved string parsing for multi-line support
      [Settings] Add PCONFIG_ULONG(n), union with PCONFIG_LONG(n)
      [Build] Restore TEST_E builds for ESP and ESP32s2
      [Fix] Complete implementation for changed addFormSelector() definition
      [P128] [Build] Fix pio config issue, revert NeoPixelBus library to previous version (C++17 compatibility errors)
      [P128] Optimizations
      [Settings] Replace long by int32_t for PCONFIG_LONG(n)
      [P128] [Build] Fix pio config issue missed earlier


-------------------------------------------------
Changes in release mega-20220427 (since mega-20220328)
-------------------------------------------------

Release date: wo 27 apr 2022 16:40:07 CEST

Blazej222 (1):
      Allow OTA attempt even when not enough space

Gijs Noorlander (2):
      [MQTT commands] Support commands with arbitrary argument position
      [MQTT commands] Fix parsing full command

Leonardo Rizzi (1):
      Update _controller_substitutions.repl

Peter Kretz (1):
      Check of x and y against height and width has to be done before

TD-er (49):
      [MQTT commands] Add command via MQTT with variable parameters
      [Build] Make sure to add fs:: namespace to  fs::File
      [Pip] Remove conflicting version limit on semantic-version
      [WiFi] Prevent stack overflow when WiFi connection isn't successful
      [WiFi] Properly clear duplicates from WiFi scans
      [WiFi] Fix connecting to the strongest WiFi AP
      [MQTT] Reduce rate of MQTT reconnects when failing to reconnect
      [Build] Disable test_X_beta_ESP8266 builds due to build size
      [Rules cache] Add handler for speeding up rules parsing
      [Rules] Let the RulesHelper parse line by line
      [Rules] Cache rules per line on ESP32
      [Rules] Only parse lines that need to be parsed
      [Rules] Nesting level does not matter to stop parsing rules file
      [WiFi] Rate limit checking WiFi.isConnected()
      [Rules] Small tweaks to speed up processing rules
      [Rules] Rate limit calls to background tasks
      [Rules] Minor tweaks to improve rules execution speed
      [Rules] Cache which rules lines start with "on " for ESP32
      [Rules] Fix missing include
      [Rules] Add caching to speed up rules processing
      [Rules] Fix build issue on ESP32
      [Rules] Fix build on ESP32
      [Rules] Fix missing include on ESP32
      [Rules] Improve speed processing rules + option to disable rules cache
      [PlatformIO] Update ESP32 PIO platform to 3.5.0
      [Rules] fix parsing events starting with " do"
      [Rules] Add %eventname% and %eventpar% to allow for simpler rules
      Rate limit the number of background task calls to improve speed
      [Timing Stats] Add process_system_event_queue() to the timing stats
      [Rules] Add setting to disable cached event reorder
      [Rules] Allow for more than 4 %eventvalueN%
      [Rules] Document using > 4 eventvalues + using string type eventvalues
      [Rules] Add %eventvalue0% to get all arguments at once.
      [Rules] Fix compiler warning compare signed/unsigned
      [Rules] Check for invalid %eventvalueN% occurences
      [Rules] Add documentation on %eventvalue0%
      [Rules] Allow for empty event values
      [Rules] Add option for default values on non-existing eventvalues
      [Rules] Add 'restrict' keyword to safely allow executing %eventvalueN%
      [Rules] Fix issue when processing eventvalue without default value
      [Rules] Update documentation regarding event values.
      Wrap eventvalues in quotes when needed for generated events
      [Fonts] Only include font data once in built bin file.
      Add Fixme for later reducing IRAM usage on font size struct
      [Cleanup] Remove duplicate code to wrap text in quotes
      [MQT import] Reduce memory usage, especially during load/save
      [Cleanup] Fix tricky PLUGIN_EXIT calls
      [MQTT Import] Unsubscribe from MQTT topics on exit
      [MQTT import] Add log when task cannot unsubscribe as others use it

Ton Huisman (247):
      [P037] Add mapping, filtering and json support - Mapping string to numeric/other string - Filtering to limit processed data - json support to process complex messages
      [P037] Fix build issues (missing include, testing size)
      [P037] Fix some bugs, add filtering with list, some code optimization
      [P037] Bugfixes, improvements, filter per Topic, re-org Device setup
      [P037] Some minor corrections
      [P037] Add documentation
      [P037] MQTT Topic match multi-level standards compliant
      [P037] MQTT Wildcard handling improvement
      [P037] Proceed with invalid numeric value as NaN
      [P037] Code cleanup and improvements, documentation improvements
      [P037] Actually store the NaN value if applicable
      [P037] Adjust for changed compare function
      [P037] Use proper double variables for comparisons
      [P037] Reduce String re-allocations and memory use
      [P037] Additional merge fixes
      [P037] Optimize string handling/passing
      [P037] Source formatting (uncrustify)
      [P037] Disable development logging
      [P037] Add conditional flag to force all features
      [P037] Merge changes for byte to uint8_t change
      [P037] Optimizations and some source reformatting
      [P116] ST7735/ST7789 TFT Plugin and AdafruitGFX helper
      [Build] Add ST7735 library to libdeps for ESP32
      [Build] Fix ST7735 library libdeps for ESP32
      [Build] Fix ST7735 library libdeps for ESP8266
      [Build] Fix ST7735 library libdeps for ESP8266
      [Build] Fix ST7735 library libdeps
      [Build] Fix ST7735 library libdeps
      [Build] Fix Adafruit_ST77xx library libdeps
      [AdaGFX helper] Only compile when used/needed
      [AdaGFX helper] Treat like an optional 'plugin'
      [AdaGFX helper] Fix for custom_ir build
      [AdaGFX helper] Add validation check (optional, if build size permits)
      [P116] Small code improvements
      [AdaGFX helper] Add debug logging to validation check
      [AdaGFX helper] Small improvements
      [P116] Textual changes, only generic type names shown
      [AdaGFX helper] Add color conversions, improved validation and compile-time defines
      [AdaGFX helper] Missed a file for compile-time defines
      [AdaGFX helper] Implement TextPrintMode, get cursor coordinates, fixes
      [P116] Use new features of AdafruitGFX_helper
      [P116] Reorder some device settings
      [P116] Add triggerCmd 'backlight,<percentage>' command
      [P116] Reorder more device settings
      [AdaGFX helper] Corrections and improvements
      [P116] Add default color settings
      [AdaGFX helper] Argument validation corrections
      [Docs] Fix small typo in tools.rst
      [P116] Add documentation, including AdafruitGFX_helper commands
      [AdaGFX helper] Fix a missing conditional compilation check
      [AdaGFX helper] Improve 'clear' command, add 'rot' command
      [P116] Refactor some generic functions to AdaGFX helper
      [AdaGFX helper] [P116] Fix: Restore intended transparent background feature
      [AdaGFX helper] Improvements for compatibility with P095 ILI9341
      [P095] Initial implementation of AdaGFX Helper, work in progress
      [AdaGFX helper] Moved more generic code here, improvements
      [P116] Less conditional compilation, improvements
      [P095] Complete overhaul w. AdaGFX Helper, settings like P116, Use PluginStructs for multi-instance, some work in progress
      [AdaGFX helper] Add/update unicode-char conversions
      [AdaGFX helper] Add/update unicode-char conv, add txz and asciitable commands
      [P116] [P095] Minor update for AdaGFX helper update
      [P116] Documentation corrections
      [AdaGFX helper] Bugfix,apply txp/txz compatibility correction
      [P095] Remove duplicate clear handler
      [P096] Initial implementation of AdaGFX Helper, work in progress
      [AdaGFX helper] Fix typos in unicode character conversions
      [AdaGFX helper] Enable subcmd proc. from template
      [AdaGFX helper] Change subcmd trigger, bugfixes [P095][P116] Allow longer template lines, always process subcmds
      [P095][P116] Improvements in template processing
      [AdaGFX helper] Improvements and corrections
      [P095] Re-order settings, minor improvements
      [P116] Re-order settings, minor improvements
      [P096] Complete overhaul w. AdaGFX Helper, settings like P116, Use PluginStructs for multi-instance, some work in progress [LOLIN_EPD] Update library to support extra devices
      [P037] Reformatted using Uncrustify, string & logging optimizations
      [P037] Fix filter input validation, use string.isEmpty() where possible
      [P037] Small source reformsatting
      [P037] Small improvements
      [P037] Restore required include
      [P037] Reduce info-logging somewhat
      [P037] Fix JSON filtering & resizing bugs
      [AdaGFX helper] Fix color parsing bug
      [P116] Explicitly initialize all ST7789 resolutions
      [P116] Add support for ST7789 240x135 resolution
      [AdaGFX helper] Rename color(depth) enum values
      [P096] Fix compiler warning on 'delete eInkScreen'
      [AdaGFX helper] Add setting for Fill text background
      [P116] Update documentation
      [P116] Simplify initialization
      [P095] Simplify initialization
      [P096] Simplify initialization
      [P095/P096/P116] No 'read' action if all Line fields empty, log Exit, optional splash text
      [P116] Swap resolution for 135x240 display
      [P096] Fixes to Lolin EPD library, fix bg color conversion
      [Lolin EPD lib] Fix class destructor issues
      [Lolin EPD lib] Fix class destructor issues
      [AdaGFX helper][P095][P096][P116] Fix many bugs (init, rotation, destructors)
      [AdaGFX helper] Don't remove trailing spaces
      [P116] Fix displaybutton handling (based on P036)
      [P095] Fix displaybutton handling (based on P036)
      [AdaGFX helper] Move settings to generic functions
      [AdaGFX helper] Fix row/col recalculation on rotation change
      [AdaGFX helper] Restore text-end trimming
      [AdaGFX helper] Add vert. font offset where needed, add 16pt font, include all fonts in MAX builds
      [AdaGFX helper] Fix font issues, add some fonts, remove 1 font
      [AdaGFX helper] Handle proportional font widths correctly
      [AdaGFX helper] Disable fonts used during debugging
      [AdaGFX helper] Bugfix monospaced fonts
      [AdaGFX helper] Fix for fonts with 0-width space
      [P037] Documentation improvements
      [P116] ifdef error fixed
      [Storage] Add optional offset argument to Load/SaveCustomTaskSettings functions
      [P037] Redesigned settings storage req. much less RAM, add topic prefix, bugfixes and improvements
      [P037] Reduce buildsize for DISPLAY builds
      [P037] Update documentation
      pP116] Add support for ST7796, change plugin description
      [P116] Updated documentation
      [P116] Fix typo in include name
      [P116] Fix a typo and removed unneeded comments
      [P037] Disable new features by default, enable all in Custom builds
      [P116] Move from DEVELOPMENT to TESTING, implement PLUGIN_GET_DISPLAY_PARAMETERS function
      [P095] Implement PLUGIN_GET_DISPLAY_PARAMETERS function, cleanup source
      [AdafruitGFX_Helper] Refactorings and minor extensions
      [P096] Implement PLUGIN_GET_DISPLAY_PARAMETERS function and AdafruitGFX_Helper refactoring
      [P095][P096][P116] Definition PLUGIN_GET_DISPLAY_PARAMETERS function
      [AdafruitGFX] Reduce buildsize a bit [P1116] Temporary disable P109 to fit ESP32 Display build
      [AdafruitGFX_helper] Add multi-line subcommand 'lm' for drawing a multi-segment line, incl. docs
      [AdafruitGFX] Add multi-line, relative, subcommand 'lmr' for drawing a multi-segment line, incl. docs
      [AdaGFX] Bugfix with Background fill for text option
      [AdaGFX] Add Color depth selector and generic command-trigger
      [P116] Fix documentation typo
      [P116] Add support for generic command-trigger
      [P095] Add support for generic command-trigger
      [P096] Add support for generic command-trigger
      [AdaGFX] Fix white color recognition for non-full-color colordepths
      [P096] Remove splash compile-time option, some source cleanup
      [AdaGFX] Correct bool argument definition
      [P096] Minor correction missing comma
      [AdaGFX] Correct DisplayTimeout setting not allow negative, and > 255 seconds
      [P116] Refactor displayOnOff
      [P095] Refactor displayOnOff
      [P037] Minor corrections, fix a typo
      [P127] CDM7160 I2C Co2 sensor plugin
      [P127] Add entry to Custom-sample.h
      [P038] Enable multi-instance use
      [P038] Fix initialization order
      [P127] Don't send data during initialization, change status to Testing
      [P127] Fix typo
      [P126] Add 74HC595 Shiftregisters plugin
      [P126] Move plugin to TEST_E set
      [P126] Apply feedback, fix bugs, add SHOW_VALUES and some commands, improve 74hcSetAll for setting multiple output pins
      [P126] Bugfixes, code optimization, hex values display in uppercase
      [P126] Bugfix for display range
      [Lib] ShiftRegister74HC595_NT: Add setSize() method, cleanup constructor
      [P126] Optionally restore State on warm boot, code improvements
      [P126] Add command 74hcSetChipCount for changing the number of active chips at runtime
      [P126] Correct Values display and event generation, disable Formula and Decimals, update Device parameters
      [P061] Enable multi-instance use
      [P061] Add support for PCF8575 16 bit IO expander (and in I2C scanner) [P061] Add support for MCP23017 Direct mode (16 buttons with common gnd) [P061] Add optional dev. logging during read, max. 1x /sec
      [P061] Disable PCF8575 support on LIMIT_BUILD_SIZE builds
      [P038] Resolve code duplications, other optimizations
      [P038] Also support RGBW for NeoPixelLine command (in addition to RGB)
      [P038] Initialize to 0
      [P076] Build: Restore plugin in POW builds
      [P126] Move log before next, unprocessed, argument
      [Docs] Update copyright year in documentation  footer
      [P126] Minor updates and corrections while writing documentation
      [P126] Add documentation
      [P127] Add documentation
      [Docs] Update copyright year in documentation footer
      [P127] Remove build info from screenshot
      [P126] Remove build info from screenshot
      [P038] Add documentation
      [P038] Resolve pin selection FIXME, adjust comments about RGBW support for NeoPixelLine command
      [P061] Add documentation
      [P061] Fix some comment typos
      [P126] Documentation improvements
      [P036] Bugfix: Enable the use of 4-line frames again
      [Build] Disable P109 from DISPLAY build because of build size issue
      [P036] Add linecount subcommand for changing lines per frame
      [P036] Update documentation for linecount subcommand
      [P036] Uncrustify & source reformatting
      [P036] - Some refactoring and code improvements [P036] - add setting to hide indicator (footer) [P036] - optimization of font selection
      [P036] Add Left-align option for content, code optimizations
      [P036] Update documentation for leftalign subcommand
      [P061] Fix merge
      [Build] Exclude Adafruit_ST77xx from new custom_beta_IR environment
      [P036] String allocation improvements
      [P038] Log and string optimization
      [P061] Log optimization
      [P127] Log optimization
      [P126] Log optimization
      [P037] Remove unused variable
      [P037] Log and string allocation impeovements
      [AdaGFX] Add Datalist support function, logging improvements
      [P116] Logging improvements
      [P095] Add data_struct destructor, logging improvements
      [P096] Small code- and logging- improvements
      [AdaGFX] Add destructor
      [P095] Destroy also gfxHelper in destructor
      [P116] Add destructor
      [P096] Add destructor
      [P116] Add destructor, also in .h file
      [P036] Change 8pt font (4-lines) for better readability, add extra font compile-time option
      [P036] String allocation improvements
      [P116] Rework destructor to act the same as plugin_exit handler
      [P036] Partially reverted previous changes, now tweaked for fitting in 4-lines display like in 2020 builds
      [P126] Rename command-prefix from 74hc to 74hc595, and update documentation
      [P126] Add output selection option, improve values display
      [P126] Update documentation
      [P126] Rename command to ShiftOut, and promote rest of command to second argument
      [P126] Update documentation using new command name
      [P117] Add Automatic Calibration option and commands
      [P117] Update documentation
      [P117] Add setting and commands for measurement interval. Also a bugfix for command scdsetfrc.
      [P117] Update documentation
      [P117] Code improvements replacing PCONFIG settings by define names
      [P117] Add extra warnings and notes about calibration to documentation
      [P126] Rename plugin title, update documentation other minor doc. improvements
      [P126] Always show formatted output, even when plugin is not active.
      [Docs] Add P121 to Plugin overview page
      [P022] Add fade duration argument to 'pcapwm' command
      [AdaGFX] Add support for display of bmp files, some minor improvements
      [P096] Add support for Waveshare 2in7 264x176 pixel monochrome ePaper display
      [P096] Correction to rotation calculation by kretzp for Waveshare 2.7"
      [P096] WS2in7: Prefix all compile-time defines, remove unused constructor
      [P027] Enable all possible chip addresses
      [P027] Uncrustify the source
      [P027] Put I2C address list in natural order
      [P027] Move I2C address documentation to appropriate place and remove unneeded defines
      [P022] Add minimal documentation (commands)
      [P037] Fix event generation bug, add event-limit options
      [P037] Only generate event MQTTImport#(dis)connected if plugin-task is enabled
      [P037] Enable all optional features in MAX builds
      [P037] Fix Linux compilation issue (tighter type-checks)
      [P037] Add option to replace value (special) characters by a comma
      [P037] Add option to replace value (special) characters by a comma
      [P037] Add option to replace value (special) characters by a comma
      [EventQueue] Optionally deduplicate event against current event list (case-sensitive)
      [P037] Use EventQueue deduplicate feature, case-sensitive
      [P037] Code optimizations, allow a few extra replace-characters
      [P037] Small UI adjustments
      [P037] Update documentation
      [P037] Improvements of documentation
      [Helpers] Enable unconditional quote-wrapping of a String value
      [Helpers] Refactor quote-wrapping of a String value
      [OTA] Add setting for allowing unrestricted (size) OTA update
      [Rules] Fix handling of %eventvalue0% without default value

blazej222 (1):
      Fix typo

stefan (2):
      [ESP32] pinMode() crashes ESP32 with PSRAM
      [ESP32] fix typo in comment


-------------------------------------------------
Changes in release mega-20220328 (since mega-20211224)
-------------------------------------------------

Release date: ma 28 mrt 2022  9:02:48 CEST

Leonardo Rizzi (1):
      Typo in comment of P074

Sven Briesen (1):
      Add docs for the lib

TD-er (189):
      [PWM motor] Add _P098_PWM_motor.ino
      [PWM motor] Minor tweaks
      [PWM Motor] Add proper debounce to limit switches
      [PWM motor] Move P098 to "testing A" due to iRAM usage
      [PWM Motor] Uncrustify
      [PWM Motor] Restore positions at boot & format GPIO overview
      [PWM Motor] Cleanup GPIO selection code
      [GPIO selection] Make conflicting pins more clear in the web interface
      [PWM Motor] Fix setting GPIO state when start/stop motor
      [PWM Motor] Temp disable interrupts when processing ISR
      [GPIO selection] Filter possible GPIO pins based on needed properties
      [PWM Motor] Fix crash on handling limit switch pulse
      [PWM Motor] Simplify processing debounce on limit switches
      [Core 3.0.0] Allow building using esp8266/Arduino core 3.0.0
      [Core 3.0.0] Rename deprecated ICACHE_RAM_ATTR to IRAM_ATTR
      [WiFi] Allow longer scan time per channel
      [Memory] Move controller queue elements to IRAM heap
      [Memory] Store event queue in IRAM 2nd heap
      [Memory] Move web log entries to IRAM 2nd heap
      [Memory] Fix crashes using IRAM 2nd heap
      [Memory] Do not switch heap from .ino or .h files.
      [memory] Store p2p Nodes information in 2nd heap
      [ESP32] Fix build issues
      [Memory] Fix build issues when using 2nd heap (PIO define issue)
      [Libs] Explicit define Adafruit BusIO library + version
      [Cleanup] Keep flash string when executing internal commands
      [Memory] Fix strange crashes due to not using correct heap
      [Memory] Switch to DRAM heap on every loop and when adding plugins
      [Reduce size] Add build flag to remove the 4-bytes alignment for PSTR()
      [Webserver]  Fix unneeded copy of object when serving data(#3693)
      [Mutex] Fix no longer using fishy assembly for ESP8266 mutex
      [PIO libs] Update Adafruit BusIO to 1.8.1
      [2nd heap] Make sure DRAM heap is selected when making [CN]Plugin calls
      [WiFi scan] Push scans to temp list first to store in 2nd heap
      [Framed OLED] Fix crashes when using 2nd heap
      [Numerical] Fix bug where "-" is considered numerical
      [Cleanup] Wrap strings in F()
      [Web UI] Update served static files
      [Memory] Fix crashes on serving flash strings with 2nd heap active
      [Memory] Core 3.0.0 = SDK3, Beta = staging + 2nd heap
      [PIO] Set build_unflags for all esp8266 build envs
      [WebUI] Allow slightly longer flash strings to be sent in a single chunk
      [PIO] Cleanup use of build_unflags
      [Memory] Fix web log buffer using 2nd heap
      [Memory] Store more runtime data in 2nd heap
      Move to esp8266/Arduino @ 3.0.1
      [Cleanup] Fix some possible uninitialised members & other loose ends
      [Cleanup] Fix bugs reported by PVS Studio
      [Memory] Fix reboot on 2nd heap sorting plugins
      [Cleanup] Fix return value in MQTT Publish command
      [Cleanup] Use of "byte" as a type. uint8_t or (C++17) std::byte are better
      [LoRaWAN] Fix crash when LoRa or serial could not be allocated
      [Libs] Don't use "byte" as type anymore
      [Cleanup] Don't use "byte" as type anymore (.ino files)
      Fix uninitialised members of RegExp
      [Memory] Allow to disable collecting timing stats to save RAM
      [Framed OLED] Reduce memory usage slightly.
      [ESP32] Fix merge issue
      Add custom_beta_IR_ESP8266_4M1M build env
      Fix build issue with updated Adafruit BusIO library
      [PIO] Fix merge issue
      [core 3.0.2] Update to esp8266/Arduino 3.0.2
      Let toString(UnaryOperator op) output FlashString
      [Core 3.0.x] Update all references to core_3_0_2
      [ser2net] Remove tricky temp char pointer use
      [Commands] Make sure commands are converted to String before executing
      [Logging] Don't use const char* as function argument
      [Framed OLED] Fix build issues with PLUGIN_036_DEBUG defined
      [Cleanup] Do not use const char* as function argument for URLEncode
      [SD log] Fix  merge issue on log to SD
      [Build] Add  -fno-strict-aliasing as build flag make builds more stable
      [PIO] adafruit/Adafruit BusIO @ ~1.9.0
      [PWM motor] Add plugin to "testing D"
      [PWM motor] Add encoder timeout
      [PWM motor] Add PWM soft start/stop
      [PWM motor] Add configurable duty cycle
      [Web UI] Update tasks with no configurable interval every 1 second
      [Web UI] Suggest reset flash write count command in error message
      [GCC] Use GCC 10.3 bugfix for ESP8266 core 3.0.2
      [Webserver] Change chunked buffer size to 1360 bytes
      [Web UI] Small tweaks improving speed serving pages
      [Webserver] Fix serving CSS
      [Web] Allow to stream from file system (e.g. CSS inline)
      [Webserver] Reduce resources when serving file from file system
      [Dashboard] Use less resources when serving dashboard.esp
      [Cleanup] Cache some more constant flash chip values
      [Cleanup Cleanup] Add missing include
      [Bugfix] Fix possible crash when printing floating point values
      [Cleanup] Remove some unneeded conversion to float P073 7DGT
      [ESP8266 v3.0.2] Update lib_deps
      [Cleanup] Fix missing paths on #include statements + update I2Cdev lib
      [Cleanup] Fix define paths on .h files
      [ESP8266 2nd Heap] Store log buffers in 2nd heap
      [2nd heap] Load webpage template and string load in 2nd heap
      [Cleanup] Improve readability for lowest memory usage
      [Cleanup] Fix merge issue, remove forward declaration duplicate
      [I2Cdev lib] Change `byte` to `uint8_t`
      [P016] Reduce memory usage during load/save
      [P016] Convert settings on the fly, using less memory
      [P016] Cleanup settings convert and save routine
      [P016] Make sure to always convert settings on load
      [P016] Uncrustify P016_data_struct
      [Task Save] Delete task data before saving when possible
      [Task Save] Make sure to explicitly PLUGIN_EXIT on saving settings
      [Web UI] Serve web template immediately to client (less RAM usage)
      [Web UI] Serve web template immediately to client (less RAM usage)
      [Web] Add missing include
      [usec timing] Use 64 bit variables when comparing usec timing
      [HCSR04] Remove loglevel depending timing showing useless log
      [Static files] Update link to CDN delivered content to latest build
      Do include degree symbol on limited build sizes
      [Cleanup] Serve 2 char flash strings as 2 chars on web pages
      [Cleanup] Fix signed/unsigned compare warning
      [Cache] Cache nr of task value decimals
      [SDK3.0] Disable normal_302_ESP8266_1M due to build size
      [SSDP] reduce memory usage on SSDP schema
      [Cleanup] Reduce bin size handling large switch statement
      [Cleanup] Reduce bin size on longTermTimer by implementing in .cpp
      [JSON] Improve speed serving JSON + make parsing numericals better
      [Cleanup] Slightly reduce bin size using chars instead of flash strings
      Revert caching nr decimals due to strange issues.
      [JSON] Remove some code duplication generating JSON
      [Cleanup] Replace some short flash strings with chars
      Keep "getDeviceIndex error in Device Vector" check
      [INO to CPP] Adapt __Plugin.ino to .h/.cpp
      [INO to CPP] Adapt __CPlugin.ino to .h/.cpp
      [INO to CPP] Rename Cnnn.ino to Cnnn.cpp
      [INO to CPP] Mark  ESP8266/ESP32 specific plugins in _Plugin_init.h/.cpp
      [INO to CPP] Adapt __NPlugin.ino to .h/.cpp
      [INO to CPP] Rename Nxxx.ino to .h/.cpp
      [INO to CPP] Fix missing forward declarations in C018.cpp
      [Build] Unflag -fexceptions and build flag -Os to reduce bin size
      [SendToHTTP] Add some checks for timeout to send to HTTP
      [2nd Heap] Disable using 2nd heap for non-String objects
      [Webserver] Fix "Templ: Unknown Var : content"
      [Low Mem] Add checks for successful String memory allocation
      [WebServer] Speed up serving pages and slight reduction of RAM usage
      [RAM Tracking] Disable detailed RAM tracking + make it a setting
      Fix build error WiFiClient doesn't have getTimeout()
      [CSV] Stream CSV directly to the client, not using RAM
      [Cleanup] Replace empty string assignment with .clear()
      [Cleanup] Write single char units as char instead of flash string
      [Cleanup] Do not generate temp strings that can be streamed to client
      [Cleanup] Use flash strings where needed or chars for single char string
      [Cleanup] Direct initialise selection options where possible
      [Cleanup] Misc cleanup to reduce build size
      [WiFi] No longer destruct and recreate WiFi object on init
      [Build Flag] Add -s flag on ESP8266 to explicit strip unused parts
      Fix build error on ESP32
      [WebServer] Do not use substring to serve larger strings
      [Cleanup] Change NULL to nullptr
      [Cleanup] Use F() macro where possible and less String conversions
      [WebServer] Tune to faster serving pages using less memory
      [Build] Fix build error after change to use flash string
      [RAM tracker] Not logging ram tracker when not enabled.
      [PLUGIN_READ] Do not call PLUGIN_READ when not enabled.
      [Webserver] Use move operator when possible to prevent copy strings
      [Webserver] Fix crashes on 1 heap setups with serving flash strings.
      [Cleanup] Uncrustify P118 ltho
      [P118 ltho] Fix some very basic const issues.
      Disable P118 Itho for 2nd heap builds to make it fit
      [Log] Prevent String copy when adding log
      [Log] Make sure to allocate 2nd heap when available
      [Log] Call addLogMove where log Strings can be moved instead of copied
      [Log] Fix cleaning up Web log buffers + buffer efficiency
      [Log] Fix freeing memory in the log struct.
      [Memory] Free allocated memory in Strings .clear() does not free it
      [Cleanup] Simple fixes to prevent String reallocation.
      [ESP8266 2nd heap]  Reduce nr of mem allocations and use 2nd heap
      [Sysinfo] Fix strange ESP Chip ID on sysinfo web page
      [Web UI] Serve web p[age template based on head or footer part of page
      [RAM tracker] fix potential multiple calls to std::move on the same str
      [Build] Make sure SDFS and LittleFS are not linked in the build
      Use FS_NO_GLOBALS only on esp8266/Arduino v3.0.x
      Fix build errors due to fwd declaration and typo
      [Build] Add missing #include <vector>
      [Build] Using PlatformIO Espressif32 v3.3.2
      [Build] ignore SD(esp8266), SDFS and LittleFS(esp8266) for 'normal'
      [Build] Update changed lib_ignore SD library name (from SD(esp8266) )
      [Build] Remove PlatformIO LDF deep+ mode
      [Build] Fix ESP32 build
      [Build] fix build issue using fs:: namespace
      [Build] Fix IR builds and ESP32 builds due to missing includes.
      [Build] Also include previous lib name SD(esp8266) for lib_ignore
      [Build] Make minimal IRext 1M build fit again
      [Build] Clean-up PlatformIO ESP32 build envs
      [PVS-Studio] Fix some tricky code noticed by PVS Studio
      [Notifiers] Fix NPlugins not showing up in build.
      [Webserver] Fix serving GZipped files

Ton Huisman (60):
      [P119] Add library for ITG3205
      [P119] Add ITG3205 to I2C scanner
      [P119] Improvements and fixes for ITG3205 library, source reformatted
      [P119] Add plugin for ITG3205 gyro sensor
      [P119] Fix ESP32 build issue
      [P119] Fix ESP32 build issue
      [P119] Improvements as suggested in feedback
      [P119] Eliminate unneeded variable
      [P119] Use intialized() function where possible
      [P120] ADXL345 Accelerometer basic plugin structure
      [P120] Add ADXL345 to I2CScanner
      [P120] Add Sparkfun ADXL345 library to enable secondary I2C address
      [P120] Sparkfun ADXL345 library source formatted (uncrustify)
      [P120] Sparkfun ADXL345 library add getDevID() (from github pull request)
      [P120] Sparkfun ADXL345 library add getDevID() (from github pull request)
      [P120] Sparkfun ADXL345 library add powerOff() (from github pull request)
      [P120] Sparkfun ADXL345 library fix compiler warning (cast)
      [Misc.cpp/h] Add get/set 3 and 3 bits from/to UL support functions, uncrustify Misc.cpp
      [P120] Add ADXL345 Accelerometer plugin
      [P119] Add to TESTING_C set, fix some compilation issues
      [P119] Add documentation
      [P119] Fix some missed replacements
      [P008] Wiegand bugfix for 32 bit or larger frames (casting issue)
      [P008] Wiegand bugfix for swapped GPIO mapping
      [P008] Add compatibility mode for swapped GPIOs, use 'ull' postfix instead of static_cast for uint64_t values
      [P008] Update documentation
      [P008] Update documentation
      [P119] Move from Development to Testing
      [P120] Add documentation
      [P120] Move from Development to Testing, some corrections
      [P120] Add to TEST_D builds
      [P120] Refactor to enable I2C and SPI implementation (in plugin P125)
      [P120] Fix some comment typos
      [P120] Disable SPI init in library, small code optimization
      [Build] Add TEST_E set of build configurations, update plugin doc and readme.md
      [P120] Move to TEST_E build, prepare for P125
      [P120] Minor documentation corrections
      [P125] Add ADXL345 SPI plugin, sharing most code with P120 I2C plugin
      [P125] Add documentation (also mostly shared with P120 I2C plugin)
      [P021] Fix config-save issue and some improvements
      [P021] Add documentation (partially migrated from the wiki)
      [P021] Add setting for saving during config change, update docs
      [P021] Updated changelog in source
      [P062] Add Panel sensitivity option
      [P062] Uncrustify source
      [P062] Add documentation
      [Build, MAX] Increase max. plugin count from 125 to 135
      [P073] Fix rounding errors on 7dt and 7ddt commands
      [Build] Move P119 ITG3205, P121 HMC5883 and P125 ADXL345 SPI to TEST_E set
      [P035] Enable multi-instance use for IR Transmit
      [P035] Review corrections
      [LIB] IRremoteESP8266 update to v2.8.1
      [P035] Correct struct init (also needs lib fix)
      [Build] Set LIMIT_BUILD_SIZE also for ESP32 on DISPLAY builds (and pre-IDF4.x) to fix build-size issue
      [Build] Enhanced condition
      [P035] Make some parts optional at compiletime to save a few bytes
      [Build] IRext 1M build: had to disable P088 Heatpump IR because of max. bin size
      [P022] Correct dot handling in command parsing
      [Formatting] Fix issue with unexpected leading space
      [P073] Code de-duplication and optimization

soif (4):
      keeps minified version of css file (to get the espeasy_default.min.css up to date)
      Separate generated variables by blank lines in data_h_temp (to ease copy/paste)
      Udate minifiers site URLs, as announced at https://html-minifier.com/
      CSS now use cssminifier (instead of html-minifier) and results in smaller minified CSS files

stefan (1):
      [ESP32] Add GPIO37/38 as input

svn2208 (11):
      Init commit. Add support for HMC5883
      ready to use commit
      Improve code, because of code review
      Improvements due to code review
      Usage of proper storage of a float conf value
      Remove debug statement; shotens float faction to 2
      Wrap Logentry in condition Add taskindex instead of hardcoded sensorid
      Extend DeclinationAngle to 5 decimal places.
      Simplify Logentry Add pluginsubpage to pluginpage.
      Change Inputvalue from Radian to Degree
      Change Category to position Change input to degree and add formula to convert to rand

svollebregt (1):
      [P118] Add documentation

uwekaditz (1):
      [P016] Accept decode_type_t::UNKNOWN as valid IR code


-------------------------------------------------
Changes in release mega-20211224 (since mega-20211105)
-------------------------------------------------

Release date: vr 24 dec 2021 14:20:43 CET

StefanNetzer (15):
      Update _P043_ClkOutput.ino
      add events
      added TDs recommendations
      cleanup
      resync to GitHub
      Update _P043_ClkOutput.ino
      added PLUGIN_VALUENAME2_043
      Update _P043_ClkOutput.ino
      Update _P043_ClkOutput.ino
      Update _P043_ClkOutput.ino
      added output data type
      replaced all by simple
      restored
      fixed link error
      using output value definition from  P004

TD-er (21):
      [Cleanup] Fix lots of missing delete calls to free memory
      [P095 ILI9341] Convert to use PluginDataStruct
      [P095 ILI9341] Renamed functions in P095 plugin
      [P096 E-ink] Convert to use PluginDataStruct
      [Build] Fix case sensitive mixup in include path
      [Build] Correct correct include path depth
      [P095 P096] Convert to use PluginDataStruct
      Revert changes to P095 and P096 Moved to PR #3835
      [ThermoOLED] Check for successful allocation of display object
      [Domoticz] Only incoming MQTT on tasks with controller linked (#3829)
      [GPS] Add power save commands (Ublox specific)
      [GPS] Add more U-blox specific features
      [GPS] For now, disable U-blox specific settings
      [GPS] Document GPS plugin
      [Password] Add clearPassword command
      [Doc] Add Notepad++ colourise ESPEasy Rules language
      [dashboard] Fix crash on parsing empty command {} (#3873)
      [dashboard] Fix parsing {} and leaving the braces when not a command
      GCC 10.3 Bugfix 1 - Constant literal address fix
      [ClearPassword] Fix typo in command
      [PIO] Restore default envs

Ton Huisman (25):
      [Docs] Add How To for starting development on ESPEasy
      [Docs] Add How To for starting development on ESPEasy
      [Docs] How To fix some typos
      [Docs] How To: fix some sphinx syntax issues
      [Docs] Development guide restrucured and extended
      [Docs] How To guide: textual improvements and additions
      [Docs] How To: Extend the text and some corrections
      [P111] Add virtual destructor to MFRC522 library to fix compiler warning
      [P053] Fix support for PMS5003T
      [P053] Remove unneeded #define, minor source formattings
      [Build] Enable Dummy device and Neopixel on ESP32 Custom (script)
      [P053] Leave out invalid event-values for PMS5003T
      [P124] Add plugin Output - I2C Multi Relay
      [P124] Add optional initialization 'protection'
      [P117] Add SCD30 CO2, humidity and temperature sensor
      [P117] Correct slash/backslash confusion/typo
      [P117] Add to TEST_D set
      [P117] Adjust ClockStrechLimit message
      [P117] Add documentation
      [P117] Fix compilation issue `error: narrowing conversion of '2415919104' from 'unsigned int' to 'int' [-Wnarrowing]`
      [P124] Add configurable I2C addresses, add relay state on exit [P114] Add VEML6075 to I2C scanner
      [P124] Add documentation
      [P124] Include in TEST_D build, aad missed documentation file
      [P016] Change plugin title Communication - IR Receive (TSOP4838)
      [P124] Add get command and looping that, fix a small settings bug

svollebregt (7):
      Adding Itho library to main reposity
      Revert "Adding Itho library to main reposity"
      [P118] Adding Itho plugin to main reposity""
      Update _P118_Itho.ino
      Update _P118_Itho.ino
      Further code improvements
      Remove noInterrupts() and Itho library improvements


-------------------------------------------------
Changes in release mega-20211105 (since mega-20211005)
-------------------------------------------------

Release date: vr  5 nov 2021 11:10:12 CET

Peter Kretz (4):
      [P103 AtlasEZO] Added Dissolved Oxygen Sensor DO
      Update platformio_esp32_envs.ini
      Update _P103_Atlas_EZO_pH_ORP_EC.ino
      Rename Plugin 103 : Atlas Scientific EZO pH ORP EC DO

TD-er (58):
      [P103] Perform manual merge of conflicting files
      [P103] Perform manual merge of P103...ino
      [PMSx003] Convert plugin into using multiple instances data_struct
      [PMSx003] Uncrustify .ino file
      [PMSx003] Cleanup naming of types and variables
      [ESP32] Revert to PlatformIO platform 3.3.0 to fix web login
      [PMSx003] Cleanup by turning sensor type into enum class
      [PMSx003] Add pin selection for PWR Set pin
      [Serial] Make serial selection more intuitive
      [PMSx003] Use defines when interpreting received data
      [PMSx003] Use enum class for event output selector
      [PMSx003] Add check for duplicate messages
      [PMSx003] Make output/event selector enums a bit more readable
      [PMSx003] Add commands for reset/sleep/wake + document them
      [Cleanup] Use PLUGIN_WEBFORM_SHOW_GPIO_DESCR to show all GPIO used
      [PMSx003] Add output selection for counted small particles 0.3 ... 2.5 u
      [PMSx003] Add explanation on particles measurement
      [PMSx003] Simplify event generation + update task value names
      [PMSx003] Update documentation
      [PMSx003] Ignore incompatible event out selections
      [ESPEasySerial] Fix issues on ESP32 with serial (restart serial)
      [ESPEasySerial] Fix issues on ESP32 with serial (restart serial)
      [PMSx003] Document new pmsx003,wake & pmsx003,wake commands
      [ESPEasySerial] Include v2.0.7 in the ESPEasy libs dir too
      [PMSx003] Add option to split counted data in bins
      [PMSx003] Add oversampling to average readings
      [PMSx003] Document new Data Processing features.
      [PMSx003] Add sensor init time option after wake up sensor
      [PMSx003] Add proper defaults when creating new task or loading old conf
      [PMSx003] Make 1M builds fit again
      [Cleanup] Remove PeriodicalScanWiFi
      [Cleanup] Fix compile warning and failed build on ESP8266 beta builds
      [ESP32] Update GPIO description docs & add event to get boot strap pins
      Reset former PeriodicalScanWiFi bit to 0
      [P046 Ventus] Fix UV only "binary" (#3073)
      [P046 Ventus] Minor cleanup of strange float casts
      [GPIO] Fix [Plugin#PCF#PinRange#x-y] (#3815)
      [Build] Fix build on Windows for ESP32 Max LittleFS builds
      [Build] Concat Globals .cpp files to help building in Windows
      Fix missing lib_debs
      [PVS Studio] Test using ESP32 max build + some suggested fixes
      [PVS Studio] Fix issues reported by PVS Studio
      [PVS Studio] Fix "dangerous" macros in IRremoteESP8266 library
      [Python] Update Python packages due to Sphinx build error on Python 3.10
      [PVS Studio] Fix some warnings made by PVS Studio.
      [Python] Update Python packages + missing Ubuntu packages
      [Build] Fix build fail due to warnings
      [Build] Fix CompiletimeDefines
      [Build] Fix quotes issue on compile time defines
      [Build] Cleanup of Compile time defines scripts
      [WiFi] Add note about minimal WPA key length
      [WebFlasher] Generate manifest.json file per build
      [Webflasher] Generate html page for web flasher
      [Build] Add option "esp8266" to be the same as "esp82xx"
      [build] Make sure Python requirements are installed
      [Webflasher] Add groups in selection combobox
      [Build] Include flash size on all PlatformIO envs
      [Webflasher] Do not create index.html during build

Ton Huisman (64):
      [P104] New plugin: MAX7219 dot matrix display
      [P104] Include plugin in Display builds
      [P104] Fixed zone initialization and brightness setup
      [P104] Code improvements
      [Helpers] Add helper getFormItemIntCustomArgName(int)
      [P104] Code improvements and optimizations
      [P104] Implement Clock and Date content, clear on plugin exit
      [P104] Use compiletime defines where appropriate
      [P104] Get settings defaults right
      [P104] Update MD_Parola library
      [P104] Implement PLUGIN_WRITE commands, add fonts, many improvements
      [P104] Fix issue with MD_Parola update
      [P104] Revert addition to MD_Parola made earlier
      [P104] Implement Repeat delay, add settxt command, edit active settings, update source doc, some source reorg.
      [P104] Format source
      [P104] Try to make build fit in ESP8266 display configuration
      [P104] Try to make build fit in ESP8266 display configuration
      [P104] Try to make build fit in ESP8266 display configuration
      [P104] Try to make build fit in ESP8266 display configuration
      [P104] Try to make build fit in ESP8266 display configuration
      [P104] Added time/date configuration options
      [P104] Adjust Custom-sample.h
      [P104] Add Bar-graph support and bar/setbar commands
      [P104] Add update command, bugfixes and improvements
      [P104] Implement 'direction' and 'barType' options for Bar-graph, many bugfixes
      [P104] Re-enble commands for 'display' build, many bugfixes
      [P104] Add Actions column, add Zone order, many bugfixes and improvements
      [P104] Bugfixes and minor improvements
      [P104] Bugfixes and improvements
      [P104] Allow up to 255 modules per zone.
      [P104] Limit settxt and setbar commands to max. input length
      [P104] Add 'p', comma and dash to num. double height font, some UI improvements
      [P104] Add documentation for Max7219 Dot matrix display
      [P104] Small optimizations, resolve some typos, documentation improvements
      [P104] Documentation - Add font overviews
      [P104] Bugfixes, add Text reverse option, update documentation
      [P104] Small improvements, check modules count on save
      [P104] Suggested small code optimizations
      [P104] Reformatted source (uncrustify needed an update)
      [P104] Fix compilation error after merge
      [P104] Code optimizations
      [P104] Bugfixes, optimizations and phase 1 of improvements
      [P104] Reworked saving and loading settings resolving stack issues
      [P104] Updates to documentation
      [Build] Apply LIMIT_BUILD_SIZE for ESP8266 Display build to fit in more plugins
      [P104] Reduce flashcounter on save, use LIMIT_BUILD_SIZE to fit in more features
      [P104] Simplify SPI pin display, small formatting changes (uncrustify)
      [P104] Add missing slash in numeric doubleheight font
      [P104] Update and improve documentation
      [P104] Code improvements and small optimizations
      [P104] Code improvements as suggested in reviews (nullptr checks, unneeded array, destructor, comparison)
      [P104] Minor improvements, memory handling
      [P104] Add Inverted option (dark on light), incl. docs
      [P073] Add 7output command
      [P073] Store via commands changes settings but not save them yet
      [P073] Reformat source (uncrustify and some manual adjustments)
      [Build] Re-enable IR plugins in custom_IR builds
      [Build] Enable IR plugins in MAX ESP32 builds
      [Build] Enable Blynk controller in MAX ESP32 builds
      [Docs] IR plugins are not in normal builds (for a long time)
      [Docs] IR plugins are not in normal builds (for a long time)
      [Docs] IR plugins are not in normal builds (for a long time)
      [Docs] IR plugins are not in normal builds (for a long time)
      [P119][P120] Register plugin IDs for ITG3205 and ADXL345

jimmys01 (2):
      [IR] Update IR library to the latest build
      Fix String ambiguous conversions in the lib


-------------------------------------------------
Changes in release mega-20211005 (since mega-20210802)
-------------------------------------------------

Release date: di  5 okt 2021 15:25:22 CEST

Boris Krivonog (5):
      Added support for operating and compressor frequency.
      Fixed json output.
      Fixed link to source, removed links to obsoleted urls, added simple changelog ...
      Make AC status additional info configurable.
      Make sure ESPeasy serial can be allocated if P093 data struct was allocated (embed it).

Max Prokhorov (1):
      [Build] Revert to platformio/toolchain-xtensa for the esp8266

Michael Schröder (1):
      P051 (AM2320) is TESTING not NORMAL

Plebs (3):
      Fixed #3736
      Updated plugin documentation
      patch for Safe Button and FHEM (#3739)

TD-er (92):
      [ESP32-S2] Add experimental support for ESP32-S2
      [ESP32-S2] Further make ESP32-S2 compile (no WiFi yet)
      [ESP32-S2] Add reset reasons
      [I2C] Add recovery to an I2C bus that hangs.
      [Cleanup] Uncrustify C014 Homie
      [Cleanup] C014 Log entries using F()
      [C014] Cleanup calls to CPlugin_014_sendMQTTdevice not using F()
      [C014] Cleanup calls to CPlugin_014_sendMQTTnode not using F()
      [ESP32-S2] Make it compile against esp32-2.0.0-pre
      [ESP32-S2] Add missing includes
      [ESP32-S2] Changed struct sizes for esp32-2.0.0-pre
      [ESP32-S2] Compute LogStruct size for new String size
      [ESP32-S2] Add GPIO definitions for ESP32-S2
      ESPEasySerial to 2.0.6 to support ESP32-S2
      [PIO] Force ESPEasySerial to update to @ 2.0.6
      [ESP32-S2] Fix build warnings + set ESPEasySerial lib to 2.0.6 for ESP32
      [ESP32-S2] Add touch pins to ESP32Touch plugin + check valid GPIO I2C
      [ESP32-S2] Use proper WiFi event ids for IDF > 3
      [Cleanup] Check for validGpio using new function
      [Cleanup] Include ESPEasyLimits.h where MAX_GPIO is used
      [TaskValueSet] Allow TaskValueSet on non-Dummy tasks (setting)
      [Hostname] Make generated hostname RFC952 compliant (#3723)
      [Cleanup] Use Arduino isDigit and isAlphaNumeric functions
      [Docs] Document  "Allow TaskValueSet on all plugins" checkbox
      [Formula] Use correct nr of decimals in formula (#3721)
      [Formula] Allow using standard conversions and task values in formula
      [Formula] Add more documentation for formulas + examples
      [docs] Fix wrong topic length in docs.
      [Cleanup] Replace single character flash strings
      Fix setting month + century bit RTC lib
      Add 'client' to http.begin call
      [Cache Controller] Allow to save sample time in local time
      [RTC lib] Makecentury bit unambiguous in C++ terms
      [Cache Controller] Update dump.htm to not check for valid timestamp
      [docs] Update Cache Controller docs to mention different time exports
      [Scheduler] Convert defines into SchedulerTimerType_e enum class
      [MQTT] Fix duplicate call task PLUGIN_READ at MQTT connect
      [Uncrustify] Scheduler.cpp/.h
      [Scheduler] Rename SchedulerTimerType_e to what it is calling
      [NTP] Use random interval for NTP sync interval
      [docs] Add documentation on on the time wander info
      [docs] Describe all fields on the sysinfo page.
      [Web Login] Fix file access with password set (#3759 )
      [Web UI] Fix handling rules switching
      [Web UI] Do not POST rules parameters to save memory
      [Dashboard] Do not check for loggedIn() on dashboard.esp
      Accidentally removed extra check in isLoggedIn()
      Fix missing include in ConfigPage.cpp
      [I2C] Use 8 bit for I2C address selection
      [Build] Add  -fno-strict-aliasing as build flag make builds more stable
      [Cleanup] Replace reinterpret_cast + fix compiler warning.
      [Casts] Change C-style (uint8_t*) casts into reinterpret_cast
      [Casts] Change C-style casts (int) and (float) into static_casts
      [Docs] Update README.md about newer build sets
      [Cleanup] Change some short strings to just a char.
      Add custom_ESP8266_2M256 PlatformIO build env
      [DMX512] Fix memory leak when exiting P054 DMX512 task
      [ESP32 ETH] Fix not getting DNS from DHCP at boot
      [ESP32] Switch to PlatformIO ESP32 core 3.3.2
      [ESP32-S2] Switch platform packages for ESP32s2 to improve build success
      [ESP32-s2] Suppress SDK info/debug logs on Serial0
      [ESP32-s2] Fix crash when scanning I2C bus
      [WiFi] Only set WiFi initialised when connected & got IP
      [WiFi] Clear IP config on disconnect
      [WiFi] Only set WiFi initialised when connected & got IP
      [WiFi] Only check WiFi connection timeouts if they are started.
      [WiFi] Try connect to hidden SSID without explicit BSSID + channel
      [ESP32] Force SDK log level to NONE
      [ESP32] Allow to compile using staging branch ESP32
      [Cleanup] Prevent float to double promotion
      [P013 sr04] Hangs on HI in state mode when NO_ECHO
      [Cleanup] Uncrustify _P013_HCSR04.ino
      [Blynk] Add ESP32 support for Blynk
      [Blynk] ESPEasy patched files Blynk lib 1.0.1
      [Blynk] Update to library v 1.0.1
      [Docs] Add note to rename the CSS file to esp.css
      [ESP32-S2] Use latest ESP32 core 2.0.0 + IDF4.4 + I2C fix
      [ESP32-S2] Mark ESP32-s2 and ESP32-c3 as ESPEasy platforms
      [PSRAM] Add preliminary support for PSRAM
      [ESP32 IDF4.x] Fix build issue with ESP32 IDF 4.x
      [P109 ThermOLED] Fix array bound error
      Fix build error on limited build size builds
      [Cleanup] Clean up of double includes + pio.ini description
      [NeoPixel] Update to latest Adafruit Neopixel library
      [Docs] Add some description of ESP82xx/ESP32/ESP32-S2
      [I2C] Fix switching low/high clock + fix PCF8563 ext. RTC
      [Cleanup] Get rid of global dummyString
      [I2C] Make clearing hung I2C bus optional
      [I2C] Do not run I2C tasks when bus is in error.
      [I2C] Clarify error on I2C scan
      [I2C] Only perform reset I2C bus during scan when enabled by user
      [I2C] Document the new feature to clear a stuck I2C bus.

Ton Huisman (95):
      [P065] Add mode and repeat commands From [a request in the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=4&t=8521) - mode,<0..3> to set playback mode: 0=Repeat, 1=Folder repeat, 2=Single repeat, 3=Random - repeat,<0/1> enable/disable repeat play 0=Off, 1=On
      [P065] Uncrustify and some minor source adjustments
      [P065] Reviewer corrections
      [P065] Minor optimization
      [P065] Add documentation (partly migrated from the wiki)
      [P065] Add commands to command reference
      [P065] Add commands to command reference (cleanup)
      [P016] Correct hex value conversions to unsigned
      [P016] Revert a few invalid comments
      [P016] Small optimizations
      [P016] Apply suggestions and some more optimizations
      [P016] Add type in logging, more optimizations
      [P016] hexToUL doesn't seem to work with a char array
      [P016] Fixed zero termination of char array
      [P016] Update changelog
      [StringConverter] Fix hexToUL to accept 0x prefix
      [P016] Add support for 64 bit IR codes, incl. settings conversion, update settings UI
      [P016] Small code optimizations
      [P016] Update library enum definition
      [P016] Disable debug log for BUILD_NO_DEBUG and some cleanup
      [P016] Revert BUILD_NO_DEBUG dependency
      [P016] Updated documentation
      [P016] Match UI with documentation :-)
      [P016] Update logging for memory analysis
      [Markup] Introduce delay(0) during addSelector_options for longer option lists
      [P016] Refactor using vectors instead of arrays, load/save settings in chunks
      [P016] Refactored settings conversion into constructor and other improvements
      [P016] Reformatted source (uncrustify)
      [P105] Move AHT10 plugin from PlayGround
      [P105] Check for other I2C devices and show warning on device settings
      [P105] Complete the documentation
      [P105] Update Custom-sample.h plugin comment
      [P105] Add AHT10 to I2C scanner
      [P105] Replaced code by the 'other' AHT plugin from Playground, updated documentation, some other doc. fixes
      [P105] Code improvements, based on feedback
      [P105] Update I2C Scanner to include AHT20/AHT21
      [P105] Small code improvement
      [P008] Add 'Alternative decoding' option
      [P008] Format code using Uncrustify
      [P008] Format code minor improvement
      [I2C Scanner] Show available device(s) for detected addresses
      [I2C Scanner] Fix typo (swapped lines)
      [P105] Small improvements
      [P007] Add easier I2C Address and port selection options
      [P007] Correct off-by-1 error for Port setting
      [P019] PCF8574 Add easier I2C Address and port selection options
      [P007] Add documentation
      [P019] Add documentation
      [P019] Avoid unneeded flash-string
      [P007] Avoid unneeded flash-string
      [I2C Scanner] Reworked to minimize use of Strings
      [P103] Moved I2C address setting to designed plugin event
      [P109] Moved I2C address setting to designed plugin event, cleanup to use macros where appropriate
      [I2C Scanner] Restore leaving most of feature out of OTA builds
      [P009] MCP23017 Add easier I2C Address and port selection options
      [P009] Add documentation
      [I2C Scanner] Show proper message if no I2C pins configured
      [P009] Correct off-by-1 error for Port setting (copy/paste error)
      [I2C Scanner] Adjust errormessage, refactor checks into isI2CEnabled()
      [P103] Remove unsupported devices from I2C selection list
      [P103] Fix silly typo :-(
      [P108] DDS238 Fix 2-complement values (#3662)
      [IRremoteESP8266] Update library to 2.7.19 (from 2.7.13)
      [P016] Fix memory allocation issues
      [IRremoteESP8266] Remove unneeded library files
      [P016] Remove unneeded #define, update change history
      [P108] Code improvements
      [I2C Scanner] Move refactored check into Settings struct
      [P065] Adjust documentation on mode command not always working as advertised
      [I2C Scanner] Also check I2C Low Speed (is used by scanner)
      [P007] PCF8591 Allow multiple output values in task
      [P007] Updated documentation
      [P009] Code optimizations, remove duplicate
      [RTClib] (Bugfix) Write month correctly to DS3231 (#3749)
      [P105] Fix I2Cscanner merge issue
      [P033] Dummy device - make Interval optional
      [P033] Remove default Interval
      [P033] Migrate documentation from Wiki and update
      [P008] Reverted previous mod. Changed to allow 26..64 bits receive format. Updated documentation
      [SPI][ESP32] User-defined GPIO pins for SCLK, MISO and MOSI
      [P007] Cast measured value to double instead of float, update docs with Slow I2C Clock requirement
      [SPI][ESP32] Use enum for SPI options
      [P105] Correct type error
      [SPI][ESP32] Refactor use of enum for SPI options
      [SPI][ESP32] Make SPI options explicit
      [SPI][ESP32] Small cleanup, remove unneeded includes
      [SPI][ESP32] Remove unneeded include
      [SPI][ESP32] Remove redundant 'default'
      [P019] Fix compilation error (type)
      [P009] Fix compilation error (type)
      [P007] Remove unneeded cast
      [PinSelect] Bugfix missing last GPIO in Touch and Hall Effect selector (ESP32)
      [P017] Add warning for I2C Clockstretching to documentation
      [ESP32S2] Only show CPU0 reboot reason on single-core ESP32 S2
      [I2C Scanner] Fix device descriptions for 0x38 and 0x39 addresses

immiimmi (9):
      p20 fixed for esp8266; the pin will be resetted only if requested in the menu
      P020 bigger buffer needed
      Update _P020_Ser2Net.ino
      Update _P020_Ser2Net.ino
      Update P020_data_struct.h
      Update P020_data_struct.cpp
      Update _P020_Ser2Net.ino
      Update _P020_Ser2Net.ino
      Update _P020_Ser2Net.ino

stefan (2):
      Exclude not needed parts for USES_MQTT and WEBSERVER_METRICS
      Cleanup webserver_metrics


-------------------------------------------------
Changes in release mega-20210802 (since mega-20210503)
-------------------------------------------------

Release date: ma  2 aug 2021 16:16:24 CEST

Christoph Kaiser (15):
      [P039] added support for RTD sensors to plugin P039; updated SPI handling of all sensors to optimize ROM usage
      [P039] place form selectors in separated scopes
      [P039] corrected first review findings
      [P039] further corrections rfom revews and initial documentation for P039 plugin
      [039] fixing multiple typos in P039.rst file
      [P039] fixing multiple typos in P039.rst file
      [P039] added taskname and taskVarName to the log entries in INFO log  file
      [P039] smallervfixes of diagnostic handling for thermocouples; added TODOs to not forget design changes
      [P039] migrated RTD functionality to use of TIMER API and state machine
      [P039] resolved review findings from TD-er, fixed static fault flag with data structure
      [P039] resolve issues with MAX6675 + MAX31855 and latest updates
      [P039] fixed typos and typecast issues, corrected MAX 31856 access
      [P039] fixed recent findings and added automated reload for device family and type selector in plugin parameters
      [P039] corrected log length reserve values and reworked fault logging
      [P039] enhanced logfile formatting,; update of documentation; enhanced Voltage Modes for MAX 31856

Joerg Heinemann (8):
      Add _P112_AS7265x.ino
      Add _P112_AS7265x
      Add SparkFun AS7265X library
      Change MeasurementMode
      Giving up - Running into a loop without sensor readings
      Handle Measurement Status
      Reduce plugin READ time
      Improved settings options

KimPanda4 (8):
      P003 New enhanced version 2.2  (PULSE Modes)
      introduce taskIndex_t instead of byte for taskID
      Updated P003 docu
      correction of reference in P003 command docu
      avoided nested switch, added overdue statistics
      Requested changes from today in P003
      Review corrections re. logging, commands, memspace
      Enhancd docu of commands. Mention TaskName option.

Lars Volker (1):
      Fix small typos in heatpumpir documentation (P088)

Maxim Prokhorov (5):
      ci: allow builds to fail
      ci: release single binaries .zip, merge all available build artifacts
      ci: try to ignore build workflow when releasing
      ci: bump python version for actions
      ci: build documentation for push & pr

Paul Berry (2):
      added prometheus exporter on /metrics path
      added prometheus exporter on /metrics path

Peter Kretz (38):
      Nextion available for ESP32
      Personal upload settings
      - Name Changed from ORP EZO to EZO ORP Configuration ofEZO pH now error tolerant. if you misconfigure a temperature correction, a temperature of 20° will be taken. More documentation about temperature correction for EZO pH as Note. Bug fix for pH calibration: if you stored a calibration for pH of e.g. 9.18 he restored 9 and you have to change it manually, now the value will be restored correctly
      now without monitor_filters = time
      now with Nextion Plugin P075
      com port settings
      colorize raus
      WebServerPort duplicate thrown away
      further merging
      further merging
      now fits to new changes
      [Atlas EZO]: Unified Plugin for pH, ORP and EC Sensors from Atlas via I2C
      Removed upload speed
      Added use of html functions
      removed speed
      Removed speed
      Fixed 0 terminated strings and substring issue
      ZEROTERMINATE, safe_strncpy , an 0 character handling as requested by review
      dtostrf
      my settings
      configuration stuff
      - rework in calibration --> streamline and reuse of duplicated code - show # of calibration points - possibility to clear calibration
      Probe Type for EC could be configurated, improvement of displaying calibration status and some minor improvements
      Debuggin Prupose Removed name = K now
      Update _P103_Atlas_EZO_pH_ORP_EC.ino
      empty line removed
      upload speed
      Update Custom-sample.h
      CUSTOM_EMERGENCY_FALLBACK_START_AP
      Custom Sample
      platformio
      Removed build error for Build error for ESP32 builds: byte board_type = UNKNOWN;
      Update platformio_esp32_envs.ini
      Update Custom-sample.h
      Update platformio_esp32_envs.ini
      Update platformio_esp82xx_envs.ini
      [Atlas EZO EC pH ORP] added device name to I2C address scan, reorganized plugin in Custom build
      Commented Atlas EZO Plugin in Custom sample

TD-er (195):
      [Playground] Move P168_ThermoOLED.ino to main repo
      Rename P107_ThermoOLED to P109
      [Controllers] Optimize memory usage by using std::move
      [Controller] Do not keep unitMessageCount as member when not needed
      Add move assignment to EventStruct
      [Events] Make sure events are not copied unless absolutely needed
      [Controllers] Implement move constructor to guarantee no copy is made
      [MQTT] Fix MQTT controller may not connect when re-enabled after a while
      [Memory] getMaxFreeBlock() should return valid value on ESP32
      [Network] Properly switch between ETH and WiFi
      [WiFi] Fix small issues showing WiFi state & abort WiFi connection process
      [WiFi] Show WiFi STA MAC in sysinfo when eth is active
      [Network] Allow fallback to WiFi when Ethernet not connected at boot
      [Oopsie] Need to hide in other commits, deny this ever was committed!
      [Cleanup] Remove unneeded std::move and copy/assignment constructors
      [Controller Queue] Remove unneeded constructors using =default and =delete
      Plugin 115 MAX1704x I2C, Sparkfun Fuel Gauge Sensor
      Add library to lib dir + PIO environments
      [P115] Restructure code + allow for multiple instances
      [MAX1704x] Add documentation
      [Build] Revert splitting lib_deps and lib_ignore to multi-line
      [P115] Fix missing #ifdef + register library in PIO
      [Locking] Add mutex to access map structures (#3623)
      [Docs] Fix some small documentation issues.
      [P115] Clean up documentation
      [MAX1704x] Add changerate for MAX17048/MAX17049
      Added MAX1704x comment line to Custom-sample.h
      MS5611 (GY-63) unrealistic values for <20C (#3626)
      [MAX1704x] Fix crash with device not yet initialised
      [Boot Cause] Make boot cause more clear + add %bootcause% for rules
      [Linux Build] Add some checks to prevent wiping ALL data on PC
      [Linux Build] Cleanup + document build script + add options
      [Linux Build] No longer use before_deploy from build_ESPeasy.sh
      [ESP32 RTC] Add RTC memory usage like on the ESP8266
      [Cache controller] Make Cache controller work on ESP32
      Disable left over RTC_STRUCT_DEBUG flag
      [P115] Cleanup code & add 4th variable name
      [P115] Fix nullptr de-reference crash
      [P115] Constrain threshold value to 1...32 & copy charge rate value
      [P115] Add work-around as detect of sensor not seems to work.
      [Git Build] Fix Git Build description on root page
      [LoRaWAN TTN] Fix controller not setting SF or FP & add ADR (#3630)
      [P115] Remove comment
      [P012 LCD] Fix use of USES_P012_POLISH_CHARS define
      [Cleanup] Move setup() from ESPEasy.ino to .h/.cpp file
      [Cleanup] Move ESPEasy loop() and backgroundtasks() to .h/.cpp
      [Cleanup] Uncrustify ESPEasy_loop(), _setup() and backgroundtasks()
      Fix missing include on SysInfoPage.cpp
      [Cleanup] Missing include in C013
      [Cleanup] Fix return value of gpio_mode_range_helper (real bug)
      [Cleanup] Uncrustify Commands/GPIO.cpp
      [Cleanup] Missing include in P016
      [Cleanup] Remove SI1145 from standard custom build, to make it fit
      [WiFi] Allow for unprocessed WiFi events to timeout
      [WiFi] Change unprocessed event timeout to 10 sec.
      [P012 LCD] Add custom defined Polish characters (#2669)
      [P012 LCD] Fix compile ambiguity & comment unused letter definitions
      [P012 LCD] Remove Polish "Wait..." print statement
      [WiFi AP] Add flag to prevent starting WiFi AP.
      Fix build errors + reword label to "Do Not Start AP"
      [Build] Fix build issues since ESPEasy.ino split
      [Build] Fix build issues Nxxx & P001-P080
      [Build] Fix build issues other files.
      [MQTT] Check MQTT status before sending
      [PubSubClient] Apply fixes related to crashes on connect to broker
      [MQTT] Fix MQTT controller not (re)connecting
      [WiFi] Fix issue where WiFi could not scan to reconnect
      [WiFi] Load known credentials right after loading settings
      [Cleanup] Fix warnings of some uninitialised variables.
      [Docs] Document %iswifi% system environment variable
      [Domoticz MQTT] Move JSON serialize/deserialize to helper .h/.cpp
      [Cleanup] Reduce build size handle internal commands macros
      [GPIO] Split duplicate code into shared function to reduce build size
      [Rules] Remove unused parameter & change event parameter to const
      [WiFi] Remove unneeded log connection status
      [Cleanup] Remove code duplication to reduce build size
      [Cleanup] Stream JSON from PROGMEM LabelType::Enum array to reduce size
      [Cleanup] Do not include DNS server in minimal OTA builds to reduce size
      [Cleanup] Reduce build size by keeping flash strings as flash string
      [Cleanup] Optimise streaming JSON
      [Cleanup] Add FlashStringHelper function wrappers to reduce build size
      [Cleanup] Add missing F() macro where applicable
      [Serial log] Small optimization to reduce build size + process logs
      [Cleanup] Add small optimisations to reduce build size
      [Cleanup] Change return type of static get string functions to flash string
      [Cleanup] Reduce build size of parseStandardConversions function
      [Cleanup] Reduce build size using flash strings in selectors
      [Cleanup] Fix build error due to missing change in commit.
      [Cleanup] Change return type of some commands to FlashString
      [Cleanup] Remove unneeded String() wrappers
      [Cleanup] Remove "new rules" from any build
      [Cleanup] Domoticz MQTT, generate own JSON, not using ArduinoJSON lib
      [Cleanup] Serialize JSON not using ArduinoJSON to reduce build size
      [Cleanup] Use EMPTY_STRING instead of F("") to reduce build size
      [Cleanup] Reduce build size for Factory Default device name
      [Cleanup] Fix build issue on Serial Proxy
      [Cleanup] Add more functions with flash string as parameter to reduce size
      [Cleanup] Add wrapper to web_server.arg() with flash string arg
      [Cleanup] Remove addLog macro and use separate functions per type
      Fix new introduced bug in htmlEscape function
      [DeviceModel] Change to enum class to allow compiler help check usage
      [P003 Pulse] Uncrustify _P003_Pulse.ino
      [Pulse] Split pulse handling into .h/.cpp & remove task index limit
      [P003_Pulse] Make pull-up configurable
      [WebServer] Optimize serving flash strings
      [WebServer] Speedup serving flash strings directly
      [WebServer] Speedup serving single char chunks + missing F-macros
      [P003 Pulse] Fix build error without pulse statistics enabled
      [P003 Pulse] Fix compile issue when plugin not included in build.
      [Log] Prevent generating logs if loglevel not enabled
      [SD] call SD.end() if not successful at begin()
      [WebServer] Small optimization in serving ints and small strings
      [WebServer] Reduce memory usage when streaming web template
      [WebServer] Balance speed vs. stability based on free memory
      Add DL-bus plugin to "Testing C"
      [DL-bus] Wrap logs in checks for active loglevel
      [Webserver] Fix build for ESP32 as WiFiClient.flush() cannot have timeout
      [Mem analysis] Log free memory  during setup phase
      [String] Change == "" into .isEmpty()
      [Strings] Change .length() == 0 into .isEmpty()
      [Strings] Change .length() != 0 into !...isEmpty()
      [Build] Fix SDFS & SD lib_ignore defines
      [CaptivePortal] Fix root page redirect when connected via LAN
      [GPIO Selection] Filter possible GPIO pins based on needed properties
      [Pulse counter] Fix values not being updated on Devices tab
      [ESP32] Fix PWM not cleared when changing pin mode (#3671)
      [Pulse] Fix copy/paste error in pulse counter plugin
      [Build] Update Python packages
      [Docs Build] Update to Sphinx 4.0.2
      [WiFi] Make sure to clear pending WiFi events on reconnect
      [Deep Sleep] Revert default deep sleep call & make it optional
      [WiFi] Clear WiFi events when turning off WiFi
      Add Mac_address object to simplify handling MAC addresses
      [WiFi] Only store last used AP in RTC when connection is stable
      [WiFi] Small flash string optimisation
      [WiFi] Handle slow connect to WiFi AP
      Add link to experimental web flash page
      [DeepSleep] Turn off WiFi before DeepSleep + limit max. deepsleep
      [WiFi] Make reconnect to last from RTC optional
      [Reduce size] Add build flag to remove the 4-bytes alignment for PSTR()
      [Webserver]  Fix unneeded copy of object when serving data(#3693)
      [WiFi] Allow longer scan time per channel
      [Cleanup] Keep flash string when executing internal commands
      [Numerical] Fix bug where "-" is considered numerical
      [Cleanup] Wrap strings in F()
      [Web UI] Update served static files
      [WebUI] Allow slightly longer flash strings to be sent in a single chunk
      [Cleanup] Fix some possible uninitialised members & other loose ends
      [Cleanup] Fix bugs reported by PVS Studio
      [Cleanup] Fix return value in MQTT Publish command
      [LoRaWAN] Fix crash when LoRa or serial could not be allocated
      Fix uninitialised members of RegExp
      [Memory] Allow to disable collecting timing stats to save RAM
      [Framed OLED] Reduce memory usage slightly.
      Fix merge issues
      Fix build issue on ESP32 (ETS_UART_INTR_DISABLE is ESP8266 only)
      [Mutex] Fix no longer using fishy assembly for ESP8266 mutex
      [Cleanup] Use of "byte" as a type. uint8_t or (C++17) std::byte are better
      [Libs] Don't use "byte" as type anymore
      [Cleanup] Don't use "byte" as type anymore (.ino files)
      [ESP32 3.3.0] Update to PlatformIO ESP32 3.3.0
      [Bug] EnableTimingStats DoNotStartAP used same bit
      [TinyGPS] TinyGPSCustom::valid was not initialized
      [WiFi] Fix scan issue, causing failed connections
      [WiFi] Fix WiFi need to connect flag not always set
      [WiFi] No need to disable interrupts when connecting WiFi
      [WiFi] Clear wifiConnectInProgress when prepare WiFi failed
      [Security Settings] Add alignment checks at compile time.
      [WiFi] Try to connect right after WiFi scan found known APs
      [WiFi] Fix build issue
      [Tooltips] Fix merge issues
      [DS1307] Add support for external RTC clock DS1307
      [Ext. RTC] Use Adafruit library to support DS1307/DS3231/PCF8523
      [RTClib] Add lib/Adafruit_RTClib
      [Build] Add TinyWireM to lib_ignore to prevent build issues.
      [RTClib] Remove TinyWireM from depends
      [Build] Lib_ignore TinyWireM for all envs
      [Build] Do not use PIO library finder for RTClib (TinyWireM issues)
      [Ext. RTC] Fix reading from RTC module
      [Ext. RTC] Show time source + I2C scan result
      [Ext. RTC] Fix some library bugs and add some validity checks
      Fix TSL2591 overflow at high Lux values
      [Ext.RTC] Make sure time is set immediately when received from ext. src
      [Ext. RTC] Document external RTC chip support
      [TimeSource] Move ExtTimeSource_e to TimeSource.h to fix includes
      [P109] Fix issue with SPIFFS vs LittleFS
      [P109] Uncrustify ThermoOLED plugin
      [P109] Remove it from "display" build due to build size
      [P109] Disabled also for "testing B" builds due to size.
      [Prometheus] Add text/plain as header
      [Custom build] Make external RTC optional via USE_EXT_RTC define
      Rename getDevicePluginID_from_TaskIndex to getPluginID_from_TaskIndex
      [Commands] Output proper feedback on command execution
      [Commands] Add feedback on other task commands
      [Commands] Don't use newline in JSON value

Ton Huisman (72):
      [P114] Move VEML6075 (P130) from PluginPlayground
      [P114] Move string log.reserve to first use of log
      [P114] More string log.reserve optimizations, initialize floats with f postfix
      [P114] Move plugin to correct category (UV)
      [P114] Add documentation
      [P012] Add Inversed option for display button
      [P012] Fix a compare-confusion
      [P012] Update documentation
      [P012] Fixed typo preventing new setting to be saved
      [P012] Documentation: improve 5V warning display and text
      [P012] Add commands to command reference
      [Build] Fix builds having USES_SSDP for missing include
      [Commands] Enable LogEntry to log for other level than INFO #3312
      [Command] Update LogEntry documentation, small code optimization
      [UI] Enable optional tooltip for most input controls
      [UI] Add tooltip option for a few more input controls
      [UI] Add conditional compilation to Tooltip feature
      [Build] Re-enable RTTTL in TESTING where it fits
      [Sysvars] Add %s_sunrise%, %m_sunrise%, %s_sunset% and %m_sunset% variables
      [Sysvars] Extend documentation for s_sunrise, m_sunrise, s_sunset and m_sunset
      [Build] Include all TESTING plugins even when using LIMIT_BUILD_SIZE
      [UI] Rename `title` argument to `tooltip`
      [UI] Fix manual merge typo
      [Build] Include Trigonometric functions also in 1M Normal builds
      [Doc] Correct function names for asin, acos, atan and friends
      [Build] Keep trigonometric stuff out of MINIMAL_OTA builds
      [UI] Correct manual merge error
      [P057] Add support for periods in display
      [P036] Add Generate Events option for Display and Contrast
      [P036] Eliminate a few unneeded variables, saving a little .bin size
      [P036] Add events for Frame and Line, reduce code size
      [P036] Make Frame & Line events optional, introduce #defines for flags
      [P036] Updated documentation (and a small textual improvement in the setting)
      [P068] Add temperature offset setting, with humidity compensation
      [P068] Use proper float-comparison functions
      [P068] Simplify float-comparison
      [UI] Add extra definition of addSelector() with tooltip support
      [P068] Reverse inverted calculation
      [P057] Improve dot display, code optimizations
      [P057] Add extra check to avoid reading past string length
      [Domoticz MQTT] Always wrap svalue with quotes
      [P053] Add support for PMS5003ST, PMS2003 and PMS3003
      [Sysvars] Add %dns1% and %dns2% sysvars and urlencode stringfunction
      [Sysvars] Correct typo in documentation
      [P053] Only generate events when Rules enabled
      [P053] Documentation (partly transplanted from the wiki)
      [P053] Add count of particles per 0.1L options to plugin, update documentation
      [P053] Correct unit terminology, improvements and fixes
      [P053] Update documentation
      [P053] Correct typos in the measurement units
      [UI] Show release date in header
      [P053] Limit disabling new features to 1M OTA builds
      [UI] Allow Build date/name in either Header or Footer
      [UI] Only show Build in footer
      [P053] Correct reading from PMS2003/PMS3003, minor improvements
      [ESP32] Fix maximum deepsleep time for ESP32
      [P053] Minor improvements
      [UI] Show build date in header, add build date to build filename in footer
      [UI] Build name/date is link to Github Releases page
      [UI] Open Releases link in new tab, show tooltip on hover
      [UI] Small source improvement
      [UI] Fix compiler warning
      [TaskValueSet] Only allowed for Dummy Device (bugfix)
      [UI] Move Github Releases link define to ESPEasyDefaults.h
      [TaskValueSet] Rename and move new support function to Plugin.h/cpp
      [TaskValueSet] Remove not needed include
      [P033] Return true on PLUGIN_INIT so TaskEnable returns OK
      [Task commands] Check if task enabled before action
      [PLUGIN_INIT] Fix remaining plugins missing the PLUGIN_INIT case
      [Commands] Fix camelcase typo
      [Commands] Change OK, FAILED and new error messages to uppercase
      [Commands] Revert Failed to original case

dependabot[bot] (1):
      Bump urllib3 from 1.25.10 to 1.26.5

kretzp (1):
      VCC flag removed

peter.kretz (1):
      Poolmeter

unknown (6):
      fix for building esp32 firmware from directory with space in name
      fixes from PR
      more PR fixes
      Added prometheus documentation
      Added ifdef, updated image name as per PR comments
      removed unused string definition


-------------------------------------------------
Changes in release mega-20210503 (since mega-20210223)
-------------------------------------------------

Release date: ma  3 mei 2021 10:58:06 CEST

Ament Martin (9):
      Patch to use the AP-Mode as daily driver
      Allow optional usage of Sensor without WIFI avaiable. When set you can use the Sensor in AP-Mode without beeing forced to /setup.
      First Version of ApDontForceSetup. Grouping Webserversettings in Advanced
      Typo fixed
      Missed a setting
      Patch to use the AP-Mode as daily driver
      Fixed missing setup for 404. And added some docu
      ResetAdvanced to branch-mega and implement Option  at ConfigPage
      Added missing setting

Bartłomiej Zimoń (4):
      add requested client event #3584
      [P20_Ser2Net] add task index to sendevent function
      Update _P020_Ser2Net.ino
      Update _P020_Ser2Net.ino

GravityRZ (1):
      Update GPIO.rst

Henri de Jong (3):
      Possible sagemcom fix
      Always max message size
      Don't create buffer bigger than maximum

Joerg Heinemann (2):
      Initial documentation for P050_TCS34725
      Initial documentation for P050_TCS34725

Maxim Prokhorov (13):
      Github actions instead of Travis
      make sure to fetch the tag message
      see if these work
      once again
      and again
      try wildcard
      fetch into local ref
      fix order
      order
      files
      more files
      more more
      build everything

Peter Kretz (1):
      Fix: [CUSTOM_EMERGENCY_FALLBACK_RESET_CREDENTIALS]

Plebs (18):
      wip for new expander commands
      wip new mcp commands
      WIP
      WIP
      WIP
      WIP
      WIP
      wip
      WIP
      WIP
      small changes
      fixing Travis
      code optimizations
      Moved PLUGIN_REQUEST to core
      Update GPIO.cpp
      added documentation
      Added documentation for [PLUGIN#MCP#PINRANGE#x-y]
      fixed typo

TD-er (106):
      Fix merge issues SendStatusOnlyIfNeeded
      [P020 Ser2Net] Serial port selection on ESP32
      Add MAX31856 support to P039_ThermoCouple
      [Docs] Fix some documentation inconsistencies
      [P020 Ser2Net] Restore serialsend command & add ser2netclientsend
      [Controller Queue] Add flag to allow messages to expire
      [Controller Queue] Add deduplicate check in controller queue
      [Controller Settings] Fix merge conflict with ESPEasy-NOW PR
      [Controller Queue] Fix initialization of expire timeout + improve dedup
      [ESP32] Handle more WiFi events (e.g. STA_LOST_IP)
      [WiFi] Process Station event Auth Changed
      [Controller] Debug log on remove duplicate queued message
      [GPIO] Fix warning of unused variable
      [Build] Remove HLW8012 from "energy" build
      [Energy build] Add P093 Mitsubishi Heat Pump
      [Cleanup] Remove ICACHE_RAM_ATTR on wifi event function
      [Build] LittleFS can only be built on 'beta' builds
      [Build] No longer ignore RN2xx3 library on Custom IR builds
      [Cleanup] Reduce IRAM usage in Dallas bit read/write code
      [Build] Fix normal_beta_ESP8266_16M_LittleFS build
      [Cleanup] Remove unneeded ICACHE_RAM_ATTR on DHCP timeout callback
      [Build] Remove P076 HLW8012 from "testing" builds due to build size
      [Build] Disable test_ESP8266_4M1M_VCC_MDNS_SD as it does not fit in IRAM
      [Build] Set normal_IRext_no_rx_ESP8266_4M2M to LIMIT_BUILD_SIZE
      [GPS] Fix running out of memory when no GPS data is received.
      Fix higher load introduced recently by variable WiFi TX power
      [GPS] Fix running out of memory when no GPS data is received.
      Fix higher load introduced recently by variable WiFi TX power
      [Scheduler] No need to call backgroundtasks() twice in the same loop
      [Build] Make sure PLUGIN_USES_SERIAL is defined for USES_P020
      [Build] Make test_ESP8266_4M1M build again
      [testing build] Remove 2 more "energy" plugins from "testing" build
      [WiFi] Make sure to reset WiFi if RSSI = +31
      [ESP32] Update to PIO espressif32@3.1.0
      [ESP32 ETH] Fix set config IPs to 0.0.0.0 when using DHCP + cleanup code
      [1M builds] Init config.dat file to 36k size
      [WiFi] Set max TX power always if forced in settings
      [WebPage] Allow for basic web page layout changes in custom build
      [WebPage] Add CSS styling to WiFi bar chart SVG
      [Custom.h] Add DEFAULT_SSID2 & DEFAULT_KEY2
      [WebPage] Allow to hide help buttons
      [WiFi] Fix unit not reconnecting to WiFi
      Fix build error in WebServer/404.cpp
      [Ethernet] Proper handling of network events + revert to WiFi
      [ESP32] Set to PIO espressif32@3.2.0 (#3564)
      [Deployment cconfig] Allow for deployment SSID and emergency fallback
      [Custom Build] Allow web UI customization in custom builds
      [WiFi Setup] Make WiFi setup more intuitive
      [WiFi Setup] Store WiFi scan results in WiFi_AP_CandidatesList
      [WiFi setup] Fix layout setup page
      [Webserver] Allow serving static files from SPIFFS when not logged in
      [WiFi] Reset WiFi if it changes channel without disconnecting
      [WiF] Prevent WiFi resets when not all events are processed.
      [WebServer] Do not alias index.htm and index.html to handle_root()
      [WiFi] Fix clear credentials on emergency fallback SSID
      [WiFi Setup] Add clear WiFi credentials button (for deployment)
      [WiFi Setup] Add "Include hidden SSID" as "advanced" setting bottom page
      [WiFi Setup] Increase click area for selecting scan result
      [Sysinfo] Show network services state on root- and setup page
      [WiFi Setup] Only scan on WiFi setup page if needed to prevent disconnect
      [WiFi] Decrease number of scans when AP is used, to make setup stable
      [WiFi Setup] Implement captive portal to automatically sign in
      [WiFi] Add periodical rescan option + reuse recent scans for reconnect
      [Setup page] Add rescan button to setup page
      [Build] Fix build issues when not using Custom.h
      [Docs] Document new added WiFi settings
      Fix Precision issues and initialisation of members in rules
      [WiFi] Feed SW watchdog timer on WiFi related actions that may take time
      [Custom build] Allow DEFAULT_WIFI_INCLUDE_HIDDEN_SSID in Custom.h
      [WiFi] Fix issue where WiFi does not reconnect after disconnect
      [Custom Build] Allow to embed custom CSS
      [Network] Disconnect WiFi when switching to Ethernet
      [WiFi] Allow faster reconnect on lost connection
      [ESPEasy-NOW] Reduce load when not connected to WiFi
      [WiFi] Fix merge issue
      [ESP32 ETH] Add default definition for wESP32 and WT32-ETH01
      [WiFi Setup] Hide password on Setup page ("*****")
      [Customize Build] Allow to disable Node List columns on root page
      [P020 Ser2Net] Re-apply connected event (#3587)
      [CUL Reader] Append timestamp to received messages
      [P039_Thermocouple] Uncrustify
      [P039 ThermoCouple] Cleanup code + allow multiple instances
      [VL53L0X] Include library description used by PIO
      [lib/VL53L0x] Move lib files to lib/VL53L0X/src dir
      [lib/VL53L1X] Include missing files from SparkFun_VL53L1X library
      [PIO build] Use full VL53L0X & VL53L1X names of the libraries in PIO
      [WebUI] Only redirect (used for captive portal) via AP or on clean setup
      [Low Memory] Add some checks on success of reserving memory
      [Low memory] Move strings when possible instead of copy them
      [UDP timeouts] Add timeout on DNS resolve + reset softWDT on UDP connect
      [Setup Page] Fix typo
      [WiFi] Actively purge expired WiFi scan results to free RAM
      [Root page] Allow again sending HTTP commands to reboot
      [CUL reader] Reduce memory usage on log + web stats
      [Memory Usage] Check success memory allocation string type value events
      [CUL Reader] Fix sending received message + timestamp
      Change delay(1) into delay(0) to reduce load
      [WiFi] Fix not able to reconnect if unit immediately disconnects
      [WiFi] Add copy constructor to WiFi_AP_Candidate class
      Fix PLUGIN_WRITE for P020 Set2Net
      [P020_Ser2Net] Fix sendConnectedEvent
      [BME680] Fix elevation compensation + add 2 conversion commands
      [ESP32] Revert back to Espressif32 PIO v 2.1.0 due to serial issues
      [TTN] Add decoders for plugins 102-113 + TTNv3 decoder (#3611)
      [TTNv3] Add selector for TTN stack version
      [TTN] Include all 6 values for P102 PZEM004Tv3

Ton Huisman (65):
      [Merge] Remove (again)
      [Task* commands] Some code cleanup
      [Task* commands] Code cleanup and some corrections
      [P110] Move P133 VL53L0X from PluginPlayground to main repository
      [P111] MFRC522 RFID reader moved from PluginPlayground
      [P111] Initialization corrections
      [P110] Add to Custom-sample.h
      [ESP32 MAX] Configuration for ESP32 with 16MB Flash
      [ESP32 MAX] Include in travis build
      [ESP32 MAX] Extend configurations with 2MB and 4MB SPIFFS, 4MB default
      [ESP32 MAX] Enable SD-card support (and fix compilation errors)
      [ESP32 MAX] Add configuration with 1MB SPIFFS
      [ESP32 MAX] Mixed up partitions fixed
      [ESP32 MAX] Switch to LittleFS, only 16M2M and 16M8M configs + ETH
      [ESP32 MAX] Fix build issue, case-sensitive filename
      [EPS32 MAX] Extend logging during configuration save
      [P110] Add extra logging with model-id on init-errors
      [P110] Add experimental support for VL53L1X
      [P110] Improve code readability
      [P111] Disabled Tag removal detection as this won't work properly
      [P111] Add documentation
      [Rules] Process all %vN% variables
      [ESP32_MAX] Add plugin P108 to ESP32 Max set
      [Rules] Calculate IF conditions before evaluation
      [Rules] balanceParentheses(): Always use String.reserve when changing string
      [Build] Display timestamp after copying files to build_output
      [ESP32 MAX] Add 16M1M config (SPIFFS), rename 2M/8M (LittleFS) configs
      [ESP32 MAX] Add ESP32_16M1M_ETH configuration, disable PS-RAM support
      [P113] Add VL53L1X Time of Flight sensor to ESPEasy
      [P113] Add VL53L1X to Custom-sample.h (disabled)
      [P113] Add Documentation
      [P110] Removed check for unsupported VL53L1X, added range to plugin description
      [P113] Add secondary address to I2C_Scanner
      [ESP32 MAX] Enable most plugins up to P125 (even when not in PR yet)
      [ESP32 MAX] Enable P109 now that it is in PR
      [ESP32 MAX] Clean up an obsolete comment
      [P113] Removed Interval optional setting, minor source cleanup
      [ESP32 MAX] Add ENERGY and DISPLAY plugin sets, remove EXPERIMENTAL set
      [Docs] Documentation updates and corrections
      [Docs] Correct a typo
      [Docs] Restore default doc. header for P050, some corrections
      [Docs] P050 Add missing Changelog section
      [P113] Add 'Trigger delta' option, updated documentation
      [P113] Apply uncrustify source formatting
      [JSON] Add extra variables to JSon output
      [JSON] Remove unneeded calls
      [JSON] Add more variables, Location, NTP, Uptime_MS
      [SysVars] Add %uptime_ms% System variable
      [SysVars] Update documentation
      [SysVars] Adjust documentation
      [JSON] Add setting for quoted bool values (default on)
      [JSON] Add documentation, initialize the setting during factory reset
      [JSON] Invert setting logic, adjust setting index
      [JSON] Fix merge typo
      [JSON] Rename methods and define, small optimization
      [ESP32] Add missing lib_deps dependency
      [Build] Split testing sets into 4 pieces
      [Build] Fix compilation error for MAX builds, missed 1 changed docs file
      [Build] Add P114 (preliminary) to test D set
      [Build] Disable dev build, update README.md and build documentation
      [Build] Remove dev build instead of commenting it out
      [Build] Remove reference to dev build from platformio.ini
      [Build] Actions: Also build ESP8285, WROOM02 and 'hard' environments
      [Build] Revert unneeded change to build.yml, add docs on use of Custom.h
      [Build] Exclude C016 and SD-card features on 1M units to fit custom builds

dependabot[bot] (4):
      Bump pygments from 2.6.1 to 2.7.4
      Bump jinja2 from 2.11.2 to 2.11.3
      Bump pyyaml from 5.3.1 to 5.4
      Bump bottle from 0.12.18 to 0.12.19

glsf91 (1):
      Added choice SH1106 controller to plugin 32

martament (1):
      Update SettingsStruct.cpp

sakinit (1):
      * Fixed rounding bug from issue 8 on breakout board.

tonhuisman (5):
      [TaskValueSet(AndRun)] Use TASKname and/or VARname instead of TASKnr/VARnr
      [TaskValueSet(AndRun)] Minor documentation fixes
      [Task* commands] Add support for TASKname/VARname in addition to TASKnr/VARnr + documentation
      [Documentation] Add TaskValueSetAndRun
      [Task* commands] Fix a few silly typos


-------------------------------------------------
Changes in release mega-20210223 (since mega-20210114)
-------------------------------------------------

Release date: di 23 feb 2021 12:08:25 CET

Henri de Jong (1):
      Increase buffer size

TD-er (43):
      Use max seen P1 message length to allocate buffer
      [cleanup] Mark "Bitwise:" log as debug log
      [ESP32 PIO] Update to espressif32@2.1.0
      [WiFi] Try to use the strongest known SSID after a scan. (#3463)
      [Build] Fix custom IR build #3469
      [WiFi] Simplify credentials manager
      [WiFi] Fix setup procedure
      [WiFi] Reduce TX power to 17.5 dBm and tune timings + fix mDNS start
      [mDNS ESP32] Fix build issue ESP32 (does not have MDNS.close())
      [WiFi] Allow to limit TX power and make TX power dynamic
      [WiFi] Cleanup code + add settings transition for new parameters
      [WiFi] Make sending at max TX power optional
      [Pulse] Pulse Counter P003 enhancement
      [WiFi] Introduce 2 seconds delay at boot before starting WiFi
      [WiFi] Set sleep mode after switching wifi mode
      [WiFi] Fix build issues on ESP32 (different sleep mode function)
      [WiFi] Change log level of TX power to debug
      [Rules] Fix bug in time parsing (leading 0)
      [Rules] Make parsing numerical a bit more robust
      [Rules] Fix complex time matching
      [Time] Fix tm_mon starting at 0 and tm_year at 1900
      [Time] Cleanup time calculation code
      Rename default variable names in P084 VEML6070 UV
      [Cron] Fix cron resolution + value updates
      Move to UserVar struct to have universal conversion of task variable types
      [P003 Pulse] Revert changes (See #3500)
      Revert "[Rules] Make parsing numerical a bit more robust"
      [PIO] Update to espressif8266@2.6.3
      [PWM] Set PHASE_LOCKED_WAVEFORM for new esp8266/Arduino core
      [WiFi] Fix crash when trying to reconnect while low on memory
      [PIO] Only update tmp files when changed to reduce build time
      safe_strncpy should not crash on FlashStringHelper strings
      [WiFi] Fix WiFi AP candidate from RTC causing crash
      [WiFi] Fix crash when deleting element from empty list
      [WD reboot] Change yield() into delay(0) for network connections
      [Cleanup] Uncrustify Networking.cpp
      [ESPEasy p2p] Add check on buffer allocation  received UDP data
      [MQTT] PubSubClient checks when callback + publish happen simultaneous
      [MQTT] Fix rejecting QoS=0 messages with 0 or 1 byte length
      [ESPEasy p2p] Fix WD reboots due to not initialising array
      [Cleanup] Explicit init UserVar with 0.0f
      [WiFi] Fix bogus RTC settings loaded to connect to WiFi
      [WiFi] Allow spaces in SSID and pass phrase

Ton Huisman (26):
      [P050] Additional output settings - Add Color Temperature DN40 calculation - Add Lux calculation - Add Clear output option - Add Normalized RGB calculation
      [P050] Add Normalized sRGB calculation
      [P050] Apply suggested patches to the Adafruit library
      [P050] Minor calculation adjustment, added to TESTING build
      [P050] Adjusted Normalization calculation, added R/G/B Calibration factors
      [P073] Improve display of periods in 7dtext Add 7ddt command (dual temnperatures on Max7219 display)
      [P073] Periods in 7dtext also for TM1637 display
      [P050] Removed unneeded output selection option
      [P037] Options for hide degrees symbol, right align temperature
      [P073] Options currently only applicable for MAX7219
      [P050] Added 3x3 matrix calibration, added opt. event for all values, adjusted device settings
      [P050] Fix missing include
      [P050] Add extra transformation options, fixed a typo
      [P050] Rename Calibration to Transformation, added optional events for RGB values
      [P017] Add options for tag reset, delay and reset event
      [P017] Added documentation explaining the new settings
      [P008] Fix typo in minimal reset timer check
      [P073] Bugfix for 7ddt command being leftshifted by 1
      [P073] Add fonts Siekoo/dSEG7, scrolling text and 7dbin command
      [P073] Optimizations and bugfixes, extra text scroll option
      [P073] Initialization optimizations
      [P073] Optimizations and minor code cleanup
      [Documentation] Update copyright year to 2021
      [P073] Clear scroll text when setting 7dbin data
      [P073] Add documentation
      [P073] Fixed TM1637 mapping bug, moved log to DEBUG level, some source cleanup

sakinit (1):
      Clear error by reading the error register loglevel independent

stefan (4):
      P003 Pulse Microseconds
      P003 µSec backward compatibility
      P003 use micros64()
      P003 use getMicros64() function


-------------------------------------------------
Changes in release mega-20210114 (since mega-20201227)
-------------------------------------------------

Release date: do 14 jan 2021 23:00:32 CET

Gijs Noorlander (3):
      [Floats] Use proper compare functions to compare float values
      [PVS-Studio] Add braces to some defines to make them more predictable
      [PVS-Studio] Simple hints from PVS-Studio applied

TD-er (59):
      Fix merge issue as Misc.ino was moved
      Small optimization changing char arrays to char
      Fix merge issues
      Fix missing include for CacheControllerPages
      [Rules] Add operators to convert integer values
      [Docs] Document the effects of external hosted CSS/JS files
      Add ABS function
      [Rules] Add trigonometric functions
      [Rules] Use bitwise operators only on unsigned ints
      Fix build warning
      [Rules] Change order parameters bitwrite
      [Rules] Increase accuracy in Calculate and variables from float to double
      Include P090 CCS811 in the builds again
      Increase accuracy in rules computation by using more decimals
      [Rules] Improve calculation resolution and compares.
      [Build] Reduce build size of OTA builds including new rules operators
      [Build] Move PMSx003 to 'normal' builds
      [Cleanup] Wrap <div> markup in a separate function
      [Cleanup] Reduce build size by replacing addHtml(String(....)) to addHtmlInt
      Restore accidentally removed "Note:" prefix for notes
      [Rules] Parse hex numbers when prefixed with 0x (uint only)
      [Cleanup] Remove String construction with = "";
      [Rules] Allow HEX values in formula, rules, etc.
      [Rules] Change '!' + '=' into '<' + '>' to avoid conflict with '^'
      [Rules] Disable math functions for now to make them more intuitive
      [Serial] Only parse commands from serial when no task uses Serial0
      [PIO] Fix building 'beta' builds toolchain update
      Fix build  issue after merging other PRs
      [Rules] Add support for binary numbers with 0b prefix
      [Rules] Remove limit of nr. of variables
      [Rules] Improve readability of Rules Calculate function
      [Rules] Wrap rules calculation functions in a struct + cleanup
      [Rules] Fix out of bound crash with calculate ending with '=' + cleanup
      [Rules] Add preliminary support for math functions like sqrt, sin, etc.
      [Cleanup] Change typo trimTrailingZeros
      [Rules] Add missing functions (sin/cos etc)
      [Rules] Fix typo on limited size builds
      [Rules] Fix order of parsing "arc" functions
      [Rules] use parseString on string operation commands
      [Rules] Add some basic math functions + documentation
      [MQTT] Fix status update over MQTT for internal commands
      [MQTT] Also strip %valname% in topic if task index is invalid
      [MQTT] Small optimizations in parsing publish topics
      [Rules] Add option to each task to combine all values in a single event
      [MQTT] Fix remove of '//' in topic
      [Rules] Add hint about changed event when combining all event values
      [Cleanup] Uncrustify changed files of this PR
      [Cleanup] Fix issues compile caused by uncrustify
      [Minimal OTA] Make minimal OTA build fit again
      Fix build issue on ESP32
      Accidentally removed C013 from the minimal OTA build
      [JSON] Fix a bug in generated JSON, not wrapping '00' as a string
      [Build] Reduce build size for minimal OTA builds
      [Logs] Format task values in logs with set nr of decimals
      [Cleanup] Fix MDNS builds on ESP32 and reduce minimal OTA build size
      [ESP32] Fix build issue due to missing include
      [Build] ESP32 factory bin files are 64k larger so don't reject those
      [Build] Rename test_ESP32_4M316k_lolin_d32_pro to match build script checks
      [ESP32] Increase DEVICES_MAX for ESP32 builds (> 85 plugins in build)

Ton Huisman (8):
      [P023] Fix merge conflict
      [Commands] Improvements, refactoring and added feature of [<TaskNumber>]. prefix
      [Docs] Updated for [<TaskNumber>]. prefix
      [Checks] Don't allow numeric (float) device name
      [TaskName] Define is no longer available
      [P090] Re-enable plugin for TESTING  build
      [P008] Wiegand add options for Tag removal
      [P073] Display a zero-prefix for temperatures between 0.9 and -0.9

tonhuisman (5):
      [Commands] Add global `[<TaskName>].` prefix for all PLUGIN_WRITE commands
      [Commands] Remove local taskname-prefix impl., exclude P022
      [Commands] Remove requirement for [ and ] on <TaskName>. prefix
      [Commands] Improve documentation on [<TaskName>]. prefixing
      [Commands] Add extra safeguard check for DeviceIndex


-------------------------------------------------
Changes in release mega-20201227 (since mega-20201130)
-------------------------------------------------

Release date: zo 27 dec 2020 11:18:00 CET

CurlyMoo (4):
      Support for Shelly 1 temp. addon
      Added documentation
      Small typo in documentation
      Small comment about potential serial port conflicts

Joerg Heinemann (1):
      Add copyrights and permission notices

TD-er (91):
      [Cleanup] Wemos motor shield, reduce resources used.
      [docs] Minor Sphinx warnings fixed.
      [Playground] Move BME680 from playground
      [Cleanup] Uncrustify P106 BME680
      Make sure notifications (Email/Buzzer) are included in 1M normal build
      [IRTX] Use parse argument functions for IR TX command arguments
      [NeoClock] Fix building P070 NeoPixelClock
      [PVS-Studio] Allow testing IR builds for coding errors
      [IRTX] Convert more commands to use parse string functions
      Fix missing defines to allow "Periodical send Gratuitous ARP"
      [Cleanup] PluginStructs/*.cpp include prepend PluginStrucs dir
      [PIO] Concatenate .cpp files to prevent linking errors
      [PIO] Concat *.cpp files in ControllerQueue/ and PluginStructs/
      [PIO] Add Commands/*.cpp to the files to be concatenated in single .cpp
      Fix build error in Linux build environment
      [PIO] Separate appended .cpp files with newline
      [PIO] Concatenate all WebServer/*.cpp files into temp file.
      [PIO] Make sure library includes are present in .cpp
      [MQTT] Prevent high CPU load when not connected to MQTT broker (#3410)
      [Web UI] Proper encoding for HTML attribute values
      [Cleanup] Uncrustify of web page code
      [MQTT import] Share MQTT client with active MQTT controller
      [Dallas] Fix P100 DS2423 counter plugin matching new changes.
      [MQTT import] Fix missing return statement
      [Dallas] Fix P100 DS2423 counter plugin matching new changes.
      [NeoClock] Fix building P070 NeoPixelClock
      [PVS-Studio] Allow testing IR builds for coding errors
      Make sure notifications (Email/Buzzer) are included in 1M normal build
      Fix missing defines to allow "Periodical send Gratuitous ARP"
      [Cleanup] PluginStructs/*.cpp include prepend PluginStrucs dir
      [PIO] Concatenate .cpp files to prevent linking errors
      [PIO] Concat *.cpp files in ControllerQueue/ and PluginStructs/
      [PIO] Add Commands/*.cpp to the files to be concatenated in single .cpp
      Fix build error in Linux build environment
      [Cleanup] Wemos motor shield, reduce resources used.
      [docs] Minor Sphinx warnings fixed.
      [PIO] Separate appended .cpp files with newline
      [PIO] Concatenate all WebServer/*.cpp files into temp file.
      [PIO] Make sure library includes are present in .cpp
      [IRTX] Use parse argument functions for IR TX command arguments
      [IRTX] Convert more commands to use parse string functions
      [Web UI] Proper encoding for HTML attribute values
      [Cleanup] Uncrustify of web page code
      [MQTT import] Only process incoming messages if topic matches and enabled
      Fix %isntp% and %ismqttimp% states + MQTTimport connected events
      Remove ICACHE_RAM_ATTR from LongTermTimer and move to .h only
      [Webserver] Don't use temp variables for webserver arguments
      Exclude special characters from system variable page in minimal builds
      [WebServer] Do not include custom page on minimal OTA builds
      Reduce build size by wrapping all parameters for internal commands
      [ESP32] Remove warning for GPIO-15 to use PNP transistor on ESP32
      [Custom build] Reduce Custom build size
      [Deep Sleep] Make wake from deep sleep more reliable
      [Playground] Plugin-107: SI1145 - UV index / IR / visible (#3426)
      [Docs] Document Domoticz authethication via SendToHTTP
      Fix build issues P107
      [Cleanup] Use PCONFIG macros where possible
      [Domoticz MQTT] Reduce memory usage when sending message
      Use small stack allocated Json objects when processing web command
      [BME680] Make address config uniform for all I2C plugins
      [Cleanup] Rename I2C address label to reduce build size
      [BME680] Use the selected I2C address
      Delete _Custom.h
      [Travis] Disable test_alt_wifi_ESP8266_4M1M_VCC in CI builds
      [Typo] Fix 'succesful' typo
      Fix init check on P106 BME680
      [BME680] Force reinit after change settings
      [P107: SI1145] initialise sensor and stop sensor at each reading
      [P107_Si1145] Rename default value names and plugin name
      [BME680] Add to I2C scanner
      [Flashing] Include Espressif Download Tool in our repository
      [Docs] Document flashing, especially ESP32
      [Docs] Add stubs for not yet documented plugins
      Add XPT2046 touchscreen to Custom-sample.h
      Include Notifiers on hardware specific builds
      [Cleanup] Exclude unused code to reduce build size
      [Cleanup] Reduce build size by using CDN for CSS and JS
      [Cleanup] Reduce build size by using iterators for globalMapPortStatus
      Fix build issue for P019 (missing brace)
      Rename toasting,js to toasting.js
      [Cleanup] Reduce build size of WebPages
      [Cleanup] Disable "New Rules" on Limit build size builds
      Remove _custom.h
      Rename plugin ID to P108 because of ID conflict with pending PR
      [Doc] Add documentation stubs for P108 DDS238-x
      [PIO] Add "display" and "energy" build collections
      [Dallas] Fix Dallas sensor not being read if optional pin unset
      [EmonCMS]  Allow sending 4 values per task (#3438)
      [EmonCMS] Fix build issue
      [Controller Queue] Optimize C004, C009 and C017
      [PWM] Fix fade down (#3434)

Ton Huisman (14):
      [P099] Touch XPT2046 new plugin - Adds Touch support for XPT2046 (often combined with ILI9341 TFT) - Space for up to 40 user defined touchobjects by name - Allows several types of events, X/Y, X/Y/X, objectname [TaskName#ObjectName] - Calibration to map to screen coordinates (optional)
      [P099] Code improvements - Avoid using unicode in source - Less scope braces - Memory optimizations - Improve data struct definition - Pointer initializations - Cleanup on `PLUGIN_EXIT`
      [P099] Cut off x/y coordinate outside calibration
      [P099] Documentation for TouchScreen - Device configuration - Setup calibration - Define TouchObjects
      [Docs] Add Touch plugin category - [P099] Improvements and corrections - [P095] Adjust documententation title (remove XPT2046)
      [P099] Events only fired when Rules enabled Show note in Device settings page if Rules disabled Add USES_P099 to `define_plugin_sets.h` (disabled)
      [P099] Fixed an issue in x/y scaling function
      [P099] Add On/Off button to touchobjects - Add On/Off button and Inverted settings per touchobject - Updated documentation and screenshots
      [P099] Settings page to show when task is disabled
      [P099] Adjust #include to new structure, enable plugin in test build
      [P099] Improve string allocation, add options, source formatting - Source formatting and String allocation using reserve() for longer strings - Add option and command for flipping the rotation setting - Improved rotation setting to conform to ILI9341 setting - Add option for setting the debounce delay for On/Off buttons
      [P099] Add updated file
      [P099] Fix casting and rounding in calculations
      Adjust #include path to fix build

denisfrench (4):
      Add #includes required since PR #3139
      Update to work with recent builds, lifted from P085
      Copy in _P103_DDS238.ino
      Move P224 in from Playground as P103

jimmys01 (1):
      Update the IR library

josemariaaraujo (1):
      Plugin for DDS238 Energy Meters

juliokele (1):
      [P069] Fixed LM75A logging

uwekaditz (23):
      [P036] Support for 128x32 display
      Files for [P092] replaced with original ones from mega
      [P092] Reduce memory usage when plugin not used PR #3248
      [P016] Improvement: a received IR code can be saved and a command can be assigned to it
      Undo changes for PR #3323 in this branch OLED_P036
      ressouce-saving string calculation
      not using the _ prefix anymore, use reserve() for long log strings
      Update P036_data_struct.h
      BUG: #endif missing in P092_data_struct.h
      Copy and Paste error
      integrate the changes of PR #3345 (created by pez3)
      [P092] P092_data->init() is always done if P092_init == false
      Update _P036_FrameOLED.ino
      Update P092_data_struct.cpp
      [P036] PinMode in Web interface adjustable (even InputPullDown if available)
      [P092] PinMode in Web interface adjustable (even InputPullDown if available)
      wrong comment sign
      [P092] Documentation for UVR61-3 (v8.3 or higher) added
      Delete P092_data_struct.cpp
      Delete P092_data_struct.h
      Changes requested by TDer
      Update P092_DLbus.ino from mega
      Changes requested by TD-er


-------------------------------------------------
Changes in release mega-20201130 (since mega-20201125)
-------------------------------------------------

Release date: ma 30 nov 2020  0:18:16 CET

TD-er (13):
      [Cleanup] Reduce build size LIMIT_BUILD_SIZE builds
      [RTTTL] Fix check argument count for RTTTL command (#3391)
      Check nr. task value decimals = 0, when decimals cannot be set (#3396)
      [Build Size] Exclude typical debug logs from minimal builds
      [GPIO] Echo the GPIO command line if parameters are invalid
      [GPIO] Only log errors when using positive GPIO
      [GPIO] Add proper valid GPIO pin check to all GPIO commands
      [Servo] Fix build issue due to missing include
      [Cleanup] Do not execute invalid command from Domoticz MQTT helper
      [Storage] Check if file exists before writing to it
      Check range of set output device values
      BUILD_NO_DEBUG should be enabled for Normal builds
      Update build_ESPeasy.sh


-------------------------------------------------
Changes in release mega-20201125 (since mega-20201102)
-------------------------------------------------

Release date: wo 25 nov 2020  9:59:22 CET

TD-er (50):
      [Build IR] Do not exclude IR lib on Custom build
      Add custom_IR_ESP8266_4M1M PIO environment
      [Playground] Move P251 PZEM 004T-v30 from Playground to main repo
      Uncrustify [P102] PZEM004Tv3
      [P102] Cleanup serial config
      [ESP32][Mini Dashboard] Not working (#3356)
      [GPS] Fix 1024 week roll over on old GPS modules
      [PVS-Studio] Fix able to build PVS-Studio test builds
      [GPS] Process full sentence sooner after receiving line
      [PVS-Studio] Fix suggestions made by PVS-studio
      [PVS-Studio] Fix suggestions made by PVS-Sturdio (pt 2)
      [Events] Trigger new events TaskInit#taskname and TaskExit#taskname
      [I2C] Update I2C clock based on frequency, not in low/high speed mode
      [command] Trim spaces from commands given via web interface Tools page
      [RN2483] Properly format LoRaWAN controller credentials on web UI
      [Dallas] Fix timings for multiple tasks running Dallas sensors
      [Dallas] Move redundant code from P004, P080 and P100 to a Dallas helper
      [Dallas] Cleanup P004 DS18b20 plugin code
      [Dallas] Reschedule at normal interval to prevent drift caused by reading
      [Dallas] Improve timings to comply with datasheet timings
      [Dallas] Fix build issue on ESP32
      [Docs] Make the P004 Dallas documentation a bit more informative
      [Dallas] Support multiple temp sensors in 1 task for simultaneous reads
      [Dallas] Add statistics + speed up reading
      [Cleanup] Rename _CPlugin_SensorTypeHelper.h to _Plugin_SensorTypeHelper.h
      [Cleanup] Load default var names when changing nr output values
      [LoRaWAN] C018 Reduce memory usage when controller not used
      [Cleanup] Save resources by moving static strings to flash
      [GPS] Read all data available in the serial buffer
      [Dallas] Document + update TTN decoder
      Fix build issue on ESP32
      Include all Dallas plugins in the Custom builds
      [Servo] Add normal build for ESP32 including servo support
      [Servo] Fix lib_ignore for all ESP82xx builds to ignore ServoESP32
      [EmonCMS] Fix copy/paste bug (#3377)
      Standardise command execution via web interface (#3374)
      [PWM] Move PWM command to internal + add support for ESP32 PWM frequency
      [Servo] Fix interoperability between PWM command and servo on ESP32
      [PWM] Use central GPIO manager functions for all analogWrite calls
      [PWM] Fix stability issues on ESP32 regarding PWM
      [Tone] Move command 'tone' from switch plugin to be an internal command
      [RTTTL] Move RTTTL command from switch to be an internal command
      [TLS2561] Use floats instead of double to reduce build size
      [MS5611] Use bit shift instead of pow calculations
      [Servo] Move Servo command from switch to internal command
      [Docs] Document WiFi ECO mode
      [Cleanup] Fix small left-over issues related to GPIO/Servo handling
      [Build] Remove some more plugins for limited size builds
      [ESP32] Make sure calls to open files have leading / on ESP32
      [Encoder] Update output immediately after "encwrite"

Ton Huisman (6):
      [P062 Touch] Add sensitivity configuration - Add global sensitivity setting - Add sensitivity setting per touchobject - Add calibration data gathering and display
      [P062 touch] Some code improvements
      [P062 Touch] Fix calibration log
      [P062] Another calibration log fix
      [Conversions] Add unitnr to IP address conversion - Uses UDP Network member list to lookup the IP address - Inspired by a [forum question](https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=8066)
      Add argument for result on unknown IP: - 0 = default `(IP unset)` - 1 = empty string - 2 = `0`

fcauwe (1):
      [P056] Fixed bug when SDS sensor is not reporting

uwekaditz (7):
      Improvement: a received IR code can be saved and a command can be assigned to it
      ressouce-saving string calculation, Inhibit time between executing the same command, automatic adding of new IR codes is disabled after boot up
      [P016] reduce memory usage when plugin not used
      not using the _ prefix anymore, use reserve() for long log strings
      BUG: Wrong EventValueSource for ExecuteCommand_all()
      [CHG] #include "../../ESPEasy_common.h" after #ifdef USES_P016
      Update platformio_esp32_envs.ini


-------------------------------------------------
Changes in release mega-20201102 (since mega-20201022)
-------------------------------------------------

Release date: ma  2 nov 2020 12:59:12 CET

TD-er (41):
      [Webserver] Move WebServer_xxx.ino to src/WebServer/...cpp
      [WebServer] Add .h files for moved WebServer_xxx.ino
      [Cleanup] Move Controller.ino and ESPEasyRules.ino to .cpp/.h
      [Cleanup] Move ESPEasy_Log.ino and Serial.ino to .cpp/.h
      [Cleanup] Strip almost all from ESPEasy_fdwdecl.h
      [Build] Disable Settings Archive on limit build size builds.
      [Build] Fix build issues reported by Travis
      [Build] Some extra build issues with specific custom builds
      [Cleanup] Convert StringProvider.ino to .cpp/.h
      [Cleanup] Convert ESPEasyStatistics.ino to .cpp/.h
      [Cleanup] Convert LoRa TTN .ino  to .cpp/.h
      [Cleanup] Convert Modbus.ino to .cpp/.h
      [Cleanup]  strip ESPEasy-Globals.h + check #include "ESPEasy_common.h"
      [Build] Fix missing include for VCC builds
      [Cleanup] Move enum/define only files to DataTypes & CustomBuild folder
      [Cleanup] Move _CPluginHelper to src/Helpers/ folder
      [Cleanup] Rename src/WebServer/WebServer_*  to  src/WebServer/*
      [Cleanup] Move WiFi/Ethernet code to ESPEasyCore directory
      [Cleanup] Make sure _Plugin_Helper.h is included before #ifdef USES_xxx
      [Cleanup] Make sure _Plugin_Helper.h is included before #ifdef USES_xxx (2)
      Fix dependency in SDM Energy Meter library
      Fix missing rename of ser/WebServer/WebServer_ includes
      Fix merge issues after GPIO PR merged
      [Cleanup] Move ESPeasyGPIO.ino to ESPEasyCore/ESPEasyGPIO.cpp/.h
      Fix missing include in C005
      Don't call PLUGIN_WRITE on inactive tasks (#3317)
      Fix GPIO command from dashboard.esp broken
      [WiFi] Move global ESPEasy WiFi runtime data to single struct
      [Build IR] Do not exclude IR lib on Custom build
      Add custom_IR_ESP8266_4M1M PIO environment
      [Servo] Log error when servo command is used while servo not in build
      [WiFi] Move WiFi state logic to WiFiEventData struct
      [WiFi] Fix recursive calls to WiFiConnected() + limit reconnect rate
      [WiFi] Fix build issue for _VCC builds
      [MQTT] Fix gpio command sent from MQTT (#3344)
      [MQTT] Fix command handling for PiDome MQTT
      [Task command] Fix taskenable / taskdisable commands
      [TSL2591] Check sensor before reading + speedup
      [TSL2591] Perform async reading of sensor prevent blocking calls
      [TSL2591] Force disable sensor after timeout + log duration
      [Docs] Describe how to iterate over a lookup table using rules

Thomas (13):
      Added Wake On LAN Plugin P101
      Updated Command.rst for Wake On LAN Plugin P101
      Added Doc files for Wake On LAN Plugin P101
      Update _plugin_categories.repl
      Updated ReadTheDocs for P075 Nextion.
      Update P075 and P079 Plugin Docs
      Update _P101_WakeOnLan.ino
      Add WakeOnLan V1.1.6 Library
      Update _P101_WakeOnLan.ino
      Rename P101_WakeOnLan.rst to P101.rst
      Add Doc File Missing in PR #3328
      Add doc file missing in PR 3328
      Add missing doc file for PR 3328

stefan (1):
      [ArduinoIDE] Fix include path for new structure


-------------------------------------------------
Changes in release mega-20201022 (since mega-20201016)
-------------------------------------------------

Release date: do 22 okt 2020 16:46:23 CEST

Gijs Noorlander (10):
      Fix merge issue merging GPIO core handling
      [GPIO core] Fix bool/boolean function declaration.
      Fix incorrect merge.
      Fix possible uninitialized current state in GPIO monitoring
      Fix merge issue due to renamed Command.ino
      Fix merge issue due to change to EventValueSource::Enum
      [Commands] Add event value source check for commands
      Fix merge issue WiFi process disconnect event should not disable webserver
      Fix merge issues
      [GPIO] Fix merge issues with recent scheduler changes.

Plebs (26):
      Moved GPIO commands in the core
      fixed suggestions made by TD-er
      deprecating inpuswitchstate
      Moved GPIO commands in the core
      fixed suggestions made by TD-er
      deprecating inpuswitchstate
      Moved GPIO commands in the core
      fixed suggestions made by TD-er
      deprecating inpuswitchstate
      Merge branch 'new/gpiotimers' of https://github.com/giig1967g/ESPEasy into new/gpiotimers
      added selective command execution according to source
      added support for C002 (Domoticz MQTT)
      added C006, C014 and HTTP support
      Fixed lowercase bug #2841
      gpio core commands: fixed couple of bugs
      gpio core commands: bug fixing
      added asyncevent in ExecuteCommand_all
      applied changes requested by TD-er
      updated chackValidPortRange function
      fixed function
      fixed JSON/OK return message in HTTP source
      fixed SONOFF setup and #2892 bug
      Fixed merge issues
      fixed "OK" in JSON in a more elegant way
      fixing merge issues
      final clean-up

TD-er (10):
      Fix merge issues.
      Uncrustify MH-Z19 code
      [MH-Z19] Fix ABC not (re)set when filtering not used (#3237)
      [Domoticz MQTT] Fix Domoticz helper able to send internal commands
      [Domoticz] Document typical use case linking button + relay + Domoticz
      [Typo] Replace Celcius with Celsius
      [Nextion] Fix uninitialized variable warning
      Don't call PLUGIN_WRITE on inactive tasks (#3317)
      [Crashinfo] Decode last task before reboot
      [Crashinfo] Decode intended reboot reason


-------------------------------------------------
Changes in release mega-20201016 (since mega-20201009)
-------------------------------------------------

Release date: vr 16 okt 2020 23:26:50 CEST

TD-er (7):
      [LoRaTTN] Add encoder/decoder for unit of measure for AcuDC243
      [WiFi] Fix WiFi (re)connect issues caused by new WiFi timers
      [Timing Stats] Add duty cycle column + LoRa TTN on air timings
      [Syslog] Fix syslog name does not include unit number (#3288)
      [Docs] Document LoRaWAN TTN dynamic send interval setting
      [GPS] Add distance counter + distance from ref point
      [LoRa TTN] Fix decoder issue in GPS data

Ton Huisman (1):
      [Checks] Check all 4 variable names

uwekaditz (1):
      [P092] Exception solved


-------------------------------------------------
Changes in release mega-20201009 (since mega-20200929)
-------------------------------------------------

Release date: vr  9 okt 2020 21:08:39 CEST

TD-er (14):
      Fix used sensor type on plugins allowing to select output type
      [Custom build] Custom.h was not always used for factory default settings
      [ESP32] Add detailed chip info on ESP32
      [Sysinfo page] Split memory info from basic system info + add for ESP32
      Document Custom.h alternative for Arduino IDE
      [Sysinfo page] Hide flash chip ID for ESP32 (not possible to read)
      [Load] Fix high CPU load introduced by fixing sensorType consistency
      [Cleanup] Simplify functions to sync sensorType consistency
      [ESPEasySerial] Make GPIO pins selectabel on ESP32
      [ESPEasySerial] Fix missed ESPEasy Serial instance build issues.
      [SendToHTTP] Return command failed if no connection could be made
      [build] Add define DISABLE_SC16IS752_Serial
      Add standard conversion for converting int to HEX
      [LoRaWAN TTN] Add new plugins to packet converter JavaScript

Thomas (1):
      Updated Docs: P075 Nextion and P079 Motorshield

jimmys01 (1):
      Update ArduJSON


-------------------------------------------------
Changes in release mega-20200929 (since mega-20200913)
-------------------------------------------------

Release date: di 29 sep 2020  9:34:42 CEST

André Klein (1):
      Update README.md

Gijs Noorlander (44):
      [I2C] multiple instances P047 - Environment - Soil moisture sensor
      [I2C] Multiple instances P079 - Wemos Motorshield
      [I2C] Multiple instances P012 - LCD 2004
      [I2C] Multiple Instances P006 - BMP085/180
      [I2C] Multiple instances P015 - TSL2561
      [Cleanup] Cleanup P015
      [Cleanup] Mark floating point numbers with f to reduce resource usage
      Add missing float marking
      Fix compiler issue with incorrect 1000f in P092 DLbus
      [I2C multiplexer] Cleanup multiplexer code in _Plugin.ino
      [I2C multiplexer] Further cleanup of code
      Use new (std::nothrow)
      Fix compiler warnings for LOLIN_EPD library
      [I2C] Multiple Instances P022 - PCA9685
      [P022] Forgot #ifdef USES_P022
      [I2C] Multiple Instances P023 OLED
      [Cleanup] No need to call clearPluginTaskData from PLUGIN_EXIT
      [I2C] Multiple Instances P024 MLX90614
      [I2C] Multiple Instances P025 ADS1115
      [I2C] Multiple Instances P027 INA219
      [I2C] Move I2C.ino to helpers .h/.cpp
      [I2C] Multiple Instances P032 MS5611
      [Build] Fix build issues with LOLIN_EPD lib on minimal OTA builds
      [I2C] Multiple instances P034 DHT12
      [I2C] Multiple Instances P045 MPU6050
      [I2C] Multiple Instances P048 Motorshield V2
      [I2C] Multiple Instances P057 - Display - HT16K33 LED
      [I2C] Multiple instances P058 - Keypad - HT16K33
      [I2C] Multiple Instances P060 - Analog input - MCP3221
      [Cleanup] Shorten member variable names
      [I2C] Multiple Instances P062 - Keypad - MPR121 Touch
      [I2C] Multiple Instances  P064 - APDS9960 Gesture
      [I2C] Multiple Instances P069 - LM75A Temperature Sensor (I2C)
      [I2C] Multiple instances P072 - Temp/Hum HDC1080 (no changes)
      [I2C] Multiple instances P083 - SGP30 - Gas
      [I2C] Multiple Instances P090 - CCS811 Air Quality TVOC/eCO2
      [Cleanup] Reduce stack usage for P064 in web load function
      [Cleanup] Use enum class in P023 OLED
      [Cleanup] Proper initialize all member variables of plugins
      [Cleanup] Uncrustify P092_DLbus
      [Cleanup] Use enum class for P036_FramedOLED
      [Cleanup] Rename member vars of P045 and initialize all members
      [Cleanup] Rename member + initialize members for P090
      Add check for AllocatedControllerSettings in storage

TD-er (35):
      [Docs] Document P048 motorshield commands
      Add ESP32 PinBootState options + ESP8266 gpio16
      [Build] Fix compile time check for settings size ESP32
      [P013 HCSR04] Clarify filter setting in web config
      [P012 LCD] Add characters used in Polish language
      [DS2423] Add 1-wire counter
      [Docs] Add documentation entry for P100 DS2423 1-Wire counter
      [WiFi] Fix issue where unit no longer considers connected > 25 days
      [WiFi] Fix some issues where timeouts were incorrectly evaluated
      [MQTT] Fix disregard retain flag using publish from rules (#3256)
      [build] Disable P092 and P093 on builds exceeding build size
      Add function to ask task for valueCount instead of plugin
      Add function to ask task for VType instead of plugins
      [ExtraTaskSettings] Make sure the ExtraTaskSettings are active when used
      Fix compiler issue C016 (incorrect find/replace)
      Fix P015 TSL2561 PLUGIN_READ return success = true
      Move output tyle selection load/save to device page handler
      [Serial] Handle serial config from webpage devices handler
      Use more logical parameters to query task sensor VType
      [ESPEasy p2p] Split p2p data structs into C++ objects (#3264)
      Document the DeviceStruct variables and update _Pxxx_PluginTemplate.ino
      [Cleanup] Add EventStruct constructor with TaskIndex as parameter
      [Storage] Make enums used for storage enum class
      Change CPlugin and NPlugin functions to enum class
      [Cleanup] Convert Misc.ino to .h/.cpp
      [Cleanup] Uncrustify Misc.h / Misc.cpp
      [Cleanup] Remove fwdelc declarations of functions moved to .h/.cpp
      [Cleanup] Split functions from Misc.cpp/.h
      [Cleanup] Split even more functions from Mist.cpp/.h
      Add stubs for new controllers up-to C025
      [Web Interface] Improve task config consistency + code readability
      [P039 Thermocouple] Add FIXME to remove unneeded strings.
      [Arduino IDE] Document how to build using Custom.h in Arduino IDE
      [Cleanup] Rename some to clarify msec or usec interval
      [WiFi] Fix reconnect loop when getting IP or connecting takes a while.

Thomas (4):
      Update Wemos Motor Shield's ReadtheDocs
      Update P079_Wemos_Motorshield
      Updated P079 Motor Shield Plugin
      Updated P075 Nextion Plugin's Doc Files

Ton Huisman (7):
      [P095/P096] Allow rotation +270 via cmd mode
      [SPI] Correct typo in devices list
      [P095] (Re)move touchscreen stuff There will be a new plugin for XPT2046 touchscreen Setting wasn't used here anyway
      [P099] Add documentation for Touchscreen - Device Configuration - Setting up Calibration - Configuring Touch objects
      [P099] Remove wrongly committed files
      [P099] Remove link from plugin overview docs
      [P095] [P096] Avoid using unicode in source

stefan (1):
      [ArduinoIDE] Fix includes

tonhuisman (8):
      [SPI] Extend SPI interface support in configuration
      [SPI] Update SPI-based plugin configuration
      [SPI] Fixed typos in comments...
      [SPI] Minor corrections
      [SPI] Remove unneeded comment
      [SPI] Minor correction, used wrong type
      [P096] Widen temp settings var from byte to uint16_t
      [P096] Avoid crash if no eInk display is connected and a yet unhandled command is sent


-------------------------------------------------
Changes in release mega-20200913 (since mega-20200829)
-------------------------------------------------

Release date: zo 13 sep 2020  0:11:35 CEST

Gijs Noorlander (19):
      [Build] Change to esp8266/Arduino core 2.7.4
      [Travis] Also update "core_273" to "core_274" in build names
      [new new] Prepare for upcoming changes of 'new' in esp8266/Arduino
      [build] Add build definition for 1M with Serial Switch.
      [build] Add Stable controller set to hard_LCtech_relay_x2_1M build
      Include debug logs and other removed features to reduce size LC_TECH_1M
      [Scheduler] Fix PLUGIN_TIMER_IN not being called (#3247)
      [Docs] Add some documentation on C011 Generic HTTP Advanced
      [HTTP Advanced] Do not percent-encode body  (#1306)
      [HTTP Advanced] Optimize load/save settings + add send binary option.
      [Cleanup] Reduce memory usage on load/save C018 LoRaWAN RN2483 controller
      [RN2483] Call LoRaWAN module reset  when LoRaWAN stack hangs (#3225 )
      [C011] Use ESP8266HTTPClient library
      [C011] Fix build issue for older ESP8266 core versions
      [Travis] Disable core 2.4.2 builds as Travis can't install it anymore
      [C011] Improve logging + connection tracking.
      [C011] Split multiline headers + also parse url
      [Cleanup] Reduce memory usage when using ControllerSettings struct
      [VCC Build] Strip Servo, Blynk and Zabbix from test build to make it fit.

Max Prokhorov (3):
      == INFINITY / NAN are bogus
      Update _P005_DHT.ino
      typo

TD-er (14):
      Add gitpod config
      Sanitize Requirements.txt and switch to Python 3.8
      Add Gitpod extensions
      Add VSCode Extentions
      Change bracket pair colorizer for one that installs in GitPod
      Remove PlatformIO Extension from GitPod.yml
      [Arduino IDE] Fix relative path for includes
      Document hardware bug on Wemos DHT shield (#2569)
      [ESP32] Core 2.0.0 released
      [PIO] Set minimum PlatformIO library to 5.0.1
      Restore Requirements.txt after merge
      [Gitpod] Use pip3 as we need Python3
      [Gitpod] Change init: into before:
      [Gitpod] Apparently Gitpod still uses Python 2.7

Ton Huisman (5):
      [Checks] Disallow - (dash) in tasknames This may *feel* like a breaking change, but using names with dash(es) doesn't properly work
      [Checks] Disallow all operators in tasknames
      [Checks] Update docs, disallow curly braces
      [Checks] Disallow round braces too
      [Checks] Update docs

Toni (2):
      HeatpumpIR 1.0.16 update
      Build definition for image test_ESP32_IRExt_4M316k:


-------------------------------------------------
Changes in release mega-20200829 (since mega-20200812)
-------------------------------------------------

Release date: za 29 aug 2020 15:58:42 CEST

Gijs Noorlander (32):
      [docs] Fix table for P095
      [docs] Replace code-block:: html with code-block:: none
      [SI7021] Convert state to enum class
      [SI7071] Allow multiple instances of the same plugin
      [SI7071] Add timeout for reading sensor (1 sec)
      [Build] Add normal_ESP8266_4M1M_VCC env.
      [ESPEasy p2p] Init node data to 0
      [Build size] Do not include I2C device names for minimal OTA builds
      [Controller] Convert controller delay handler to pointer
      [BME280] Allow to be used with I2C multiplexer
      [Docs] Add some description for P029 Output Domoticz MQTT helper
      [I2C] Add PLUGIN_WEBFORM_SHOW_I2C_PARAMS to separate I2C address setup
      [I2C] Move I2C address selector for all I2C plugins with address field
      [Cleanup] Uncrustify all I2C plugins
      Revert changes in P095 as they are already already covered by #3205
      [I2C multiplexer] Fix build issue on units not using I2C multiplexer
      [Build] Fix build size exceeded for testing builds
      [Docs] Add documentation for ESP32 ethernet + missing config page
      [ESP32 ETH] Add pre-defined Olimex ESP32-EVB config
      [ESP32 ETH] Fix JSON when Ethernet is enabled.
      [Docs] Fix images with .PNG instead of .png extension
      [Sphinx docs] Change deprecated add_stylesheet to add_css_file
      [Docs] Updated DL-bus documentation as it was hard to find
      [Ethernet] Create enum class for NetworkMedium
      [Ethernet] Create enum class for EthClockMode
      [Ethernet] Create enum class for EthPhyType
      [Ethernet] Fix UDP p2p when using ethernet.
      [Cleanup] Try not using default: to let compiler find missing used enums
      [Factory Defaults] Add Olimex ESP32 GATEWAY definitions
      Fix default settings for I2C and ethernet
      Only show matching factory default settings
      [Ethernet] Switch to WiFi when Ethernet adapter is not found

Michał Obrembski (1):
      Fixed compile-time defines not working in ESP32 platform

TD-er (2):
      Fix build issue for P094 CUL reader
      Fix C002 Domoticz dimmer switch set value (#3230)

Ton Huisman (5):
      [I2C] Some fixes and improvements
      [I2C] Add TCA9543a multiplexer, updated docs
      [I2C Docs] Emphasize configuration with multiplexer
      [I2C Docs] Add note about multiplexer address
      [P044] Accept '_' in meter ID

tonhuisman (11):
      [Docs] Updated commands reference
      [Docs] Fixed some typos and Sphinx syntax errors
      [OLED] Don't change shared bus speed
      [I2C] Implement I2C Multiplexer
      [I2C] Improve I2C Multiplexer support
      [I2C] Fix builderror on SettingsStructSize (again)
      [P008] Fix saving/loading new setting
      [P008] Fix saving/loading new setting
      [I2C] Bugfixes and improvements for multiplexer implementation
      [I2C] Optimizations and improvements
      [I2C/Doc] Add Hardware page documentation, RTD help button

uwekaditz (2):
      [P092_DLBus] Move plugin data from lib to PluginStructs
      Update _P092_DLbus.ino


-------------------------------------------------
Changes in release mega-20200812 (since mega-20200801)
-------------------------------------------------

Release date: wo 12 aug 2020 23:29:35 CEST

Gijs Noorlander (19):
      [Python] Update of python packages in requirements.txt
      [C011] Fix incorrect load/save settings.
      [Uncrustify] Clean up C011 code using Uncrustify.
      [Blynk] Make C015 Blynk controller compile again
      Include C015 in the custom build for testing
      [GPS] Apply sanity check on received data.
      [Rules Timer] Use scheduler for rules timer
      [Timers] Make loop timers with fixed interval and nr of loops
      [Docs] Add documentation for msec timers and loop timers
      [Timers] Cleanup of timer code.
      [Scheduler] Move global scheduler functions into C++ class
      [Timers] Change interval timer defines into enum class
      [Scheduler] Change plugin pointer type into enum class
      [Dallas iButton] Enable interrupts when no sensor found
      [Dallas] Fix NoInterrupt calls for ESP32
      Uncrustify both Dallas plugins
      [Dallas] Make sure function forward declaration is on one line
      [Dallas] Add warning about the need for a pull up
      [Docs] Update mentioned dates of introduced feature

TD-er (1):
      [Dallas] Enable interrupts when no sensor found

Wiki591 (1):
      Update URLs.rst

jimmys01 (1):
      [IR] Update Library

tonhuisman (4):
      [Docs] Update [P036] documentation that went missing
      [P010] Changes to enable use on ESP32 (#3175)
      [P010] Remove some left-overs from testing
      [P010] Correction in I2C handing, and fix for old issue


-------------------------------------------------
Changes in release mega-20200801 (since mega-20200721)
-------------------------------------------------

Release date: za  1 aug 2020 16:27:55 CEST

Chris-1965 (14):
      Fonts usage added
      minor formatting
      minor
      updated suggested requests
      chneged requested items from last pull request
      comment on pins added
      added cusrom-sample-h file to repository
      updated doc files
      also in ino file -> docs adapted
      new update
      changed fonts can disabled by define, font names instead of numbers
      resolved a bug : commands other than tft were all sucussfull. Also the output log moved in else otherwise message appears for all commands
      platformio changed
      Changed naming as proposed

Gijs Noorlander (25):
      [Framed OLED] Add checks for display initialized
      [P036_FramedOLED] Reduce stack and heap memory usage
      [Web form] Force value in number field within given range
      [P036_FramedOLED] Uncrustify source code
      [Framed OLED] Move plugin data to separate .h/.cpp
      [Framed OLED] Clean up code + use temp. object for load/save lines
      [e-ink] Include LOLIN_EPD in the lib_deps to make it compile
      [Alternate WiFi] Use different SDK build for nodes with WiFi issues (#2931)
      [GCC 10] Fix compile issues with GCC 10.1
      [Cleanup] Move RTC struct code to .h/.cpp
      [Build] Remove test VCC MDNS SD build from Travis build
      Fix build errors
      [ESP32] Fix build issue (spiffs.h vs SPIFFS.h)
      [ESP32 build] Fix build issues with lots of lib_ignore set (#3083)
      [Docs] Document /json and /csv URLs
      [Arduino] Update to core 2.7.3
      [SDK] Disable alt_wifi  and use SDK22x_191122 for all builds
      [Travis] Split builds in several jobs
      [Build] Do not  generate .bin.gz for 1M builds as no support 2-step OTA
      [Build] Revert back to SDK22x_190703 + alt_wifi build
      [Build] Disable custom_alt_wifi_ESP8266_1M as it is too large
      [Build] Fix using GCC 10.1 toolchain
      [core_3.0.0 alpha] Fix build issue analog PWMRANGE
      Fix build issue on ESP32 finding SPIFFS.h
      [Travis] Enable some core 3.0.0 alpha (*_beta_*) builds

Jean-Michel DECORET (6):
      Add eInk plugin
      Add SPI device type
      Optimize code:  - remove unwanted output - move http answer only in debug mode - fix functions args to const - optimize parsing color data
      Remove useless comments Use BUILD_NO_DEBUG define Add display timings Fix input text to handle degress and monetary symbols (specific for adafruit gfx lib with eink screen)
      Fix documentation typo
      Fix documentation typo

Michael Schröder (1):
      Decrease the longpress min interval to 500ms

tonhuisman (4):
      [Build] Add P029 to PLUGIN_SET_ONLY_SWITCH
      [Build] Enable P029 for hard_shelly builds
      [Build] Move USES_DOMOTICZ logic together and in a more useful order
      [Build] Remove superfluous #defines

uwekaditz (7):
      merged Release mega-20200328
      [P036] Memory optimization (issue #2799)
      [P036] temporary pointer to P036_data_struct was not deleted
      [P036] merged with Tonis PR #3026
      [P036] re-schedule Settings.TaskDeviceTimer after JumpToPage
      [P036] clearing window for scrolling lines was 1pix too large in y direction
      [P036] Fixed: display_indicator() crashed


-------------------------------------------------
Changes in release mega-20200721 (since mega-20200720)
-------------------------------------------------

Release date: di 21 jul 2020 11:23:15 CEST

Gijs Noorlander (22):
      [WiFi] Reduce wifi reset calls and call full wifi init at reset
      [WiFi] Add timeout to get out of incorrect WiFi.connected() state
      [WiFi] Convert bit-wise operations to use bitSet/bitClear/bitRead
      [WiFi] No longer rely on WiFi.isConnected()
      [WiFi] Detect and work around missing events
      Fix issue where task name / task var name was incorrect
      Reduce minimal OTA build slightly
      [WiFi] Small fixes for WiFi related code
      [ESP32] Fix build error on ESP32
      [WiFi] Clear event callback on ESP32 + correct order of log/disconnect
      [PIO] revert custom_beta env to stage core lib
      [PIO ESP32] Update to latest Platformio espressif32@1.12.4
      [ESPEasy p2p] Reload UDP port settings when changed
      [UDP] Reduce max UDP packet size
      [NTP] After timeout or receiving invalid packet, port could be held
      [Syslog] Add custom port to the syslog IP (#1258)
      [Docs] Update docs related to p2p UDP port no longer need reboot
      [UDP p2p] Fix crash on ESP32 where UDP is started before connected
      [ESP32] Recognize last boot state as Deepsleep (#3155)
      [TimeZone] Move timezone configuration line to location settings (#3141)
      [Docs] Document Tools => Advanced Settings
      [WiFi] Copy DNS servers from DHCP when using fixed last octet (#3111)


-------------------------------------------------
Changes in release mega-20200720 (since mega-20200703)
-------------------------------------------------

Release date: ma 20 jul 2020 23:35:58 CEST

Gijs Noorlander (13):
      [Modbus RTU] Move Modbus code to .h/.cpp file to reduce size
      Convert scheduler from .ino to .cpp/.h
      [Build] Fix missing include building ESP32
      [Build] Fix build error for C018, due to removed forward declaration
      Make delay queue macro a bit more logical
      [Frontend] Only show "Submitted" message when pressing submit (#3144)
      [ESP32 ETH] Fix build issue due to recent changes
      [Arduino IDE] Fix build issue with Arduino IDE
      Fix typo in filename for P044 data struct
      [Arduino IDE] Make P076 compile again on Arduino IDE
      [Arduino IDE] Fix build issue for P035_IRTX.ino
      [Arduino IDE] Fix compile issues when selecting specific controllers
      [Syslog] Fix crash with syslog enabled on wifi (re)connect (#3147 #3072)

TD-er (1):
      Fix ADS1115 mixing input signals (#3159)

jimmys01 (1):
      arduJSON library update

llevet (2):
      Update _P095_ILI9341.ino
      P095 Plugin: Fix bug #3047

tonhuisman (5):
      [P008] Add option to convert value to 'hex' (#3068), and updated documentation
      [TaskDisable] Bugfix for plugins without PLUGIN_EXIT implementation
      [TaskDisable] Improve readability of code after bugfix
      [TaskDisable] Remove unneeded else & return
      [P076] fix: Custom pin settings in same order as Sensor pins, improved label, improved cast


-------------------------------------------------
Changes in release mega-20200703 (since mega-20200608)
-------------------------------------------------

Release date: vr  3 jul 2020 13:15:58 CEST

Florin (1):
      Disable Arduino OTA by default for ESP32

Gijs Noorlander (31):
      [ESP32] Only define FEATURE_ARDUINO_OTA in build config, not in .h files
      [Build] Disable test_beta_ESP8266_4M1M for now as it is too big
      [PIO] Use  espressif8266@2.5.2 with fixed esp8266_stack_decoder
      [Controller] Memory optimization for sending SENSOR_TYPE_STRING
      [Controller] Check if controller host/IP is set before MQTT connect
      [MQTT] Add function to check MQTT queue full state
      [Cleanup] Free ControllerSettings as soon as possible to free memory
      [Cleanup] Try to use move constructor when adding to controller queue
      [Controller] Cache needed controller info to reduce memory usage
      [MQTT] More efficient MQTT copy incoming messages
      [Controller] Check if MakeControllerSettings failed due to low RAM
      [MQTT import] Check if MakeControllerSettings failed due to out of RAM
      Fix merge issue WiFiConnected changed to NetworkConnected
      [P001 Switch] Reduce stack usage on PLUGIN_WEBFORM_LOAD
      [Blynk] Reduce stack usage on Blynk_get
      [Web Frontend] Reduce stack usage on DST configuration
      [Python] Update  package versions in requirements.txt
      addFormSelectorI2C Fix high stack usage (#3130)
      Minimize stack allocation in plugins
      [Build] Add LittleFS to lib_ignore
      [build] Exclude function from build for minimal OTA
      [C011] Generic HTTP Advanced Reduce stack usage (#3123)
      [Controller] Check success of controller settings allocation processing queue
      [HTTP controller] Memory optimization, prevent copy queue element
      [Build] Allow building using SD support for special debug builds
      [Frontend] Use stringProvider on some more strings
      [Domoticz HTTP] Make sending slightly more efficient
      [Web interface] Fix bug in I2C address selector
      [Rules] Fix rules handling of set 2...4 when using admin login (#3113)
      [Syslog] Fix high stack usage for Syslog (#3128)
      [Documentation] Add documentation on the log settings.

Grzegorz Dziubak (1):
      Update _P047_i2c-soil-moisture-sensor.ino

Michał Obrembski (10):
      Initial Ethernet support
      Added displaying Ethernet parameter in sysinfo and root page
      Added configuration of Eth Phy via Hardware settings web page
      Added Olimex ESP32-PoE board to DeviceModel and default settings
      Increased BUILD number to 20107
      Fix build on devices without Ethernet.
      Remove ifdefs for Ethernet in settings
      Renamed functions in ESPEasyEth, added eth* prefix
      Moved WifiGetHostname into more generic createRFCCompliantHostname
      Added basic implementation of Ethernet Static IP

Pavel Moravec (1):
      Fixed IP address range checking

Peter Kretz (24):
      atlas Sensor for pH an Redox (ORP) added
      - Atlas EZO new webserver added - Serial --> logging - No [TESTING]
      Extended the great work from Michał Obrembski mobrembski, so that: - mqtt works - WifiConnected works as EthernetConnected
      - Moved ETHEvent from ESPEasy.ino to ESPEasyEthEvent.ino - Corrected Hostname Setting - ESPEasy P2P works now with some minor changes for IP-Address Handling in Network.ino
      Change requested by TD-er review: clarification of build file https://github.com/letscontrolit/ESPEasy/pull/2962/files/8ba2bb88eadb98c4691cbb1f40c4d5466cb7b5b8
      ESP32 with Ethernet or Wifi, not both at the same time configurable via Hardware Page. - ESP P2P is working - Only ETH.beginPacket() with Standard Parameter is working at the moment, configuration will follow. - Network.in not cpp/h files but this will be changed in future - Some TODO: PKR: comments will be removed in the future, too
      Removed some comments Build now working with HAS_ETHERNET not defined
      - Ethernet Commands - remove useless comments - ETH.config moved after ETH.begin - Added note: Be aware with ESPEasyP2P Network, since IP Address will change. There could be conflicts. - Ethernet JSON - Ethernet Variables
      - ETHEvents moved to WifiEvents, because they are the same type
      ESPEasyEth.ino --> ESPEasyEth.cpp/h Network.ino --> Network.cpp/h
      ESPEasyWiFi_credentials.ino --> cpp/h ESPEasyWiFi_ProcessEvent.ino --> cpp/h ESPEasyWiFi.ino --> cpp/h
      Network.h/cpp --> ESPEasyNetwork.h/cpp
      removed upload flags
      - New events: ETHERNET#Connected and ETHERNET#Disconnected
      Fixed https://travis-ci.org/github/letscontrolit/ESPEasy/builds/680698472 ci build error
      Fixed ci compile bug https://travis-ci.org/github/letscontrolit/ESPEasy/builds/680724129
      Fixed bug reported by mobremski
      - UDP / ESPEasyP2P now works for ETHERNET - Hostname Handling refactored for better overview:   - String NetworkGetHostNameFromSettings() returns Settings.getHostname()   - String NetworkCreateRFCCompliantHostname() creates a RFCcompliant Hostname from Settings.cpp   - String NetworkGetHostname() returns the Hostname prevoiusly set in ETH or Wifi dependong on Mode - MacAddress Handling refactored   - String NetworkMacAddress() returns the Mac addres of ETH or Wifi depending on Mode   - String WifiSoftAPmacAddress() returns WiFi.softAPmacAddress(mac) as String
      This String function is not needed, because there is a ETH.macAddress() which returns a String. I changed it to the byte version of the function and now uint8_t * NetworkMacAddressAsBytes(uint8_t* mac) returns either this in Ethernet mode or WiFi.macAddress(mac) in Wifi mode.
      Check changed as requested by TD-er
      addFormNote(F("Be aware with ESPEasyP2P Network, since IP Address will change. There could be conflicts.")); not used anymore because P2P UDP works good
      removede personal upload flags
      _P124_Atlas_EZO_pH.ino and _P222_Atlas_EZO_ORP.ino deleted since ther are not in ESPEasy but in Playground. There is another Issu, to put them in ESPEasy mega
      - Error in Network Name fpr WiFi fixed - logging improvements

bccrew (1):
      Change FormSubHeader to clarify difference between IP settings of LAN or WiFi

tonhuisman (5):
      [P064] Gesture - APDS-9960 plugin: Added switching plugin mode and settings to fine-tune without recompiling source [APDS-9960 library] Added extensions and applied fixes from original Github project (including not merged yet improvements) [P064] Added/updated documentation for Gesture - APDS-9960 plugin [Documentation] Updated footer copyright notice to show 2018..2020
      [P064] Made code-readability and other improvements as TD-er suggested, fixed a swapped argument bug
      [Tasks] Call PLUGIN_INIT/PLUGIN_EXIT using TaskEnable/TaskDisable from rules
      [Transformation] Add P/p (Password display)
      [Transformation] Optimizations for Password transformation


-------------------------------------------------
Changes in release mega-20200608 (since mega-20200515)
-------------------------------------------------

Release date: ma  8 jun 2020 22:51:44 CEST

Bartlomiej Zimon (11):
      rfid events update for P008/P017/P040, plus send event after log line.
      PN532: remove hardcoded scl/sda pins reading and use hardware configuration instead
      PN532: update comment
      Webserver - add port number setting into Advanced options, resolves #3031 and #573
      P2P: send and receive webserver port number, add port to link on rootpage #2252
      NodeStruct: init webgui_portnumber value
      p2p infopacket - use low/highByte
      Webserver - increase BUILD number and set default value for port number
      Webserver port setting - add reboot note
      MDNS - send service with actual webserver port
      P2P: respect also build number in condition

Florin (7):
      Adding buzzer capabilities back to ESP32.
      Allow to set the Latitude and longitude when resetting the firmware from custom.h or using the build_flags
      clean up code and variables when NOTIFIER_SET_NONE is defined.
      ESP32: Allow to select one of the two available SPI ports
      clean up code and variables when NOTIFIER_SET_NONE is defined.
      Fix for allowing negative timeOffset from UTC in constructor
      rename the tone to toneESP32 to be more specific

Gijs Noorlander (27):
      [MQTT] Process publish LWT connect message asynchronous
      [MQTT] Stop trying to send LWT connected when client disconnects
      [LittleFS] Make switching between SPIFFS and LittleFS easy to do
      [ESPEasySerial] Update to v2.0.3 adding I2C UART to ESP32 + fix bug ESP32
      [Build] Fix merge error
      [PIO] Move to esp8266/Arduino core 2.7.1
      [PIO] Hide deprecated warning for SPIFFS
      [Vagrant] Fix vagrant build installing all required Python packages
      [Notifications] Make sure all custom defines are set at compile time
      [Travis] Fix deploy multiple ZIP files + split ESP82xx and ESP32 files
      [Build] Fix Python 3.8 build when no .git dir or pygit2 not installed
      [GPS] Add GPS#travelled=... event  (#3099)
      [Build] Add ina219 and mpu6050 to custom build (#3100)
      [Build] Disable diagnostics code for test_ESP8266_4M1M_VCC to fit size
      [Build] Disabling timing stats results in build errors for ESP32
      [Commands] Split commands.ino to .h/.cpp to overcome build/link issues
      [Build] Limit build size (no diagnostics) for test_beta_ESP8266_4M1M
      [Notifications] Show notification tab when notifiers set via Custom.h
      [Notifiers] switch from NOTIFIER_SET_NONE to USES_NOTIFIER in code
      [ESP32] Fix Disabling ARDUINO_OTA fails the build (#3083)
      [ESP32 build] Fix capitalization error in #include <esp_partition.h>
      [ESP32] Update to platform-espressif32@1.12.2
      [PIO] Add exception_decoder as serial monitor filter
      [WiFi] Reduce excessive logs WIFI : Disconnected: WiFi.status()
      [GPS] Add sanity check for reporting distance travelled event
      Transform defines in EventValueSource into enum
      [Build] Disable diagnostics in test/dev build to reduce build size

Michał Obrembski (2):
      Added /raw endpoint which gives an easy access to raw value of sensor
      Changed format of RAW to CSV, added ability to filter values

Michał Obrembski (3):
      Fixed invalid check of valnr validity in CSV output mode
      Renamed RAW to CSV, added printing of header
      Removed usage of String.clear()

Saverio Cisternino (1):
      Fix  parse_uint  ref  https://github.com/staticlibs/ccronexpr/pull/30

TD-er (1):
      [Bug] ControllerIndex not set when calling CPLUGIN calls

denisfrench (1):
      [MQTT] Connect message honors LWT settings (#3006)

jimmys01 (1):
      [IR] Update Library

sakinit (18):
      Show for ESP32 also the first rule on the webserver rules page
      Fix ESP32 undefined pin initialisation
      Don't repeat the last rule on the next webserver page
      Revert P1WifiGateway to 30cbb4c to bugfix this more generic code
      Cherry-pick relevant P1WifiGateway updates since 30cbb4c
      Fix the datagram check to be able to send valid messages again
      Fix the serial reading algorithm
      Fix P1WifiGateway webserver start
      Remove temporary comments
      Use ESPeasySerial
      Restart P1WifiGateway if webserver start failed
      Optimize serial reading algorithm and move client from plugin into task
      Fix ESP32 reboot cause at boot/setup
      Optimize serial in duration
      Update due to review comments
      Add sanity checks based on review comments
      Discard data received from WiFi client due to review comment
      Update based on review comments

tonhuisman (6):
      [Rules page] Add RTD help button and fix page layout issue ('Old Engine')
      [Transformation] Add R/r transformations (LEFT/RIGHT and L/R)
      [Transformations] Adjusted R/r to L/l and added c
      [Justifications] Add 'C' (Capitalize, OPEN -> Open) option
      [Justifications] Added u/l for upper/lowercasing the value, removed dash-check from C justificaion
      [Docs] Describe 'elseif' with some examples


-------------------------------------------------
Changes in release mega-20200515 (since mega-20200426)
-------------------------------------------------

Release date: vr 15 mei 2020 23:10:38 CEST

Gijs Noorlander (58):
      [ADC]  Allow multiple instances of ADC plugin (ESP32)
      [ADC] Perform VCC read before starting any WiFi activity
      [ADC] Format using uncrustify
      [ADC] Perform ADC read at boot + improve filtering for P002_ADC
      [ADC] Add Touch/Hall Effect for ESP32 + ADC pin selection
      [Bitset operators] Use Arduino macros instead of our own functions
      [Touch] Split Touch Pad support into new plugin
      [Docs] Add documentation for P097_Touch and P095_ILI9341
      [docs] Update docs for P002_ADC
      [PVS-Studio]  sizeof(Device) -> Device.size()
      [PVS-Studio] EventStruct has no operator=
      [PVS-Studio] Not all members of a class are initialized
      [PVS-Studio] Missing break; in switch statement (C018 RN2483 TTN)
      [PVS-Studio] FrasmedOLED display pointer dereference before check !NULL
      [PVS-Studio] Error log in rules not complete
      [PVS-Studio] File info struct in webserver rules not all initialized
      [PVS-Studio] Redundant check in rules conditionMatchExtended
      [PVS-Studio] CWE-1164:The 'note' variable was assigned the same value.
      [PVS-Studio] ESPEasy p2p incorrect check for binary data
      [PVS-Studio] SSDP Specify printf format
      [PVS Studio] Framed OLED: Simplify check for turning on display
      [PVS-Studio] Suppress char out of range warning in static data
      [PVS-Studio] Fix 'dangerous' macro by using braces.
      [PVS-studio] Fix possible out of range array access
      [PVS-studio] Suppress char out of range warning in static data
      [PVS-Studio] Merge duplicate case statements
      [PVS-Studio] Use implicit cast to float in scheduler idle time stats
      [PVS-Studio] Remove unused variable in SenseAir plugin
      [PVS-Studio] Use correct array index in Plugin_Helper_serial.ino
      [ILI9341] Fix build error when building for 1M units
      [Core 2.7.0] Switch to esp8266/Arduino 2.7.0
      [Build] Add custom_beta_1M build
      [Build] Rename PIO environments referring core_263 to core_270
      [PIO] Generate filename at build, not in post processing
      [PIO] Fix showing binary file name in sysinfo page
      [PIO] Attempt to fix missing quote level in Linux
      [PIO] Fix Windows/Linux detection in number of quote levels
      [PIO] Final fix for proper quote level per OS + store build platform
      [PIO] Add Git branch description to build info
      [PIO] Move build environment to Python 3.8 as 2.7 is no longer supported
      [PIO] Python 3.8 requirements.txt list
      [PIO] Updated packages in Python 3.8 requirements.txt list
      [PIO] Relax PlatformIO version in requirements.txt to >= 4.3.3
      [PIO] Use Python 3.8 on Vagrant/Ubuntu builds
      [PIO] GZip and copy files to build_output directory
      [PIO] Include PlatformIO env dump in build output for diagnostics
      [PIO] Update docs/requirements.txt
      [PIO] Compare build sizes when copying the build files.
      [PIO] Adopt deploy scripts to new situation where Python scripts do all
      [PIO] Split zip files in before_deploy
      [PIO] Zip docs dir recursive
      [PIO] Add missing parts in the included source dir in the build ZIP file
      [Vagrant] Fix issue where update fails due to Grub interactive update
      [Vagrant] Show Vagrant build as build origin on sysinfo page
      [Shelly PLUG-S] Add template + build definition for Shelly PLUG-S
      [PIO] Upgrade to platformio / platform-espressif8266 @2.5.0
      [Docs] Describe files in nightly builds
      [RN2483] Controller should also send to TTN when not connected to WiFi

sakinit (1):
      Fix ESP32 build if P001 is not included


-------------------------------------------------
Changes in release mega-20200426 (since mega-20200410)
-------------------------------------------------

Release date: zo 26 apr 2020  1:27:18 CEST

Bartlomiej Zimon (12):
      P004_dallas: esp32 optimisation - move bit read/write to IRAM
      add factory bins into release zip - to be found in factory_bin dir
      before_deploy: remove echo
      set BaseVarIndex and sensortype in event before call PLUGIN_TIMER_IN
      P008_RFID: little reorder
      P040_ID12/RDM6300: fix for triggering new tag and detection of tag unavailable #2982
      crc2: move to hashlib
      rfid: clean up in logging
      ESP32: add to webserver firmware update feature
      ESP32: add new ESP32HTTPUpdateServer lib
      ESP32: fill binary filename, count MD5 only for esp8266
      ESP/ESP32: add id_tag for future proposes and use it to detect firmware.bin

Gijs Noorlander (29):
      [MQTT] Add checkbox for extended Controller Settings
      [Storage] Move SettingsType code to separate .h/.cpp
      [MQTT] Move global MQTT parameters to controller settings
      [Controller] Allow to use longer controller credentials
      [MQTT] Fix build issue with disabled MQTT
      [PIO] Change depicated -Wl,-T into board_build.ldscript
      [Settings] Improve SettingsType handling
      Fix reporting binaryFileName in sysvars page
      [Build size] Optimize command handling macro to reduce build size
      [LWIP2] Change LWIP2 from low mem to high bandwidth
      [P092] Mark plugin as  [TESTING]
      [ILI9341] Rename plugin to P095 + rebase to current HEAD of mega branch
      [ILI9341] Move to custom build due to build size
      [PulseCounter] Add SetPulseCounterTotal command
      [Cleanup] Code formatting for Pulse Counter
      Fix build issue
      [ESP32 OTA] Show sketch size in sysinfo page
      [ESP32 OTA] Exclude ESP32HTTPUpdateServer lib for ESP82xx builds
      [Pulse Counter] Call PLUGIN_READ after set counter (#3019)
      [Pulse Counter] Use unused 4th UserVar to restore total pulse counter
      [Rules] Check for common mistakes and patch before parsing
      [Controller] Make use extended credentials optional per controller
      [ESPEasySerial] Update v2.0.1: Only use SWserial override on HW serial
      [RN2483] SWserial override as a define
      [RN2483] Only alter set keys if either OTAA or ABP is set
      [RN2483] Improve Autobaud + unit detection at boot
      [RN2483] Fix build error for ESP32
      [RN2483] Rename sendAutoBaud to sendWakeSequence
      [Rules] Clarify syntax error auto correct log entry

Jan-Jonas Sämann (1):
      Make default reset button gpio configurable

Jean-Michel DECORET (9):
      Add plugin Display TFT - ILI9341
      Conform plugin to guidelines
      Add comments
      Add plugin Display TFT - ILI9341
      Conform plugin to guidelines
      Add comments
      Change plugin number (242 -> 090)
      Change to plugin 091
      Make plugin compatible with ESP32

TD-er (7):
      [rules] Allow "if [" and "if[" in rules (#2987)
      [rules] Allow "elseif [" and "elseif[" in rules
      [RTC task values] Clear last task values when adding new task
      [GitHub] Add stale bot to manage inactive issues
      [WiFi] Fix WiFiConnect command should force (re)connect (#2985)
      [Controller] Only update password when it is not "*****" (#3015)
      [HTTP command] Fix incorrect check for valid port

Toni (1):
      HeatpumpIR 1.0.15 update

sakinit (1):
      Fix ESP32 serial write

uwekaditz (14):
      [P092] New PlugIn to decode the DL-Bus
      [P092] New PlugIn to decode the DL-Bus
      Update _P092_DLbus.ino
      Update _P092_DLbus.ino
      [P092] Timing optimized
      [P092] Memory usage optimized
      [P092] Changes requested by TDer
      [P092] Documentation added
      [P092] More documentation added
      [P092] Documentation updated
      [P093] Documentation updated
      Memory improvement for _P092 plug in
      Merge conflicts solved
      merged with release mega-20200305


-------------------------------------------------
Changes in release mega-20200410 (since mega-20200328)
-------------------------------------------------

Release date: vr 10 apr 2020 21:23:29 CEST

Bartlomiej Zimon (1):
      ESP32: add subtarget for genuine units firmware-factory.bin        Resolves #2964 #2941 #2486

Gijs Noorlander (16):
      [Frontend] Fix reload on change for selectors (#2974 )
      [Frontend] Fix crash when loading config + controller page
      [CUL Reader] P094_CULReader
      [CUL Reader] Clean up code
      [CUL Reader] Add 4th filter parameter
      [CUL Reader] Fix bug in save/load settings
      [CUL Reader] Add positional match
      [Sysvar] Fix show %ip% and %ip4% instead of %ip4% twice
      [CUL Reader] Add basic docs
      [Webserver] Fix ambiguous function definitions for selectors
      [Serial Plugins] Share more code among plugins using serial
      [Build] Fix build issue
      [build] New attempt to fix build for unused static function
      [PulseCounter] Restore from RTC before initializing pin triggers
      [WiFi] Fix problem with static IP and reconnect ESP32 (#2997)
      [WiFi] Switch to default PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703

Michael Schröder (2):
      Fix DeepSleep0 command
      Update deepsleep-command docs

TD-er (2):
      [P020_Ser2Net] Fix missing break; PLUGIN_SERIAL_IN
      [CUL Reader] 12 items per filter line + extra chars on filter whitelist

tonhuisman (5):
      [P036] Added setting for 'Keep display off receiving text'
      [P036] Added setting for 'Wake display on receiving text'
      [P036] Added new setting to plugin documentation
      Fixed note wording
      Made note wording more functional


-------------------------------------------------
Changes in release mega-20200328 (since mega-20200310)
-------------------------------------------------

Release date: za 28 mrt 2020  2:55:55 CET

Bartlomiej Zimon (2):
      [SysVars] small optimization
      [SysVars] concat->String()

Boris Krivonog (30):
      Initial commit of the Mitsibutshi HP integration.
      Added device values.
      first contact
      push on change
      push on change
      unified code read and update
      added update ...
      set temperature ...
      write all parameters
      logging ...
      logs fixed
      if update was successful, update settings immediatelly
      renamed to settings
      don't read during write, don't request info we don't care about ...
      Added info about which specific commit used.
      reverted changes made in other files
      reverted changes made in other files
      reverted changes made in other files
      fixed compile time warnings
      Renamed to 092 plugin.
      Rewrote communication part, removed delays from code, optimised handling and storing of data ...
      Write re-enabled
      Renamed to 093 plugin.
      Renamed to 093 plugin.
      Improved write operations
      Fixed build when debug is disabled
      Make sure to break out of switch-case.
      Handle only "MHP" commands
      adding documentation ...
      adding documentation ...

Gijs Noorlander (47):
      [P091] Move P165 SerSwitch from playground to main repository
      [P091] Add documentation
      [P091 SerSwitch] Update to use latest sources of enesbcs
      Minify the JS code + store in flash
      [Docs] Add stub for documentation of P093 - Mitsubishi Heat Pump
      [SC16IS752] Add Library
      [SC16IS752 lib] Update manifest to register as PIO library
      [ESPEasySerial] Update manifest to mark SC16IS752 dependency
      [SC16IS752] Use I2C-UART bridge in ESPEasySerial (ESP8266)
      [SC16IS752] Extend Serial Helper to support I2C UART
      Fix warnings in ccronexpr test code
      [Serial] Mark plugins using serial as device type serial
      [I2C serial] Disable debugging
      [Docs] Add port type to plugin substitutions
      [Docs] Mark all plugins using Serial as port type
      [I2C UART] Speed up reading from I2C Serial
      [I2C UART] Cache FIFO available to speed up reading
      [I2C UART] Limit calls to serial.available()
      [code analytics] Use PVS studio
      [ESP32]  Add SDS011 support for ESP32
      [Task] Start scheduled runs again after (re)enableTask command
      [I2C UART] Mark ESPEasySerial library as v2.0.0
      [ESP32] Make sure to include the version tag in ESPEasySerial libdeb
      [I2C] Add I2C frequency setting
      ESPEasy Status LED is not working on ESP32 with buildin LED (#2940)
      Pulse Counter must retain its values after reboot (#2268)
      [Build] Disable test_ESP8266_4M1M_VCC_MDNS_SD due to max sketch size
      [JSON] Fix JSON output of values for single task
      [SerialProxy] Add regexp filtering
      [Lib] Add RegExp lib
      [Serial Proxy] Add regexp filtering using captures
      [Serial Proxy] Add extra filter parameters
      [Serial Proxy] Move plugin specific struct to .h/.cpp to support captures
      [Serial Proxy] Use capture filtering
      [Web] Make command field on Tools page much wider
      [Serial Proxy] Only check on valid filter rules
      [SysVar] Add extra system variables to get build info
      [Serial Proxy] Fix check in empty string test
      Add generic hexToUL functions
      [WiFi] Start webserver before starting wifi (long delay to receive 1st byte)
      [Serial Log] Keep a bit more free memory when processing serial log
      [Serial Proxy] Don't process on empty regexp
      Check if plugin uses formula before trying to process formula
      [ESP32] Fix crash in startup connecting to WiFi (#2960 )
      [SGP30] Fix output all values to controller
      [PIO] feature/stage no longer available for building latest core libs
      [PIO] Use platform_packages for all core libs supporting those

Grovkillen (8):
      [rules] commented out old upload html
      [rules] forms uncommented (needed for rules set)
      [rules] removed the "onSubmit" event
      [rules] narrowed scope of form (to not trigger onChange if btn clicked)
      [rules] file upload instead of form upload
      [rules] removed commented code
      [rules] size is updated when saved
      [rules] td-er talked me into it... thanks mate!

Michael Schröder (1):
      Fix double-Ok at command output

TD-er (4):
      Start of implementing SC16IS752 support
      Fix resetpulsecounter for P003_Pulse (#2710)
      [Blynk] Fix building C015 Blynk controller
      Fix ArduinoIDE Build error due to missing include

borisk (6):
      Updating documentation
      Updating documentation
      Updating documentation
      Add as part of testing plugins ...
      Restructured docs a bit so its easier to follow
      updated docs

tonhuisman (2):
      [P023] Fix for text overflowing onto next line(s)
      Added condition for 64x48 and rotated combined


-------------------------------------------------
Changes in release mega-20200310 (since mega-20200305)
-------------------------------------------------

Release date: di 10 mrt 2020  1:58:41 CET

Artem (8):
      SetDatetime command
      Rolled back extra changes
      Removed extra includes
      Removed serialPrintln
      Remade using current code base
      Removed extra linefeed
      Added missed linefeeds
      Change SetDatetime to Datetime command

Bartłomiej Zimoń (2):
      add support for space padding in transformations
      docs: add 'd' formating in rules

Gijs Noorlander (5):
      [Build] Split controllers on minimal OTA builds
      [Travis] Add new build env names to travis.yml
      [DateTime] Documented command + few fixes
      Fix build in ArduinoIDE
      [Rules] Fix parsing new rules commands when building JSON string (#2932)


-------------------------------------------------
Changes in release mega-20200305 (since mega-20200301)
-------------------------------------------------

Release date: do  5 mrt 2020  0:16:32 CET

Gijs Noorlander (11):
      [Webserver] Move Web_StreamingBuffer to its own .h/.cpp
      [Cleanup] Refactor parseSystemVariables + move time functions to .h/.cpp
      [Cleanup] Fix build errors
      [ESP32] Rename WebServer object to web_server to fix build issues
      [Cleanup] Fix build issues in some plugins
      [Cleanup] Fix build errors due to forward declarations and includes
      [Cleanup] Use StringProvider to share more code + ESP32 core lib 1.11.2
      [Cleanup] Include _Plugin_Helper.h in all plugin INO files
      [Build] Set flash mode to DOUT for all ESP8266 builds
      Fix Append unit number to hostname (#2918)
      [Build] Fix build issue ArduinoOTA ESP32 build

Toni (1):
      HeatpumpIR 1.0.13 update (Mitsubishi MSY fixes)

jimmys01 (1):
      Update IR library to 2.7.4


-------------------------------------------------
Changes in release mega-20200301 (since mega-20200228)
-------------------------------------------------

Release date: zo  1 mrt 2020 19:50:36 CET

Artem (1):
      Add more MIME types

Gijs Noorlander (2):
      [Build Size] Replace all TXBuffer += calls where possible
      [Build Size] Fix build issue in WebServer_FileList for SD card support


-------------------------------------------------
Changes in release mega-20200228 (since mega-20200222)
-------------------------------------------------

Release date: vr 28 feb 2020  2:30:24 CET

Claas Anders Rathje (5):
      Adding support for * substring * strtol (useful for converting hex or binary numbers) * 100ths division in eventvalue parsing.
      Fixed wildcard matching which only checked up to one character before the actual wildcard and not up to the wildcard.
      Added checks for valid integers as suggested by TD-er Merged the functions as suggested by TD-er
      Added [ord: to get integer value of a string/character.
      Avoiding deepcopy on command pass. Checking for closing character ]. Switched to if else if. Copied command string to get a lowercase representation.

Gijs Noorlander (31):
      Update Adafruit library for SGP30 sensor
      [P083 SGP30] Read SGP30 sensor according to specs
      [SGP30] Quick update + Store baseline info for quick init
      [Docs] Added doc stubs of recently added plugins
      Work-around for breaking change in Arduino core lib
      [CCS811] Plugin 089 CCS811 TVOC/eCO2
      [CCS811] Fix compile error unused variable
      [CC811] Rename file to _P090...
      [CCS811] Rename P089 to P090
      [CCS811] remove nonsense <TD>
      [CCS811] Act on each reading, but only send to controller on PLUGIN_READ
      Remove a inadvertently added change for schedule_all_task_device_timers
      [Travis] Remove Unicode characters from source code
      Revert "Work-around for breaking change in Arduino core lib"
      [docs] Document string handling in rules (PR #2828 )
      Add note to optimize code
      [Rules] Make nested string modification commands possible
      [Commands] Update docs + add task/controller enable/disable commands
      [docs] Document P081_Cron
      [docs] Document P036 Framed OLED
      [Cron] Fix handling bogus last/next times + restructure code
      [Cron] Fix mistake of generating incorrect event task name.
      [NTP] Validate returned NTP packet before using + rate limit requests
      [Time] Store system time in RTC and restore at warm boot (no deep sleep)
      [Cron] Call systmTimePresent() function to check if we have any time set
      [Cron] Only update last/next times if cron elapsed
      [Cron] Memory leak in calling Cron lib code
      [docs] Document RTC memory
      [Cron] Add warning about the memory leak
      [Cron] Use task data object to only parse expression when changed
      [Cron] Fix memory leak

Grovkillen (1):
      [benchmark] fixed incorrect syntax

TD-er (2):
      [Rules] Remove [div100ths:...] as it is too specific
      [Rules] Use curly braces for string conversion commands

stefan (1):
      Auto stash before merge of "mega" and "origin/mega"


-------------------------------------------------
Changes in release mega-20200222 (since mega-20200204)
-------------------------------------------------

Release date: za 22 feb 2020  0:06:14 CET

Gijs Noorlander (26):
      [RN2483] Fix LoRa packed encoding
      [Custom.h] Add some password defaults for factory default settings
      [RN2483] Fix proper reset and autobaud of RN2483 LoRa module
      [RN2483] Make calls non blocking using state machine
      [Controller] Add CPLUGIN_FIFTY_PER_SECOND function
      [Controller] Make more controller parameters optional for a controller
      [Notifiers] Make NPlugin functions into enum-class
      [Controllers] Make CPlugin functions in to enum class
      [RN2483] Fix OTAA and ABP join issues
      [RN2483] Make OTAA join work async
      [Controllers] Add the new 10/s and 50/s calls for controllers time stats
      [RN2483] Status bits depend on firmware rev. number
      [RN2483] Move functions and members to helper class.
      [RN2483] Add some example code for new RN2483 library
      [Controller] Fix connection failure counts (#2893)
      [MQTT controller] Add checks & --connectionFailures on publish success
      [Controllers] Make sure forward declaration of do_process_xx_delay_queue is on single line
      [GPIO settings] Allow to save changing GPIO pin to "not used"
      [JSON] Add lowest TTL to highest level in JSON output
      [RN2483] Quick work-around to force SW serial for LoRa module
      [Generic HTTP] Fix URL encoding for variable replacement (#2878)
      Add some function callbacks to allow parse plugins#2888
      [JSON] endpoint "buildinfo" declares plugins twice #2836
      Sync ESPEasySerial library + increase version to 1.0.14
      [JSON] Fix pinstates_json for empty list
      [MQTT] Make clean session and LWT optional for ThingSpeak MQTT

Grovkillen (1):
      [docs] added rules example + fixed S11 (P052) links

TD-er (5):
      [Controller] Fix controller name not found
      [RN2483] Fix build issues
      Fix compile issue in ArduinoUnoNano-downlink.ino example
      [RN2483] Small fixes in display strings and library examples
      [WiFi] Increase delay after turning on WiFi

Toni (4):
      HeatpumpIR 1.0.11 update, P088_HeatpumpIR support for Mitsubishi MSC and Mitsubishi Heavy FDTC
      Update _P088_HeatpumpIR.ino, include files in alphabetical order
      P088_HeatpumpIR to use HeatpumpIRFactory (#2884)
      P088_HeatpumpIR review fixes (#2884)

jimmys01 (1):
      Ir-Update


-------------------------------------------------
Changes in release mega-20200204 (since mega-20191208)
-------------------------------------------------

Release date: di  4 feb 2020 23:31:47 CET

Bartlomiej Zimon (1):
      LM75A - add multiple sensors support #2808

Gijs Noorlander (13):
      [MQTT] Fix change in client.connected() behavior for pubsubclient
      [WiFi] Improve reconnect management
      [LCD] Fix incorrect convert to lower case for LCD texts
      [Controller] Add CPLUGIN_TEN_PER_SECOND call for controllers
      [Build] Add 1M custom build to platformio.ini
      [Controllers] Restructure protocolIndex / controllerIndex and cplugin_ID
      [RN2483] Add option to reset LoRa module using reset pin
      [Build] Add compile time checks to make sure offsets in settings are OK
      Revert "[WiFi] Improve reconnect management"
      [PIO] Update to core 2.6.3
      [WIFi] Fix crashes with fixed IP
      Fix unexpected string padding in parseTemplate (#2866)
      [docs] Corrected supported SenseAir sensors in docs

Grovkillen (6):
      [README] updated with link to ICONS8
      [DOCS] P052 Senseair S11 added
      [DOCS] S11 fixed some incorrect data
      [DOCS] S11 fixed PR after Gijs review
      [DOCS] S11 re-phrased a sentance
      [docs] added rules example + fixed S11 (P052) links

TD-er (4):
      [HTTP] Add HTTP Accept header
      [Parse Templates] Allow to refer to variables in controllers (#2818)
      [SendToHttp] Add setting for waiting for ack
      [Controller] Optimization by reducing number of checks.

jimmys01 (6):
      [IR] Change default state of the lights if missing from JSON AC command
      [IR AC] Make sure that the JSON deserialization has enought space
      [P088] Optimize enabling and disabling of the RX while sending codes
      [IR RX] Move enableIR_RX function to P016
      Add the ' to the example command format
      [Zabbix] Update usage info


-------------------------------------------------
Changes in release mega-20191208 (since mega-20191130)
-------------------------------------------------

Release date: zo  8 dec 2019 18:35:06 CET

Gijs Noorlander (17):
      [WiFi] Use last known BSSID & channel from RTC + MQTT fixes
      [PIO] Update to core 2.6.2
      [WiFi] Improve ESP32 WiFi connect + fix mDNS updates
      [PIO] Fix build failure due to incorrect flags.
      [PIO] Don't use Python 3 specific since Travis still uses Python 2.7
      [WiFi] Call WiFi disconnect in setup() (#2757)
      [Rules] Parse template for all command calls
      [Rules] Execute some events asynchronous
      [Commands] Proper error logs when processing commands.
      [Commands] Add flag to be a bit more tolerant in last argument parsing
      [Events] Run events from rules immediately + add AsyncEvent command
      [FEATURE_SD] Add build in Platformio.ini with SD enabled (#2700 )
      [Rules] Add some checks for rules consistency before saving
      [Rules] Add check for correct received POST data when saving rules
      [JSON] Fix issues with generated JSON
      [JSON] Fix non valid timing stats json when no plugins defined (#2767)
      [JSON] Extend timing stats JSON end point with controller and misc stats

stefan (1):
      Fix Arduino IDE include path


-------------------------------------------------
Changes in release mega-20191130 (since mega-20191127)
-------------------------------------------------

Release date: Sat Nov 30 00:31:17 CET 2019

Baubau-Lab (1):
      [DHT]New DHT11 support decimal and negative values.

jimmys01 (6):
      [IR] Sent decoded values back to the controller
      Comment out interfering code
      Force rebuild
      Resolve code conflicts
      [IR RX] Add the extra ' needed for the parsing of the JSON command
      [IR RX] Option to Send IR events to MQTT broker


-------------------------------------------------
Changes in release mega-20191127 (since mega-20191126)
-------------------------------------------------

Release date: Wed Nov 27 09:17:00 CET 2019

Gijs Noorlander (1):
      Disable 16M and some custom builds from Travis


-------------------------------------------------
Changes in release mega-20191126 (since mega-20191123)
-------------------------------------------------

Release date: Tue Nov 26 21:38:44 CET 2019

Gijs Noorlander (3):
      [Nextion] Fix parsing rules for Nextion plugin (#2772)
      [Commands] Adapt all plugins to use parseString for parsing commands
      [Travis] Fix build error String.toDouble() is core 2.5.0 or newer.

uwekaditz (4):
      P[036] chars per line changed to 64, fixed overlapping while page scrolling
      [P036] chars per line changed to 64, fixed overlapping while page scrolling
      Update _P036_FrameOLED.ino
      Update _P036_FrameOLED.ino


-------------------------------------------------
Changes in release mega-20191123 (since mega-20191122)
-------------------------------------------------

Release date: Sat Nov 23 04:00:15 CET 2019

Bartlomiej Zimon (1):
      [switch] add support for pwm frequency change for ESP8266 #2653

Gijs Noorlander (3):
      [Defaults] Add Hostname option for default controller (#2758)
      [Build] Add normal_sdk3_ESP8266_1M
      [Build] Change to SDK 20190703 to improve WiFi


-------------------------------------------------
Changes in release mega-20191122 (since mega-20191119)
-------------------------------------------------

Release date: Fri Nov 22 04:00:11 CET 2019

Florent Kilchoer (1):
      Add options in custom.h to enable first controller at startup

Florin (1):
      Clean Warning messages inside external libraries: AS_BH1750 & Adafruit

Gijs Noorlander (14):
      [PIO] Cleanup platformio.ini and move to core 2.6.1 as default (#2742)
      [PIO] Update .travis.yml with new env names
      [Cleanup] Make timing stats optional to reduce size
      [PIO] Fix using wrong name for regular_platform
      [PIO] Cleanup ESP32 environments by using extends
      [PIO] Fix building hardware specific builds
      [PIO] Fix empty build_flags
      [PIO] Only build needed environments
      [PIO] Split platformio.ini into separate files + cleanup.
      [PIO] Add core 2.6.1 SDK3 builds and PIO env list for Vagrant
      [New UI] Add /buildinfo JSON to give list of included plugins/controllers
      [PIO] Use same build_flags def for _debug_ envs
      [PIO] Update .travis.yml to include core 2.6.1 SDK3 builds
      [Vagrant] Sample pio_envlist.txt file

TD-er (2):
      [PIO] Reduce platformio.ini complexity by using extends
      [PIO] Disable build cache dir (Windows/Unix slash in path)


-------------------------------------------------
Changes in release mega-20191119 (since mega-20191116)
-------------------------------------------------

Release date: Tue Nov 19 22:32:52 CET 2019

Bartlomiej Zimon (3):
      [p2p] small optimization
      [DHT] add extra ms
      [DHT] reoreder interrupt handling

Florin (5):
      Adding the subscribe command to allow for subscribing to other topics in the rules
      mqtt subscribe command
      moved declaration to ESPEasy_fwdecl.h
      cleanup and formatting
      add documentation for subscribe command.

Gijs Noorlander (3):
      [Rules] Fix comparing time (#2732)
      [WiFi] Retry setting WiFi mode if it fails to do so (#2721)
      [WiFi] Only allow automatic AP mode in first 5 minutes from boot

uwekaditz (4):
      [P036] CHG: Header content only changed once within display interval
      [P036] Value 128 change to P36_MaxDisplayWidth
      [P036] Commands (PLUGIN_WRITE) reviewed completely
      [P036] Commands (PLUGIN_WRITE) reviewed completely


-------------------------------------------------
Changes in release mega-20191116 (since mega-20191113)
-------------------------------------------------

Release date: Sat Nov 16 04:00:14 CET 2019

Florin (1):
      skip publishing of values with empty labels

Gijs Noorlander (4):
      [pubSubClient]  Fix signed/unsigned compare warning
      [SD] Allow to compile with FEATURE_SD defined (#2700)
      [PIO] Ignore SD/SDFS libraries to reduce build size
      [C002] Allow heatpump commands for new plugin P088

Plebs (2):
      fix for #2730 (longpulse command)
      fixed longpress with a new timer type

TD-er (4):
      [PubSubClient] Fix check for domain string
      [PubSubClient] Only update lastOutActivity when write is successful
      [MQTT] Improve update MQTT client connected status
      [pubsubclient]  Fix bug in publish


-------------------------------------------------
Changes in release mega-20191113 (since mega-20191108)
-------------------------------------------------

Release date: Wed Nov 13 04:00:15 CET 2019

BrainHunter (1):
      Added TX-Enable Pin to ser2net for RS485 support.

Gijs Noorlander (12):
      [Docs] Document changed rules parameter parsing
      [Rules] Allow back quote as parameter separator wrapper
      [Rules] Check nr arguments on commands and log when too many arguments
      [Log] Show loglevel on serial log output
      [Rules] Fix incorrect reject of commands handling tasks (#2726)
      [Rules] Improve parse argument as int
      [Pulse Counter] Add taskIndex parameter to resetPulseCounter command
      [Rules] Proper error log with incorrect number of arguments
      [PIO] patch for core 2.6.0 build env.
      [PIO] Use Jason2866 version of core 2.6.0
      [Custom Build] Fix order of Custom.h and ESPEasyDefaults.h
      [Rules] Fix parse issue where bogus parameter is found due to extra spaces

Yannick (2):
      Fix bug when read SHT20
      Update reading process (no blocking)

jimmys01 (1):
      [IR] Updated library reduces memory consumption

stefan (1):
      [OTA] Fix ESP8266 OTA update

uwekaditz (6):
      Update _P036_FrameOLED.ino
      Update _P036_FrameOLED
      [P036] Added pagination to customized header
      Update _P036_FrameOLED.ino
      [P036] BUG Wifi bars for 128x64 and 128x32 displays must be on right side
      [P036] Time for PLUGIN_READ reduced


-------------------------------------------------
Changes in release mega-20191108 (since mega-20191104)
-------------------------------------------------

Release date: Fri Nov  8 04:00:15 CET 2019

Bartlomiej Zimon (1):
      P003 Pulse: add resetpulsecounter command for setting counters to 0

TD-er (1):
      [Docs] Document new resetpulsecounter command

jimmys01 (7):
      Update IR library
      [IR TX RX] Add IRSEND JSON formated command
      [IR TX] Pretify and show to the log the supported Protocols, make JSON keys not case sensitive
      [IR TX] Fix travis issues
      Refactor P035
      Refactor P035
      Another refactor of P035


-------------------------------------------------
Changes in release mega-20191104 (since mega-20191103)
-------------------------------------------------

Release date: Mon Nov  4 04:00:18 CET 2019

Gijs Noorlander (4):
      [OTA] Fix minimal OTA size computations (#2707)
      [Rules] Fix (serious) bug in matching compares (#2704)
      [Build] ESP32 does not yet provide Web based OTA
      [Build] Exclude debug_custom builds from nightly build


-------------------------------------------------
Changes in release mega-20191103 (since mega-20191028)
-------------------------------------------------

Release date: Sun Nov  3 04:00:14 CET 2019

Gijs Noorlander (30):
      [Minimal OTA] Exclude web pages from minimal OTA build
      [Modbus RTU] Move strings to flash
      [Build] Fix uninitialized warning in Scheduler
      [Minimal OTA] Exclude Github Copy button on minimal build
      [WiFi] Fix WiFi reissue when gotIp event is delayed
      [Minimal OTA] Add defines to enable/disable any web page
      [Minimal OTA]  Disable buttons for not included pages
      [FEATURE_SD] Fix build issues when FEATURE_SD is defined (not finished)
      Fix JSON service stopped working (#2697)
      [Cleanup] Fix issue ControllerSettings & extra checks TaskIndex
      [clangtidy] Use sizeof(*this) instead of sizeof(this)
      [clangtidy] Clean up Commands/*
      [clangtidy] Clean up DataStructs/*
      [clangtidy] Missing header guard defines
      [clangtidy] Const reference function parameters
      [clangtidy] Missing forward declaration of toString(float,int)
      [Build] Fix build issue ESP32
      [Custom Build] Add WEBSERVER_CUSTOM_BUILD_DEFINED to strip out web pages
      [Custom build] Strip out MQTT commands when no MQTT used.
      [MQTT] Fix Publish command (#2662)
      [Build] Fix build issue with core 2.4.1 (F() macro)
      [Minimize OTA] Allow to define USES_SSDP from Custom.h
      [Cleanup] Split remaining .h files in Commands dir into .h and .cpp
      [Rules] Add some debug logs for checking conditionMatchExtended
      [clangtidy] Address some warnings reported by CLangTidy
      [Cleanup] Change toString(bool) into boolToString(bool)
      [Cleanup] Extra boundary checks for deviceIndex
      [Cleanup] Add boundary checks for accessing UserVar
      [Cleanup] Include define_plugin_sets.h in ESPEasy_common.h and only include common
      [Build] Fix build error in P086_Homie

Plebs (1):
      fixed serious bug for MONITOR command for offline PCF or MCP


-------------------------------------------------
Changes in release mega-20191028 (since mega-20191016)
-------------------------------------------------

Release date: Mon Oct 28 12:11:41 CET 2019

Gijs Noorlander (25):
      [Rules] Improve rules matching (#2660)
      [PIO] Fix build issue using Python 3
      [PIO] Fix build issue due to duplicate env in platformio.ini
      [Rules] Make handling compare condition more deterministic.
      [Cleanup] Make use of consistent names for DeviceIndex (#2676)
      [Cleanup] Proper handling of tasks not supported in current build
      [ESPEasy p2p] Allow changing remote unit on receiving plugin (#2679)
      [Cleanup] Use of taskIndex_t & reduce memory usage in structs
      [Cleanup] Use taskIndex_t everywhere where a task index is used.
      [sendToHttp] Trim spaces from path (#2681, #2660)
      [WDT reboot] Fix SW watchdog reboot when saving rules
      [ADC] Perform first read of ADC at init, before starting WiFi (#2646)
      [ArduinoIDE] Fix include errors for ArduinoIDE
      [WiFi AP]  No automatic attempt to reconnect with connected client (#2650)
      [WiFi] Only reset wifi connect attempt on stable connection (#2650)
      [MQTT] Use parseString functions to disect publish command (#2657)
      [Rules] Fix grammar in parsing parameters (#2686)
      [Commands] Mark commands not using standard parse functions (#2686)
      [PIO] Cleanup old environments and add debug definitions
      Remove redundant Wire.beginTransmission (#1417)
      [Build] Add custom 4M2M build
      [Build] Rename ESP32 env 1M8_partition to 4M316k
      [Docs] Describe PlatformIO installation
      [NTP] Sign of time offset reported in log was wrong
      [Cleanup] rename deepSleep functions and parameters (#1803)


-------------------------------------------------
Changes in release mega-20191016 (since mega-20191003)
-------------------------------------------------

Release date: Wed Oct 16 04:00:07 CEST 2019

Denys-ThreadPC (6):
      ICMP ping plugin
      Updated code
      Additional checks for nullptr and moving ICMP PCB to constructor/destructor
      Merging suggested fixes
      Adding as testing, renaming from 088 to 089
      Build only on ESP8266

Grovkillen (2):
      Benchmark tests (rules1.txt rules2.txt)
      Benchmark test (added test number to starttest1)

hennPi (1):
      7segment display doesn't display lower case letter

jimmys01 (3):
      [IR] Update IR lib
      [IR] Show the name of AC submodel instad of its number.
      [IR TX] Set JSON default model to be -1

stefan (1):
      [ADC] Improve ADC handling


-------------------------------------------------
Changes in release mega-20191003 (since mega-20190928)
-------------------------------------------------

Release date: Thu Oct  3 04:00:10 CEST 2019

Gijs Noorlander (13):
      [PIO] Describe core 2.6.0 branches/repositories
      [SenseAir] Fix incorrect handling of Modbus error codes
      [Uncrustify] Format SenseAir, AcuDC24x and Modbus RTU file
      Fix cached search for task value name may return wrong index (#2639)
      [Rules] Optimize rules parsing
      [INT#n] isn't doing transformations properly (#2642)
      Add system variable %sysstack%
      Disable firmware upload button when NO_HTTP_UPDATER is defined
      [Rules] Optimize ruleMatch function
      [Rules] Remove duplicate code to replace %eventvalue%
      [Rules] Split conditionMatch to share with event match
      [Rules] Allow extra inequality checks for rule event matching
      [Build] Fix forward declaration build error

TD-er (3):
      [Build] Add NO_HTTP_UPDATER to exclude http updates
      [ADC] Fix oversampling offset during WiFi connect
      [ADC] Build fix ESP32 & Uncrustify

jimmys01 (3):
      [IR] Update lib to 2.6.6
      [IR] Further granulate the selection of IR capabilities
      Add the RAW RAW2 define also in the custom.h file as well


-------------------------------------------------
Changes in release mega-20190928 (since mega-20190926)
-------------------------------------------------

Release date: Sat Sep 28 04:00:07 CEST 2019

Gijs Noorlander (3):
      [Build] Fix binary size check for xxx_1M builds
      [Build] Build log file does not interpret /t
      [Build] Fix use of flag BUILD_NO_DEBUG

Saverio Cisternino (1):
      Update ccronexpr library to v20190415

jimmys01 (1):
      Add to PLUGIN_SET_ONLY_TEMP_HUM left over sensors


-------------------------------------------------
Changes in release mega-20190926 (since mega-20190925)
-------------------------------------------------

Release date: Thu Sep 26 04:00:05 CEST 2019

Gijs Noorlander (58):
      [Rules] Reduce memory usage when parsing rules templates
      [Modbus RTU] Add "timeout" and "no data" as error
      [Build] No longer ignore IR libraries to allow IR builds from Vagrant
      [Travis] Do not remove old builds to reduce build time
      [Travis] Add .pio dir as cache directory
      [Build] Remove some build types from the nightly build
      [Travis] Change Ubuntu 14.04 to 18.04 for builds
      [Rules] Allow transformations on [var#n] and add [int#n]
      [Cache] Add cache to help find task value name.
      [Rules] Some minor code improvements (suggests from @uzi18 )
      [C014 Homie] Use cached functions to find task value by name
      [Rules] Compatibility Replace %eventvalue% by using the 1st argument
      [Build] Remove debug logs from 1M builds
      [Rules] Only match task value names which can be set
      Only include HttpClient when Settings Archive is being used
      [cleanup] make it compile again on ArduinoIDE
      [Custom.h] Storage layout parameters moved and wrapped in #ifndef
      [Storage layout] Add suggestions for 24 tasks layout
      [Custom.h] Allow for other defines to be set by the user.
      [Build] Fix include path to make ArduinoIDE able to build again
      [Travis CI] Reduce Travis test build duration
      [PIO] Use original platform for core 2.6.0, not Tasmota's one
      [Travis] Disable Travis cache
      [Build] Make sure Custom.h is leading during compilation.
      [ESP32] Fix build when SettingsArchive is set in Custom.h
      Fix using includes to get defines right during compile
      Move all header files in Commands/*.h to src/Commands/ for ArduinoIDE
      [Build] Fix path change in include
      Initial step for proper declaring global variables in .h files
      [Build] Another forgotten path update in moved .h file
      Move defines out of ESPEasy-Globals.h
      Move Plugin administration from ESPEasy-Globals.h to Globals/Plugin.h
      Move Logging from ESPEasy-Globals.h to Globals/Logging.h
      Move Cache from ESPEasy-Globals.h to Globals/Cache.h
      Move RTC from ESPEasy-Globals.h to Globals/RTC.h
      Move Nodes from ESPEasy-Globals.h to Globals/Nodes.h
      Move FactDefPrefs & CRCValues from ESPEasy-Globals.h to Globals/...h
      Move Device array from ESPEasy-Globals.h to Globals/Device.h
      Move SecuritySettings from ESPEasy-Globals.h to Globals/SecuritySettings.h
      Move ExtraTaskSettings from ESPEasy-Globals.h to Globals/...h
      Move Settings from ESPEasy-Globals.h to Globals/Settings.h
      Split Diagnostic.h & ESPEasyWiFiEvent.h into .h/.cpp
      [Arduino IDE] Make include paths relative to file location
      [Build] Forgotten include of MQTT related global variable.
      [Cleanup] Remove FIXME/TODO remarks which are now done.
      [Arduino IDE] Fix path in includes.
      [ESP32] Fix storage layout on ESP32 settings file.
      Uncrustify P022_PCA9685
      [PCA9685] Add range checks and memory optimization
      [PIO] Switch to core_stage for core 2.6.0 builds
      [Build] Fix pre_extra_script.py  build Cpp defines
      [Build] Add Custom ESP32 and disable plugins to reduce binary size
      Define build info from ESPEasy_common.h
      [Docs] Describe project directory structure
      Turn SettingsStruct into templated variable
      Create build log txt file to track missing files
      Show the build log text at the end of the build
      Small fix in creating build log file

TD-er (1):
      [PIO] Update core 2.5.2 to espressif8266@2.2.3


-------------------------------------------------
Changes in release mega-20190925 (since mega-20190910)
-------------------------------------------------

Release date: Wed Sep 25 04:00:14 CEST 2019

Bartlomiej Zimon (1):
      [Dummy] small fix for save action fix for #2600

Bartłomiej Zimoń (4):
      [Settings Archive] disable chunked encoding in download file
      [Settings Archive] move timeout if get some data
      [Settings Archive] remove http 1.0 request, 1.1 works ok
      [Settings Archive] clean up

Hans-Rune Bue (1):
      Support for MITSUBISHI KJ heatpumps (SG 161 0927 remote)

Maxim Prokhorov (3):
      [Gratuitous ARP] thread-safe etharp_gratuitous for esp32
      [Gratuitous ARP] Check that IF has both LINK_UP and UP flags
      [Gratuitous ARP] use public non-blocking API

Toni (2):
      Add plugin sets PLUGIN_SET_ONLY_SWITCH and PLUGIN_SET_ONLY_TEMP_HUM to the minimal_IRext_ESP8266_1M image
      Add 'Output - Domoticz MQTT Helper' into PLUGIN_BUILD_IR_EXTENDED

Victor Antonovich (1):
      Fix duplicated "DNS 1" value in JSON output

jimmys01 (6):
      Dallas improvments
      Remove reduntand conversion call
      Add a define in custom-sample.h for the Extended IR capability
      Make the reading of the sensor not blocking.
      Add compile time and date to differentiate between custom builds
      Fix IR TX RX instructions


-------------------------------------------------
Changes in release mega-20190910 (since mega-20190903)
-------------------------------------------------

Release date: Tue Sep 10 04:00:11 CEST 2019

Gijs Noorlander (12):
      [Cleanup] Split settings from global.h into separate .h and .cpp
      [Cleanup] Fix warnings of unused (static) functions
      [Cleanup] Move structs to separate .h/.cpp files
      [Cleanup] Move/split Controller QueueElement class to separate .h/.cpp
      [Cleanup] Allow Controller QueueElements to be excluded from a build
      [Memory Analyzer] Simplify analyzer and check for sets also
      [Memory Analyzer] Give hints on used parameters and reduce core size test
      Skip analog read during WiFi connect (#2566)
      [WiFi] Fix No reconnect when setup page was not completed
      [LoRa] Add air time calculation function
      [Vagrant] Allow Custom.h file to be used
      [build] Remove some builds from Travis test build due to build time

jimmys01 (3):
      [IR] Add Normal plugin set with only IR TX extended
      [IR} Update the IR library
      Add missed plugin description


-------------------------------------------------
Changes in release mega-20190903 (since mega-20190830)
-------------------------------------------------

Release date: Tue Sep  3 04:00:13 CEST 2019

Bartlomiej Zimon (3):
      - [C011] fix method save #2550
      [DHT] change pin into input before delay
      [DHT] change to input with pullup

Gijs Noorlander (11):
      [build] Add Minimal IRext 4M build
      Add minimal_IRext_ESP8266_4M2M build using 2M SPIFFS
      [Build] Fix typo error in platformIO.ini
      Disable Settings Archive on minimal builds
      Add TextArea option for C11 and fix some build inconsistencies
      [MemAnalyzer] Fix MemAnalyzer.py script to work with USES_.... defines
      Disable Home MQTT for dev build to make it fit max sketch size
      [Build] Start making Vagrant provisioning for quick self builds
      [Vagrant] Check if file exists before adding CRC info and quiet ZIP
      [Vagrant] Fix changed PIO env name in bootstrap.sh
      [Build] Fix build error after rename flash layouts

Toni (1):
      Documentation for P088 HeatpumpIR plugin

jimmys01 (1):
      [Git] Ignore custom files and the .ino.cpp


-------------------------------------------------
Changes in release mega-20190830 (since mega-20190827)
-------------------------------------------------

Release date: Fri Aug 30 04:00:13 CEST 2019

Bartłomiej Zimoń (2):
      [DHT] start conversion improvements
      [DHT] fix timeout reading

Gijs Noorlander (9):
      [Settings Archive] Allow to download settings from some HTTP archive
      [Settings Archive] Documentation
      [Settings Archive] Only allow on core 2.5.0 and newer
      [Gratuitous ARP] Only send ARP packets when IF is up
      [PlatformIO] Changes for core 2.6.0 (Tasmota patched core)
      [Settings Archive] Allow to download settings from some HTTP archive
      [Settings Archive] Documentation
      [Settings Archive] Only allow on core 2.5.0 and newer
      Move dev build to core 2.6.0 (to make it fit)

stefan (7):
      Reduce bin size by excluding unneded parts
      Reduce bin size -- Typos.
      Reduce bin size -- changed macro definitions
      Reduce bin size -- add PubSubClient to #ifdef's
      Reduce bin size -- cast blynk code
      Reduce bin size -- enable all controller structs again
      Revert "Reduce bin size -- cast blynk code"


-------------------------------------------------
Changes in release mega-20190827 (since mega-20190823)
-------------------------------------------------

Release date: Tue Aug 27 04:00:07 CEST 2019

Gijs Noorlander (5):
      [WiFi] Improve WiFi reconnect stability and fix initial setup
      [Docs] Document Timing Stats page
      [WiFi] Move functions to separate files and document
      [WiFi] Clean up WiFi code and modernize WiFi setup page
      [WiFi] Add RSSI symbol to WiFi setup page

TD-er (1):
      [LoRa] Keep out LoRa code if no supported controller is used

jimmys01 (1):
      IR Update library and usage instructions


-------------------------------------------------
Changes in release mega-20190823 (since mega-20190817)
-------------------------------------------------

Release date: Fri Aug 23 04:00:05 CEST 2019

Bartlomiej Zimon (4):
      [Modbus RTU] drop all data in buffers
      [Modbus RTU] do more checks with received packet
      [Modbus RTU] one more buffer check
      [Modbus RTU] add slave number check

Gijs Noorlander (9):
      Rename _P115_HeatpumpIR.ino to _P088_HeatpumpIR.ino
      Wrap P088 in USES_P088 defines
      Fix Build issues P088_HeatpumpIR
      [Heatpump IR] Add minimal IR_ext build for 4M flash nodes
      [PlatformIO] Move duplicate lines to global [env]
      [PlatformIO]  Maintain same order of platform and build_flags
      [PlatformIO] Fix missing define on some core 2.4.x builds
      Remove test_core_260_sdk2_alpha builds
      [Build] Remove all core 2.6.0 SDK2 builds

Toni (4):
      Add HeatpumpIR 1.0.9 library
      Add HeatpumpIR plugin P115
      Fix compile warnings in HeatpumpIR plugin
      Configurable MQTT package size in Controller.ino


-------------------------------------------------
Changes in release mega-20190817 (since mega-20190813)
-------------------------------------------------

Release date: Sat Aug 17 04:00:12 CEST 2019

Gijs Noorlander (8):
      [LoRa/TTN] Document LoRaWAN/TTN controller
      [LoRa/TTN] Toggle visibility of OTAA/ABP parameters based on selection
      [LoRa/TTN] Reduce number of join requests
      [LoRa/TTN] Add Sample Set Initiator to mark samples of the same set
      [LoRa/TTN] Output packed raw format for uploading to TTN
      [LoRa/TTN] Add raw encoder/decoder for sysinfo plugin
      [LoRa/TTN] Add decoder for the packet header
      [LoRa/TTN] Correct decoder example in comments


-------------------------------------------------
Changes in release mega-20190813 (since mega-20190809)
-------------------------------------------------

Release date: Tue Aug 13 04:00:10 CEST 2019

Gijs Noorlander (21):
      [TTN] Add RN2483-Arduino-Library
      [TTN] Skeleton for C018 TTN RN2xx3 controller
      [RN2483 lib] Only use const String& in function parameters
      [LoRa plugin] Use separate object for C018 data
      [LoRa TTN] Create special interface for LoRa TTN controller
      [Controller page] Restructure Controller rendering page
      Missing break; statement in controllers function switch statement
      [Cleanup] Split Webserver.ino is separate files per page
      [Cleanup] Uncrustify of all WebServer_*.ino files
      [Cleanup] Split handle_controllers() function into separate functions
      [Cleanup] Split handle_devices() function into separate functions
      [Cleanup] Stop using global declared dummyString
      [LoRa TTN] Show Dev Addr in controller overview page as host
      [LoRa TTN] Send data to the TTN network + decoder
      [LoRa TTN] Start working on the interpreter of decoded data
      [Encoder] ICACHE_RAM_ATTR added for encoder plugin
      [LoRa TTN] Add basic decoder for all plugins
      [Docs] Building ESPeasy using PlatformIO in VS-Code
      [LoRa TTN] Add decoder types
      [LoRa TTN] Make settings configurable & add support ABP
      [LoRa TTN] Add documentation stubs for C018-LoRaTTN and C017-Zabbix

TD-er (2):
      Improve RN2xx3 LoRo TTN library
      [LoRa TTN] Add some statistics to the controller info page


-------------------------------------------------
Changes in release mega-20190809 (since mega-20190805)
-------------------------------------------------

Release date: Fri Aug  9 04:00:19 CEST 2019

Artem (1):
      String representation for requested weekday

Bartłomiej Zimoń (1):
      [P076] setMode is not needed in interrupt mode

Gijs Noorlander (13):
      Config page not able to clear all WiFi settings
      Check for WiFi connected before trying to connect to host
      [ESPeasy Serial] Update to 1.0.12 to allow invalid pin config
      [Serial] Show serial port description as port in device page
      [ESPeasy p2p] Show remote node as port description on device page
      [Webserver] Do not allow writing to internal buffer for chunked transfer
      [WiFi] Cleanup some WiFi code
      [WiFi] Fix issue where node could disable plugins when offline for long
      [Reboot] Flush all buffers and controllers before reboot
      [ArduinoOTA] Suggest UDP port to use 18266 since 8266 is for ESPeasy p2p
      [Shutdown] Move delay(100) to after SPIFFS.end()
      [Plugin info] Show extra info in devices web page
      [Docs] Document sharing plugin via ESPeasy p2p controller


-------------------------------------------------
Changes in release mega-20190805 (since mega-20190803)
-------------------------------------------------

Release date: Mon Aug  5 04:00:12 CEST 2019

Artem (1):
      Introduced unix time part variables

Gijs Noorlander (19):
      [New Plugin] Serial Proxy plugin skeleton
      [String support] Make controllers aware of String type values
      [Serial Proxy] Read sentence
      [GPS] Only serial RX pin is really needed.
      [GPS] Uncrustify GPS plugin source code.
      [Serial Proxy] Process sentence and send to controller
      [Serial Proxy] Send init string and read sentences from serial
      [Serial Proxy] Use custom init string
      [OTA] Fix check 1M filesize during build
      Make loading of custom task settings more memory efficient
      [PWM] Fade always starts at 0, not the last set value
      Uncrustify of P001 Switch plugin.
      [Custom Build] Move custom build definition up in platformio.ini
      Disable Serial Proxy in other builds
      Fix build issue in changes of P023_OLED.
      [Docs] Document the new %unixday% and %unixday_sec$ variables
      [Serial Proxy] Must read at 50x sec interval
      [DeepSleep] Proper flush when going to deep sleep from rules
      [Serial Proxy] Check for null pointer

jimmys01 (2):
      [IR TX RX] Minor adjustments
      IR library update


-------------------------------------------------
Changes in release mega-20190803 (since mega-20190731)
-------------------------------------------------

Release date: Sat Aug  3 04:00:17 CEST 2019

Misiu (2):
      Rename OpenHAB MQTT to Home Assistant (openHAB) MQTT
      Remove backslash at start


-------------------------------------------------
Changes in release mega-20190731 (since mega-20190730)
-------------------------------------------------

Release date: Wed Jul 31 04:00:08 CEST 2019

Gijs Noorlander (1):
      [Static IP] Fix unable to connect with static IP.


-------------------------------------------------
Changes in release mega-20190730 (since mega-20190716)
-------------------------------------------------

Release date: Tue Jul 30 04:00:18 CEST 2019

Gijs Noorlander (15):
      [7dgt]  Uncrustify cleanup and remove F() & PROGMEM macro
      [WiFi] Add 1000 msec delay after WIFI_OFF and fix initial connect
      [CPPcheck] Fix some suggestions from CPPcheck
      [Memory] Be a bit more careful with memory allocation for serial buffer
      [Range check] Perform some basic range checks in Calculate function
      [PIO] include latest fixes for core 2.5.2 (PIO espressif8266@2.2.2)
      Change "To much plugins" to "Too many plugins"
      [CPPcheck] Remove unneeded code
      [Build] Remove hidden unicode characters preventing build of AccuEnergy
      [CPPcheck] Reduce scope of variables
      [Strings] Make sure generated strings are zero-terminated
      Use volatile and IRAM attributes on wifi event related code
      [ESP32] Force Gratuitous ARP
      [WiFi] Revert WiFi changes to 20190630 and force wifi wake/sleep
      [WiFi] Fix build issue on ESP32


-------------------------------------------------
Changes in release mega-20190716 (since mega-20190715)
-------------------------------------------------

Release date: Tue Jul 16 04:00:10 CEST 2019

Gijs Noorlander (3):
      [Build] PIO 4.0 uses different locations for built binary
      [Dallas] Accidentally removed delay in init call.
      [Uncrustify] Cleanup code using Uncrustify


-------------------------------------------------
Changes in release mega-20190715 (since mega-20190714)
-------------------------------------------------

Release date: Mon Jul 15 04:00:12 CEST 2019

Gijs Noorlander (2):
      [Build] Reduce build size normal_esp8266_IR_1M to minimal
      [Build] Fix build issue on core 2.4.0


-------------------------------------------------
Changes in release mega-20190714 (since mega-20190630)
-------------------------------------------------

Release date: Sun Jul 14 04:00:15 CEST 2019

Gijs Noorlander (15):
      [PIO] Fix build issue with PIO core 4.0.0
      [Crash info] Report last scheduled task before reboot
      [PIO] Ignore .pio folder in Git.
      [SW WD] Count SW watchdog and feed HW watchdog
      [WiF] Improve disconnect/reconnect stability
      [WiFi] Debugging connect/disconnect behavior
      [WiFi] Add more debug information
      [Uncrustify] Move uncrustify.cfg to project dir
      [Build] Set core 2.5.2 as default and add custom build
      [TSL2561] Small fix to detect saturation of ADC
      [TSL2561] Add auto gain and extended auto gain
      [Dallas 1wire] Add error state value selector
      [Dallas] Add ignore option as error state output value
      [WiFi] Code cleanup WiFi/WiFi event files
      [ESP32] Upgrade to core v1.9.0

jimmys01 (13):
      [Controller] Zabbix controller initial commit
      Scheduler fix
      Zabbix secont attempt
      Improvments
      More improvments
      [ZABBIX] Update code to JSON6+
      Increace PLUGIN_MAX by 10
      Update IR library to 2.6.3
      [IR TX RX] Extended AC commands
      Couple payload_len to actual JSON payload length.
      Resolve conflicts with C015
      Resolving conflicts #2
      Commit the changed define_plugin_sets.h after conflicts have been resolved


-------------------------------------------------
Changes in release mega-20190630 (since mega-20190626)
-------------------------------------------------

Release date: Sun Jun 30 04:00:18 CEST 2019

jimmys01 (3):
      [JSON] Update to Json 6
      Update code to version JSON 6
      Update _C002.ino


-------------------------------------------------
Changes in release mega-20190626 (since mega-20190607)
-------------------------------------------------

Release date: Wed Jun 26 04:00:15 CEST 2019

okarasev (11):
      testing version
      compilation fixes
      plugin number changed 14->15
      blynk library added
      EspEasy changes only
      library files added
      fix: reconnect_interval not worked correctly
      ssl support (disabled by default)
      fix
      log prefix show in log (ssl/open)
      thumbrint gui set option (when compilled in ssl mode)


-------------------------------------------------
Changes in release mega-20190607 (since mega-20190523)
-------------------------------------------------

Release date: Fri Jun  7 04:00:17 CEST 2019

Christian Meinert (3):
      Handling incomming messages via Plugin
      Plugin Number chnaged to 86, HSV2RGB functions moved to misc.ino, little bugfixes and documentation
      Changes as requested

Gijs Noorlander (4):
      [AcuDC243] Fix modbus address not set
      [AcuDC243] Fix bug in reading 4th set variable
      [build] Changes from SPIFFS to FS #2482
      [Readme] Added download counter

TD-er (1):
      [Build] Make it build in Arduino IDE again (#2481)


-------------------------------------------------
Changes in release mega-20190523 (since mega-20190522)
-------------------------------------------------

Release date: Thu May 23 04:00:18 CEST 2019

Gijs Noorlander (1):
      [Blitzwold SHP] Add build for 1M power nodes


-------------------------------------------------
Changes in release mega-20190522 (since mega-20190511)
-------------------------------------------------

Release date: Wed May 22 04:00:19 CEST 2019

Gijs Noorlander (10):
      [P003 Pulse] Adding ICACHE_RAM_ATTR attributes
      [PubSubClient] Fix Publish_P return value
      [PubSubClient] Removed an unused variable 618
      [PubSubClient] Support pre-connected client
      [PubSubClient] Add delay() calls in connect() and write()
      [PubSubClient] Fix publish() for payload == nullptr (528)
      [MQTT] Do not connect with cleanSession flag set
      [PubSubClient] Check for valid initialized _client
      [PIO build] Core 2.5.2 has been released
      [TimeDiff] Clean up timeDiff() function and add ICACHE_RAM_ATTR

Meek Home Automation (1):
      Update ESPEasySoftwareSerial.cpp

TD-er (15):
      [Plugins] Make number of outputs dynamic for some plugins
      [Plugins] Add plugin call to load defaults
      [Modbus RTU] Add DE/RE pin for use with MAX485 chip
      [WiFi] Use RSSI value to determine connected state
      New plugin: AccuEnergy Modbus
      [AccuEnergy] Allow setup internal parameters
      [AccuEnergy] Improve calibration and allow to clear logged data
      [WiFi] Perform explicit disconnect when wifi gets disconnected
      [AccuEnergy] Rename plugin to P085
      [Modbus RTU] Removed a delay and increase reading success
      [SenseAir] Add preliminary support for S11 Sunrise CO2 sensor
      [AccuEnergy] Make output value selectable
      Make output value selection more dynamic
      [GPS] Allow to select output values and update on time or distance travelled
      [PubSubClient] Upgrade to 2.7


-------------------------------------------------
Changes in release mega-20190511 (since mega-20190508)
-------------------------------------------------

Release date: Sat May 11 04:00:20 CEST 2019

Christian Meinert (6):
      Modified P019 & C014 to receive Values
      1st draft version of docs for C014 Homie Controller
      Minor fixes
      C014 Documentation
      Fixed subscribe topic default
      Revert "Modified P019 & C014 to receive Values"

svmac (3):
      PullDown for GPIO16
      Update _P001_Switch.ino
      Changes requested


-------------------------------------------------
Changes in release mega-20190508 (since mega-20190425)
-------------------------------------------------

Release date: Wed May  8 04:00:18 CEST 2019

Bartlomiej Zimon (7):
      1wire - add more data for debug, add a little more time for reset response
      ESP32: fix files upload
      ESP32: fix spiffs files downloading
      ESP32: fix (custom) dashboard downloading
      ESP32: fix booting after flash
      spiffs.open -> tryOpenFile
      # Conflicts:     #	src/WebServer.ino

MrBenzim (2):
      Update _P003_Pulse.ino
      Update _P003_Pulse.ino

Remco van Essen (3):
      [VEML6070] Added VEML 6070 UV sensor
      [VEML6070] Updates to plugin and add I2C function for 8 bit reads without sending command code first
      [VEML6070] Removed unneeded include


-------------------------------------------------
Changes in release mega-20190425 (since mega-20190419)
-------------------------------------------------

Release date: Thu Apr 25 04:00:18 CEST 2019

TD-er (2):
      [SHT1x] Add delay to slow down clock rate (#2444)
      [SHT1x] Make clock delay configurable.


-------------------------------------------------
Changes in release mega-20190419 (since mega-20190416)
-------------------------------------------------

Release date: Fri Apr 19 04:00:28 CEST 2019

TD-er (3):
      [SPIFFS] Add 16M14M option for build images
      [16M flash] Add warning about slow speed for 16M flash builds
      [Cache Controller] Add option to delete all cache files


-------------------------------------------------
Changes in release mega-20190416 (since mega-20190413)
-------------------------------------------------

Release date: Tue Apr 16 04:00:12 CEST 2019

Christian-Me (5):
      For 1st pull request
      Updates on pull request
      Hook for CPLUGIN_GOT_INVALID implemented & minor chnages
      Update platformio.ini
      Revert "Update platformio.ini"

Gijs Noorlander (1):
      Fix P005_DHT enabling interrupts on error reading.

TD-er (4):
      [Cache Controller] Delete oldest files when no room left
      [SPIFFS] Use standard functions for SPIFFS operations
      [SPIFFS] Use result of GarbageCollectio()
      [SPIFFS] Add garbage collection timing statistics


-------------------------------------------------
Changes in release mega-20190413 (since mega-20190409)
-------------------------------------------------

Release date: Sat Apr 13 04:00:21 CEST 2019

jimmys01 (3):
      [IR TX] Add back repeat functionality in a reverse compatible way
      [IR RX] Small enchacments, again
      Add F() Macros to the IR lib


-------------------------------------------------
Changes in release mega-20190409 (since mega-20190406)
-------------------------------------------------

Release date: Tue Apr  9 04:00:17 CEST 2019

Gijs Noorlander (1):
      [ESP32] Fix build/flash issue (#2403)

TD-er (16):
      [RTC] Move RTC related functions to a separate file
      [C014] Cached HTTP controller
      [C014 cache] Use RTC cache to store samples then move to file
      [C014 cache] Write part is ready
      [C014 cache] Dump to CSV
      [C014 cache] Dump to CSV in all columns
      [C014 cache] Compile issues using core 2.4.2
      [C014 cache] Read JSON to fetch cache files.
      [Cache controller] Add UTC timestamp to the CSV export columns
      [C014] Fix logging to flash without network connection
      [Cache controller] Rename C014 to C016
      [Cache controller] Clean up code
      [Cache controller] Documentation
      [Controller Queue] Add code examples for future controllers up-to ID 20
      [Cache controller] ESP32 compile issues SPIFFS related
      [RTC user var] Store read values in RTC memory to survive crash


-------------------------------------------------
Changes in release mega-20190406 (since mega-20190404)
-------------------------------------------------

Release date: Sat Apr  6 04:00:18 CEST 2019

TD-er (4):
      [SPIFFS] optimizations file access & 0-terminate strings in settings
      Flush stored data in the delay queue before sleep
      [SPIFFS] Fix ESP32 build
      [SPIFFS] Fix ESP32 build issues


-------------------------------------------------
Changes in release mega-20190404 (since mega-20190315)
-------------------------------------------------

Release date: Thu Apr  4 04:00:18 CEST 2019

TD-er (4):
      Plugin P040_ID12 not included (#1761)
      [SHT1x] Support multiple instances
      [SHT1x] Remove delays in reading sensor
      [Build] Run compile time checks on struct sizes

jimmys01 (6):
      [IR TX RX] Update the IR LIB
      [IR TX] Updates with the newest IR protocol support
      [IR RX] Improve RX decoding stability
      [IR RX] Add more F macros
      [IR RX] Enhancements
      [IR RX] Fixed typo


-------------------------------------------------
Changes in release mega-20190315 (since mega-20190311)
-------------------------------------------------

Release date: Fri Mar 15 04:00:21 CET 2019

Gijs Noorlander (2):
      [P083_SGP30] New plugin should be in [TESTING]
      [P049 MHZ19] Fix check for unexpected response

TD-er (12):
      [C11] Fix HTTP header in 'Generic HTTP Advanced' controller
      [Webserver] Reduce flash strings in build via String Provider class
      remove the [TESTING] tag for plugin P079 (#2390)
      [Travis] Build issue with ESP32 getHostname() vs hostname()
      [#2390] Added Wemos Motor Shield firmware binary to ESPeasy repo
      [Docs] Added P079 WemosMotorshield documentation to RTD
      [C011] Fix newlines in header (#1970)
      [MH-Z19 CO2] Fix handling unexpected response from sensor (#2394)
      [SDK2.2.2] Add test build for SDK2.2.2
      [MH-Z19] Do not reset sensor for wrong values within 3 min after init
      [debug log] Do not remove debug logs from all builds
      [Travis] Fix build error on ESP32 with debug error enabled

TungstenE2 (1):
      Update _P079_Wemos_Motorshield.ino

jimmys01 (9):
      [IR TX RX] Update IR Library
      [IR TX RX] Add the new protocols to the TX RX plugins
      Small Fix
      [IR] Latest Ir lib commit
      [IR TX RX] Add comments, Removed debug log prints, some refactoring to compact the code.
      [IR RX] Make the log output more readable
      [IR TX RX] Small fixes
      [IR TX RAW] Uncomment code that was commented by mistake
      [IR TX] Set Coolix to default to 1 repeat

nichu (3):
      add Sensor SGP30 in _P83_SGP30.ino and Upload Lib Adafruit_SGP30-1.0.0.13
      add sgp30 to define list
      Reduction tools/build_ESPeasy.sh


-------------------------------------------------
Changes in release mega-20190311 (since mega-20190305)
-------------------------------------------------

Release date: Mon Mar 11 04:00:15 CET 2019

TD-er (14):
      [ESP32] Disable Gratuitous ARP for ESP32 (#2374)
      [ADC] Use simple filter for ADC plugin and show value on setup page
      [Travis] Change needed due to change in core 2.6.0 File::write
      [Travis] Changes needed due to update core 2.6.0 for File::write
      [Build] Add build stats to track
      [Memory] Add several F() macro markers and disable some debug logs
      [Modbus] Split Modbus RTU from Senseair plugin
      [Travis] Build error including F-macro in private class webserver
      [ADC] Show calibration range + step size
      [Travis] F-macro related build issues
      [MPU6050] Reverted to old version before adding Plugin_task_data array
      [Cleanup] Remove P030 BMP280 since it has become obsolete by BMx280
      [Webserver] Add documentation link to Advanced settings page
      [ADC] Increase readability of ADC calibration settings

jimmys01 (6):
      [IR RX] Disable Extended decoding of AC protocols by default
      Fix endIf statement
      Travis rebuild
      [IR RX] Disable Extended decoding of AC protocols by default
      Fix endIf statement
      Travis rebuild


-------------------------------------------------
Changes in release mega-20190305 (since mega-20190301)
-------------------------------------------------

Release date: Tue Mar  5 04:00:16 CET 2019

TD-er (4):
      [Energy] Call delay from scheduler during idle time
      [Energy] Add Eco mode, wifi none sleep and gratuitous ARP
      [Energy] Default Eco mode off.
      [Energy] Document new Special and Experimental Settings


-------------------------------------------------
Changes in release mega-20190301 (since mega-20190227)
-------------------------------------------------

Release date: Fri Mar  1 04:00:23 CET 2019

TD-er (3):
      [HLW8012] Fix build difference between Linux/Windows (#2355)
      [Digest_auth] on Safari browser (#2356)
      [Digest_auth] Fix compiler issues ESP32

jimmys01 (2):
      [IRTX] Fix RAW2 bug introduced at 20190202
      Fixed a check


-------------------------------------------------
Changes in release mega-20190227 (since mega-20190226)
-------------------------------------------------

Release date: Wed Feb 27 04:00:18 CET 2019

Gijs Noorlander (1):
      Fix build error

TD-er (6):
      [Factory Reset] Make default switch/relay rules more intuitive
      [Factory Reset] Change #switch in rules and plugin to #state
      [Heap stats] Show heap statistics on core 2.5.0 and newer
      [WiFi] Only perform network activity when connected
      [Build] Add normal core 2.6.0 SDK2 build
      [WiFiClient] Make sure all clients use at least some timeout


-------------------------------------------------
Changes in release mega-20190226 (since mega-20190225)
-------------------------------------------------

Release date: Tue Feb 26 04:00:13 CET 2019

Bartłomiej Zimoń (2):
      IRTX: fix memory leak in case of error
      IRTX: move error string to flash

Gijs Noorlander (1):
      Undo F() macro due to build errors

TD-er (7):
      [Ser2Net] Revert of Ser2Net and P1WifiGateway (#1617 and #2343)
      [SerialHelper] Added comment to help finding issue later
      [P1WifiGateway] Fix memory leak
      Trim trailing spaces in unit name  (#2329)
      [ESP32] Setting won´t save #2354
      [ESPeasySerial] Update to v1.0.8 Fix some compiler issue.
      [Settings] Get rid of error when deleting plugin


-------------------------------------------------
Changes in release mega-20190225 (since mega-20190219)
-------------------------------------------------

Release date: Mon Feb 25 04:00:17 CET 2019

TD-er (8):
      [Nextion] Cleanup of plugin after moving to serial wrapper
      [Minimal OTA] Remove JSON handles for new UI from minimal build
      [Minimal OTA] Handling '/' was lost in last fix.
      [HLW8012] Fix crash when saving settings (#2251)
      [MH-Z19] Reset/re-init sensor when unknown response received
      [Sphinx docs] Some small doc build fixes
      [Build] Use PlatformIO Espressif8266@2.0.1 (core 2.5.0)
      [Minimal OTA] F() macros were lost in last fix.


-------------------------------------------------
Changes in release mega-20190219 (since mega-20190218)
-------------------------------------------------

Release date: Tue Feb 19 04:00:16 CET 2019

TD-er (1):
      [build] Fix ESP32 build issues for #2326

ppisljar (5):
      updating sysinfo json endpoint
      adding new ui download button
      fixing download ui button
      fixing json numbers
      always use string in json


-------------------------------------------------
Changes in release mega-20190218 (since mega-20190216)
-------------------------------------------------

Release date: Mon Feb 18 04:00:07 CET 2019

Peter Pisljar (1):
      p2p node list json endpoint (#2323)

TD-er (2):
      [ESP32dev] Disable ESP32dev build due to space constraints
      [bugfix] Load old webpage when no index.htm present and no SD support

ppisljar (10):
      adding upload json endpoint
      digest auth
      factory reset json endpoint
      load index.htm if it exists
      add support for serving gziped files
      typo
      fixing
      adding support for index.htm.gz
      fixing index.htm serving
      adding sysinfo json endpoint


-------------------------------------------------
Changes in release mega-20190216 (since mega-20190215)
-------------------------------------------------

Release date: Sat Feb 16 04:00:15 CET 2019

Gijs Noorlander (1):
      [#2286] Missing build normal_IR_ESP8266_1024


-------------------------------------------------
Changes in release mega-20190215 (since mega-20190212)
-------------------------------------------------

Release date: Fri Feb 15 04:00:16 CET 2019

Grovkillen (9):
      [docs] ThingSpeak (must check acknowledge)
      [docs] P015 TSL2561 added
      [docs] Rules (Let used in filters)
      [docs] Rules (fixed error in syntax)
      [docs] P082 added screenshot
      [docs] event+commands for GPIO#N + Monitor added
      [docs] added GPIOtoggle command
      [docs] fixed error in event list
      [docs] upgraded to Sphinx 1.8.4

TD-er (71):
      [Nextion] Reduce memory usage when not active
      [p073_7DGT] Reduce memory usage of 7-segment display plugin
      [memory] Reduce memory usage of p070_NeoPixelClock when not enabled
      [memory] Reduce memory of P082_GPS and P068_SHT3x when not enabled
      [memory] P077_CSE7766 Use Plugin_task_data array
      [memory] P075_Nextion Use Plugin_task_data array
      [memory] P074_TSL2591 Use Plugin_task_data array
      [memory] P073_7DGT Use Plugin_task_data array
      [memory] P070_NeoPixel_Clock Use Plugin_task_data array
      [memory] P046_VentusW266 Use member data struct
      [memory] P045_MPU6050 Use Plugin_task_data array
      [memory] Change pointer checks to compare with nullptr
      [memory] P044_P1WiFiGateway Use Plugin_task_data array and String as buffer
      [memory] Shared code to select Serial Config (8N1 etc)
      [memory] P020_Ser2Net Use Plugin_task_data array
      [ESP32] Change P002_ADC range to 4095 for ESP32
      [Settings] Added check for offset on last member of struct
      [TinyGPS++] Added GSA and GSV sentences to get satellite ID & SNR
      [GPS] Use GSV and GSA sentences to view satellite ID and SNR
      [PlatformIO] Allow building ESP32 espressif32@1.6.0
      [PubSubClient] Increase MQTT_MAX_PACKET_SIZE from 384 to 1024
      [GPS] Improve displayed satellite stats
      [WiFi] Allow force to B/G to improve WiFi stability.
      [WiFi] Correct fall-back when B/G only mode cannot connect
      Moved testing plugins to test builds & added safety docs for power sensors
      [WiFi] Add option to set wifi off and restart wifi when connection lost
      [Nextion] Reduce memory usage when not active
      [p073_7DGT] Reduce memory usage of 7-segment display plugin
      [memory] Reduce memory usage of p070_NeoPixelClock when not enabled
      [memory] Reduce memory of P082_GPS and P068_SHT3x when not enabled
      [memory] P077_CSE7766 Use Plugin_task_data array
      [memory] P075_Nextion Use Plugin_task_data array
      [memory] P074_TSL2591 Use Plugin_task_data array
      [memory] P073_7DGT Use Plugin_task_data array
      [memory] P070_NeoPixel_Clock Use Plugin_task_data array
      [memory] P046_VentusW266 Use member data struct
      [memory] P045_MPU6050 Use Plugin_task_data array
      [memory] Change pointer checks to compare with nullptr
      [memory] P044_P1WiFiGateway Use Plugin_task_data array and String as buffer
      [memory] Shared code to select Serial Config (8N1 etc)
      [memory] P020_Ser2Net Use Plugin_task_data array
      [ESP32] Change P002_ADC range to 4095 for ESP32
      [Settings] Added check for offset on last member of struct
      [TinyGPS++] Added GSA and GSV sentences to get satellite ID & SNR
      [GPS] Use GSV and GSA sentences to view satellite ID and SNR
      [PlatformIO] Allow building ESP32 espressif32@1.6.0
      [PubSubClient] Increase MQTT_MAX_PACKET_SIZE from 384 to 1024
      [GPS] Improve displayed satellite stats
      [WiFi] Allow force to B/G to improve WiFi stability.
      [WiFi] Correct fall-back when B/G only mode cannot connect
      Moved testing plugins to test builds & added safety docs for power sensors
      [WiFi] Add option to set wifi off and restart wifi when connection lost
      [#2254] Reduce memory usage on MH-Z19 and improve reading stability
      [#2254] Make it compile in all core libraries
      [ESP8266] Do not use default for TX pin
      [Core 2.5.0] Move tag to beta3
      [SenseAir] Improvement on Modbus handling
      [SenseAir] Some more improvements Modbus implementation
      [WiFi] Destruct WiFi object when wifi needs to be reset
      [Eastron] Add CRC pass/fail stats to plugin page and allow retries
      [Eastron] Fix compile error
      [#2292] HX711: tareChanA command is not case insensitive
      [ESPeasySerial] return -1 as pins on unset serial type
      [GPS] Fix some uninitialized issues
      [PlatformIO] Core 2.5.0 is no longer beta
      [SWserial] Set TX interrupts for 9600 baud
      [Build] Rename build files and disable core 2.5.0 builds
      [ESPeasySerial] Make it compile for core 2.4.1
      [Serial wrapper] Fix serial issues (for ESP8266) when using HW serial
      1MB build with P035 IR plugins #2286
      MQTT Import : A bad clientId is build in case of a reconnect #2298

Victor Antonovich (2):
      [WIFI] Fix mDNS startup for log levels below LOG_LEVEL_INFO
      [WIFI] Add MDNS.update() for LEAmDNS compatibility

ppisljar (2):
      json endpoints
      removing unused var


-------------------------------------------------
Changes in release mega-20190212 (since mega-20190202)
-------------------------------------------------

Release date: Tue Feb 12 04:00:31 CET 2019

Grovkillen (3):
      [flasher] fixed unzip to root, now (correctly) bin folder
      [flasher] fixed HW port name bug
      [flasher] old zip's didn't store in "\bin", downloader comply now

chunter1 (1):
      1-wire timings optimized for stability

olliwr (3):
      Update ESPEasy-Globals.h
      Update Command.ino
      Update ESPEasy-Globals.h


-------------------------------------------------
Changes in release mega-20190202 (since mega-20190121)
-------------------------------------------------

Release date: Sat Feb  2 04:00:28 CET 2019

Grovkillen (1):
      [flasher] fixed empty folder issue

Jonathan Westerholt (1):
      fix reset bug for esp32 by casting explicitly, should fix #2242

jimmys01 (6):
      Bump up IrRemote Lib to 2.5.4
      Add the newest IR protocols to EspEasy
      [IRTX] Even more timming Buffer added
      [IRTX] Allocate big buffers on the heap for RAW and RAW2 encodings
      Update _P035_IRTX.ino
      [Controllers] Fix small error in commit #2246

stefan (6):
      [1M minimal Size] Undefine graphical meminfodetail
      [1M minimal Size] Exclude all debug logs from standard files
      [1M minimal Size] Include BUILD_NO_DEBUG in plugin sets
      [1M minimal Size] Remove unused variable..
      [1M minimal Size] Remove another unused variable..
      [1M minimal Size] Exclude debug from minimal Controllers/Plugins


-------------------------------------------------
Changes in release mega-20190121 (since mega-20190116)
-------------------------------------------------

Release date: Mon Jan 21 04:00:15 CET 2019

Eduard Iten (1):
      Add code to start periodic transmission if not enough data is received

Gijs Noorlander (1):
      [IRTX] mitsubishi_ac not working #2230

jimmys01 (1):
      [Condrollers] Solves the 0 Max Queue Depth and Max retries bug after an update

stefan (3):
      [WiFi] Some minor changes for WiFi stability
      [Wifi] Remove unused variable
      [Plugin Sets] Decouple PLUGIN_BUILD_MINIMAL_OTA


-------------------------------------------------
Changes in release mega-20190116 (since mega-20190110)
-------------------------------------------------

Release date: Wed Jan 16 04:00:26 CET 2019

Gijs Noorlander (1):
      [WiFi] Disable wifi initialization at boot

Grovkillen (1):
      [flasher] fixed API deny error (JSON parse)


-------------------------------------------------
Changes in release mega-20190110 (since mega-20190109)
-------------------------------------------------

Release date: Thu Jan 10 04:00:10 CET 2019

TD-er (4):
      [GPS] Reduce memory usage when plugin not active.
      [Plugins] Replace long settings names with clear macros
      [CSE7766] Reduce memory when plugin not active
      [Plugins] Remove redundant includes


-------------------------------------------------
Changes in release mega-20190109 (since mega-20190108)
-------------------------------------------------

Release date: Wed Jan  9 04:00:13 CET 2019

Gijs Noorlander (1):
      Compile issue Arduino IDE declare function static

Grovkillen (2):
      [dist] deleted the plugin sizes file (obsolete)
      [flasher] big update!


-------------------------------------------------
Changes in release mega-20190108 (since mega-20190107)
-------------------------------------------------

Release date: Tue Jan  8 04:00:08 CET 2019

Bartlomiej Zimon (2):
      Dallas: perform 1wire reset before issue copy to eeprom command       it is small fix for resolution change after sensor reset #2143
      Dallas: do not perform eeprom write if configuration does not change

Grovkillen (8):
      [docs] fixed used libraries
      [docs] added events to all plugin pages
      [docs] added "used libraries" to all plugin pages
      [docs] moved events to repl file (same as commands)
      [docs] added an event reference page (similar to the command ref. page)
      [docs] added P082 (GPS) pages
      [docs] P082 (GPS) added "where to buy" links
      [docs] fixed some syntax

TD-er (1):
      [deepSleep] Prevent overflow issues

stefan (4):
      [deepSleep] Make deepSleep work again with 2.5.0 and refactor delay var
      [deepSleep] only use deepSleepInstant for 2.5.0
      [deepSleep] Allow for sleeptimes up to deepSleepMax()
      [deepSleep] fix type errors of #999e43a


-------------------------------------------------
Changes in release mega-20190107 (since mega-20190106)
-------------------------------------------------

Release date: Mon Jan  7 04:00:07 CET 2019

CaptainRoot (5):
      Update _P076_HLW8012.ino
      add predefind pin settings for some energy meter sockets to HLW8012 / BL0937
      Revert changes to platformio.ini
      Update platformio.ini
      movepredefind pin settings to PROGMEM

TD-er (3):
      Add new Nodetype RPIEasy #2206
      [HLW8012] Fix some issues when selecting device
      [HLW8012] Update documentation


-------------------------------------------------
Changes in release mega-20190106 (since mega-20181231)
-------------------------------------------------

Release date: Sun Jan  6 04:00:12 CET 2019

TD-er (29):
      [GPS] Add TinyGPSPlus library 1.0.2
      [GPS] Improved precision
      [GPS] support for fix quality and fix mode
      [GPS] New plugin P082 GPS - initial commit
      [GPS] Add TinyGPSPlus library 1.0.2
      [GPS] Improved precision
      [GPS] support for fix quality and fix mode
      [GPS] New plugin P082 GPS - initial commit
      [GPS] Make helper object to abstract hardware/software serial
      [GPS] Extend helper object for abstracting HW/SW serial
      [GPS] Serial wrapper support including ESP32
      [GPS] typo in JSON file caused build issues
      [core 2.3.0] build attempt (failing due to iRAM)
      [Serial] Let plugins use new serial wrapper
      [WiFi] Set to auto reconnect.
      [Serial] Use uniform serial port selector for all serial plugins
      [Stability] Add delay(0) to all successful calls to plugin functions
      [build] Register ESPeasySerial as library in PlatformIO
      [build] Added extra include of ESPeasySerial.h
      [#2197] Correct spelling error in 'Controller'
      [GPS] Allow GPS to update system time
      [ESPEasy Serial] Fix build issues for core 2.4.0
      [Puya] Backport core 2.5.0 Puya patch and make patched platform archives
      [JavaScript] Simple JS to update view in web interface on change serial
      [GPS] Add PPS pin as reference pilot for time sync
      [GPS] Add documentation for P082_GPS.ino
      [PUYA] Use newest core 2.5.0 backport patch on unpatched sources.
      [GPS] Include the GPS docs in the Spinx tree.
      [WiFi] Some basic fixes to improve wifi reconnect


-------------------------------------------------
Changes in release mega-20181231 (since mega-20181220)
-------------------------------------------------

Release date: Mon Dec 31 04:00:12 CET 2018

Grovkillen (13):
      [docs] P013 added
      [docs] P003 added "EndOn"
      [docs] P013 syntax fixed
      [docs] P024 added
      [docs] where used added for P024
      [docs] P006 added
      [docs] added note to BMP085 and BMP180
      [docs] commands updated
      [docs] P028 added
      [docs] added info about bme/bmp similarities
      [travis] -lstdc++-nox removed from esp82xx_2_5_0
      [docs] fixed rule syntax typo
      [flasher] getting ready for info splash with announcements

Plebs (7):
      bugfix for sending event in case of gpio commands
      bug fix for state = -1 in JSON
      bug fix for gpio events for P009 and P019
      fixed string error
      optimizing PLUGIN_MONITOR call
      fixed esp32 compile failure
      optimized monitor call


-------------------------------------------------
Changes in release mega-20181220 (since mega-20181218)
-------------------------------------------------

Release date: Thu Dec 20 04:00:08 CET 2018

Grovkillen (2):
      [docs] P005 DHT11 + DHT22 hardware added
      [docs] fixed better value name in P003

TD-er (5):
      [PUYA] Support for PUYA now in core 2.5.0
      [TimingStats] Add timing stats for controllers
      [TimingStats] Add handle_schedule() to the timingstats.
      [WiFi] Add WiFi#APmodeDisabled & WiFi#APmodeEnabled #2180
      [WiFi] Documentation of new WiFi#APmodeEnabled / Disabled events


-------------------------------------------------
Changes in release mega-20181218 (since mega-20181217)
-------------------------------------------------

Release date: Tue Dec 18 04:00:10 CET 2018

Grovkillen (3):
      [docs] P003 documented (generic pulse counter)
      [docs] P004 (DS18b20) added
      [docs] fixed search box on RTD + added HW links in the plugin categories

TD-er (3):
      [PUYA] Prepare for upcoming PUYA patch in core library
      [Core 2.5.0] Update label to core "2.5.0-beta2"
      [Minimal build] Reduce file size of minimal build for 1MB OTA


-------------------------------------------------
Changes in release mega-20181217 (since mega-20181216)
-------------------------------------------------

Release date: Mon Dec 17 04:00:07 CET 2018

Gijs Noorlander (1):
      [2M flash] Change 2M128 into 2M256 for 256k SPIFFS

TD-er (1):
      [2M flash] Update deploy script to match 2M256 flash layout


-------------------------------------------------
Changes in release mega-20181216 (since mega-20181214)
-------------------------------------------------

Release date: Sun Dec 16 04:00:10 CET 2018

TD-er (1):
      [#2162] Restore PlatformIO config for WROOM02 + new 2M128 flash layout


-------------------------------------------------
Changes in release mega-20181214 (since mega-20181208)
-------------------------------------------------

Release date: Fri Dec 14 04:00:19 CET 2018

Gijs Noorlander (18):
      [core 2.5.0-beta1] Test build using platformIO
      [core 2.5.0-beta1] Allow building against core 2.5.0
      [Tools] Set executable bits to scripts
      [build] Add option to give a PR number at command line.
      [core 2.5.0-beta1] Add core number and disable some 1MB builds
      Revert "[GPIO] Move all GPIO commands out of Switch plugin"
      Revert "[GPIO] Move "inputswitchstate" back to Switch plugin"
      Revert "[GPIO] Add some checks to what GPIO pin can be used."
      Revert "[GPIO] GPIO commands with long duration will be stopped async."
      Revert GPIO, prepare for easier merge later GPIO fixes
      [Rules] Modulo operator '%' only works on int
      [core 2.5.0-beta1] Clean up PlatformIO.ini & add some 2.5.0 beta builds
      [core 2.5.0-beta1] Update build names in deploy script
      Revert "[GPIO] Move all GPIO commands out of Switch plugin"
      Revert "[GPIO] Move "inputswitchstate" back to Switch plugin"
      Revert "[GPIO] Add some checks to what GPIO pin can be used."
      Revert "[GPIO] GPIO commands with long duration will be stopped async."
      Revert GPIO, prepare for easier merge later GPIO fixes

Grovkillen (5):
      [docs] Up to date with the info before the merge fix on 181207
      [docs] fixed the command reference list (looks better on small screens)
      [flasher] 0.03.001 new window layout for long file names in dropdown
      [flasher] 0.03.002 forgot to add pixel per inch settings (defaulted 144)
      [docs] added hardware Ventus W266 (P046)

TD-er (2):
      [GPIO] Track output value in plugin overview
      [core 2.5.0-beta1] Add core 2.5.0 IR build and normal 1M VCC


-------------------------------------------------
Changes in release mega-20181208 (since mega-20181207)
-------------------------------------------------

Release date: Sat Dec  8 04:00:13 CET 2018

Gijs Noorlander (3):
      [#2144] Only include OTA images that fit (<600 k)
      [#2144] Extend check for file size of ESP32 images
      Max OTA filesize on 1MB = 616448 bytes.

Grovkillen (4):
      [docs] added commented references to commands list
      [flasher] 0.03.000 added custom serial commands.
      Revert "[docs] added commented references to commands list"
      [docs] added hardware tSense


-------------------------------------------------
Changes in release mega-20181207 (since mega-20181204)
-------------------------------------------------

Release date: Fri Dec  7 04:00:13 CET 2018

Gijs Noorlander (5):
      [GPIO] Move all GPIO commands out of Switch plugin
      [GPIO] Move "inputswitchstate" back to Switch plugin
      [GPIO] Add GPIO pin description page
      [GPIO] Add some checks to what GPIO pin can be used.
      [GPIO] GPIO commands with long duration will be stopped async.

Grovkillen (6):
      [docs] added phantomJS script to streamline the screenshots
      [docs] updated headlines (css) + added P001 hardware
      [docs] syntax error fixed.
      [docs] P052 sensair S8 hardware page updated
      [docs] Test if arrows (unicode) work with RTD
      [docs] fixed "ESP Easy" logo margin bug

chunter1 (1):
      HX711 load cell plugin now supports dual channel support

wdonker (1):
      Update _C002.ino


-------------------------------------------------
Changes in release mega-20181204 (since mega-20181203)
-------------------------------------------------

Release date: Tue Dec  4 04:00:08 CET 2018

Grovkillen (1):
      [docs] Added P001 (hardware)


-------------------------------------------------
Changes in release mega-20181203 (since mega-20181201)
-------------------------------------------------

Release date: Mon Dec  3 04:00:11 CET 2018

Gijs Noorlander (13):
      [Rules engine] Set UseOldRulesEngine as default
      [Stack] Reduce allocations on stack
      [Stack] Make IP-address formatting simpler
      [Stack] Optimize GetArgv to only allocate what is needed.
      [Stack] P035_IRTX reduction of memory usage & speed improvement
      [Uncrustify] Make rules source code files better readable
      [Memory] Pass String as reference or const reference, not deepcopy
      [Rules] GetArgv should clear the return string before filling it
      [ESP32] Disable RTOS Multitasking option (multi_heap_poisoning)
      [PWM] #2117  PWM stops after about 80 msec in core 2.4.1
      [webserver CORS] #2119 Allow commands to be scripted
      [HLW8012] Update library to 1.1.1
      [HLW8012] Make reading Sonoff POW non blocking ( #2097 )

Saverio Cisternino (7):
      Moved the rules related functions from Misc.ino to ESPEasyRules.ino
      implement matching of rule file
      Added addButton, addFormTextBox overload and  addSaveButton, AddDeleteButton functions
      Redefine Rules WebUi
      Change menu url from relative to absolute
      Fixed ESP32 build
      Adding flag to settings for switch from old to new rules engine (Default engine old).


-------------------------------------------------
Changes in release mega-20181201 (since mega-20181130)
-------------------------------------------------

Release date: Sat Dec  1 04:00:09 CET 2018

Gijs Noorlander (2):
      [Docs] Update to Sphinx 1.8.2
      [#1970] Fix: HTTP Header broken in 'Generic HTTP Advanced' controller


-------------------------------------------------
Changes in release mega-20181130 (since mega-20181129)
-------------------------------------------------

Release date: Fri Nov 30 04:00:11 CET 2018

Gijs Noorlander (4):
      [Readme] Add badge for ReadTheDocs build status
      [Docs] Document ESPeasy p2p controller
      [Docs] Move Sphinx substitutions to separate file to speed-up build
      [Docs] Split Sphinx plugin substitutions to speed-up build

Plebs (12):
      new data structures
      added monitor support
      Added SafeButton feature
      fixing Safebutton
      added P019 PCF support
      Fixed write function in PCF8574
      Added support for P011, P022, P059, P063
      Update _P009_MCP.ino
      fixed pcf8574 to avoid #702
      bugfixing
      more bugfixing
      final cleanup


-------------------------------------------------
Changes in release mega-20181129 (since mega-20181128)
-------------------------------------------------

Release date: Thu Nov 29 04:00:15 CET 2018

Grovkillen (1):
      [docs] Small update, fixed some typos

Saverio Cisternino (3):
      [Embed Files] Add exit code 1 when minify failed
      [Embed Files] Append zero termination
      [Embed Files] Avoid redirect http to https of minify_html_css

clumsy-stefan (1):
      Allow for duplicate task names again


-------------------------------------------------
Changes in release mega-20181128 (since mega-20181127)
-------------------------------------------------

Release date: Wed Nov 28 04:00:07 CET 2018

Gijs Noorlander (7):
      [Serial] Redirect all Serial.print/println to a buffer
      [Serial] Replace serial port activity marker with unprintable marker
      [Serial] Forgot the Serial.printf
      [Commands] No longer run commands from scheduler
      [Serial] Remove code to detect if serial port is read
      [Sonoff POW] Merge POW r1/r2 in the same build
      [MQTT] change client-id at reconnect - #1918

Grovkillen (2):
      [flasher] Warning if baud rate too high + info post-flash
      [docs] Added servo motor and plugin sections


-------------------------------------------------
Changes in release mega-20181127 (since mega-20181125)
-------------------------------------------------

Release date: Tue Nov 27 04:00:10 CET 2018

Gijs Noorlander (3):
      [PlatformIO] Change to LWIP2_LOW_MEMORY
      [PlatformIO] Lower upload_speed to 115200
      [Travis] make clean + build only once

Grovkillen (3):
      [docs] Added GPIO handling pages (tones, relay etc.)
      [docs] command list updated with internal commands
      [docs] Fix relative path for command list


-------------------------------------------------
Changes in release mega-20181125 (since mega-20181124)
-------------------------------------------------

Release date: Sun Nov 25 04:00:07 CET 2018

Gijs Noorlander (3):
      LCD P012_LCD Plugin German Umlaute #2081
      P012_LCD Remove duplicate lines
      Add -mtarget-align to common build_flags

Unknown (8):
      [HTML Footer] Change to "Powered by LetsControlIt community"
      [Factory Reset] Add initial structure to set defaults for a device model
      [Factory Reset] Add Factory reset page and allow to keep some settings
      [Factory Reset] Add more categories not to clear
      [Factory Reset] Show page again after saving.
      [Sysinfo] Add init to P026_sysinfo to set initial config only 1 active.
      [Factory Reset] Add some documentation
      [Documentation] Add link to RTD for plugins


-------------------------------------------------
Changes in release mega-20181124 (since mega-20181123)
-------------------------------------------------

Release date: Sat Nov 24 04:00:07 CET 2018

Grovkillen (5):
      [docs] fixed the TOC + added changelogs to all plugins + core
      [docs] Added plugin names to plugin pages + fixed "site map"
      [docs] Added donation links in footer
      [docs] Added hardware pages
      [docs] Fixed some syntax error


-------------------------------------------------
Changes in release mega-20181123 (since mega-20181122)
-------------------------------------------------

Release date: Fri Nov 23 04:00:08 CET 2018

Grovkillen (3):
      [docs] Fixed error in image path
      [docs] Global variables for plugins + added raw plugin files
      [docs] added all plugins to global + generated generic pages for them


-------------------------------------------------
Changes in release mega-20181122 (since mega-20181121)
-------------------------------------------------

Release date: Thu Nov 22 04:00:12 CET 2018

Grovkillen (2):
      [docs] Plugins (added real name)
      [docs] added a first device page

TD-er (2):
      [P073_7DGT] Removed old (duplicate) content
      [P073_7DGT] Fix uninitialized p073_dispdigit

papperone (2):
      Update _P073_7DGT.ino
      Update _P073_7DGT.ino


-------------------------------------------------
Changes in release mega-20181121 (since mega-20181120)
-------------------------------------------------

Release date: Wed Nov 21 04:00:13 CET 2018

Unknown (2):
      [SSDP] Disable SSDP checkbox
      [HTML] Made HTML layout more uniform and optimize CSS


-------------------------------------------------
Changes in release mega-20181120 (since mega-20181117)
-------------------------------------------------

Release date: Tue Nov 20 04:00:07 CET 2018

Gijs Noorlander (1):
      Update build_ESPeasy.sh

Unknown (6):
      [issue 2063] Incorrect saving settings on LCD2004
      [OLED framed] Do not keep display lines allocated on stack
      [P075 Nextion] Do not keep display lines allocated on stack
      [Timing stats] Add LoadCustomTaskSettings() to the timing stats
      [Build scripts] Add build script for Linux and include docs
      [Build] Add test_ESP8266_1024_VCC to deploy script


-------------------------------------------------
Changes in release mega-20181117 (since mega-20181112)
-------------------------------------------------

Release date: Sat Nov 17 04:00:10 CET 2018

Gijs Noorlander (2):
      Update Sphinx to 1.8.1
      [PlatformIO] Use 2.4.2 platform for Sonoff builds

Grovkillen (11):
      [docs] Rules converted from wiki
      [docs] History converted to rst
      [docs] Spelling + syntax fix
      [docs] More spelling
      [docs] Rules, fixed compile error
      [docs] About us, month as XX
      [docs] Plugins list
      [docs] Plugin list + update to config.py + some CSS
      [docs] Removed some test code
      [fix] reverted test code
      [docs] Inverted icon for easy to navigate browser tabs

Stephen Houser (4):
      initial 12/24 hour config
      Add 12/24 hour time to clock
      Remove update every second
      add comments for new clock functions

TD-er (4):
      [1024 VCC] Add test_ESP8266_1024_VCC
      [Input check] Add check when copying input texts
      [Statistics] Add timing statistics on connect and DNS lookup
      [Travis] ESP32 does not support timeout on DNS lookups

jimmys01 (7):
      Ir Remote lib enchantments
      Make max IR command to be 200 chars long
      extra dot fix
      Put a PLUGIN_EXIT in place
      syntax fix
      Add appropriate check to irReceiver before disabling it
      further improvments


-------------------------------------------------
Changes in release mega-20181112 (since mega-20181111)
-------------------------------------------------

Release date: Mon Nov 12 04:00:07 CET 2018

Bartlomiej Zimon (1):
      Eastron fix for model selection     issue #1684

TD-er (6):
      [Cleanup] Uniform labels for GPIO pins (existing labels)
      [Cleanup] Uniform labels for GPIO pins
      [Cleanup] Change label for P035_IRTX
      [SPIFFS] perform delay during save per page break
      Improve comments
      [WiFi] Make sure unhandled WiFi events will be processed


-------------------------------------------------
Changes in release mega-20181111 (since mega-20181110)
-------------------------------------------------

Release date: Sun Nov 11 04:00:06 CET 2018

Bartlomiej Zimon (2):
      Webserver /control proper Content type     it sets printToWebJSON during PLUGIN_WRITE/SendStatus     fix for #2018
      Webserver optimize /control early handled commands

TD-er (1):
      [JavaScript] Append zero termination to embedded progmem data


-------------------------------------------------
Changes in release mega-20181110 (since mega-20181109)
-------------------------------------------------

Release date: Sat Nov 10 04:00:08 CET 2018

Bartlomiej Zimon (4):
      HTTP responses have duplicate Content-Types     fix for #2018
      remove double strings for contenttype
      remove old duplication
      properly send content-type header     fix for #2022

TD-er (2):
      [ESP32] Upgrade core lib to espressif32@1.5.0
      [WiFi] Improve disconnect detection and run delay(1) when not connected


-------------------------------------------------
Changes in release mega-20181109 (since mega-20181108)
-------------------------------------------------

Release date: Fri Nov  9 04:00:10 CET 2018

Bartlomiej Zimon (1):
      add p078_dev_id to form save


-------------------------------------------------
Changes in release mega-20181108 (since mega-20181107)
-------------------------------------------------

Release date: Thu Nov  8 04:00:09 CET 2018

Bartlomiej Zimon (2):
      Add optional DE PIN configuration     Add gpio names to form     fix for #1684
      Sysinfo update to 4 values

Plebs (4):
      bug fixes
      cleaned if from addLog as per uzi18 comment
      final cleanup
      BUG fix

TD-er (6):
      [PUYA] Apply generic patch on all builds checking for PUYA flash
      [Travis] Update platformIO packages before build
      [PUYA] Add PUYA patch v3 to check if patch is applied
      [PUYA] Fix patch v3 for PUYA support
      [PUYA] share static flash_chip_id among functions
      [PUYA] Fix typo in patch

stefan (2):
      Amend nosleep command to accept awake time
      Add System#NoSleep=<time> event


-------------------------------------------------
Changes in release mega-20181107 (since mega-20181106)
-------------------------------------------------

Release date: Wed Nov  7 04:00:08 CET 2018

TD-er (14):
      [Cleanup] Reduce build image size by 2k by wrapping flash strings
      [Cleanup] Reduce length HTML form data IDs to reduce sketch size
      [Cleanup] Minify JavaScript and CSS to reduce sketch size
      [1MB OTA] Add small build to allow for 1MB OTA
      [Cleanup] Make single definition for pin description
      [OTA] Add ESP8285 1M OTA minimal build
      [Cleanup] Strip HTML templates into sections to remove duplicate strings
      [Cleanup] Increase load speed and lower memory usage rendering web page
      [Cleanup] Do not use F-macro for short strings
      [timing stats] Add http://<ip>/stat/timing/json to view timing stats
      [timingstats] Implement HTML table of timing stats
      [timingstats] Disable timing stats in log
      [timingstats] Improve table layout of timing stats
      [timingstats] Show stats in msec instead of usec.


-------------------------------------------------
Changes in release mega-20181106 (since mega-20181105)
-------------------------------------------------

Release date: Tue Nov  6 04:00:10 CET 2018

Grovkillen (1):
      [Flasher] fixed ip bug fixed


-------------------------------------------------
Changes in release mega-20181105 (since mega-20181101)
-------------------------------------------------

Release date: Mon Nov  5 04:00:10 CET 2018

Bartlomiej Zimon (2):
      fix for #1986
      Eastron - save modbus id and enable SDM630 model      partial fix for #1684

Grovkillen (1):
      [Memanalyzer] cmd args are back (un-commented)

Jimmy Westberg (2):
      Revert "[Flasher] updated flasher (some minor error)"
      [Memanalyzer] try to fix the memanalyzer not analyzing all plugins

kpalczewski (1):
      bump lib IRremoteESP8266 to 2.5.2 and add send Pioneer support for 035 IR plugin.

stefan (2):
      Add sent/return value check to client.print()
      Add comment why we check for %256


-------------------------------------------------
Changes in release mega-20181101 (since mega-20181031)
-------------------------------------------------

Release date: Thu Nov  1 04:00:08 CET 2018

Bartłomiej Zimoń (1):
      BlynkGet add timeout 1,5s.

Grovkillen (4):
      [README] added more info about ESP.Easy.Flasher
      [README] fixed some \r\n
      [Deploy] "source" folder was named "Source"
      [README] removed IRC link... we're not there.

Jimmy Westberg (1):
      [Flasher] updated flasher (some minor error)

Plebs (2):
      Update src/Misc.ino
      Update src/Misc.ino


-------------------------------------------------
Changes in release mega-20181031 (since mega-20181030)
-------------------------------------------------

Release date: Wed Oct 31 04:00:10 CET 2018

Bartłomiej Zimoń (1):
      BlynkGet fix loop #1951

Jimmy Westberg (7):
      [Flasher] Added ESP.Easy.Flasher.exe
      [Deploy] Added sub folder for BIN files
      [Flasher] Updated to 0.02.001
      [Deploy] small letters are the standard
      [Flasher] Updated to 0.02.002
      [Path] folder rename 1
      [Path] folder rename 2

TD-er (1):
      [OTA] Add OTA info and disable when not enough space


-------------------------------------------------
Changes in release mega-20181030 (since mega-20181029)
-------------------------------------------------

Release date: Tue Oct 30 04:00:07 CET 2018

James Tutton (2):
      Added Special Case to allow Servo to be disabled
      Fixed missing ;

TD-er (1):
      [Core 2.4.2] Set core 2.4.2 as default platform

svmac (1):
      P022_PCA9685 Enhancements


-------------------------------------------------
Changes in release mega-20181029 (since mega-20181028)
-------------------------------------------------

Release date: Mon Oct 29 04:00:08 CET 2018

Bartlomiej Zimon (2):
      Dallas: add ScratchPad to debug log - OK suffix means data integrity ok (no communication problems)
      Dallas: use reset timming from OneWire lib

TD-er (2):
      [NTP] Improve NTP accuracy
      [NTP] Change log level for NTP success to INFO


-------------------------------------------------
Changes in release mega-20181028 (since mega-20181027)
-------------------------------------------------

Release date: Sun Oct 28 04:00:09 CET 2018

Saverio Cisternino (5):
      [CRON] Replace timeStruct with standard tm
      [CRON] Plugin
      [CRON] Add event PLUGIN_TIME_CHANGE
      [CRON] Intercept event PLUGIN_TIME_CHANGE
      [CRON] Fixed Daily flash write rate exceeded!

TD-er (2):
      [Cron] Rename plugin name to match naming convention
      [Eastron] Make configurable and allow for multiple values read (#1684)


-------------------------------------------------
Changes in release mega-20181027 (since mega-20181026)
-------------------------------------------------

Release date: Sat Oct 27 04:00:12 CEST 2018

Bartlomiej Zimon (1):
      CSE7766 - fix stats plus add buffer fill level

Gilad (7):
      Add IR RAW2 Reading / Transmitting.
      Add IR RAW2 Reading / Transmitting.
      Add IR RAW2 Reading / Transmitting - fixed ambiguity.
      Add IR RAW2 Reading / Transmitting - added a safety check.
      Improved IR RAW2 format to support RLE.
      Fixed warnings...
      Fixed warnings...

Gilad Raz (1):
      Increased buffer size. Added constants.

Plebs (4):
      doubleclick and longpress for PCF and MCP
      fixed a display bug
      final fixes
      fixed as requested


-------------------------------------------------
Changes in release mega-20181026 (since mega-20181025)
-------------------------------------------------

Release date: Fri Oct 26 04:00:22 CEST 2018

Bartlomiej Zimon (7):
      CSE7766 uses 8E1 serial connection
      Ser2Net catch serial data only if plugin used
      CSE7766 add online checksumming, autosyncing without data loos
      move to PLUGIN_TEN_PER_SECOND     update comments
      move to PLUGIN_SERIAL_IN from PLUGIN_TEN_PER_SECOND - serial commandline uses our data
      optimization - remove double checksum check
      CSE7766 - add some stats to debug log

Saverio Cisternino (1):
      Fixed plugin timer processing do not start, when call setPluginTaskTimer in PLUGIN_TIMER_IN

TD-er (1):
      [C009] Reduce memory usage for C009 controller.


-------------------------------------------------
Changes in release mega-20181025 (since mega-20181023)
-------------------------------------------------

Release date: Thu Oct 25 04:00:13 CEST 2018

Saverio Cisternino (1):
      Added auto redirect to home after run reboot command from web page.

TD-er (5):
      [WDT] Change yield() to delay(0)
      [Build] Add Sonoff POW R2 (4MB)
      [Sonoff] Add pre-defined switch and relay + rules on factory reset
      [Info] Remove MD5 check fail on self-built images
      [Travis] Use variables even when no predefined plugins are added.


-------------------------------------------------
Changes in release mega-20181023 (since mega-20181022)
-------------------------------------------------

Release date: Tue Oct 23 04:00:14 CEST 2018

Kurairaito (2):
      Update _P067_HX711_Load_Cell.ino
      Update _P067_HX711_Load_Cell.ino

TD-er (6):
      [#1486] Allow multiple instances of rotary encoder
      [JavaScript] Fix update values on Devices tab
      [JavaScript] Cleanup some code duplication
      [PubSubClient] Add delay when waiting for data and flush on disconnect
      [WiFi timeout] Set default to 1000 msec again
      [Docs] Add some WiFi related information to docs


-------------------------------------------------
Changes in release mega-20181022 (since mega-20181021)
-------------------------------------------------

Release date: Mon Oct 22 04:00:15 CEST 2018

TD-er (2):
      [Webserver] Generate copyText id names
      [Webserver] Uniform row labels to reduce flash string size


-------------------------------------------------
Changes in release mega-20181021 (since mega-20181020)
-------------------------------------------------

Release date: Sun Oct 21 04:00:16 CEST 2018

Bartlomiej Zimon (2):
      fix for #1920     fix for out of sync, check both header bytes     proper check for abnormal state
      Revert "fix for #1920"

TD-er (6):
      [stack usage] Allocate temp char array on heap for parsing arguments
      Proper look for connection.
      [Rules] Early exit on rules processing when rules not enabled
      [#1910] Notification settings extra strings on stack
      [#1891] Send all values for Generic UDP controller
      [#1870] Feature request build date as system info


-------------------------------------------------
Changes in release mega-20181020 (since mega-20181017)
-------------------------------------------------

Release date: Sat Oct 20 04:00:16 CEST 2018

Plebs (22):
      Added [plugin#pcfgpio#pinstate#xx]
      added [plugin#mcpgpio#pinstate#xx]
      code optimization
      some code optimizations
      Update src/_P001_Switch.ino
      Update src/_P001_Switch.ino
      small fixes
      few changes
      Update src/_P001_Switch.ino
      Update src/_P001_Switch.ino
      some fixes
      added global variables for rules
      some fixes
      fixes
      fixed length check
      some optimizations
      modified command and variable name
      Update src/_P001_Switch.ino
      Update src/_P001_Switch.ino
      optimizations
      Update src/StringConverter.ino
      added 4 variables to verify the system status

kpalczewski (1):
      add support for 64bit IR codes.


-------------------------------------------------
Changes in release mega-20181017 (since mega-20181016)
-------------------------------------------------

Release date: Wed Oct 17 04:00:18 CEST 2018

Gijs Noorlander (1):
      Added checklist to the Issue_template

TD-er (3):
      [#1906] Allocate NotificationSettings on the heap
      [#1906] Allocate ControllerSettings on the heap
      [Stack] Add Free Stack to System Info plugin


-------------------------------------------------
Changes in release mega-20181016 (since mega-20181015)
-------------------------------------------------

Release date: Tue Oct 16 04:00:06 CEST 2018

Plebs (1):
      Fix for togglegpio without gpio initialization

TD-er (1):
      [Revert] Safe_strncpy cannot be used as generic strncpy replacement


-------------------------------------------------
Changes in release mega-20181015 (since mega-20181014)
-------------------------------------------------

Release date: Mon Oct 15 04:00:10 CEST 2018

Plebs (2):
      fix for bug #1864
      Update src/_P023_OLED.ino

TD-er (1):
      [safe strncpy] Add warning when entered string is too large


-------------------------------------------------
Changes in release mega-20181014 (since mega-20181011)
-------------------------------------------------

Release date: Sun Oct 14 04:00:13 CEST 2018

Gijs Noorlander (1):
      [#1799] Add SSID to main page

TD-er (5):
      [#1891] Generic UPD controller - send only first value from sensor
      [Controller] Fix send only first value
      Time#Initialized event in rules before %syshour% is set
      [UX] Warn user for incomplete network IP settings
      [#1895] Incorrect number bytes read I2C_read32_reg


-------------------------------------------------
Changes in release mega-20181011 (since mega-20181010)
-------------------------------------------------

Release date: Thu Oct 11 04:00:24 CEST 2018

TD-er (5):
      [C009] Reduce memory usage of FHEM HTTP delay queue
      [Controller] Set default timeout to 300 msec (was 100 msec)
      Make sure to load ExtraTaskSettings when needed
      [Travis Doc] Remove building documentation by Travis
      [WebLog] Disable weblog when it is not being read


-------------------------------------------------
Changes in release mega-20181010 (since mega-20181009)
-------------------------------------------------

Release date: Wed Oct 10 04:00:09 CEST 2018

Plebs (1):
      Update src/_P019_PCF8574.ino


-------------------------------------------------
Changes in release mega-20181009 (since mega-20181008)
-------------------------------------------------

Release date: Tue Oct  9 04:00:18 CEST 2018

TD-er (7):
      [Docs] Add favicon to documentation
      [Docs] Add Travis check for documentation and stop build for docs only
      [Docs] Run Travic documentation check before compiling project
      [Docs] Disable travis_terminate for now
      [JSON] Replace \n and \r in text fields
      [LWIP1.4] Move back to LWIP1.4
      [StringConverter] Some optimisations to reduce memory allocation


-------------------------------------------------
Changes in release mega-20181008 (since mega-20181007)
-------------------------------------------------

Release date: Mon Oct  8 04:00:09 CEST 2018

Gijs Noorlander (1):
      Added link to ReadTheDocs

Grovkillen (1):
      [Sphinx] added extension "sphinx.ext.imgconverter"

TD-er (3):
      [Sphinx] Initial setup for Sphinx documentation
      [Docs] First ESPEasy documentation (Controllers)
      [Docs] Added some directory structure and template


-------------------------------------------------
Changes in release mega-20181007 (since mega-20181006)
-------------------------------------------------

Release date: Sun Oct  7 04:00:09 CEST 2018

Max (2):
      Force slash to be converted in htmlEscape
      Fix XSS-Vulnerabilites on wifi configuration pages

Plebs (3):
      Add three new TOGGLE commands
      fixed float to int conversion
      added "mcpgpiotoggle" command

TD-er (3):
      [ESP32] Allow Wrover dev kit to be used for PIO debug
      [Stack] Move Arduino 'cont' stack into user RAM
      [SPIFFS] Make sure to close open files on SPIFFS


-------------------------------------------------
Changes in release mega-20181006 (since mega-20181004)
-------------------------------------------------

Release date: Sat Oct  6 04:00:13 CEST 2018

TD-er (3):
      [Stack] Increase stack to 5k and reduce stack allocations in rules
      [WiFi] Add delay to connection attempts in ControllerSettings
      [Build flags] Remove NO_EXTRA_4K_HEAP


-------------------------------------------------
Changes in release mega-20181004 (since mega-20181003)
-------------------------------------------------

Release date: Thu Oct  4 04:00:08 CEST 2018

Bartlomiej Zimon (1):
      - partial fix for #1723

JojoS (1):
      added error checking and logging

JojoS62 (5):
      added float calculation for time to distance conversion
      added more settings: unit, filtertype and size
      max distance depends on measurement unit
      code clean up
      fixed 'unused variable' warning

TD-er (3):
      [sendHttp] #1830 Set timeout and early exit on timeout reached
      [WiFiClient] Set timeout and make it configurable for controllers
      [Core 2.4.1] Move back to core 2.4.1 from 2.4.2

Thomas (1):
      Update _P075_Nextion.ino (#1)


-------------------------------------------------
Changes in release mega-20181003 (since mega-20181002)
-------------------------------------------------

Release date: Wed Oct  3 04:00:18 CEST 2018

David Conran (2):
      Acknowledge credit & origin of code used in IRTX
      Acknowledge credit & origin of code used in _P016IR.ino


-------------------------------------------------
Changes in release mega-20181002 (since mega-20181001)
-------------------------------------------------

Release date: Tue Oct  2 04:00:29 CEST 2018

Plebs (1):
      split parseTemplate function

TD-er (4):
      [#1798] Bugfix Sonoff Si7021 stability
      [ESP32] Add default partition table for reference
      [ESP32] Update to PIO espressif32@1.4.0
      [Stack] Report stack usage on ESP32 and increase stack for ESP8266normal


-------------------------------------------------
Changes in release mega-20181001 (since mega-20180930)
-------------------------------------------------

Release date: Mon Oct  1 13:13:13 CEST 2018

TD-er (4):
      [#1824] Show stack size on main page
      [Heap] Use NO_EXTRA_4K_HEAP to get old stack address space
      [Stack] Check if a block sent to save on SPIFFS is stack allocated
      [Stack] Revert move Settings from stack to heap


-------------------------------------------------
Changes in release mega-20180930 (since mega-20180927)
-------------------------------------------------

Release date: Sun Sep 30 04:00:24 CEST 2018

JojoS (5):
      fixed distance reading
      on INIT, delete sensordef before adding new
      removed sensordefs helper structure
      changed implementation to use shared_ptr instead of helper structure
      minor change: unit was missing for threshold in 'state' mode

TD-er (2):
      [Default Settings] Properly clear settings when reset to default
      [Defaults] Other default initializations


-------------------------------------------------
Changes in release mega-20180927 (since mega-20180924)
-------------------------------------------------

Release date: Thu Sep 27 04:00:17 CEST 2018

TD-er (7):
      [ESP32] Change partition size (will clear all settings) and add plugins
      [Travis] Uninitialized variable in P073_7DGT
      [Stack] Move Settings from stack to heap
      [ESP32] RTOS move handle_schedule() to core1 and increase stack
      [Info] Add board name to the sysinfo page.
      [ESP32] Split new partition layout to separate build
      [Build] Add esp32test_1M8_partition build and warning on ESP32 partition


-------------------------------------------------
Changes in release mega-20180924 (since mega-20180923)
-------------------------------------------------

Release date: Mon Sep 24 04:00:20 CEST 2018

Benno Eigenmann (1):
      Fix platformio

TD-er (2):
      [MQTT] Work around for lost MQTT connection
      [ESP32] Fix I2C handling to allow I2C devices to work

sakinit (1):
      change to platform version core_esp32_1_3_0

stefan (1):
      Change type of sensor for MCP and PCF devices


-------------------------------------------------
Changes in release mega-20180923 (since mega-20180922)
-------------------------------------------------

Release date: Sun Sep 23 04:00:12 CEST 2018

TD-er (2):
      [MQTT import] Fix crash at boot when plugin is enabled
      [BME280] Fix slow reading of BME280 causing watchdog resets

sakinit (5):
      ESP32 build issues fixed
      Fix ESP32 stack overflow in addPinSelect when called from P1WifiGateway
      ESP32: Split webserver spiffs filelist into pages
      Reverted Webserver change
      ESP32 platform updated to 1.2.0; Webserver replaced by platform one


-------------------------------------------------
Changes in release mega-20180922 (since mega-20180916)
-------------------------------------------------

Release date: Sat Sep 22 04:00:22 CEST 2018

Gijs Noorlander (1):
      Revert "Revert "Added 2 new operators in Calculate() function""

TD-er (2):
      Revert "[Scheduler] Disable command scheduler"
      Revert "Revert "Fix elseif & Add if-elseif-else nesting levels""


-------------------------------------------------
Changes in release mega-20180916 (since mega-20180915)
-------------------------------------------------

Release date: Sun Sep 16 04:00:11 CEST 2018

Gijs Noorlander (3):
      Revert "Added 2 new operators in Calculate() function"
      Revert "Fix elseif & Add if-elseif-else nesting levels"
      Added warning to release notes 20180915

TD-er (1):
      [HW Watchdog] Backgroundtasks instead of yield during rules handling


-------------------------------------------------
Changes in release mega-20180915 (since mega-20180914)
-------------------------------------------------

Release date: Sat Sep 15 04:00:15 CEST 2018
Known issue:
      Causes reboots. (see [#1748](https://github.com/letscontrolit/ESPEasy/issues/1748) )


Plebs (1):
      Added 2 new operators in Calculate

TD-er (4):
      [Scheduler] Disable command scheduler
      [Controller settings] Validate settings on load/save
      [#1713] Make hostname-unitnumber optional & validate settings
      [#1698] Incorrect sunrise value southern hemisphere

svmac (4):
      Fix elseif & Add if-elseif-else nesting levels
      reenabled code about !
      some code optimization
      fix mistake


-------------------------------------------------
Changes in release mega-20180914 (since mega-20180910)
-------------------------------------------------

Release date: Fri Sep 14 04:00:17 CEST 2018

Gijs Noorlander (1):
      Added PayPal link

giddyhup (1):
      Fix IR plugin passing received code

Plebs (7):
      Use parameters inside rules when calling commands
      few changes
      fixed ESP32 compatibility issue
      fixed calls to F-macro
      adding more parameters to EVENT
      final version with '=' sign as a prefix to identify the formula in rules
      added %eventvalue4%

TD-er (2):
      [Flash tools] Add blank files and README.txt
      [CrashRecover] Disable failing step based on failed boot count

sakinit (1):
      Feature: Split webserver spiffs filelist into pages


-------------------------------------------------
Changes in release mega-20180910 (since mega-20180909)
-------------------------------------------------

Release date: Mon Sep 10 04:00:22 CEST 2018

TD-er (2):
      [HTTP] Command SendToHttp cannot connect
      [Domoticz IDX] Allow for IDX of > 9999

sakinit (1):
      Reduced buffer size to prevent stack overflow


-------------------------------------------------
Changes in release mega-20180909 (since mega-20180908)
-------------------------------------------------

Release date: Sun Sep  9 04:00:14 CEST 2018

Gijs Noorlander (1):
      Revert [WDT] Add watchdog feed to backgroundtasks()

TD-er (5):
      [#1720] WiFi read all lines from slow servers
      Add forward declaration for void backgroundtasks()
      [Serial Log] Limit serial log to prevent buffer overflow
      [ESP32] Fix Build, ESP32 doesn't have the availableForWrite
      [Serial log] Use buffer to prevent Serial buffer to overflow


-------------------------------------------------
Changes in release mega-20180908 (since mega-20180904)
-------------------------------------------------

Release date: Sat Sep  8 04:00:20 CEST 2018

Gijs Noorlander (1):
      Update README.md

TD-er (37):
      [controller delay] Let controllers handle their own delay and buffer
      [MQTT] Add controller delay queue for MQTT
      [Controller] Make ControllerDelayHandler templated and comment
      [C001] Let C001 controller use queue
      [C003] Let C003 controller use queue
      [C004] Let C004 controller use queue and simplify using macros
      Added `USES_Cxxx` checks
      [C007] Let C007 controller use queue
      [MQTT] Use set controller settings on MQTT controllers
      [Webserver] Add fields for new Controller settings
      [C008] Let C008 use queue and some bugfixes
      [#1666] Moved code duplication for HTTP requests to special functions
      [C009] Removed port number from HTTP host header
      [C009] Controller C009 now also uses Delay Queue
      [Client Connect] Check for success on connecting with client.
      [C009] Remove 'no port' option in HTTP packet
      [HTTP Auth] Now using proper index for retrieving credentials
      [HTTP] Add user agent in request header
      [C010] Controller C010 now also uses Delay Queue
      [Cleanup] Merge code duplication between C008 and C010
      [C011] Controller C011 now also uses Delay Queue
      [Controller] Moved the 'magic' default and max values to defines
      [C012] Controller C012 now also uses Delay Queue
      [C013] Remove some obsolete function
      [Nodes] Make Nodes list a map with dynamic size
      [Nodes] Highlight current node in the list of nodes
      [Cleanup] Memory optimisation in available controllers and plugins
      [Nodes] Fix String copy to properly read node names
      [MQTT] Give MQTT state in log when connect state changes.
      [SPIFFS] Add SPIFFS size + usage to sysinfo page
      [Watchdog] Add watchdog feed to backgroundtasks() function
      [MQTT] Force MQTT client reconnect when wifi reconnects
      [WDT] Add yield() and runbackgroundtasks() when parsing rules
      [#1707] Getting logs from the /log even when password is not entered
      [#1714] Parse notification sender to allow some sender formatting
      [Scheduler] Do not schedule task device timer for tasks without interval
      [Queue] Add memory check to determine full queue


-------------------------------------------------
Changes in release mega-20180904 (since mega-20180903)
-------------------------------------------------

Release date: Tue Sep  4 04:00:34 CEST 2018

TD-er (1):
      [#1702] Check for duplicate names bug


-------------------------------------------------
Changes in release mega-20180903 (since mega-20180826)
-------------------------------------------------

Release date: Mon Sep  3 04:01:13 CEST 2018

TD-er (7):
      [Pio] Build issues
      [#1692] Add 2nd Receiver for Email notification
      Forgot to save before commit
      [#1549] Add page showing all system variables
      [sysvar] rename vars with leading zero to %..._0%
      [#1688] Add dew point computation as standard conversion
      [Shelly1] Add first test build for Shelly1 nodes


-------------------------------------------------
Changes in release mega-20180826 (since mega-20180822)
-------------------------------------------------

Release date: Sun Aug 26 04:00:20 CEST 2018

Gerald Hollweger (1):
      Optimisations     - Save RAM, move constants to flash (CharTableTM1637, CharTableMAX7219)     - Remove unnecessary parameter passing (the interface pins do not change during operation for one instance)

TD-er (16):
      [MQTT] PubSubClient Add checks for connectivity
      [Client Connect] Check for success on connecting with client.
      [Eastron] Add P078 plugin from the Playground (was P150)
      [SDM] Update library to latest version
      [Eastron] Make P078 Eastron compile, serial settings do not yet work
      [Eastron] Add missing SDM_Config_User.h
      [IR/IRTX] For PullReq #1645 split IR/IRTX to a separate build
      [JSON] Fix issue when UDP port not set
      [JSON] Only show node information when generic info is requested
      [MotorShield] Rename P078 to P079
      [MotorShield] Cleanup code layout
      [MotorShield] Added comments in the code and fixes
      [P080] Dallas iButton Rename P078 to P80
      [Dallas iButton] Change VType to SENSOR_TYPE_LONG
      [Build] Add "[TESTING]" labels to P078 and P080
      [Build Travis] "Scratchpad was set but never used"

TungstenE2 (2):
      Added Wemos Motorshield Plugin (No. 78)
      Added Wemos Motorshield Plugin (No. 78)

feuerreiter (1):
      Adds a overview of known espeasy nodes to the json response. I think this can be useful for own webinterfaces etc.

henfri (2):
      Create _P078_DallasIButton.ino
      Update _P078_DallasIButton.ino

jimmys01 (6):
      IR library added
      Travis build complaining about unused vars
      commented out more unused code
      Travis please be happy :-)
      IR RX updated
      Small correction


-------------------------------------------------
Changes in release mega-20180822 (since mega-20180818)
-------------------------------------------------

Release date: Wed Aug 22 04:00:15 CEST 2018

Gijs Noorlander (1):
      Changed INPUT_COMMAND_SIZE from 80 to 240

TD-er (1):
      [UDP] Use random outgoing port for NTP and check return values


-------------------------------------------------
Changes in release mega-20180818 (since mega-20180815)
-------------------------------------------------

Release date: Sat Aug 18 04:00:17 CEST 2018

Edwin Eefting (1):
      fixed network config for newer versions

TD-er (1):
      [#1650] Use icons in tabs on web page on small screens


-------------------------------------------------
Changes in release mega-20180815 (since mega-20180809)
-------------------------------------------------

Release date: Wed Aug 15 04:00:13 CEST 2018

TD-er (1):
      [core 2.4.2] Update to PlatformIO espressif8266@1.8.0

krikk (1):
      Update _P047_i2c-soil-moisture-sensor.ino


-------------------------------------------------
Changes in release mega-20180809 (since mega-20180808)
-------------------------------------------------

Release date: Thu Aug  9 04:00:06 CEST 2018

Bartlomiej Zimon (1):
      fix for #702, setup propper gpio state before send into PCF8574 for pcfpulse,pcflongpulse

Gijs Noorlander (2):
      [Blynk] Command handling was not active
      [Blynk] Change define to allow blynkget command

TD-er (4):
      [#1621] Timing interval of BME280 incorrect
      [C011] Make sure the loaded extra controller settings end with 0
      [Scheduler] Remove scheduled commands from scheduler to run in idle time
      [deepsleep] Send values immediately after connections are made


-------------------------------------------------
Changes in release mega-20180808 (since mega-20180804)
-------------------------------------------------

Release date: Wed Aug  8 04:00:13 CEST 2018

Gijs Noorlander (1):
      [#1612] Make P008_RFID using new functions

TD-er (8):
      [Scheduler] Rename some functions and clean-up
      [Notifications] Schedule NPlugin_ptr calls async
      [MQTT] Schedule from callback functions
      [Rules] Split parsing single line from rulesProcessingFile
      [Rules] Split processing matched rule in a separate function
      [Commands] Return String output per command
      [Schedule] Scheduled command timer
      [Schedule] Run command from webpage immediately


-------------------------------------------------
Changes in release mega-20180804 (since mega-20180802)
-------------------------------------------------

Release date: Sat Aug  4 04:00:23 CEST 2018

TD-er (5):
      [#1574] Set event->TaskIndex
      [Settings File] Show settings file layout
      [ESP32] Small fix building ESP32
      [Settings file] Include SettingsStruct in the view
      [Cleanup] Replace a lot of TR TD with function

Thomas (1):
      Update _P075_Nextion.ino


-------------------------------------------------
Changes in release mega-20180802 (since mega-20180801)
-------------------------------------------------

Release date: Thu Aug  2 04:00:14 CEST 2018

Grovkillen (1):
      Added extra info to self compilers


-------------------------------------------------
Changes in release mega-20180801 (since mega-20180723)
-------------------------------------------------

Release date: Wed Aug  1 04:00:18 CEST 2018

Edwin Eefting (1):
      Power down PN532 after reading. Saves power and reduces interference with Wifi.

TD-er (11):
      [ExtraTaskSettings] Added some comments & clarifications
      [ExtraTaskSettings] Added extra clear functions and checks
      [ExtraTaskSettings] Keep ExtraTaskSettings actualized for plugin calls
      [meminfodetail] Add command `meminfodetail`
      [FileHandling] Write some log indicating file operation
      [compiler fix] Forgot to declare String
      [Storage] Split storage related functions to new file
      [Storage] Simplify settings I/O error handling
      [#882] Add checks on names in task setup
      [#1379] Check for "forbidden" characters in names.
      [#1306] Added %R% and %N% for literals \r and \n


-------------------------------------------------
Changes in release mega-20180723 (since mega-20180722)
-------------------------------------------------

Release date: Mon Jul 23 04:00:09 CEST 2018

TD-er (8):
      [parseString] Fix 1-of error in getParamStartPos
      [parseString] Use quotes to use special characters in command parameters
      [parseString] Add checks when command parameters used as int
      [Travis CI] Signed/unsigned compare fix
      [GetArgv] Make sure only matching ", ' or [ is allowed
      [WebLogViewer] Removed reRunCount as quick fix for web log viewer
      [Compiler warning] Initialize the matching_parenthesis to something
      [GetArgv] Add some C-array size checks


-------------------------------------------------
Changes in release mega-20180722 (since mega-20180720)
-------------------------------------------------

Release date: Sun Jul 22 04:00:08 CEST 2018

TD-er (12):
      [#1591] Move system timers to main scheduler
      [#1592] Remove systemCMDTimers
      [#1596] Remove timerSensor and make it set its own interval.
      [Log Viewer] Fix a 1-off error when parsing logs
      [LogLevel] LoadFromFile log to LOG_LEVEL_DEBUG_DEV
      [LogLevel] Use function to set loglevel and keep track of max log level
      [LogLevel] Check loglevel before sending to log
      [LogLevel] Add checks for LOG_LEVEL_DEBUG_MORE
      [LogLevel] Add checks for LOG_LEVEL_DEBUG_DEV
      [LogLevel] Added extra checks and make sure loglevel cache is up to date
      [Scheduler] Keep statistics on timeDiff computations
      [Scheduler] Call yield() when idle


-------------------------------------------------
Changes in release mega-20180720 (since mega-20180719)
-------------------------------------------------

Release date: Fri Jul 20 04:00:16 CEST 2018

TD-er (2):
      [ParseString] Make ParseString more efficient and check results before use
      [ParseString] Fix getting the right part of the command line


-------------------------------------------------
Changes in release mega-20180719 (since mega-20180716)
-------------------------------------------------

Release date: Thu Jul 19 04:00:14 CEST 2018

Benno Eigenmann (1):
      lib_archive already exists & Implicit dependency not found

TD-er (1):
      [sunrise/sunset] Allow offset from sunrise/sunset

denisfrench (1):
      When clientid = %sysname%, only add %unit% if non-zero

stefan (1):
      Fix for P077 crashes


-------------------------------------------------
Changes in release mega-20180716 (since mega-20180714)
-------------------------------------------------

Release date: Mon Jul 16 04:00:09 CEST 2018

TD-er (4):
      [WiFi] Reset wifi when IP is set to 0.0.0.0
      [Scheduler] Complete rewrite of time based scheduling
      [JSON] Fixed broken JSON output on /json URL
      [ESP32] Show partition table on sysinfo page


-------------------------------------------------
Changes in release mega-20180714 (since mega-20180712)
-------------------------------------------------

Release date: Sat Jul 14 04:00:13 CEST 2018

Gijs Noorlander (1):
      [#1567] Only check values set before sending


-------------------------------------------------
Changes in release mega-20180712 (since mega-20180710)
-------------------------------------------------

Release date: Thu Jul 12 04:00:12 CEST 2018

TD-er (2):
      [#1555] Fix TSL2591 values are not transferred to controller
      [#1542] Fix  Domoticz IDX more than 4 characters


-------------------------------------------------
Changes in release mega-20180710 (since mega-20180708)
-------------------------------------------------

Release date: Tue Jul 10 04:00:12 CEST 2018

Grovkillen (1):
      P077: changed category to "energy"


-------------------------------------------------
Changes in release mega-20180708 (since mega-20180705)
-------------------------------------------------

Release date: Sun Jul  8 04:00:08 CEST 2018

TD-er (1):
      [PIO build] Build issues caused by incorrect precompile processing


-------------------------------------------------
Changes in release mega-20180705 (since mega-20180625)
-------------------------------------------------

Release date: Thu Jul  5 04:00:18 CEST 2018

Bartłomiej Zimoń (1):
      Update _C005.ino

TD-er (10):
      [CPU usage] Increase loop count
      [loop times] New timer statistics class to monitor performance
      [BMx280] Do not wait for measurements, collect async
      [Timing stats] Allow computing timing to estimate performance.
      [ESP32] Upgrade to new ESpressif32 version
      [PIO build] Use newer flag syntax for Travis
      [Stability] Add check for string length to isNumerical()
      [Stability] Use functions to get Webserver Arguments from POST messages.
      [PlatformIO] Update to Espressif32@1.1.1
      [info] Display ESP32 partition table

Tempura San (2):
      [WebUI] font-family set to monospace for TEXTAREA
      [WebUI] removed stray </div>


-------------------------------------------------
Changes in release mega-20180625 (since mega-20180624)
-------------------------------------------------

Release date: Mon Jun 25 04:00:08 CEST 2018

TD-er (2):
      [Arduino IDE] Fix build include path ESPEasy-Globals.h
      [PIO update] platform to espressif8266@1.7.3


-------------------------------------------------
Changes in release mega-20180624 (since mega-20180621)
-------------------------------------------------

Release date: Sun Jun 24 04:00:29 CEST 2018

Saverio Cisternino (2):
      Implement CommandsManager
      Migration core command

TD-er (8):
      [AM2320] Explicit use boolean in Wire.endTransmission
      [JavaScript]  Device measurement value update may sometimes fail
      [ArduinoJson] Update external library ArduinoJson.
      [SDS011] Set SDS011 Dust plugin to normal from testing
      [PlatformIO.ini] VScode needs `monitor_speed` and update ESP8266 platform
      [web log] Disable excessive web log about RAM usage
      [Cmd Exec] Add #ifndef #def statements to prevent multiple includes
      [Cmd Exec] Use switch statement instead of lookup map


-------------------------------------------------
Changes in release mega-20180621 (since mega-20180619)
-------------------------------------------------

Release date: Thu Jun 21 04:00:14 CEST 2018

Saverio Cisternino (2):
      Fixed Issue #1489
      Show in devices list port number in hex


-------------------------------------------------
Changes in release mega-20180619 (since mega-20180618)
-------------------------------------------------

Release date: Tue Jun 19 04:00:10 CEST 2018

TD-er (4):
      [ESP32] Allow flashing to ESP32 again from PlatformIO
      [ESP32] Set build to @0.12.0
      [OTA] Output proper port number when ARDUINO_FEATURE_OTA is set
      [ESP8285] PlatformIO set max upload size limit


-------------------------------------------------
Changes in release mega-20180618 (since mega-20180615)
-------------------------------------------------

Release date: Mon Jun 18 04:00:12 CEST 2018

Steffen Lange (2):
      Add GPS coordinates to Advanced Settings
      Add %sunrise% and %sunset% variables

TD-er (1):
      [#1494] Disabled ping to check if host is reachable

stefan (1):
      Ammended central I2C fuctions (#1417)


-------------------------------------------------
Changes in release mega-20180615 (since mega-20180614)
-------------------------------------------------

Release date: Fri Jun 15 04:00:11 CEST 2018

TD-er (1):
      [1M flash warning] Warn for OTA when 1M flash present


-------------------------------------------------
Changes in release mega-20180614 (since mega-20180613)
-------------------------------------------------

Release date: Thu Jun 14 04:00:11 CEST 2018

Gijs Noorlander (2):
      [#1502] Change wait-to-connect timeout to 12 sec.
      [#1503] Use proper timeout on BME280/BMP280


-------------------------------------------------
Changes in release mega-20180613 (since mega-20180611)
-------------------------------------------------

Release date: Wed Jun 13 04:00:15 CEST 2018

Gijs Noorlander (1):
      [BMx280] Correct nr values for special sensor type

TD-er (2):
      [Diag] Log Reset Reason at boot for ESP8266 and ESP32
      [BMx280] Send data from BMP280 as temp_baro, not temp_hum_baro


-------------------------------------------------
Changes in release mega-20180611 (since mega-20180606)
-------------------------------------------------

Release date: Mon Jun 11 04:00:21 CEST 2018

Saverio Cisternino (1):
      Fixed issue when there is more PCA9685

TD-er (6):
      [#1417] Move I2C functions to a separate file
      [I2Cdev] Add I2Cdevlib library
      [I2C] Disable calls to wire.begin() from libraries
      [#1484] Multiple instances of ultrasonic sensors
      [PlatformIO] Added libraries to be able to use std::map
      [BME/BMP280] Improve temperature/humidity readout

Tempura San (1):
      [MQTT Import] system variables support for topics


-------------------------------------------------
Changes in release mega-20180606 (since mega-20180524)
-------------------------------------------------

Release date: Wed Jun  6 04:00:17 CEST 2018

Gijs Noorlander (1):
      [GPIO command] work-around as long as gpio command is still performed in P001_switch.


-------------------------------------------------
Changes in release mega-20180524 (since mega-20180522)
-------------------------------------------------

Release date: Thu May 24 04:00:14 CEST 2018

Saverio Cisternino (25):
      Allows plugin to intercept PLUGIN_WRITE and PLUGIN_REQUEST, when there is more tasks of same plugin type but different configuration.
      Allow escape char [ and ] for use with comannd and rule containde space es [Extra 2]#Go
      Allow PLUGIN_TIMER_IN TaskIndex
      -Arminizze type of ParX of systemTimerStruct with EventStruct to prevent truncation issue     -Add setSystemTimer overload
      EventStruct  copy ctor
      Allow using two oled at same time.
      Allow custom mqtt lwt topic
      Allow custom lwt message
      Allow use Unit Name as MQTT ClientId
      Allows plugin to intercept PLUGIN_WRITE and PLUGIN_REQUEST, when there is more tasks of same plugin type but different configuration.
      Allow escape char [ and ] for use with comannd and rule containde space es [Extra 2]#Go
      Allow PLUGIN_TIMER_IN TaskIndex
      -Arminizze type of ParX of systemTimerStruct with EventStruct to prevent truncation issue     -Add setSystemTimer overload
      EventStruct  copy ctor
      ExecuteCommand intercept Par4 and Par5
      PCA9685: Allow select address.
      PCA9685: Allow named istance commands for execute command on specific task when there is more PCA9685 task.
      PCA9685: Add Pin e PWM validation
      PCA9685: show address in hex.
      PCA9685: Allow use pwm alias when call instance command es: Extender.pwm 1, 1000
      PCA9685: Add pcafrq arg validation
      PCA9685: Allow use frq alias when call instance command es: Extender.frq 100
      PCA9685: Add support at commad gpio on name instance call
      PCA9685: Add named istance pulse command. Es: Extend.pulse 0,1,50,auto gnenerate pulse on gpio 0 with duration of 50 ms an autorestart after 50 ms
      PCA9685: Add support at command [TaskName].gpio all,1 | 0 which allows you to turn on (1) or turn off (0) all gpio of expander.

Susis Strolch (3):
      GIT hooks: post-merge, post-commit, post-checkout
      add missing &amp; around value, add README
      add missing &amp; around value

TD-er (1):
      [CI build] Small fix to prevent Travis CI build errors.


-------------------------------------------------
Changes in release mega-20180522 (since mega-20180519)
-------------------------------------------------

Release date: Tue May 22 04:00:14 CEST 2018

Daniel Tedenljung (1):
      Add note for PulseCounter

Plebs (1):
      Added 10 new commands for serial port configuration

TD-er (1):
      [P077] CSE7766 - Energy (Sonoff S31 and Sonoff Pow R2)

stefan (1):
      Add CSE7766 for Sonoff POW R2 to plugin_sets


-------------------------------------------------
Changes in release mega-20180519 (since mega-20180518)
-------------------------------------------------

Release date: Sat May 19 04:00:07 CEST 2018

Grovkillen (1):
      [tools page] added a function for wide buttons


-------------------------------------------------
Changes in release mega-20180518 (since mega-20180517)
-------------------------------------------------

Release date: Fri May 18 04:00:07 CEST 2018

Grovkillen (3):
      [JavaScript] made static variables "const"
      [tools page] wider buttons
      [tools page] Center text, factory reset is red

TD-er (1):
      [#1431] Add DataAcquisition to /json and reduce json for sensor updates


-------------------------------------------------
Changes in release mega-20180517 (since mega-20180516)
-------------------------------------------------

Release date: Thu May 17 04:00:08 CEST 2018

Gijs Noorlander (2):
      Update _C012.ino
      Update WebServer.ino

TD-er (1):
      [Flash strings] Store more strings into flash to keep memory usage low


-------------------------------------------------
Changes in release mega-20180516 (since mega-20180515)
-------------------------------------------------

Release date: Wed May 16 04:00:09 CEST 2018

Grovkillen (7):
      Added Github logo (for button)
      [sysinfo page] added GitHub copy
      [sysinfo page] added CSS to GitHub copy button
      [sysinfo page] Added GitHub button to TXBuffer
      [sysinfo page] fixed layout of button
      [web log] bugfix for empty logJSON stings
      [web log] error capture of lower log levels

Plebs (1):
      Another small fix for #1426


-------------------------------------------------
Changes in release mega-20180515 (since mega-20180514)
-------------------------------------------------

Release date: Tue May 15 04:00:11 CEST 2018

Grovkillen (6):
      [web log] Chunk transfer instead of line transfer
      [web log] Added declaring of reRunCount
      [web log] added the reRunCout to the function
      [web log] added warning if IE11 or older is used
      [fix for crc2.py] truncation corrupted bin file
      Added latest nightly release badge

Plebs (1):
      fix for #1426


-------------------------------------------------
Changes in release mega-20180514 (since mega-20180513)
-------------------------------------------------

Release date: Mon May 14 04:00:09 CEST 2018

Plebs (1):
      Added more #formats transformations

TD-er (5):
      [#1411] Add SensorTypeNone to indicate no sensor values for Domoticz
      [memory]  use "-DNDEBUG" to disable ASSERT macros
      [issue #1380] Prevent memory leaks in WiFiClient
      [memory corruption] LWIP data corrupts log buffer
      [ESP32] ESP.getResetReason() is unknown to ESP32

ZericE (6):
      [#1404] Fix email notification for RFC2821, fix so msg body included.
      undo unnecessary changes in email body
      remove debug lines in email notify
      updated comment
      remove unneeded use of bMesg to free up mem.
      use reference to free up mem.

flexiti (4):
      Improvement in the file platformio.ini
      OTA check box
      ESP32 OTA port is set to 3232
      ESP32 OTA port setting


-------------------------------------------------
Changes in release mega-20180513 (since mega-20180512)
-------------------------------------------------

Release date: Sun May 13 04:00:08 CEST 2018

Gijs Noorlander (2):
      Fix debug code (commented) in _P045_MPU6050.ino
      [PR #1304] Rename file before running crc2.py


-------------------------------------------------
Changes in release mega-20180512 (since mega-20180511)
-------------------------------------------------

Release date: Sat May 12 04:00:06 CEST 2018

Grovkillen (15):
      Fixed the timers for log + devices
      Fixed format (I like tabs, Platformio like spaces)
      Preparation for fixed decimals...
      Removed a timer reset...
      Fixed some small syntax missing
      Added check to stop flooding
      Fixed scrolling issue when fetch <450mSec
      Fix for decimals on auto update device page
      Added ";"
      [web log] fixed overflow when set to "debug dev"
      [web log] fixed wait on requests
      [device page] added max request here too
      [web log] also taking care of disconnects
      [device page] added dynamic length to loop
      [web log] safety net not needed anymore

TD-er (2):
      [JSON] Add number of decimals to the JSON output
      [build] Do builds twice on the nightly builds


-------------------------------------------------
Changes in release mega-20180511 (since mega-20180510)
-------------------------------------------------

Release date: Fri May 11 04:00:08 CEST 2018

TD-er (3):
      [cleanup] Simplify formatting user variables and allow checking
      [log JSON] Add log level legend to the logjson output
      [Web] Improve serving large blobs directly from flash


-------------------------------------------------
Changes in release mega-20180510 (since mega-20180507)
-------------------------------------------------

Release date: Thu May 10 04:00:13 CEST 2018

Grovkillen (7):
      First draft of auto update of task/device values
      Values are updated (1-4 values per task)
      Wrap up for the PR
      Added div to web log (color scheme)
      Removed auto update of values... wrong branch
      Fixed the log level colors
      Fixed copy to clipboard (handle HTML tags)

Saverio Cisternino (1):
      Fix plugin_id visualization on devices view that afflict Development build

TD-er (2):
      [build] Special build config for Ventus W266
      [Ventus W266] Fix signed/unsigned warning

ZericE (1):
      [#1368] Remove call to Plugin_041_update causing a hard crash.


-------------------------------------------------
Changes in release mega-20180507 (since mega-20180506)
-------------------------------------------------

Release date: Mon May  7 04:00:08 CEST 2018

Grovkillen (1):
      [issue template] extra reminder to self compilers


-------------------------------------------------
Changes in release mega-20180506 (since mega-20180505)
-------------------------------------------------

Release date: Sun May  6 04:00:08 CEST 2018

Grovkillen (10):
      Added javascript to handle the log entries
      Added div to not copy "Fetching log entries...."
      Web log now inside a textarea
      If error make log show this more clear
      Added break...
      BR should be \n, now fixed
      Forgot extra \ for escape in code
      Added some "-"
      Updated to compile with TD-er's update on JSON
      Forgot the auto-scroll function... now added

Plebs (2):
      fix for #960
      new command logentry

TD-er (5):
      [JSON] Use streaming webserver for serving JSON page
      [JSON] Make proper log JSON output for log viewer
      [JSON] Sanitize JSON value strings
      [JSON] Add TTL, task interval and task enabled
      [JSON] Fix for single task view of json output.

ZericE (1):
      [#1356] Remove redundant call to MQTTCheck


-------------------------------------------------
Changes in release mega-20180505 (since mega-20180505_TD-er)
-------------------------------------------------

Release date: Sat May  5 04:00:07 CEST 2018

TD-er (2):
      [#1337]  Include hidden SSID in wifi scans
      [#1337] WiFi.isHidden() is unknown to ESP32


-------------------------------------------------
Changes in release mega-20180504 (since mega-20180503)
-------------------------------------------------

Release date: Fri May  4 04:00:10 CEST 2018

Grovkillen (3):
      Added dropdown for phones
      [#1363] fixed overlapping checkboxes
      Added a break under the hamburger

TD-er (3):
      [rules timer] revert treating the rules timer as periodical timer
      [Settings] Add checks to investigate issues with overlap in settings
      [LWIP2] Change LWIP1.4 => LWIP2 Low Memory


-------------------------------------------------
Changes in release mega-20180503 (since mega-20180502)
-------------------------------------------------

Release date: Thu May  3 04:00:12 CEST 2018

Grovkillen (1):
      Spelling correction

TD-er (3):
      [rules] Make rules start working again.
      [timers] Make rules timers more constant and MQTT reconnect less aggressive
      [#1353] Remove Domoticz HTTP as default controller


-------------------------------------------------
Changes in release mega-20180502 (since mega-20180501)
-------------------------------------------------

Release date: Wed May  2 04:00:16 CEST 2018

Grovkillen (1):
      Added log JSON

Plebs (4):
      fix for #1170
      fix for #1142
      deleted comments
      Added 2 system variables

Saverio Cisternino (1):
      Optimize setSystemTimer; Removed the second "for" cycle for checking the availability of timers

TD-er (5):
      [LWIP 1.4.0] Change to LWIP 1.4.0, to allow large http POST messages
      [LWIP] fix ESP32 build
      [timers] Make timers more accurate
      [wifi] Make retry intervals to connect increase at each attempt.
      [web log] Read all items from the log buffer


-------------------------------------------------
Changes in release mega-20180501 (since mega-20180430)
-------------------------------------------------

Release date: Tue May  1 04:00:17 CEST 2018

mvdbro (1):
      Fix broken Mini Dashboard feature


-------------------------------------------------
Changes in release mega-20180430 (since mega-20180429)
-------------------------------------------------

Release date: Mon Apr 30 04:00:08 CEST 2018

TD-er (4):
      [wifi] Do not rely on WiFi.status() and better log of status
      [wifi] Use internal ESPeasy state to check connected status
      [rules] Add log indicating POST request for update rules
      [MQTT] Set default timeout to 10 sec, equal to default Mosquito timeout

mvdbro (1):
      Changed plugin call debug timers


-------------------------------------------------
Changes in release mega-20180429 (since mega-20180428)
-------------------------------------------------

Release date: Sun Apr 29 04:00:07 CEST 2018

TD-er (7):
      [wifi] Setup static IP config after connecting to wifi.
      [wifi] Set static IP config before and after connect
      [wifi] Show number of reconnects in the sysinfo
      [wifi] Add wifi status log (Debug More) and DHCP/Static config to info page
      [wifi] ESP32 does not know wifi_station_get_connect_status()
      [wifi] Added connectionCheckHandler() to force reconnect when needed
      [wifi] Force wifi reconnect at lots of MQTT failed connects.


-------------------------------------------------
Changes in release mega-20180428 (since mega-20180426)
-------------------------------------------------

Release date: Sat Apr 28 04:00:15 CEST 2018

TD-er (4):
      [wifi] Attempt to make event based wifi simpler
      [PlatformIO] Updated core to 2.4.1
      [wifi] Just disconnect when DNS lookup is not possible
      [Wifi] Avoid doing network communications when not connected.


-------------------------------------------------
Changes in release mega-20180426 (since mega-20180425)
-------------------------------------------------

Release date: Thu Apr 26 04:00:14 CEST 2018

Gijs Noorlander (1):
      Change use of core 2_4_0  to 2_3_0


-------------------------------------------------
Changes in release mega-20180425 (since mega-20180424)
-------------------------------------------------

Release date: Wed Apr 25 04:00:08 CEST 2018

Grovkillen (4):
      Added a void addCopyButton
      Made copy to clipboard JavaScript based instead
      Added copy to clipboard on log page
      Added new lines if BR + delimiter if wanted

Plebs (3):
      Fix for #1300
      Adding 3 new http commands: taskrun, taskvalueset and rules
      Fix another bug in LCD plugin

TD-er (2):
      [Modbus] PR #1128 made by @s0170071
      [wifi] More active reconnect to wifi when disconnected


-------------------------------------------------
Changes in release mega-20180424 (since mega-20180423)
-------------------------------------------------

Release date: Tue Apr 24 04:00:13 CEST 2018

Grovkillen (1):
      Added note to self compilers


-------------------------------------------------
Changes in release mega-20180423 (since mega-20180422)
-------------------------------------------------

Release date: Mon Apr 23 04:00:10 CEST 2018

Plebs (1):
      Fixing #1289 for backwards compatibility

TD-er (1):
      [wifi] Add delay between connection attempts


-------------------------------------------------
Changes in release mega-20180422 (since mega-20180421)
-------------------------------------------------

Release date: Sun Apr 22 04:00:09 CEST 2018

Plebs (2):
      Syntax: [task#value#transformation#justification]
      Code changed as per TD-er suggestions

TD-er (1):
      [issue #1292] Remove CRC from settings, init settings and wifi fixes


-------------------------------------------------
Changes in release mega-20180421 (since mega-20180420)
-------------------------------------------------

Release date: Sat Apr 21 04:00:08 CEST 2018

Grovkillen (1):
      Removed fade in of body added toast message!

Saverio Cisternino (4):
      Add Commands timerpause and timerresume
      Add Trigger Rules#TimerPause= and Rules#TimerResume=
      Add support at elseif statment
      Add debug info

TD-er (7):
      [WiFi] Init static IP before connect to wifi
      [Toast message] Change "Settings saved" to "Submitted"
      [info] Add more build related info to the log and wifi info link to wiki
      [Sonoff Pow] Add support for HLW8012
      [Sonoff Pow] Add support for HLW8012
      [Sonoff POW] Change Plugin ID to 76
      [Sonoff POW] Set some proper defaults for the Sonoff POW

Unknown (2):
      Merge remote-tracking branch 'papperone/mega' into merge/papperone
      Merge remote-tracking branch 'papperone/mega' into merge/papperone


-------------------------------------------------
Changes in release mega-20180420 (since mega-20180419)
-------------------------------------------------

Release date: Fri Apr 20 04:00:09 CEST 2018

Grovkillen (3):
      Added small fade in (0.5s)
      "bodymenu" was accidentally copied to all body
      Added extra breaks below "back to setup" button

TD-er (4):
      [Static IP] Make sure static mode is set correct always
      [wifi] Restart webserver when connection changes.
      [log] Make web log 30 lines for ESP32
      [wifi] Create event 'gotIP' after processing 'connected' event


-------------------------------------------------
Changes in release mega-20180419 (since mega-20180417)
-------------------------------------------------

Release date: Thu Apr 19 04:00:17 CEST 2018

Grovkillen (3):
      Updated the input, select, textareas with CSS
      Added CSS radio buttons to WiFi setup wizard
      Removed unused row on hardware settings page

Hans-Rune Bue (1):
      Implemented syslog facilities and levels

TD-er (3):
      [Static IP] Work-around for set _use_static_ip
      [PR #1257] Make it compile again
      [ESP32] Add Generic info plugin

sentinel073 (2):
      Issue #1211: Plugin template file and hints on writing new plugins
      Issue #1211: Plugin template file and hints on writing new plugins     Added review comments

stefan (1):
      Changes for use of plugin sets


-------------------------------------------------
Changes in release mega-20180417 (since mega-20180416)
-------------------------------------------------

Release date: Tue Apr 17 04:00:09 CEST 2018

Grovkillen (11):
      Put borders around checkboxes
      Re-arranged Rules page
      Moved help button for sleep
      Moved help button on hardware page
      Made controller symbols a bit bigger (1)(2)(3)
      Change enable "off" to a nicer X
      Made input type password part of "wide"
      Added number input to CSS (width 100px)
      Made IDX column wider (device list)
      Added max widths for inputs
      "Ctr (IDX)" was accidentally removed, now added

TD-er (5):
      [wifi] Fix wifi reconnects with static IP
      [NTP] Add more information in the log when connecting to NTP server fail
      [issue #1260] parentheses error on the json page
      [P075] Nextion plugin (testing)
      [wifi] Fix build error for ESP32

Unknown (1):
      [Nextion] Initial support for Nextion displays


-------------------------------------------------
Changes in release mega-20180416 (since mega-20180415)
-------------------------------------------------

Release date: Mon Apr 16 04:00:09 CEST 2018

TD-er (4):
      [wifi] Prevent starting AP+STA mode with correct settings
      [Wifi] force STA mode at boot
      [wifi] Proper log of static IP configuration
      [info] Added FW information to help diagnose issues


-------------------------------------------------
Changes in release mega-20180415 (since mega-20180414)
-------------------------------------------------

Release date: Sun Apr 15 04:00:08 CEST 2018

Gijs Noorlander (1):
      Added C013

Grovkillen (6):
      Made checkmarks CSS
      Fixed missed update.
      Added column width for separator...
      Updated some more stuff
      Made addFormSeparator function a lot cleaner
      Bumped delay timer for MQTT pub 10mSec

Nuno Sousa (1):
      Replace ultrasonic plugin with NewPing lib

Susis Strolch (4):
      add missing USES_XXX to _C*.ino, _N*.ino
      system variables %sysheap%, %syssec_d
      ignore power-on reset value (85.0 °C)
      DS_readTemp: handle power-on reset value

TD-er (4):
      [WebServer] Cleanup of all functions appending to a big string
      [PR #1247 ]  Merged PR into the refactoring of Webserver
      [PR #1248] Fixed textarea sizes
      [Merge] Easier to merge, rebased on Mega branch.


-------------------------------------------------
Changes in release mega-20180414 (since mega-20180413)
-------------------------------------------------

Release date: Sat Apr 14 04:00:08 CEST 2018

GHolli (3):
      Update _P049_MHZ19.ino
      Change comma to semicolon
      Downstream updates (#1)

Gerald (1):
      Update _P049_MHZ19.ino

Grovkillen (4):
      Added RSSI, BSSID, Channel to WifiScan/Setup
      Removed the serial print "done."
      Added better(?) format for tables
      Fixed main page!

Holli (2):
      It seems the offsets [3]..[4] for the detection range setting (command byte 0x99) are wrong in the latest online data sheet: http://www.winsen-sensor.com/d/files/infrared-gas-sensor/mh-z19b-co2-ver1_0.pdf     According to the MH-Z19B data sheet version 1.2, valid from: 2017.03.22 (received 2018-03-07), the offset should be [6]..[7] instead.     Fixing the implementation accordingly.
      Disable detection range commands by default.

Plebs (5):
      Fixes for #1208 and partial #1196
      modified float() call
      new #formats
      added more formats
      Added #I

TD-er (1):
      [issue #1239] %bssid% and %wi_ch% added as variables

clumsy-stefan (1):
      _P015_TSL2561 added Broadband and IR Values

linuxnico (1):
      add ds1822 definition to ds_read_temp function


-------------------------------------------------
Changes in release mega-20180413 (since mega-20180412)
-------------------------------------------------

Release date: Fri Apr 13 04:00:09 CEST 2018

TD-er (1):
      [wifi] Event based wifi, fix set AP and crash on start


-------------------------------------------------
Changes in release mega-20180412 (since mega-20180410)
-------------------------------------------------

Release date: Thu Apr 12 04:00:14 CEST 2018

Gijs Noorlander (1):
      [MQTT] Process MQTT loop on publish

TD-er (7):
      [issue #1215] Cannot login to accesspoint on new install
      [issue #1215] Cannot login to accesspoint on new install
      [Wifi] Use statemachine to move between Wifi states
      [WiFi] Event based wifi, now AP mode works
      [wifi] Make it work for ESP32 again
      [wifi] Fix wifi AP setup mode for ESP32.
      [wifi] Event based wifi, improve scan information.

flexiti (1):
      ESP CPU speed and ID

mvdbro (1):
      Reboot/Reset pin, build 20101 patch


-------------------------------------------------
Changes in release mega-20180410 (since mega-20180409)
-------------------------------------------------

Release date: Tue Apr 10 04:00:21 CEST 2018

Grovkillen (5):
      Added comments that will not show up on issues
      Update issue_template.md
      Update issue_template.md
      Update issue_template.md
      Update issue_template.md


-------------------------------------------------
Changes in release mega-20180409 (since mega-20180407)
-------------------------------------------------

Release date: Mon Apr  9 04:00:13 CEST 2018

mvdbro (2):
      Factory Reset (not enabled yet)
      Both reset/factoryreset option


-------------------------------------------------
Changes in release mega-20180407 (since mega-20180405)
-------------------------------------------------

Release date: Sat Apr  7 04:00:12 CEST 2018

Grovkillen (1):
      Fixed clickable link www.letscontrolit.com (#1192)


-------------------------------------------------
Changes in release mega-20180405 (since mega-20180403)
-------------------------------------------------

Release date: Thu Apr  5 04:00:10 CEST 2018

Grovkillen (4):
      Updated JSON path for sensor values and names
      Delete WebServer.ino
      Moved to correct folder
      Added value number as discussed.

moi (3):
      Show CPU Load in JSON page
      Adds CPU Load LC in JSON page
      unwanted lib_ignore now properly commented

mvdbro (2):
      ESP32 RTOS config setting
      ESP32 RTOS 10 per second


-------------------------------------------------
Changes in release mega-20180403 (since mega-20180402)
-------------------------------------------------

Release date: Tue Apr  3 04:00:14 CEST 2018

Grovkillen (2):
      Update _P038_NeoPixel.ino
      Update _P029_Output.ino

mvdbro (1):
      ESP32 prep for RTOS multitasking


-------------------------------------------------
Changes in release mega-20180402 (since mega-20180401)
-------------------------------------------------

Release date: Mon Apr  2 04:00:10 CEST 2018

Gijs Noorlander (1):
      Revert "Merge pull request #1205 from s0170071/SerialSwap"


-------------------------------------------------
Changes in release mega-20180401 (since mega-20180331)
-------------------------------------------------

Release date: Sun Apr  1 04:00:08 CEST 2018

Grovkillen (1):
      P0059 (rotary encoder) and P0063 (ttp229, keypad)

TD-er (3):
      [issue #1201] MQTT#Disconnected event and MQTT stability improvements
      [issue #1201] MQTT#Disconnected event and MQTT stability improvements
      [deepsleep] Allow for some minimum wifi connect time

s0170071 (1):
      Serial Swap function


-------------------------------------------------
Changes in release mega-20180331 (since mega-20180330)
-------------------------------------------------

Release date: Sat Mar 31 04:00:09 CEST 2018

TD-er (2):
      [Build ESP32] Fix for build issues between ESP32 and ESP8266
      [ESP32] Build errors/warnings

mvdbro (1):
      ESP32: Fix Wifi Disconnect reason


-------------------------------------------------
Changes in release mega-20180330 (since mega-20180329)
-------------------------------------------------

Release date: Fri Mar 30 04:00:10 CEST 2018

Gijs Noorlander (1):
      Build issue with Arduino IDE


-------------------------------------------------
Changes in release mega-20180329 (since mega-20180328)
-------------------------------------------------

Release date: Thu Mar 29 04:00:11 CEST 2018

TD-er (2):
      [ESP32] Event driven WiFi for ESP32
      [Arduino IDE] Revert changes in include paths


-------------------------------------------------
Changes in release mega-20180328 (since mega-20180327)
-------------------------------------------------

Release date: Wed Mar 28 04:00:09 CEST 2018

TD-er (2):
      [Build] Cleanup/split builds using defines
      [build] Disabled a few PlatformIO profiles for now.

mvdbro (1):
      Fix nesting level check

soif (1):
      Initial re-organisation of plugin sets (#1019)


-------------------------------------------------
Changes in release mega-20180327 (since mega-20180326)
-------------------------------------------------

Release date: Tue Mar 27 04:00:09 CEST 2018

TD-er (1):
      [issue #1174] Show degree sign via external writes to LCD


-------------------------------------------------
Changes in release mega-20180326 (since mega-20180324)
-------------------------------------------------

Release date: Mon Mar 26 04:00:14 CEST 2018

Bartlomiej Zimon (1):
      - fix for #1170 - uservar not setted on encwrite

Brian Setz (1):
      [P1] Support for latest standard

TD-er (3):
      [Command] Parsing improvement for commands
      [wifi] Event based connect/reconnect
      [NTP] Speedup NTP again with async WiFi


-------------------------------------------------
Changes in release mega-20180324 (since mega-20180323)
-------------------------------------------------

Release date: Sat Mar 24 04:00:10 CET 2018

TD-er (3):
      [WiFi] Reverted those temp String uses for ssid/pass
      [issue #1131] Add %unixtime%
      [issue #1097] Call MQTTclient.loop() during deepsleep


-------------------------------------------------
Changes in release mega-20180323 (since mega-20180322)
-------------------------------------------------

Release date: Fri Mar 23 04:00:06 CET 2018

mvdbro (1):
      ESP32 fix


-------------------------------------------------
Changes in release mega-20180322 (since mega-20180321)
-------------------------------------------------

Release date: Thu Mar 22 04:00:11 CET 2018

Bartlomiej Zimon (7):
      - P012 fix command interpretation
      - P023 fix command interpretation
      - P035 move strings to flash
      - P048 fetch params only when needed
      - P012 fix command interpretation
      - P023 fix command interpretation
      - P048 fetch params only when needed

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180321

Gijs Noorlander (1):
      [merge issue] Forgotten #endif in merge

TD-er (6):
      [wifi] Make more robust checks and increase timeout
      - P035 move strings to flash
      [wifi] Make more robust checks and increase timeout
      [Memory] parseTemplate did not check if markers were found
      [WiFi] Take much more time for initial WiFi connect during setup
      [WiFi] Take much more time for initial WiFi connect during setup

Unknown (1):
      [Memory] parseTemplate did not check if markers were found

s0170071 (2):
      Serial WD crash
      Serial WD crash


-------------------------------------------------
Changes in release mega-20180321 (since mega-20180320)
-------------------------------------------------

Release date: Wed Mar 21 04:00:08 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180320

Unknown (2):
      [wifi] Setup with factory settings could not complete
      [wifi] Setup with factory settings could not complete


-------------------------------------------------
Changes in release mega-20180320 (since mega-20180319)
-------------------------------------------------

Release date: Tue Mar 20 04:00:10 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180319

Gijs Noorlander (1):
      Revert "Merge pull request #1116 from TD-er/feature/allow_own_defaults"

Unknown (3):
      Revert "Merge pull request #1116 from TD-er/feature/allow_own_defaults"
      [issue #1097] WiFi connect with deepsleep enabled trigger watchdog reset
      [issue #1097] WiFi connect with deepsleep enabled trigger watchdog reset

es-ka (2):
      Fix wiring description for SN75176 transceiver
      Fix wiring description for SN75176 transceiver


-------------------------------------------------
Changes in release mega-20180319 (since mega-20180316)
-------------------------------------------------

Release date: Mon Mar 19 04:00:11 CET 2018

Bartlomiej Zimon (5):
      Add download button for current rule set
      - add encoder write #1086
      - fix success setting
      - fix P073 success setting in PLUGIN_WRITE callback
      - initialize pointer in P073

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180316

Gijs Noorlander (6):
      Add download button for current rule set (#1102)
      - add encoder write command #1086 (#1103)
      Changed so that running all tasks immediately with deep sleep enabled… (#1110)
      Merge pull request #1112 from uzi18/fix-p073
      Merge pull request #1114 from TD-er/feature/wifi_details_json
      Merge pull request #1118 from TD-er/bugfix/mqtt_publish_after_deep_sleep

Panayotis Kouvarakis (1):
      Changed so that running all tasks immediately with deep sleep enabled only happens on first iteration after wake up

Unknown (11):
      [WiFi] Try to minimize effect of WiFi interruptions
      [Relaxed WiFi] Perform WiFi initialization in steps
      [Travis error] Some #include test that wasn't meant to be included
      [JSON] Add uint name (#1099) and WiFi information (PR #1113)
      [issue #1007] Allow user specific data in separate file
      #ifndef instead of #ifdef
      [issue #1007] Add other defines as suggested by @uzi18
      [issue #1097] MQTT publish after deep sleep
      Merge pull request #1113 from TD-er/feature/reduce_impact_wifi_disconnect
      Merge pull request #1116 from TD-er/feature/allow_own_defaults
      [merge] MIssing #endif due to merging.

s0170071 (2):
      changed memory tracker to uint64_t for the ESP32
      Keep uint. Just change the init value.


-------------------------------------------------
Changes in release mega-20180316 (since mega-20180315)
-------------------------------------------------

Release date: Fri Mar 16 04:00:11 CET 2018

Bartlomiej Zimon (3):
      - move all structs from ESPEasy.ino into header file     - add some fix for headers     - add const to rtttl notes array
      Merge branch 'mega' of github.com:letscontrolit/ESPEasy into mega
      Merge branch 'mega' of github.com:letscontrolit/ESPEasy into mega

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180313

Gijs Noorlander (3):
      MCP3221 allow values for calibration (#1073)
      [issue #1066] Fix Webserver handle_control (#1079)
      Fixed multi instance problem on SHT3x #433 (#1081)

JK (1):
      Fixed #433

Unknown (9):
      [issue #1066] Fix Webserver handle_control
      - move all structs from ESPEasy.ino into header file
      [v2.0 split globals] Base split on v2.0 version of ESPEasy.ino
      [issue #1057] AM PM display issue
      [issue #993] variable in MQTT subscribe topic
      [issue #951] Changed System#Initialized  => System#Wake
      [issue #1057] AM PM display issue
      [issue #993] variable in MQTT subscribe topic
      [issue #951] Changed System#Initialized  => System#Wake

mvdbro (4):
      #893 part1, send messages
      Custom controller GUI option
      #893, part 2 receiving
      Rules fix

sassod (1):
      12bit ADC values acceted up to 4095


-------------------------------------------------
Changes in release mega-20180315 (since mega-20180314)
-------------------------------------------------

Release date: Thu Mar 15 04:00:08 CET 2018

mvdbro (3):
      Custom controller GUI option
      #893, part 2 receiving
      Rules fix


-------------------------------------------------
Changes in release mega-20180314 (since mega-20180313)
-------------------------------------------------

Release date: Wed Mar 14 04:00:11 CET 2018

mvdbro (1):
      #893 part1, send messages


-------------------------------------------------
Changes in release mega-20180313 (since mega-20180312)
-------------------------------------------------

Release date: Tue Mar 13 04:00:11 CET 2018

Bartlomiej Zimon (4):
      - fix for #1065
      - remove double trimm()
      - fix for #1065
      - remove double trimm()

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180312

Unknown (1):
      Rule Engine minor fix and added dev debugging

mvdbro (1):
      ESP32 C010 fix


-------------------------------------------------
Changes in release mega-20180312 (since mega-20180311)
-------------------------------------------------

Release date: Mon Mar 12 04:00:07 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180311

Unknown (4):
      [issue #1039 ] Change CSS to show topmost SSID on large screens
      [webserver] Improve chunked transfer
      [issue #1039 ] Change CSS to show topmost SSID on large screens
      [webserver] Improve chunked transfer

mvdbro (1):
      Rule Engine minor fix and added dev debugging


-------------------------------------------------
Changes in release mega-20180311 (since mega-20180310)
-------------------------------------------------

Release date: Sun Mar 11 04:00:06 CET 2018

ESPEasy release bot (2):
      automaticly updated release notes for v2.0-20180309
      automaticly updated release notes for v2.0-20180310

Unknown (19):
      Move plugin init before WiFi init
      [Conversions] Use more decimals in conversions and add AM/PM for time.
      Update P07 Plugin
      [AM/PM] Am/Pm notation doesn't have '0' hours
      [P073] Remove tm1637_bitDelay()
      Improve flash read performance
      Add read buffer to rule processing to speedup parsing
      Final ruleset speed-up
      [AM/PM] Am/Pm notation doesn't have '0' hours
      Update P07 Plugin
      [P073] Remove tm1637_bitDelay()
      [deepsleep] Make sure the 'shortcut' of running all services when sleep enabled
      [OLED] fix drawProgressBar
      [deepsleep] Make sure the 'shortcut' of running all services when sleep enabled
      [OLED] fix drawProgressBar
      [DNS lookup] Controllers sometimes try to connect to 0.0.0.0
      [DNS lookup] Controllers sometimes try to connect to 0.0.0.0
      [issue #1039] Topmost SSID are covered on mobile Browser
      [issue #1039] Topmost SSID are covered on mobile Browser

mvdbro (5):
      Improve flash read performance
      Rule Engine, stop waisting time on non matching rules
      Add read buffer to rule processing to speedup parsing
      Final ruleset speed-up
      Rule Engine, stop waisting time on non matching rules


-------------------------------------------------
Changes in release mega-20180310 (since mega-20180309)
-------------------------------------------------

Release date: Sat Mar 10 04:00:07 CET 2018

Unknown (2):
      Move plugin init before WiFi init
      [Conversions] Use more decimals in conversions and add AM/PM for time.


-------------------------------------------------
Changes in release mega-20180309 (since mega-20180308)
-------------------------------------------------

Release date: Fri Mar  9 04:00:11 CET 2018

ESPEasy release bot (3):
      automaticly updated release notes for v2.0-20180305
      automaticly updated release notes for v2.0-20180306
      automaticly updated release notes for v2.0-20180307

Gijs Noorlander (2):
      Fixes P073 plugin for latest TM1637 based 7 segments displays modules (#996) (#1022)
      [CSS] Quick fix for smaller displays (#1026)

Unknown (5):
      [issue #1012] Removed Content-Length header + improved webserver speed
      [Rule Events] Add a number of events to handle in rules and awake timer
      [Rule Events] Add a number of events to handle in rules and awake timer
      [issue #1015] Add other simple conversions like Celsius to Fahrenheit, etc.
      [issue #1015] Add other simple conversions like Celsius to Fahrenheit, etc.


-------------------------------------------------
Changes in release mega-20180308 (since mega-20180307)
-------------------------------------------------

Release date: Thu Mar  8 04:00:08 CET 2018

mvdbro (2):
      First step towards port monitoring without tasks
      Second step towards port monitoring without tasks


-------------------------------------------------
Changes in release mega-20180307 (since mega-20180305)
-------------------------------------------------

Release date: Wed Mar  7 04:00:09 CET 2018

Unknown (2):
      [CSS] Quick fix for smaller displays
      [issue #1012] Removed Content-Length header + improved webserver speed


-------------------------------------------------
Changes in release mega-20180305 (since mega-20180304)
-------------------------------------------------

Release date: Mon Mar  5 04:00:08 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180304

Edwin Eefting (2):
      dont build in silent mode to prevent travis timeouts
      automaticly updated release notes for v2.0-20180304b

Unknown (3):
      [Webserver] Factory Reset was present twice
      [issue #528] Set DOUT flash mode for all 1M builds
      [issue #1003 ] Add conversion of wind direction to string

mvdbro (3):
      ESP32 fix-2 for P020/P044
      ESP32 - 32 Tasks
      ESP32 - 32 Tasks -redo commit

soif (2):
      Add OS specific hidden files (#1005)
      fixes typos in the issue template (#1006)


-------------------------------------------------
Changes in release mega-20180304 (since mega-20180303)
-------------------------------------------------

Release date: Sun Mar  4 04:00:08 CET 2018

Bartlomiej Zimon (4):
      - pcfgpio,port,2 sets pin as input     - fix for #222,#702 - we can mix inputs and outputs now
      - extend conditions with AND/OR, now it is possible to simplify rules
      - remove Serial print
      - support for more comparisions in IF conditions: >=,<=,!=,<>,<,>,=       also fix extended conditions when first check is not >

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180303

Gijs Noorlander (2):
      Merge pull request #1000 from uzi18/test3  (more comparisions in IF condition)
      _P072_HDC1080 allow to send values to the controllers (#999)

Unknown (2):
      [issue #993] Add %unit% variable in MQTT subscribe topic
      [issue #892 ] Only use sensor type when really needed

clumsy-stefan (1):
      add success and break statement

mvdbro (1):
      ESP32 Dallas DS18B20 fix

soif (1):
      Fixes P073 plugin for latest TM1637 based 7 segments displays modules


-------------------------------------------------
Changes in release mega-20180303 (since mega-20180302)
-------------------------------------------------

Release date: Sat Mar  3 04:00:08 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180302

Unknown (5):
      revert json to non-chunking #988 from s0170071/mega
      [issue #293] json output nan values not double quoted
      Add Task device type to json by @s0170071
      [Issue #827] MQTT not using proper case for %sysname% variable.
      Add AND/OR to rules & prevent unwanted case changes in strings (#994)

s0170071 (3):
      revert json to non-chunking
      Add git build and local time
      make handle_json return void


-------------------------------------------------
Changes in release mega-20180302 (since mega-20180228)
-------------------------------------------------

Release date: Fri Mar  2 04:00:10 CET 2018

Bartłomiej Zimoń (4):
      provide System@Sleep event (#875)
      add format #O to templates to show OFF/ON instead 0/1 (#949)
      fix #964, add timeStringToSeconds and use it to compare time conditions (#965)
      add format #O to templates to show OFF/ON instead 0/1 (#949)

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180228

Gijs Noorlander (1):
      Merge pull request #983 from kahvm/mega

Unknown (4):
      [issue #914] _P053_PMSx003 Dust Sensor looses sync
      [issue #914] Check first 2 bytes of packet
      [Build error fix] Must-keep-focus-when-pressing-buttons...
      [webserver] Layout of code to improve readability

kahvm (1):
      Support for degree sign on LCD1602

mvdbro (2):
      Rule wildcard option on literal events
      Rule wildcard option on literal events

s0170071 (1):
      Add Factory Reset button to web interface (#954)


-------------------------------------------------
Changes in release mega-20180228 (since mega-20180227)
-------------------------------------------------

Release date: Wed Feb 28 04:00:09 CET 2018

Bartłomiej Zimoń (1):
      fix #964, add timeStringToSeconds and use it to compare time conditions (#965)

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180227

Gijs Noorlander (2):
      [issue #966] Add %sysweekday% and  %sysweekday_s% (#973)
      [issue #968] Use template parser for OLED commands (#974)


-------------------------------------------------
Changes in release mega-20180227 (since mega-20180226)
-------------------------------------------------

Release date: Tue Feb 27 04:00:11 CET 2018

Bartłomiej Zimoń (1):
      add format #O to templates to show OFF/ON instead 0/1 (#949)

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180226

Edwin Eefting (2):
      [test suite] changes from mega to 2.0
      [test suite] changes from mega to 2.0

Gijs Noorlander (2):
      [BuildError] StreamingBuffer code cleanup + fix order member initialize (#961)
      [build conflict] Renamed ESP32 version of ping (#963)

mvdbro (1):
      Fix ESP32 compile errors

s0170071 (1):
      Add Factory Reset button to web interface (#954)


-------------------------------------------------
Changes in release mega-20180226 (since mega-20180224)
-------------------------------------------------

Release date: Mon Feb 26 04:00:08 CET 2018

Bartłomiej Zimoń (2):
      provide System@Sleep event (#875) (#931)
      - extend conditions with AND/OR, now it is possible to simplify rules (#932)

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180221

Edwin Eefting (1):
      device page doesnt need next/previous page buttons anymore

Gijs Noorlander (7):
      [MQTT] LWT "Connected" message doesn't have the retained flag (#925)
      [v2.0] Added Vcc-binaries to deploy process #933 (#935)
      [v2.0 merge] 2kwebserver_merge_to_mega #929 (#934)
      [v2.0] Use Driver_ESPEasySoftwareSerial_t (#936)
      [Mega] rename SoftwareSerial lib #930 (#937)
      [timeouts] Improve response when hosts are not reachable (#939)
      [2k Webserver] Proper initialisation of StreamingBuffer members. (#941)

Michael Schröder (1):
      Added Vcc-binaries to deploy process (#933)

Unknown (2):
      [ping lib] Added ping library
      [softwareSerial] Remove duplicate with only capilization as difference

s0170071 (33):
      Webserver min memory
      Adjusted to min 7k free
      Timeout 100ms
      tcp_cleanup for LWIP1 & 2
      Adapted timeout
      trigger travis re-compile
      try fix travis
      Does Travis like extern "C" ?
      Wait for memory be like before send chunked
      "Content-Type","text/html"
      Optimized memory usage
      2k Webserver
      fix travis
      fix travis
      Unused variable
      navMenuIndex
      fix download page
      Add Ram usage debug message
      fix Travis
      Travis...
      Cleanup and +1k Ram
      4->12 Devices per page
      Fix travis
      Update .gitignore
      Merge Webserver
      Fixed String redeclaration
      Merge into mega
      fix travis
      Removed double entry on info page
      Fix compile error when SD card is enabled
      Memtracker (#927)
      V20 Webserver@LowMemory
      Update WebServer.ino


-------------------------------------------------
Changes in release mega-20180224 (since mega-20180223)
-------------------------------------------------

Release date: Sat Feb 24 04:00:06 CET 2018

mvdbro (2):
      Fix ESP32 compile errors
      ESP32 fixed P020 and P044


-------------------------------------------------
Changes in release mega-20180223 (since mega-20180221)
-------------------------------------------------

Release date: Fri Feb 23 04:00:07 CET 2018

GHolli (1):
      * BugFix: According to the data sheet, the offset for the detection range values (command byte 0x99) is 3..4 instead of 6..7 (#921)

s0170071 (1):
      Include name of binary file in crc2.py and sysinfo (#918)


-------------------------------------------------
Changes in release mega-20180221 (since mega-20180220)
-------------------------------------------------

Release date: Wed Feb 21 04:00:09 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180220

Edwin Eefting (3):
      SENSOR_TYPE_TEMP_BARO changed, was probably implemented incorrectly before
      apply PUYA patch to all available frameworks
      [test suite] corrected PUYA test. added erase/build/flash for all chips. preparations for full automatic hardware regression testing

GHolli (1):
      Optimisation: Save RAM (freeing RAM by moving static data from RAM to program memory). (#910)

Gijs Noorlander (1):
      [issue #899 ] Backport of DHT22 implementation on Mega (#913)

Stanislav Mihic (1):
      Frontend (#906)


-------------------------------------------------
Changes in release mega-20180220 (since mega-20180219)
-------------------------------------------------

Release date: Tue Feb 20 04:00:08 CET 2018

Bartłomiej Zimoń (1):
      - pcfgpio,port,2 sets pin as input (#897)

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180219

Edwin Eefting (1):
      function was moved to StringConverter.inp

Gijs Noorlander (3):
      [isue #877] Add VCC enable firmware file to release list (#894)
      [Cleanup] Move String manipulating functions to single file (#895)
      [issue #893] Fix globalSync not working when no controllers active (#896)

Unknown (3):
      [issue #847] Fix last letter of command is cut in OpenHAB MQTT
      [Event Log] Add event name to event processing time log
      [issue #899] DHT22 readings not received


-------------------------------------------------
Changes in release mega-20180219 (since mega-20180217)
-------------------------------------------------

Release date: Mon Feb 19 04:00:09 CET 2018

ESPEasy release bot (2):
      automaticly updated release notes for v2.0-20180217
      automaticly updated release notes for v2.0-20180218

Gijs Noorlander (4):
      [issue #847 ] OpenHAB MQTT rewrite topic parser (#886)
      [issue #885] MAC address as system variable (#887)
      [Build Mega] Fix for Build Mega 20180217 (#889)
      [issue #890] Split overlap for both Domoticz controllers to helper (#891)


-------------------------------------------------
Changes in release mega-20180217 (since mega-20180214)
-------------------------------------------------

Release date: Sat Feb 17 04:00:07 CET 2018

Bartłomiej Zimoń (1):
      provide System@Sleep event (#875)

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180214

Gijs Noorlander (4):
      [issue 866] Try to stop logging to serial when serial is not read. (#868)
      [issue #853] Favicon.ico (#874)
      [OLED Framed] ESP Easy logo (#876)
      [issue #869] Added 'LWT' to last will topic and improved CPU load (#883)


-------------------------------------------------
Changes in release mega-20180214 (since mega-20180213)
-------------------------------------------------

Release date: Wed Feb 14 04:00:09 CET 2018

Bartłomiej Zimoń (1):
      fix for Blynk Controller (#863)

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180213

Edwin Eefting (3):
      workaround for PUYA flash chips with write issues #650
      travis build fix for PUYA
      updated deploy script for PUYA

Gijs Noorlander (1):
      [v2.0] Blynk controller (#865)


-------------------------------------------------
Changes in release mega-20180213 (since mega-20180212)
-------------------------------------------------

Release date: Tue Feb 13 04:00:09 CET 2018

ESPEasy release bot (3):
      automaticly updated release notes for v2.0-20180206
      automaticly updated release notes for v2.0-20180209
      automaticly updated release notes for v2.0-20180212

Edwin Eefting (1):
      make blynk stuff compile again

Gijs Noorlander (10):
      [Issue #831] Use DOUT flash mode (#834)
      [#804] Degree symbol for non-framed OLED display (#835)
      Blynk controller (re-implementation of PR#92) (#837)
      [issue #839] Add command support for setting contrast for OLED Framed (#841)
      [P001 Switch] Fix a mixup in previous fix for switch (#845)
      [v2.0] Fix compile errors on ESP32 (#848)
      Bugfix/oled framed less memory (#859)
      Formatting user vars (re-do of PR#482) + enabled check OpenHabMQTT (#851)
      [issue #825] Change labels and password form for Thingspeak controller (#849)
      [MQTT] Allow for background tests while waiting for wifi (#860)

Henri de Jong (1):
      Added support for pioneer ir signals (#844)

soif (2):
      Add Device Name in /json page (#815)
      P012 - Fix/handle lines exceeding LCD width + allow to clear line b4 print (#852)

wdonker (1):
      Add trigger for rulesprocessing (#826)


-------------------------------------------------
Changes in release mega-20180212 (since mega-20180209)
-------------------------------------------------

Release date: Mon Feb 12 04:00:09 CET 2018

mvdbro (1):
      Fix compile errors on ESP32


-------------------------------------------------
Changes in release mega-20180209 (since mega-20180206)
-------------------------------------------------

Release date: Fri Feb  9 04:00:15 CET 2018

Andrey (1):
      Added HIGH-Z state options for GPIO command (#833)


-------------------------------------------------
Changes in release mega-20180206 (since mega-20180203)
-------------------------------------------------

Release date: Tue Feb  6 05:00:10 CET 2018

ESPEasy release bot (2):
      automaticly updated release notes for v2.0-20180202
      automaticly updated release notes for v2.0-20180203

Gijs Noorlander (3):
      Backport OLED framed from mega + support special characters (#818)
      [issue #817] Added mail header to SMTP (#820)
      [issue #727] Proper user interface to set DST rules (#823)

Grovkillen (1):
      Update README.md

s0170071 (1):
      Add compile time (#811)

soif (1):
      All Advanced Settings as 'DEFAULT_' Defines (#813)


-------------------------------------------------
Changes in release mega-20180203 (since mega-20180202)
-------------------------------------------------

Release date: Sat Feb  3 05:00:11 CET 2018

Grovkillen (1):
      Update README.md


-------------------------------------------------
Changes in release mega-20180202 (since mega-20180130)
-------------------------------------------------

Release date: Fri Feb  2 05:00:12 CET 2018

DatuX (3):
      Update README.md
      Update README.md
      Update README.md

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180130

Edwin Eefting (1):
      Add CRC checks to all binaries when building a release with travis. fixes #779

Gijs Noorlander (4):
      [Mega] Fix pointer arithmetic on void pointers for CRC computations (#795)
      [issue #794] Add longpulse_ms command (#796)
      [v2.0] Resource friendly string replacement (#798)
      [issue #739] Reconnect MQTT when Unit Name has changed. (#803)

soif (5):
      Fixes invalid '/json' page output format : DateTimeString is now correctly quoted (#802)
      Fix Syslog : include Hosname instead of Unit Number - now RFC3164 compliant (#805)
      Allows to define the IP address when in AP Mode (#806)
      Custom define file (#807)
      Json page also Shows Git Build (#808)


-------------------------------------------------
Changes in release mega-20180130 (since mega-20180126)
-------------------------------------------------

Release date: Tue Jan 30 05:00:12 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180126

Edwin Eefting (1):
      forgot to commit last framed oled display fix

Gijs Noorlander (3):
      Bugfix/issue 740 allow mqtt as controller 2 3 (#785)
      [#784] Add %rssi% as system variable (#786)
      [Log] Clean up of log routines and more intuitive log level input (#788)


-------------------------------------------------
Changes in release mega-20180126 (since mega-20180124)
-------------------------------------------------

Release date: Fri Jan 26 05:00:11 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180124

Gijs Noorlander (5):
      [Mega] Allow compile with 2.4.0 core library (#772)
      [issue #759] Disable Senseair ABC due to firmware issues (#771)
      [V2.0] Allow IRremoteESP8266 to be built with core 2.4.0 (#773)
      [Mega] Force 2.3.0 for all builds and add an option for 2.4.0 core (#775)
      Update _C007.ino (#774) (#776)

josemariaaraujo (1):
      Update _C007.ino (#774)


-------------------------------------------------
Changes in release mega-20180124 (since mega-20180123)
-------------------------------------------------

Release date: Wed Jan 24 05:00:09 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180123

Edwin Eefting (1):
      fix #718. also update display on save and removed graphical boot logo to conserve space. also fixes #713. (web interface will be non repsonsive during scrolling now, but there is no easy fix for that)

Gijs Noorlander (1):
      [issue #758] P029 MQTT helper does not log anymore (#764)

s0170071 (2):
      Broken comment (#766)
      Space (#767)


-------------------------------------------------
Changes in release mega-20180123 (since mega-20180122)
-------------------------------------------------

Release date: Tue Jan 23 05:00:10 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180122

Edwin Eefting (5):
      test suite: now possible to run all tests at once. fixes
      test suite: espcli can now do stuff for all configured nodes
      clear custom task and controller settings when selecting a different device or protocol. replaces #762 . fixes #721
      added easy reboot warning and function to work around several issues
      request mainpage when checking if reboot is complete

Gijs Noorlander (1):
      Central function for system variable replacement (#757)

s0170071 (1):
      CRC on settings and security settings and progmem (#720)


-------------------------------------------------
Changes in release mega-20180122 (since mega-20180119)
-------------------------------------------------

Release date: Mon Jan 22 05:00:08 CET 2018

ESPEasy release bot (3):
      automaticly updated release notes for v2.0-20180119
      automaticly updated release notes for v2.0-20180120
      automaticly updated release notes for v2.0-20180121

Edwin Eefting (8):
      test suite: added dht22
      added QUAD to c002. fixed getBearing and SENSOR_TYPE_WIND.
      test suite: started on testcase to test all sensor types via the dummy plugin
      test suite: generelized controller testing in test005
      cleaned up nodo logging. fixed domotics SENSOR_TYPE_WIND inconsistency
      test suite: fixed issues, started working on nodo
      test suite: lots of refactoring and fixing
      test suite: fixes. testing boot gpio states

Gijs Noorlander (2):
      [issue #745] Set IPaddress to 0.0.0.0 when read from empty string (#754)
      [#732] Only process P029 MQTT helper when enabled (#743)


-------------------------------------------------
Changes in release mega-20180119 (since mega-20180118)
-------------------------------------------------

Release date: Fri Jan 19 05:00:07 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180118

Edwin Eefting (2):
      refactoring test suite controller stuff
      test suite domoticz mqtt + found few fixmes

jctual (1):
      DHT plugin update (#736)


-------------------------------------------------
Changes in release mega-20180118 (since mega-20180117)
-------------------------------------------------

Release date: Thu Jan 18 05:00:07 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180116

Edwin Eefting (3):
      made test resumable and importable
      now supports powercycle to test for bugs like #719
      added fixme

Gijs Noorlander (2):
      [issue 733] Fix for negative values on MQTT import (#735)
      [issue 728] Proper reconnect for MQTT controllers (#737)


-------------------------------------------------
Changes in release mega-20180117 (since mega-20180116)
-------------------------------------------------

Release date: Wed Jan 17 05:00:08 CET 2018

Edwin Eefting (1):
      fix #719 (initial ds18b20 value after power on 85 degrees)

papperone (1):
      merge with main branch (#648)


-------------------------------------------------
Changes in release mega-20180116 (since mega-20180114)
-------------------------------------------------

Release date: Tue Jan 16 05:00:11 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180113

Edwin Eefting (2):
      testsuite: working on generic http/mqtt controller emulatior receiving
      fixed custom build path

Gijs Noorlander (1):
      [AutoDST] Added Auto DST (Bugfix/v2.0 issue569) (#726)


-------------------------------------------------
Changes in release mega-20180114 (since mega-20180113)
-------------------------------------------------

Release date: Sun Jan 14 05:00:08 CET 2018

s0170071 (1):
      preparations for lwip2 (#707)


-------------------------------------------------
Changes in release mega-20180113 (since mega-20180112)
-------------------------------------------------

Release date: Sat Jan 13 05:00:10 CET 2018

Edwin Eefting (2):
      ESPEasy v2.0 only supports compiling under arduino core 2.3.0 to prevent issues like #705 when people use Arduino IDE to compile with arduino core 2.4.0
      fix version number


-------------------------------------------------
Changes in release mega-20180112 (since mega-20180111)
-------------------------------------------------

Release date: Fri Jan 12 02:05:49 CET 2018

ESPEasy release bot (1):
      automaticly updated release notes for v2.0-20180111

Edwin Eefting (8):
      added http server emulation and domotics http to testsuite
      first http domoticz test works
      testsuite requirements
      fixed releasebot issues with multiple branches
      automaticly updated release notes for v2.0-20180112
      release bot fixes
      dont make same release twice
      dont make same release twice

Gijs Noorlander (2):
      [Issue 699] Incorrect shown device name (#700)
      [v2.0 #470] Do not send invalid values to a controller (#701)


-------------------------------------------------
Changes in release mega-20180111 (since v2.0-20180110)
-------------------------------------------------

Release date: Thu Jan 11 05:00:08 CET 2018

Alexander Schulz (1):
      improvement: Configurable number of tasks for "Devices" page (TASKS_P…

BadWolf42 (1):
      Dallas Plugin enhanced : no more "delay()" (#488)

Bartłomiej Zimoń (1):
      Update _C002.ino (#645)

DaM (1):
      [Domoticz HTTP] Compatibility fix for BMP280 (#636)

ESPEasy release bot (5):
      created releasebot script
      automaticly updated release notes for mega-01022018
      automaticly updated release notes for mega-01032018
      changed date format of nightly builds
      automaticly updated release notes for mega-20180104

Edwin Eefting (22):
      keep TASKS_PER_PAGE at default value of 4
      fix plugin id (starting with a 0 makes it octal in c++ :( )
      fix warnings
      fixed bug in oled upstream lib
      test fixes
      smooth out testing code
      esptest stuff
      fix travis build errors. disable cpp checking for now
      set lcd to NULL by default. #584
      fix illegal string manipulations in PLUGIN_WRITE for some plugins. fixes #347 and #460
      fix #588. parseTemplate() now only checks enabled taskes for [] macros
      testing for ds18b20
      updated travis link to reflect v2.0
      changed readme to reflect mega branch and automated builds
      updates version numbering documentation
      changed devicecombobox handling to save a lot of memory on device page. fixes #654 #676 and could be triggered by #683 in some cases.
      oops...somehow git did made some changes :(
      copied test-stuff from mega to v2.0 to do some testing
      analysed some code and added comments
      test suite fixes
      added frame oled test
      working on http mocker for test suite

GHolli (1):
      Cosmetics: fixing typos. (#628)

Gijs Noorlander (14):
      P028 to support both BME280 and BMP280 to reduce resource usage (#481)
      Single function for format to user defined number decimals (#482)
      OLED framed improve header footer (#495)
      [SSD1306] Feature/oled 1306 library upgrade (#501)
      [MH-Z19] Allow for B-version and add filtering (#525)
      Support both SSD1306 and SH1106 OLED in OLED_Framed plugin (#509)
      [LCD plugin] Added check of LCD object before dereferencing it (#584)
      [P039 Thermocouple] Handling negative values and proper error logging (#586)
      Reduce iRAM usage for plugins using SoftwareSerial (#631)
      [Security] Add IP-based filtering to web interface and http-commands. (#653)
      [SDS011] Allow the sensor to sleep to extend sensor lifetime (#668)
      [CPPcheck] v2.0 ControllerSettingsStruct some variables not initialized (#692)
      Merge/v2.0 dev13 to mega (#695)
      [v2.0_kamstrup] Plugin configuration does not load (#697)

Grovkillen (6):
      Added categories... (#552)
      Changed bin file names to be more descriptive. (#597)
      Move "TTP229 keypad" and "Encoder" plugin from "testing" to "normal"  (#619)
      Updated ESPTOOLS.exe from 0.4.6 to 0.4.12 (#627)
      Updated "/pinstates" page: Made the plugin number column display "P001" instead of "1" and "P012" instead of "12".
      Update README.md

M0ebiu5 (1):
      P022_PCA9685 added change frequency - P038_NeoPixel added RGBW strips (SK6812) (#638)

Michael (2):
      WebServer.ino: enhance handle_SDfilelist() (#507)
      src/Hardware.ino: make it possible to use GPIO-0 (D3) as Pin_sd_cs (#508)

Sen Haerens (1):
      Enhanced system info layout (#624)

SightofSilence (1):
      Add System Variable for day, month and year / Fix for "Calculate" function to recognize minus-sign (#485)

SloMusti (1):
      implemewnted web activity timer tracker (#462)

Tomasz Torcz (1):
      retain MQTT LWT messages (#516)

denisfrench (1):
      Set MQTT clientid to %sysname% +/- Settings.Unit (#431) (#436)

fensoft (1):
      added #define FEATURE_SD (permit a flash size reduction of ~10k) (#568)

hatzlhoffer (1):
      added new display size 128x32 (#545)

krikk (1):
      added support for the TSL2591 Sensor based on Adafruit Library (#661)

mvdbro (8):
      First preparations for ESP32
      ESP32 IRAM/Deepsleep
      ESP32 Rules/ADC/PWM
      ESP32 fix FreeRAM reporting
      ESP32 Enabled OTA
      ESP32 fix UDP instability
      ESP32 fixed chunked HTTP transfer
      Fix #599

papperone (3):
      Plugin 073 - 7-segment display plugin TM1637/MAX7219
      Update _P073_7DGT.ino (#553)
      deleted GPIO notes referring to 75HC595 not supported (#591)

paulv888 (1):
      usesID = true (#666)

s0170071 (2):
      split IP addrress (#605)
      fix chunking (#649)

sakinit (1):
      Fix p1 wifi gateway module (#587)


-------------------------------------------------
Changes in release mega-20180104 (since mega-01032018)
-------------------------------------------------

Release date: Thu Jan  4 03:13:01 UTC 2018

ESPEasy release bot (1):
      changed date format of nightly builds


-------------------------------------------------
Changes in release mega-01032018 (since mega-01022018)
-------------------------------------------------

Release date: Wed Jan  3 04:00:06 UTC 2018

Edwin Eefting (4):
      updated readme to reflect new binary names
      updated travis link to reflect v2.0
      updated travis link to reflect v2.0
      changed readme to reflect mega branch and automated builds


-------------------------------------------------
Changes in release mega-01022018 (since v2.0.0-dev13)
-------------------------------------------------

Release date: Tue Jan  2 23:32:50 UTC 2018

Alexander Schulz (1):
      improvement: Configurable number of tasks for "Devices" page (TASKS_P…

BadWolf42 (1):
      Dallas Plugin enhanced : no more "delay()" (#488)

Bartłomiej Zimoń (1):
      Update _C002.ino (#645)

DaM (1):
      [Domoticz HTTP] Compatibility fix for BMP280 (#636)

ESPEasy release bot (1):
      created releasebot script

Edwin Eefting (12):
      keep TASKS_PER_PAGE at default value of 4
      fix plugin id (starting with a 0 makes it octal in c++ :( )
      fix warnings
      fixed bug in oled upstream lib
      test fixes
      smooth out testing code
      esptest stuff
      fix travis build errors. disable cpp checking for now
      set lcd to NULL by default. #584
      fix illegal string manipulations in PLUGIN_WRITE for some plugins. fixes #347 and #460
      fix #588. parseTemplate() now only checks enabled taskes for [] macros
      testing for ds18b20

GHolli (1):
      Cosmetics: fixing typos. (#628)

Gijs Noorlander (11):
      P028 to support both BME280 and BMP280 to reduce resource usage (#481)
      Single function for format to user defined number decimals (#482)
      OLED framed improve header footer (#495)
      [SSD1306] Feature/oled 1306 library upgrade (#501)
      [MH-Z19] Allow for B-version and add filtering (#525)
      Support both SSD1306 and SH1106 OLED in OLED_Framed plugin (#509)
      [LCD plugin] Added check of LCD object before dereferencing it (#584)
      [P039 Thermocouple] Handling negative values and proper error logging (#586)
      Reduce iRAM usage for plugins using SoftwareSerial (#631)
      [Security] Add IP-based filtering to web interface and http-commands. (#653)
      [SDS011] Allow the sensor to sleep to extend sensor lifetime (#668)

Grovkillen (5):
      Added categories... (#552)
      Changed bin file names to be more descriptive. (#597)
      Move "TTP229 keypad" and "Encoder" plugin from "testing" to "normal"  (#619)
      Updated ESPTOOLS.exe from 0.4.6 to 0.4.12 (#627)
      Updated "/pinstates" page: Made the plugin number column display "P001" instead of "1" and "P012" instead of "12".

M0ebiu5 (1):
      P022_PCA9685 added change frequency - P038_NeoPixel added RGBW strips (SK6812) (#638)

Michael (2):
      WebServer.ino: enhance handle_SDfilelist() (#507)
      src/Hardware.ino: make it possible to use GPIO-0 (D3) as Pin_sd_cs (#508)

Sen Haerens (1):
      Enhanced system info layout (#624)

SightofSilence (1):
      Add System Variable for day, month and year / Fix for "Calculate" function to recognize minus-sign (#485)

SloMusti (1):
      implemewnted web activity timer tracker (#462)

Tomasz Torcz (1):
      retain MQTT LWT messages (#516)

denisfrench (1):
      Set MQTT clientid to %sysname% +/- Settings.Unit (#431) (#436)

fensoft (1):
      added #define FEATURE_SD (permit a flash size reduction of ~10k) (#568)

hatzlhoffer (1):
      added new display size 128x32 (#545)

krikk (1):
      added support for the TSL2591 Sensor based on Adafruit Library (#661)

mvdbro (8):
      First preparations for ESP32
      ESP32 IRAM/Deepsleep
      ESP32 Rules/ADC/PWM
      ESP32 fix FreeRAM reporting
      ESP32 Enabled OTA
      ESP32 fix UDP instability
      ESP32 fixed chunked HTTP transfer
      Fix #599

papperone (3):
      Plugin 073 - 7-segment display plugin TM1637/MAX7219
      Update _P073_7DGT.ino (#553)
      deleted GPIO notes referring to 75HC595 not supported (#591)

paulv888 (1):
      usesID = true (#666)

s0170071 (2):
      split IP addrress (#605)
      fix chunking (#649)

sakinit (1):
      Fix p1 wifi gateway module (#587)


-------------------------------------------------
Changes in release v2.0.0-dev13 (since v2.0.0-dev12)
-------------------------------------------------

Release date: Tue Jan  2 17:41:19 CET 2018

Edwin Eefting (27):
      more fixes for #235
      final fixes for #235, untested. all spiffs errors should be handled now and also show up in logs and webinterface
      fixed obscure crash caused by not returning a value in #235. we need to adjust compiler flags to detect these kinds of issues.
      always define PLUGIN_BUILD_NORMAL so normal plugins are compiled
      cleaned up buildflags and created common build variable
      solution for better error and warning highlighting when compiling with platformio
      enabled warnings and started fixing all the warnings to reduce the noise. (because warnings where disabled wasted about 3 hours debugging a simple no-return bug)
      cleaned up more warnings and fixed a few real bug along the way. #235
      now using PRAGMA to enable warnings, so that we dont get warnings from core libraries. also warnings will be treated as errors in Travis, this makes approving pull requests less work for me.
      travis fix
      worked around error caused by upstream libraries
      fixes
      cleaned up notification stuff. fixed #502
      warnings are treated as errors now, by travis
      refactored and added automated test stuff
      examples for the lone wanderer
      cleaner errors
      working on test stuff
      update branching info
      test library stuff
      Simple fix for MH-Z19 B version. #529
      set lcd to NULL by default. #584
      fix #588. parseTemplate() now only checks enabled taskes for [] macros
      automaticly updated release notes for v2.0.0-dev13
      release all binaries by doing the full compile step as last
      automaticly updated release notes for v2.0.0-dev13
      still trying to fix travis release scripts..

Gijs Noorlander (9):
      [INA219] Allow for multiple instances on the same controller (#519)
      [INA219_v2.0] Improve logs for multiple devices (#546)
      [LCD plugin] Added check of LCD object before dereferencing it (#584)
      Move CO2 MH-Z19 plugin from "testing" to "normal" (#618)
      [DNS/IP] Obey UseDNS setting for all controllers (#629)
      [v2.0] Add more characters to the list not to escape in URLs (#635)
      [>49.7 days uptime overflow] Use separate function to compute time differences (#621)
      [WiFi] Avoid timeouts when not connected to WiFi (#639)
      [PubSubClient] Bug in handling domainname (#660)

Grovkillen (2):
      Added categories... (#552)
      Changed bin file names to be more descriptive. (#597)

Neo (1):
      [HT16K33_LED] Brightness control (#523)

mvdbro (1):
      Bugfix: %eventvalue% parsing on literal strings


-------------------------------------------------
Changes in release v2.0.0-dev12 (since v2.0.0-dev11)
-------------------------------------------------

Release date: Fri Sep 22 01:25:29 CEST 2017

Daniel Tedenljung (1):
      This plugin is tested and working good. (#428)

Edwin Eefting (6):
      first set of changes for #235. added spiffs error checking and loging, and cleaner flashguarding code. next change will show feedback in web interface as well. also need to cleanup loose SPIFFS filehandling at other places in webserver.ino (create a save-function for all those things and use FLASH_GUARD)
      missed return after setting event buffer
      fixes bug #486 in counter-plugin
      plugin is not generic enough, so its disabled by default
      automaticly updated release notes for 2.0.0-dev12
      fixed release-notes bug

Gerben Meijer (1):
      Add SENSOR_TYPE_TRIPLE support to Domoticz MQTT (#468)

Gijs Noorlander (1):
      [MH-Z19] Add 'ABC disable' option to web config (#472)

Jeroen (1):
      Create _P071_Kamstrup401.ino (#504)

Jochen Krapf (4):
      Added Plugins for SHT3x and LM75A - Issue #433 (#442)
      Descriptive GPIO-Names (#448)
      Rework of Plugin _P056_SDS011-Dust (#451)
      Fixed HTML text box length for controller settings - Issue #453 (#455)

Ovidiu Schiopu (1):
      Added _P070_NeoPixel_Clock.ino (#489)

SightofSilence (1):
      Add files via upload (#493)

beic (2):
      Moving from Temperature to Environment naming (#492)
      Moving from Temperature to Environment naming (#506)

mvdbro (4):
      Custom WEB page handler (SPIFFS)
      Finished work on Level Control & config
      Fixed a tasksettings load bug that was introduced with commit dcfc1e3 on july 18th.
      Moved HTML template logging to level LOG_LEVEL_DEBUG_DEV

papperone (1):
      HDC1080 plugin (#497)


-----------------------------
Changes in release v2.0.0-dev11
-----------------------------

Release date: Mon Jul 17 00:55:29 CEST 2017

Daniel Tedenljung (5):
      Fixed decimal values (#329)
      Senseair update (#333)
      Reading error code in other way (#394)
      Added relay control from commands (#395)
      Renamed command to be unique. (#427)

DatuX (3):
      Update README.md
      Update issue_template.md
      Update issue_template.md

Edwin Eefting (27):
      cleaned up RTC initialisation. fixed some fuzzy issues after flashing/factory reset. improved flash-counter messages and added powercycle tips
      started working on regression testing scripts for The Rig
      large changes to wifi handling. code cleanup, more efficent connecting, only one connect retry in deepsleep. better serial logging for connections and APmode. always enable ap mode when wifi is disconnected
      prevent recursion when processing background tasks. might help with issue #117
      added option do deepsleep on connection failures. had to change boot order a bit, so the rebooted/warmboot message is the first one now. (this also makes more sense). issue #206
      better rtc error logging
      Fixed crashbug in email notification
      Fixed variable naming bug in FEATURE_ADC_VCC
      working on test framework
      esptesting framework
      dont want wifi passwords on github
      dont want wifi passwords on github
      converted all commands to python
      backup
      saved ~800 bytes ram in handle_devices(), issue #352. left old code commented for reference, in case i created bugs. will remove later
      accidently enabled FEATURE_ARDUINO_OTA
      fix #372
      serial now no longer resonds to empty commands
      add caching headers to static content
      upgraded IRremoteESP8266 from v1.0.2 to v1.2.0. fixes #188
      fix HTTP chunked transfer encoding, since WebServer class doesnt support it. this fixes the 2 second delay in some browsers. (we where out of spec.)
      more details AP mode serial output
      made mdns a feature. consitent use of hostname for both mdns and dhcp client. hostname now is name_unitnumber, with spaces replaced by -
      gave some html logging debug-level
      imlemented setting name, unit and password via serial. implements #317
      added note to inverse logic to fix #318
      automaticly updated release notes for v2.0.0-dev11

Gustavo Spadari (1):
      Adding comments on RAW code (#386) (#393)

JK (7):
      First draft
      Send web page as junked data
      Accept CR and LF at serial commands
      First draft
      Added Plugin for Touch KeyPad Chip TTP229
      Fine tuning of CSS and menu
      Reenabled javascript for device-selector

Jochen Krapf (25):
      Added _P054_DMX512 (#322)
      Added _P055_Chiming (#323)
      Added _P056_SDS011-Dust (#324)
      Added Plugin for Quadrature Encoder Interface (Rotary Encoder) (#335)
      Added Plugin _P061_KeyPad (#340)
      Added Plugin _P060_MCP3221 (#342)
      Formula option for  _P013_HCSR04 plugin issue #343 #313 (#344)
      Fixed issues #308 #305 (#345)
      Added Plugin _P062_MPR121_KeyPad (#346)
      Fixed issue #348 (#349)
      Added plugins for HT16K33 LED matrix driver and key pad scanner (#328)
      Increase DEVICES_MAX for more testing and dev plugins (#353)
      Write default CSS to SPIFFS on boot (#357)
      Fixed DEVICES_MAX for testing and dev (#374)
      Step back to style-based-css for speed up + pimp menu (#376)
      Check plugin-array size on init - issue #119 (#389)
      Added Plugin for MP3 module (#402)
      Minor corrections and documentation (#404)
      Added Plugin for Gesture Sensor APDS9960 (#409)
      Added Plugin for Color Sensor VEML6040 (#412)
      Added Plugin for HX711 Load Cell - Request #408 (#415)
      Fixed multiline define bug on CRLF (#416)
      Added Value Logger on SD Card (#429)
      Plugin65 MP3 - volume updated in device menu - issue #424 (#438)
      Plugin HX711 - Added Tare function (#419)

PieVo (1):
      Update P053 (PMSx003) to support software serial and minor cleanup (#390)

SloMusti (3):
      fixed deep sleep, such that it can be enabled from Rules (#375)
      Implemented a better WiFI AP naming strategy. ESP_Easy has replaced the newdevice text as the default name and now the name is used as and AP SSID (#410)
      added mDNS implementation (#418)

elucas2uy (1):
      FIX Pass and Index on handle_controllers() (#331)

imthemichi (1):
      Plugin_008-RFID extended with wiegand 34-bits and key-pad (#387)

krikk (5):
      changed the ina219 plugin so that is always sends 3 values, voltage, current, power... like a normal plugin should do... (#325)
      delay option should be displayed even if the SendDataOption is false, because the delay option also controls the refresh rate of the oled display... fixes issue #336 (#339)
      seconds were displayed without leading zero issue #337 (#338)
      added local ip to sysinfo plugin, due to limitation of return type float, i had to split up the ip in its octets... fixes issue #228 (#341)
      implemented a measurement type selection to retain backward compability to Domoticz... hope this works... (#351)

mvdbro (8):
      Fix Domoticz helper plugin  #330
      Enlarge MQTT buffer for Domoticz MQTT controller
      MQTT Controller enable/disable fix (#287)
      Fix incorrect ADC GPIO display
      Fix default controller settings (#360)
      Added pin state buffer table page (mainly for debugging)
      Update checkRAM function
      Revert to default ESP Easy colorscheme

papperone (5):
      Fixed Broken P038
      p038
      reverted some changes due to bug fixed in the "webserver.ino #348"
      P038 - optimization
      P010 plugin optimization (#403)

tedenda (2):
      Renamed Prefix from P011 to C011
      Missed one...


-----------------------------
Changes in release v2.0.0-dev10
-----------------------------

Release date: Mon May 29 22:53:54 CEST 2017

DatuX (1):
      Update README.md

Jochen Krapf (1):
      Rework of plugin ADC (#319)

krikk (1):
      reverted change, this fix seems to have exactly opposite outcome than expected... with the fix applied i get errors, without is i get no errors... (#320)


-----------------------------
Changes in release v2.0.0-dev9
-----------------------------

Release date: Sun May 28 15:16:00 CEST 2017

Alex Schwantes (1):
      Implemented use of addFormSelector methods to _P004_Dallas plugin.     Changed the device select box to show the one wire address for each connected sensor instead of just a number.     Added a blank option to the device address select box so that in the event that multiple devices are present and the configured device is not currently available, the select box will be blank instead of selecting a different device.

Bartlomiej Zimon (5):
      - Misc: typo
      Custom Controller Settings - add controller index
      Push ProtocolIndex and ControllerIndex into CPLUGIN_WEBFORM_SAVE/LOAD
      Add WifiSSID2,WifiKey2 commands
      Add backup Wifi network to Settings command

Blair Thompson (1):
      Added Par4 and Par5 Variables (#248)

Daniel Tedenljung (5):
      Updated wrong plugin number. (#269)
      P052: More descriptive  log messages (#283)
      GUI touchup on Tools (#286)
      addSubmitButton function added (#289)
      New look on Tools page (#296)

DatuX (5):
      Update README.md
      Update issue_template.md
      Update CONTRIBUTING.md
      Update README.md
      Update README.md

Edwin Eefting (17):
      cleaned up messagedelay: use the same function everywhere. and do serial processing as well during the messagedelay
      fixed issue #253 (memory leaks/crashes)
      more details in memory analyser. run memory analyser via Travis
      cosmetic buildlog fix
      publish MQTT Connected message
      timer boundschecker was off by one. fixed memanalyser total
      input box fix on setting pages
      comments. checkudp only in backgroundtasks()
      reboot and wifidisconnect should be handled by /
      bugfix in rtc checksum
      nicer sleep messages
      fixed a few out of bounds bugs in Misc.ino _P023_OLED.ino _P035_IRTX.ino _P037_MQTTImport.ino with cppcheck. also added cppcheck to travis to prevent such cases in the future
      fixing cpp check
      fixing cpp check
      fixing cpp check
      fixing cpp check
      also distribute ESP8285 binaries

JK (5):
      added functions addCheckBox and addNumericBox
      added checkbox for status LED inversed
      fine tuning of status LED and pimp hardware web site
      solved my commit mismatch
      Fixed #196 and rework of IDX display

Jochen Krapf (11):
      Added addForm*-functions for easy web-interface and pimp GUI (#259)
      Added function addFormSelector (#270)
      Preliminary final draft of bugfix #264 (#271)
      Replaced HTML code with addFormSelector() in all plugins (#278)
      Fixed readUserVarFromRTC() #265 (#280)
      Limits to NumericBox and a bit of security to PasswordBox (#281)
      Added HTML templates for customization (#290)
      Fixed rules bug #297 (#299)
      Pimp device-GUI and optimized HTML (#306)
      Fixed some minor HTML syntax bugs (#310)
      Rework of plugin ADS1115 (#315)

PieVo (1):
      Plantower (#300)

beic (1):
      Some little description corrections (#297)

krikk (13):
      http advanced controller, correct passing of hostname (#250)
      i2c Temperatur & Humidity Sensor Am2320 (#251)
      use the new addCheckBox function and better display of device config page
      another fix to http advanced...
      replaced static html code with the new addForm* Functions
      bug fix wrong return type + form function fixes (#266)
      addFormNumeric with min and max & More Form-Function replacements (#272)
      make the Settings - Save. Filename more descriptive... (#273)
      addHelpButton Function and a new Help Button for the Rules and Hardware Page (#282)
      DHT plugin fix 'NaN' issue (#285)
      i don't like hidden features, added a json button to the tools menu, next to the advanced button (#292)
      do a dns lookup on every request, solves issue #261 (#302)
      AM2320: negative temperature fix... (#312)

tedenda (1):
      Moving plugin from Playground into main repo. (#262)


-----------------------------
Changes in release v2.0.0-dev8
-----------------------------

Release date: Mon Apr 24 13:21:32 CEST 2017

DatuX (6):
      Update README.md
      Update README.md
      Update README.md
      Update CONTRIBUTING.md
      Update CONTRIBUTING.md
      Update README.md

David Conran (2):
      Update IRremoteESP8266 library url in .gitmodules
      update sendSony() call to use repeats.

Dirk Moeller (2):
      new function, Plugin_004_DS_setResolution und Plugin_004_DS_getResolution
      fix typo

Edwin Eefting (36):
      temporary disabled IR plugins, because of iram1_0_seg issues
      initial version of memory analyser
      moved arduinojson and liquidcrytal includes to correct plugins. reanbled IR-modules to solve memory issues
      make the IRTX plugin work without the IR plugin
      initial memory analyser and results
      reduced memory usage _C001
      reduced mem C001 C002
      reduced ram usage C003 ... C011
      reduce memory usage N001 N002
      cleaned up servo stuff
      recuded number of pulsecounters from 8 to 4 to save IRAM
      contributing guidelines
      fixed crash in C001 (when opening /controllers)
      avoid static buffers in c001. addLog now also supports F(), so we dont need all those temporary variable definitions
      removed unneccesay delays from c001
      avoid unneccesary string conversions and static buffers in c001
      fixed crashes caused by large MQTT packets
      fixed lots of common issues that might cause crashes in c011. also see https://github.com/letscontrolit/ESPEasy/issues/117#issuecomment-293713370
      added issue template to get cleaner bug reports
      replaced all readstringuntil() with safeReadStringUntil()
      starting working on stability reporting function
      fixed stability issues in c009. probably caused by illegal PSTR usage, but i completly cleaned up all string handling
      improved statusled handling in background tasks
      converted submodule to normal directory. lib/Adafruit_Motor_Shield_V2 upstream commit ee4c4d334f498d54cdf80c9cc6f5bdec2533f8bf
      now no longer a submodule lib/AS_BH1750, upstream version 092f0b1c5fa74eb2abe3d1b2925190d066e9506d
      now no longer a submodule. lib/Adafruit_NeoPixel, upstream version v1.0.6
      now no longer a submodule, lib/Adafruit_TCS34725 upstream version 1.0.1-13-g12be4c6
      now no longer a submodule. lib/ArduinoJson upstream version v5.6.4
      now no longer a submodule. lib/IRremoteESP8266 upstream version v1.0.2
      oops moved lib/Adafruit_TCS34725 to wrong place
      select env
      Revert "Plugin_008-RFID extended with wiegand 34-bits and key-pad (4-bits per key) support". Now uses too much IRAM.
      dont use arduino OTA in the dev env
      escape html in the rules page, so that strings like &param do not cause problems. fixes issue #231
      properly escape html in C011 generic http advanced.
      fixed #239 due to improper PSTR. cleaned up string handling

Emmanuel Tatto (1):
      getBearing should be outside the FEATURE_ARDUINO_OTA condition (#207)

Gerben Meijer (1):
      Extend MH-Z19 sensor support

JK (3):
      More informative and intuitive status LED
      Using 3 I/O-pins consequently
      added union to TaskDevicePin1..3

Jochen Krapf (1):
      Added function isDeepSleepEnabled() (#177)

adb76 (2):
      Set BME280 to recommended values for climate / weather sensor
      BME280: Ensure sensor is in sleep mode to set the config, fix small typo

beic (13):
      Menu correction, added BMP180 (#199)
      Added detection for the HTU21D to I2C scenner
      Environment naming will better fit in...
      Environment naming will better fit in + HTU21D
      Environment naming will better fit in... + naming
      Environment naming will better fit in...
      Environment naming will better fit in...
      Environment naming will better fit in...
      Environment naming will better fit in...
      Environment naming will better fit in...
      Little naming correction
      Naming correction by Datasheet
      Added detection for the SI1145 to I2C scenner

dev0 (1):
      _C009.ino: RFC conformity and removed obsolet code (#163)

imthemichi (1):
      Plugin_008-RFID extended with wiegand 34-bits and key-pad (4-bits per key) support

jbaumann (1):
      Addition of ESP8285 targets (#187)

krikk (16):
      motorshield library should be a submodule, enhanced the motorshield plugin... (#162)
      http advanced: add replacement variable for systime, vcc, ip, sysload, uptime (#167)
      corrected name for TSL2561, add option to use different sensor adress (#170)
      re-did old pull requests (#172)
      Tsl2561 rewrite (#174)
      I2csoilmoisture fixed bug with sleep mode (#178)
      Pulsecounter minor fix (#184)
      rewrote bh1750 sensor based on better library... (#182)
      cppcheck style fixes... (#186)
      added i2c address selection to ino219 plugin (#192)
      Motorshield plugin string fixes (#200) (reduced memory usage)
      Support for Tcs34725 RGB Color Sensor (#195)
      _P047_i2c-soil-moisture-sensor: allow change of sensor address (#201)
      Httpadvanced crashfix + patch method (#204)
      Bh1750: enhance to check for valid value (#208)
      removed all unnecessary Strings due to new addLog with FlashStringHelper (#223)

tedenda (1):
      Update _P049_MHZ19.ino


-----------------------------
Changes in release v2.0.0-dev7
-----------------------------

Release date: Wed Mar 15 01:42:15 CET 2017

Edwin Eefting (5):
      timers can be disabled by setting them to 0 now. cleaned up event output logging. added timer out-of-bounds checks
      added i2scanner via serial. removed spaces from Adafruit Motor Shield library so it works with arduino IDE
      fixed Arduino IDE compilebug and added help to enable plugin sets in Arduino IDE
      automaticly updated release notes for v2.0.0-dev7
      fix in release-script (forgot to commit it last time)

krikk (2):
      code cleanup for HTTP advanced controller
      show date in webinterface,  and changed password fields to type=password (#161)



-----------------------------
Changes in release v2.0.0-dev6
-----------------------------

Release date: Mon Mar 13 11:54:41 CET 2017

Edwin Eefting (15):
      created script to assist in creating releases
      bug fix: plugin_id should not start with a 0. (compiler interprets this as octal!)
      Revert "bug fix: plugin_id should not start with a 0. (compiler interprets this as octal!)"
      bug fix: plugin_id should not start with a 0. (compiler interprets this as octal!)
      added NDIR CO2 Sensor MH-Z19 plugin to TESTING plugin set
      remove artificial sensor startup delays. (now all sensors are send immediatly after booting and wifi-connecting)
      do hardwareinit() earlier so that outputs are set immeadiatly instead of waiting for connect. fixes https://github.com/letscontrolit/ESPEasy/issues/114
      enable status light as soon as wifi is connected
      use sizeof instead of magic numbers
      Implemented speaker and tone functions from https://www.letscontrolit.com/forum/viewtopic.php?f=4&t=343&hilit=speaker&start=10
      enabled Arduino OTA for dev-firmware only, to ease developing. minor output-tweaks
      cold boot startup delay
      major change: changed the timing of the first sensor read after initial boot. cleaned up and improved deep sleeping code.
      added plugin to testing. remove useless value variable
      automaticly updated release notes for v2.0.0-dev6

Gerald (2):
      HTTP Advanced, enhanced, so that only one http request is sent for one sensor (#156)
      added missing sensor type, to fix problem with i2c soilmoisture sensor... (#157)

Jochen Krapf (1):
      cancel deep sleep loop by pulling the pin GPIO16(D0) to GND (#158)

dzikus (1):
      Added BMP280_CONFIG_SETTING to reduce the temperature of sensor and use oversampling filter (#155)



-----------------------------
Changes in release v2.0.0-dev5
-----------------------------

Release date: Sat Mar 11 18:15:59 CET 2017

DatuX (5):
      Update README.md
      Update README.md
      Update README.md
      Update README.md
      Update README.md

Edwin Eefting (7):
      deploy in platformio format
      simplified string handling and fixed buffer overflow
      created release notes from R148 to v2.0.0-dev4
      updated release notes for test1
      BUILD_GIT is now defined via environement variables
      use TRAVIS_TAG when building releases
      automaticly updated release notes for v2.0.0-dev5

Gerald (3):
      Update _P047_i2c-soil-moisture-sensor.ino
      one newline to much
      add missing features from "Generic HTTP" Plugin to "Generic HTTP Advanced" Plugin (#151)

Gustavo Spadari (3):
      Adding IR received code extra info
      Rename tmpString to cmdCode for clarity
      IR RAW Code implementation

JustMe-NL (4):
      Fix double define
      Fix Windspeed values
      Fix broken Domoticz MQTT helper
      Update WebServer.ino

Nonflammable (1):
      Extend functionality of P038

krikk (7):
      new Plugin for SoilMoisturesensor from Tindie (https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/)     minor fixes in http advanced to allow sensor type triple and http response 2xx not 200 only
      version check to detect if sensor is present, optimized address handling
      added measurement mode selection
      minor fix, shared variable name with bme280, not good :)
      variable name collision with adafruit motorshield v2 library, no functional change
      new plugin for adafruit motorshield v2, still needs a library and only support DC Motors up till now... still room for improvement
      added function to enable/disable sleep mode and version check

psy0rztest (1):
      Removed !echo, because its not supported in Windows.


---------------------------------
Changes in v2.0.0-dev4 since R148
---------------------------------

Edwin Eefting (18):
      copy from ESPEasyMega commit 33f31e1fc3a9736266e9ee4781947d01808f88d6 but without the file renames
      bugfix in p036: pointer was not initialized to NULL
      added git version numbers output
      _C001 Sent humstat to domoticz
      fixed logging during first time initialisation
      factory reset will now always format SPIFFS. earlier boot logging
      fix factory reset by tx/rx pin double reset issue
      this was only a temporary test, forgot to remove
      turn on weblog by default
      uninitialised var
      removed systemOK: its not used anymore since SPIFFS support. (when system is not ok, it already did a resetfactory and reboots instead of continuing in emergency mode
      fixed building on systems other that platformio+linux (by making sure BUILD_GIT is defined)
      rename to .ino
      moving source files to src, in preperation of platformio directory structure
      platformio settings, travis settings, flashtools for windows, deploy script to create release .zip file
      add libraries as submodules
      add libraries we slightly modified or that i cant find the repositorys for
      new deploy key

JustMe-NL (6):
      Update ESPEasy.ino
      Update Misc.ino
      Update _C001.ino
      Update _C002.ino
      Create _P045_MPU6050
      Create _P046_VentusW266

