diff --git a/.github/workflows/Create-NewReleases.yml b/.github/workflows/Create-NewReleases.yml
index d99bdba2..cd530c26 100644
--- a/.github/workflows/Create-NewReleases.yml
+++ b/.github/workflows/Create-NewReleases.yml
@@ -85,7 +85,7 @@ jobs:
git push origin ${{ steps.nextver.outputs.tag }}
- name: Create Release with Automated Release Notes
- uses: softprops/action-gh-release@v2.2.1
+ uses: softprops/action-gh-release@v2.2.2
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ steps.nextver.outputs.tag }}
diff --git a/MerlinAU.sh b/MerlinAU.sh
index c6467de7..ccf2c5f6 100644
--- a/MerlinAU.sh
+++ b/MerlinAU.sh
@@ -4,15 +4,15 @@
#
# Original Creation Date: 2023-Oct-01 by @ExtremeFiretop.
# Official Co-Author: @Martinski W. - Date: 2023-Nov-01
-# Last Modified: 2025-Apr-12
+# Last Modified: 2025-Apr-14
###################################################################
set -u
## Set version for each Production Release ##
-readonly SCRIPT_VERSION=1.4.2
+readonly SCRIPT_VERSION=1.4.3
readonly SCRIPT_NAME="MerlinAU"
## Set to "master" for Production Releases ##
-SCRIPT_BRANCH="master"
+SCRIPT_BRANCH="dev"
##----------------------------------------##
## Modified by Martinski W. [2024-Jul-03] ##
@@ -2830,7 +2830,7 @@ _DownloadScriptFiles_()
}
##------------------------------------------##
-## Modified by ExtremeFiretop [2025-Apr-08] ##
+## Modified by ExtremeFiretop [2025-Apr-14] ##
##------------------------------------------##
_SCRIPT_UPDATE_()
{
@@ -2853,10 +2853,20 @@ _SCRIPT_UPDATE_()
_SetVersionSharedSettings_ local "$DLRepoVersion"
_SetVersionSharedSettings_ server "$DLRepoVersion"
fi
+ if ! "$isInteractive"
+ then
+ _SendEMailNotification_ SUCCESS_SCRIPT_UPDATE_STATUS
+ fi
sleep 1
_ReleaseLock_
exec "$ScriptFilePath" $extraParam
exit 0
+ else
+ if ! "$isInteractive"
+ then
+ _SendEMailNotification_ FAILED_SCRIPT_UPDATE_STATUS
+ fi
+ return 1
fi
return 0
fi
@@ -2899,7 +2909,7 @@ _SCRIPT_UPDATE_()
else
printf "\n\n${GRNct}Exiting Script Update Utility...${NOct}\n"
sleep 1
- return
+ return 0
fi
elif [ "$scriptUpdateNotify" != "0" ]
then
@@ -2926,19 +2936,19 @@ _SCRIPT_UPDATE_()
exit 0
else
_WaitForEnterKey_
- return
+ return 1
fi
else
printf "\n\n${GRNct}Exiting Script Update Utility...${NOct}\n"
sleep 1
- return
+ return 0
fi
fi
}
-##----------------------------------------##
-## Modified by Martinski W. [2025-Mar-24] ##
-##----------------------------------------##
+##------------------------------------------##
+## Modified by ExtremeFiretop [2025-Apr-14] ##
+##------------------------------------------##
_CheckForNewScriptUpdates_()
{
local verStr DLScriptVerPath="${SCRIPT_VERPATH}.DL.tmp"
@@ -2986,7 +2996,6 @@ _CheckForNewScriptUpdates_()
then
scriptUpdateNotify="New script update available.
${REDct}v${SCRIPT_VERSION}${NOct} --> ${GRNct}v${DLRepoVersion}${NOct}"
-
if [ $# -gt 0 ] && [ "$1" = "-quietcheck" ]
then return 0
fi
@@ -3022,9 +3031,9 @@ _GetLatestFWUpdateVersionFromRouter_()
echo "$newVersionStr" ; return "$retCode"
}
-##------------------------------------------##
-## Modified by ExtremeFiretop [2024-Dec-28] ##
-##------------------------------------------##
+##----------------------------------------##
+## Modified by Martinski W. [2024-Apr-14] ##
+##----------------------------------------##
_CreateEMailContent_()
{
if [ $# -eq 0 ] || [ -z "$1" ] ; then return 1 ; fi
@@ -3034,10 +3043,15 @@ _CreateEMailContent_()
rm -f "$tempEMailContent" "$tempEMailBodyMsg"
+ local subjectStrTag="F/W Update Status"
+ if echo "$1" | grep -q '._SCRIPT_UPDATE_.'
+ then subjectStrTag="Script Update Status"
+ fi
if [ -s "$tempNodeEMailList" ]
- then subjectStr="F/W Update Status for $node_lan_hostname"
- else subjectStr="F/W Update Status for $MODEL_ID"
+ then subjectStr="$subjectStrTag for $node_lan_hostname"
+ else subjectStr="$subjectStrTag for $MODEL_ID"
fi
+
fwInstalledVersion="$(_GetCurrentFWInstalledLongVersion_)"
if ! "$offlineUpdateTrigger"
then
@@ -3097,6 +3111,27 @@ _CreateEMailContent_()
printf "\nThe F/W version that is currently installed:\n${fwInstalledVersion}\n"
} > "$tempEMailBodyMsg"
;;
+ SUCCESS_SCRIPT_UPDATE_STATUS)
+ if [ -s "$SCRIPT_VERPATH" ]
+ then
+ if verStr="$(_GetDLScriptVersion_ "$SCRIPT_VERPATH")"
+ then
+ NEW_SCRIPT_VERSION="$(echo "$verStr" | awk -F '|' '{print $1}')"
+ fi
+ fi
+ emailBodyTitle="MerlinAU Script Update Installed"
+ {
+ echo "The new MerlinAU Script Update version ${DLRepoVersion} has been successfully installed on your ${MODEL_ID} router."
+ printf "\nThe currently installed script version is: ${NEW_SCRIPT_VERSION}\n"
+ } > "$tempEMailBodyMsg"
+ ;;
+ FAILED_SCRIPT_UPDATE_STATUS)
+ emailBodyTitle="MerlinAU Script Update Failed"
+ {
+ echo "Failed to install the new MerlinAU Script Update version ${DLRepoVersion} on your ${MODEL_ID} router."
+ printf "\nThe installed script version remains: ${SCRIPT_VERSION}\n"
+ } > "$tempEMailBodyMsg"
+ ;;
STOP_FW_UPDATE_APPROVAL)
emailBodyTitle="WARNING"
if "$isEMailFormatHTML"
diff --git a/README.md b/README.md
index 36be3ec4..e3b94e30 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# MerlinAU - AsusWRT-Merlin Firmware Auto Updater
-## v1.4.2
-## 2025-Apr-13
+## v1.4.3
+## 2025-Apr-26
## WebUI:

diff --git a/version.txt b/version.txt
index 9df886c4..428b770e 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.4.2
+1.4.3