Skip to content

Tags: letscontrolit/ESPEasy

Tags

mega-20260125

Toggle mega-20260125's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #5483 from TD-er/release/hotfix_mega-20260108_3

Release/hotfix mega 20260108

mega-20260108

Toggle mega-20260108's commit message
Release mega-20260108

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

TD-er (2):
      Add Python version for prepare-dist in release.yml
      automatically updated release notes for mega-20260108

mega-20260107

Toggle mega-20260107's commit message
Release mega-20260107

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

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 (56):
      [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
      automatically updated release notes for mega-20260107

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

mega-20250430

Toggle mega-20250430's commit message
Release mega-20250430

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

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 (154):
      [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
      automatically updated release notes for mega-20250430

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

mega-20241222

Toggle mega-20241222's commit message
Release mega-20241222

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

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 (205):
      [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
      automatically updated release notes for mega-20241222

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

mega-20240822

Toggle mega-20240822's commit message
Release mega-20240822

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

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 (140):
      [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
      automatically updated release notes for mega-20240822

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: a95ad3b
      [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

mega-20240414

Toggle mega-20240414's commit message
Release mega-20240414

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

TD-er (17):
      [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.
      automatically updated release notes for mega-20240414

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

mega-20240401

Toggle mega-20240401's commit message
Release mega-20240401

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

TD-er (1):
      automatically updated release notes for mega-20240401

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

mega-20240331

Toggle mega-20240331's commit message
Release mega-20240331

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

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

Jason2866 (1):
      small refactor

TD-er (14):
      [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
      automatically updated release notes for mega-20240331

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

mega-20240229

Toggle mega-20240229's commit message
Release mega-20240229

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

Fabio Ancona (1):
      Added missing P166

TD-er (105):
      [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
      automatically updated release notes for mega-20240229

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