diff --git a/desktop/io.github.nelson_lang.Nelson.appdata.xml b/desktop/io.github.nelson_lang.Nelson.appdata.xml
index fdda188006..e217c3e937 100644
--- a/desktop/io.github.nelson_lang.Nelson.appdata.xml
+++ b/desktop/io.github.nelson_lang.Nelson.appdata.xml
@@ -45,17 +45,8 @@
-
- https://github.com/nelson-lang/nelson/blob/master/CHANGELOG.md#1140---2025-11-21
-
-
- https://github.com/nelson-lang/nelson/blob/master/CHANGELOG.md#1130---2025-05-30
-
-
- https://github.com/nelson-lang/nelson/blob/master/CHANGELOG.md#1130---2025-03-29
-
-
- https://github.com/nelson-lang/nelson/blob/master/CHANGELOG.md#1120-2025-02-16
+
+ https://github.com/nelson-lang/nelson/blob/master/CHANGELOG.md
diff --git a/tools/update_version/update_version.py b/tools/update_version/update_version.py
index 56537b7cdd..9c076114ce 100644
--- a/tools/update_version/update_version.py
+++ b/tools/update_version/update_version.py
@@ -12,6 +12,7 @@
import subprocess
import sys
import json
+import datetime
@@ -218,6 +219,64 @@ def edit_package_json(major, minor, maintenance):
json.dump(data, outfile, indent=4)
+def edit_desktop_file(filename, version_str):
+ lines_out = []
+ with open(filename, encoding='utf-8') as f:
+ lines_in = f.readlines()
+ for line in lines_in:
+ line = line.replace('\r\n', '')
+ line = line.replace('\n', '')
+ if line.strip().startswith('X-Nelson-Version='):
+ lines_out.append('X-Nelson-Version=' + version_str)
+ else:
+ lines_out.append(line)
+ with open(filename, 'w', encoding='utf-8') as f:
+ for l in lines_out:
+ f.write(l + '\n')
+
+
+def edit_desktop_files(major, minor, maintenance):
+ version_str = str(major) + '.' + str(minor) + '.' + str(maintenance)
+ for (directory, _, files) in os.walk('./desktop'):
+ for f in files:
+ path = os.path.join(directory, f)
+ if os.path.exists(path) and path.endswith('.desktop'):
+ edit_desktop_file(path, version_str)
+
+
+def edit_appdata_file(filename, version_str, date_str):
+ import re
+ lines_out = []
+ with open(filename, encoding='utf-8') as f:
+ lines_in = f.readlines()
+ for line in lines_in:
+ s = line.replace('\r\n', '').replace('\n', '')
+ # update release element attributes if present on the line
+ if '