[QGIS-Developer] Interpretation of qgisMaximumVersion in metadata.txt

Sebastian M. Ernst ernst at pleiszenburg.de
Fri Jul 31 07:01:03 PDT 2020


Hi all,

(hopefully) simple question: Is the version of QGIS indicated by
`qgisMaximumVersion` in plugins' metadata assumed to be compatible? Or
is it (under certain circumstances perhaps) an excluded upper boundary
as in `[qgisMinimumVersion,qgisMaximumVersion)` in mathematical terms?

For further context information, see below.

Best regards,
Sebastian


---

`qgisMaximumVersion` values reported for plugins compatible to QGIS 3.X:

- QGIS 3.0: 3.4.0, 3.6.99, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.1: 3.4.0, 3.6.99, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.2: 3.4.0, 3.6.99, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.3: 3.4.0, 3.6.99, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.4: 3.4.0, 3.6.99, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.5: 3.6.99, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.6: 3.12.0, 3.6.99, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.7: 3.12.0, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.8: 3.12.0, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.9: 3.12.0, 3.9.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.10: 3.12.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.11: 3.12.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.12: 3.12.0, 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.13: 3.98.0, 3.99.0, 4.0.0, 9.99.0
- QGIS 3.14: 3.98.0, 3.99.0, 4.0.0, 9.99.0

"3.99.0" is what QGIS-Django assumes by default (if no value is provided
by a plugin). Applies to about 94% of all contemporary plugins.

Based on QGIS' current implementation, "3.99.*" is assumed to be a
precursor to "4.0.0" at some point in distant future, i.e. not part of
the "3.X" branch. QGIS itself actually translates "3.99.*" to "4.0.0"
internally.

6 plugins set the value to "4.0.0" directly (1%).

"3.98.0" appears to be a value for indicating that the plugin is only
compatible with QGIS 3.X (and not 4.0 or any of its precursors). It is
used by exactly 31 plugins (4%).

The "WKTBulkLoader" plugin assumes to be compatible almost indefinitely
by setting the value to "9.99.0" :)

The "anomalies" from the above are:

- tiles_xyz==0.8.1 -> QGIS 3.6.99
- geopec==1.0 -> QGIS 3.9.0
- shoguneditor==0.2 -> QGIS 3.4.0
- qgisnetworklogger==0.3.0 -> QGIS 3.12.0

Values like "3.12.0" as found in qgisnetworklogger==0.3.0 for instance
appear to indicate that it is an included upper boundary.

On the other hand side, values like "3.99.0" or "4.0.0" indicate that
the value is interpreted as an excluded upper boundary. It's much more
unlikely that current plugins will actually run with QGIS 4.0 (but not
with 4.2).


More information about the QGIS-Developer mailing list