diff --git a/CHANGELOG.md b/CHANGELOG.md index 35a1c370f..ddef54c65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,12 @@ All notable changes to this project will be documented in this file. ### Added - TLS in binary tasmota-zbbridge (#9620) +### Changed +- PlatformIO library structure redesigned for compilation speed by Jason2866 + ### Fixed - Rule Break not working as expected when ONCE is enabled (#9245) +- Rule expressions using mems corrupts character pool (#9301) ## [9.0.0.2] - 20201025 ### Added diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 3f9f212ba..bbd0c486a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -97,6 +97,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota - Rotary driver adjusted accordingly if Mi Desk Lamp module is selected (#9399) - Tasmota Arduino Core v2.7.4.5 allowing webpassword over 47 characters (#9687) - Webserver code optimizations (#9580, #9590) +- PlatformIO library structure redesigned for compilation speed by Jason2866 ### Fixed - Ledlink blink when no network connected regression from v8.3.1.4 (#9292) @@ -113,6 +114,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota - Zigbee battery percentage (#9607) - HassAnyKey anomaly (#9601) - Rule Break not working as expected when ONCE is enabled (#9245) +- Rule expressions using mems corrupts character pool (#9301) ### Removed - Support for direct upgrade from Tasmota versions before v7.0 diff --git a/tasmota/xdrv_10_rules.ino b/tasmota/xdrv_10_rules.ino index 35b7525dc..accb43042 100644 --- a/tasmota/xdrv_10_rules.ino +++ b/tasmota/xdrv_10_rules.ino @@ -2176,7 +2176,10 @@ void CmndMemory(void) if (XdrvMailbox.data_len > 0) { #ifdef USE_EXPRESSION if (XdrvMailbox.data[0] == '=') { // Spaces already been skipped in data - dtostrfd(evaluateExpression(XdrvMailbox.data + 1, XdrvMailbox.data_len - 1), Settings.flag2.calc_resolution, SettingsText(SET_MEM1 + XdrvMailbox.index -1)); + char rules_mem[FLOATSZ]; + dtostrfd(evaluateExpression(XdrvMailbox.data + 1, XdrvMailbox.data_len - 1), Settings.flag2.calc_resolution, rules_mem); + SettingsUpdateText(SET_MEM1 + XdrvMailbox.index -1, rules_mem); + } else { SettingsUpdateText(SET_MEM1 + XdrvMailbox.index -1, ('"' == XdrvMailbox.data[0]) ? "" : XdrvMailbox.data); }