Skip to content

Commit 81be4cc

Browse files
committed
Add FAQ section on plugin version numbering convention
1 parent 229eb91 commit 81be4cc

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

qgis-app/templates/flatpages/docs_faq.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,26 @@ <h3>Renaming the directory (also known as <code>package_name</code>)</h3>
2525
<a href="https://github.com/qgis/QGIS-Django/pull/271#issuecomment-1794858448">here</a>.
2626
</p>
2727

28+
<h2>Why is the wrong plugin version shown as "latest" in QGIS?</h2>
29+
30+
<h3>Version numbering convention</h3>
31+
<p>
32+
The <code>plugins.xml</code> feed — which is used by the QGIS Plugin Manager to determine the latest available version —
33+
selects the latest version by <strong>string comparison of the version name</strong>, not by the upload date.
34+
</p>
35+
<p>
36+
This means that version strings must follow a strict numeric convention (e.g. <code>1.2.3</code>) so that
37+
comparisons work as expected. If a version tag contains letters or non-numeric segments
38+
(e.g. <code>2.3.e9f6b2a</code>), the string ordering may not match the intended release order.
39+
For example, <code>2.3.e9f6b2a</code> would be sorted <em>higher</em> than <code>2.3.1.2bbe09c</code>
40+
because <code>e</code> &gt; <code>1</code> in string comparison, causing the wrong version to appear as the
41+
latest in the Plugin Manager.
42+
</p>
43+
<p>
44+
Plugin authors are therefore strongly encouraged to use standard semantic versioning
45+
(e.g. <code>MAJOR.MINOR.PATCH</code>) for their plugin versions to ensure the correct
46+
version is identified as the latest.
47+
</p>
48+
2849
</div>
2950
{% endblock %}

0 commit comments

Comments
 (0)