diff --git a/core/imageroot/usr/local/agent/pypkg/cluster/modules.py b/core/imageroot/usr/local/agent/pypkg/cluster/modules.py
index e71f99693..1eb05deb0 100644
--- a/core/imageroot/usr/local/agent/pypkg/cluster/modules.py
+++ b/core/imageroot/usr/local/agent/pypkg/cluster/modules.py
@@ -336,6 +336,10 @@ def _get_available_modules(rdb):
continue # skip duplicated images from lower priority modules
modules[rmod["source"]] = rmod
rmod['versions'].sort(key=lambda v: _parse_version_object(v["tag"]), reverse=True)
+ # Set the general release note URL if the code URL is a GitHub repository
+ if rmod['docs']['code_url'].startswith("https://github.com/") and 'relnotes_url' not in rmod['docs']:
+ rmod['docs']['relnotes_url'] = f"{rmod['docs']['code_url']}/releases"
+
# Integrate the available set with instances that do not belong to any
# repository. They can be found in the "installed" dict:
for module_source, module_instances in list_installed(rdb).items():
diff --git a/core/imageroot/var/lib/nethserver/cluster/actions/list-modules/validate-output.json b/core/imageroot/var/lib/nethserver/cluster/actions/list-modules/validate-output.json
index d57a6d8db..bc94829a6 100644
--- a/core/imageroot/var/lib/nethserver/cluster/actions/list-modules/validate-output.json
+++ b/core/imageroot/var/lib/nethserver/cluster/actions/list-modules/validate-output.json
@@ -160,19 +160,23 @@
"type": "object",
"parameters": {
"terms_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Optional link to the application Terms & Conditions document"
},
"documentation_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Link to the package documentation"
},
"bug_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Link to the package issue tracker"
},
"code_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Link to the source code repository"
}
},
diff --git a/core/imageroot/var/lib/nethserver/cluster/repodata-schema.json b/core/imageroot/var/lib/nethserver/cluster/repodata-schema.json
index 668c376e2..7eeca495a 100644
--- a/core/imageroot/var/lib/nethserver/cluster/repodata-schema.json
+++ b/core/imageroot/var/lib/nethserver/cluster/repodata-schema.json
@@ -27,7 +27,8 @@
"docs": {
"documentation_url": "https://docs.nethserver.org",
"bug_url": "https://github.com/NethServer/dev",
- "code_url": "https://github.com/NethServer/"
+ "code_url": "https://github.com/NethServer/",
+ "relnotes_url": "https://github.com/NethServer/ns8-kickstart/releases"
},
"source": "ghcr.io/nethserver/dokuwiki",
"versions": [
@@ -116,20 +117,29 @@
"type": "object",
"parameters": {
"terms_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Optional link to the application Terms & Conditions document"
},
"documentation_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Link to the package documentation"
},
"bug_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Link to the package issue tracker"
},
"code_url": {
- "type": "uri",
+ "type": "string",
+ "format": "uri",
"description": "Link to the source code repository"
+ },
+ "relnotes_url": {
+ "type": "string",
+ "format": "uri",
+ "description": "Optional link to the application release notes"
}
},
"required": [
diff --git a/core/ui/public/i18n/en/translation.json b/core/ui/public/i18n/en/translation.json
index f15cfc552..e7f230271 100644
--- a/core/ui/public/i18n/en/translation.json
+++ b/core/ui/public/i18n/en/translation.json
@@ -87,7 +87,8 @@
"configure": "Configure",
"terms_and_conditions": "Terms and Conditions",
"terms_required": "Please read and agree to @:common.terms_and_conditions",
- "not_available": "Not available"
+ "not_available": "Not available",
+ "release_notes": "Release notes"
},
"error": {
"error": "Error",
diff --git a/core/ui/src/components/software-center/AppInfoModal.vue b/core/ui/src/components/software-center/AppInfoModal.vue
index e862e22f2..988fcbff6 100644
--- a/core/ui/src/components/software-center/AppInfoModal.vue
+++ b/core/ui/src/components/software-center/AppInfoModal.vue
@@ -157,6 +157,14 @@
+
+ •
+
+