Hi,
TL;DR:
If your app is listed in https://appstream.debian.org/sid/main/issues/index.html, it means your appdata file might have issues.
Click your app in the above page
-or-
Run the following command.
$ appstreamcli validate --explain org.gnome.MyApp.appdata.xml
and fix warnings / errors etc.
Also, fix it in all older branches gnome-44
/ gnome-43
etc as applicable.
Explanation:
While working with GNOME Software, I noticed that the version history / update history listed in the app often is missing release information for a particular release.
This happens due to 2 reasons:
Reason 1:
Upstream package maintainers haven’t added any description for the release notes in their Appdata file.
For example:
<releases>
<release version="42.beta" date="2022-03-04">
<release version="40.0" date="2021-03-27">
<release version="40.beta" date="2021-02-13">
</releases>
The above XML release data will produce the following history in GNOME Software Version History
Dialog, which is not very useful.
Solution:
Please do update your appdata files, with what minimal release information possible rather than leaving it empty.
Reason 2:
Upstream package maintainers “have” added all the necessary description for each release in the appdata file.
For example:
<releases>
<release version="42.beta" date="2022-03-04">
<ul>
<li>Fix GNOME Extensions link</li>
<li>Clarify legacy GTK theme setting</li>
<li>Remove tweaks duplicated in Settings</li>
<li>Update translations</li>
</ul>
</release>
<release version="40.0" date="2021-03-27">
<p>
First stable release for GNOME 40. This version is mainly comprised
of bug fixes and changes for GNOME 40. There are also some notable
improvements:
</p>
<ul>
<li>Remove Extensions support (now found in the Extensions app)</li>
<li>Support new font settings for GNOME 40</li>
<li>Fix UI on small screens</li>
<li>Update translations</li>
</ul>
</release>
<release version="40.beta" date="2021-02-13">
<ul>
<li>Remove Extensions support</li>
<li>Add Flatpak support</li>
<li>Support new font settings</li>
<li>Fix leaflet on small screens</li>
<li>Various other bug fixes</li>
<li>Update translations</li>
</ul>
</release>
</releases>
But, still they see the same screenshot as shown above.
This is because this is not well formed Appstream XML metadata. Hence, it fails validation checks and the data within the invalid tags ( <release>
) are rejected by Appstream.
Solution:
Run the following command to validate your Appdata file and fix errors / warnings.
$ appstreamcli validate --explain org.gnome.MyApp.appdata.xml
E.g
$ appstreamcli validate _install/share/metainfo/org.gnome.tweaks.appdata.xml
I: org.gnome.tweaks:156: description-first-para-too-short
GNOME Tweaks allows adjusting advanced GNOME options.
E: org.gnome.tweaks:252: release-description-outside-tag ul
E: org.gnome.tweaks:260: release-description-outside-tag p
E: org.gnome.tweaks:260: release-description-outside-tag ul
E: org.gnome.tweaks:273: release-description-outside-tag ul
I: org.gnome.tweaks:287: nonstandard-gnome-extension kudos
E: org.gnome.tweaks:~: desktop-app-launchable-missing
W: org.gnome.tweaks:~: releases-not-in-order 40.0 << 40.beta
I: org.gnome.tweaks:~: content-rating-missing
✘ Validation failed: errors: 5, warnings: 1, infos: 3, pedantic: 1
Note: --explain
option produces more human readable explanation. I’ve skipped it as it produces more text.
After fixing the warnings, the version history is properly displayed in GNOME Software now.
Cheers!
Sid