#!/bin/sh
# Get new Firefox version release notes
# By The Free Thinker, 2025.
gopher://aussies.space/1/~freet/
#
# URLs (un-comment for your release branch):
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Regular Releases
#URL=
https://www.mozilla.org/firefox/notes/
# ESR Releases
URL=
https://www.mozilla.org/firefox/organizations/notes/
# Beta Releases
#URL=
https://www.mozilla.org/firefox/beta/notes/
wget -q -O /tmp/ffversion.htm "$URL"
if [ -s /tmp/ffversion.htm ]
then
HTM="`cat /tmp/ffversion.htm`"
else
echo "Release notes download failed"
rm -f /tmp/ffversion.htm
exit 1
fi
# Scrape latest version number
VER="`expr \"$HTM\" : '.*<span class="c-release-version">\([^<]*\)'`"
# Check if it's a new release
if [ "`cat ~/.fflatest.version 2>/dev/null`" != "$VER" ]
then
echo -n "$VER" > ~/.fflatest.version
else
exit
fi
# Scrape new release data
DATE="`expr \"$HTM\" : '.*<p class="c-release-date">\([^<]*\)'`"
NOTES="`expr \"$HTM\" : '.*<section class="c-release-notes">\(.*\)'`"
NOTES="${NOTES%%</section>*}"
SECURITY="`expr \"$HTM\" : '.*<a href="
https://www.mozilla.org/.*/*security/advisories/\([^"]*\)'`"
# Convert release notes to plain text
NOTES="`echo \"$NOTES\" | sed -e 's/<[^>]*>//g' -e 's/[[:space:]]*$//' | cat -s`"
# Output new release message
echo "Subject: Firefox Release $VER
Firefox $VER released on $DATE.
Release Notes:
https://www.mozilla.org/firefox/$VER/releasenotes/
$NOTES
Security Advisories:
https://www.mozilla.org/security/advisories/$SECURITY
"
rm /tmp/ffversion.htm