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

lists at borysjurgiel.pl lists at borysjurgiel.pl
Sat Aug 1 07:27:25 PDT 2020


Hi!

Actually it was never properly synchronized between the installer and the 
repo.

For the installer, both lower and upper boudary are included, so it makes more 
sense to set it to 3.98 rather than 3.99. By the way - putting 0 to the third 
position makes yet less sense ;) If you put just 3.98, it will be 
automatically extended to 3.98.99 [1]. 

The key thing is even setting the maximum to 3.99 will work, because the 
current "pyQgisVersion" of QGIS 3.99 is recognized as 4.0! See [2].

[1] https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/
version_compare.py#L196

[2] https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/
version_compare.py#L206

Regards,
Borys



Dnia piÄ…tek, 31 lipca 2020 16:01:03 CEST Sebastian M. Ernst pisze:
> 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).
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer






More information about the QGIS-Developer mailing list