diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index b47972202..59a71491a 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -1,3 +1,9 @@ # Changelog For more details go to [emsesp.org](https://emsesp.org/). + +## [3.8.5] 22 September 2026 + +## Added + +- Change webUI message when upgrading to a major version of the firmware, in preparation for the upcoming 3.9.0 release. \ No newline at end of file diff --git a/interface/src/app/status/Version.tsx b/interface/src/app/status/Version.tsx index a3326856b..d0cf4782e 100644 --- a/interface/src/app/status/Version.tsx +++ b/interface/src/app/status/Version.tsx @@ -316,16 +316,12 @@ const InstallDialog = memo( )} {upgradeImportantMessageType === 2 && LL.UPGRADE_IMPORTANT_MESSAGES_2()} - {upgradeImportantMessageType === 1 && ( - <> - {LL.UPGRADE_IMPORTANT_MESSAGES_1()} + {upgradeImportantMessageType === 1 && LL.UPGRADE_IMPORTANT_MESSAGES_1()} {LL.DOWNLOAD_SYSTEM_BACKUP()} - - )} factory reset->import +// 2 is a major upgrade function upgradeImportantMessages(version: string) { - // 0 is do nothing - // 1 means 3.9 and factory reset required - // 2 means a major version upgrade let upgradeImportantMessageType_n = 0; - // see if its a filename with a .bin extension - if (version.endsWith('.bin')) { - upgradeImportantMessageType_n = 1; // 1 means 3.9 and factory reset required - } else if (version.endsWith('.md')) { - upgradeImportantMessageType_n = 0; + // check file extensions first + if (version.endsWith('.md5') || version.endsWith('.json')) { + upgradeImportantMessageType_n = 0; // digest / backup restore: no upgrade warning + } else if (version.endsWith('.bin')) { + // extract the version number from the filename and if its going from 3.8.x to 3.9.x, then set upgradeImportantMessageType_n to 1 + const versionNumber = version.split('.'); + if (versionNumber[0] === '3' && versionNumber[1] === '8') { + upgradeImportantMessageType_n = 2; // major upgrade + } } else { - // this is a version string like "3.9.0" - upgradeImportantMessageType_n = 2; + // the parameter is a version string like "3.9.0" + upgradeImportantMessageType_n = 2; // major upgrade } - console.log('upgradeImportantMessageType: ' + upgradeImportantMessageType_n); + console.log( + 'upgradeImportantMessageType: version=' + + version + + ' type=' + + upgradeImportantMessageType_n + ); return { upgradeImportantMessageType: upgradeImportantMessageType_n }; } @@ -424,15 +433,15 @@ function check_upgrade(version: string) { console.log( 'Upgrade this version (' + - THIS_VERSION + - ') to dev (' + - dev_version + - ') is ' + - (DEV_VERSION_IS_UPGRADEABLE ? 'YES' : 'NO') + - ' and to stable (' + - stable_version + - ') is ' + - (STABLE_VERSION_IS_UPGRADEABLE ? 'YES' : 'NO') + THIS_VERSION + + ') to dev (' + + dev_version + + ') is ' + + (DEV_VERSION_IS_UPGRADEABLE ? 'YES' : 'NO') + + ' and to stable (' + + stable_version + + ') is ' + + (STABLE_VERSION_IS_UPGRADEABLE ? 'YES' : 'NO') ); data = { emsesp_version: THIS_VERSION, diff --git a/src/core/system.cpp b/src/core/system.cpp index eceff6e12..15908e121 100644 --- a/src/core/system.cpp +++ b/src/core/system.cpp @@ -954,6 +954,10 @@ void System::network_init() { #else eth_present_ = ETH.begin(type, phy_addr, mdc, mdio, power, clock_mode); #endif + // show error if Eth is present but fails to start, so it can be automatically detected by the new installers + if (!eth_present_) { + LOG_ERROR("Failed to start Ethernet"); + } #endif } diff --git a/src/emsesp_version.h b/src/emsesp_version.h index ef95d00d0..f9c215fa2 100644 --- a/src/emsesp_version.h +++ b/src/emsesp_version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.8.4" +#define EMSESP_APP_VERSION "3.8.5"