[QGIS-Developer] qgisMinimumVersion for supportsQt6=True

Julien Moura (Oslandia) julien.moura at oslandia.com
Fri Apr 25 00:42:50 PDT 2025


Hello Marco,

Just to share my personal stance on this topic.

Since the QGIS project officially maintains two versions (the LTR and 
the regular release), I stick to ensuring compatibility with LTR -1 when 
starting a new plugin. For example, since the current LTR is 3.40.4+, I 
begin plugin development targeting 3.34.4+. This might seem a bit 
strict, but as I work extensively on deployment and lifecycle management 
of QGIS within organizations’ IT environments, I often observe that 
plugin compatibility is one of the most effective levers for encouraging 
organizations to follow the project's release cycle (the goal being: 
deploy LTRs on a yearly basis). Of course, if a client requires and pays 
for compatibility with other versions, then that takes precedence.

With the question of Qt6 compatibility, we now directly set 3.40.4 as 
the minimum version to benefit from the efforts made by developers to 
anticipate PyQt/Qt API changes. A recent example: in a plugin using a 
locator filter, we encountered issues with |QgsLocatorResult.userData|, 
which historically has been |.getUserData()|, and  is now 
|._userDatata()| (see https://github.com/qgis/QGIS/pull/56550 and 
https://qgis.org/pyqgis/3.40/core/QgsLocatorResult.html#qgis.core.QgsLocatorResult.userData). 
We could of course handle this with a simple try/except or a classic 
if/elif/else structure, but considering the shift to QGIS/Qt6 with 
version 4, it feels appropriate to also make a clear statement regarding 
plugin versions for end-users.

As for the Python version, this is a recurring issue, as it depends on 
what's available in different Linux distributions. There are also the 
cases where the major Python version changes arbitrarily during the 
lifecycle of an LTR on the Windows packaging side, which can cause major 
headaches depending on the code's complexity. I recently learned that 
the official MacOS packaging still uses Python 3.9 (which reaches EOL in 
six months), just as I was planning to target Python 3.10 or even 3.11. 
Unfortunately, QGIS plugins have not adopted (yet?) the practices and 
tools from the wider Python packaging ecosystem, which allow defining 
compatibility with a range of Python versions, architectures, and 
operating systems. Maybe someday that QEP 
(https://github.com/qgis/QGIS-Enhancement-Proposals/issues/179) or 
something approaching will be implemented, and the QGIS plugin manager 
will be able to do a simple "pip install qgis-quickosm>=2.4<3" under the 
hood! The transition to QGIS v4 has sparked ambitions for breaking 
changes 
(https://lists.osgeo.org/pipermail/qgis-psc/2025-April/010543.html), so 
maybe it's not so far from our present? ;)

To summarize, my position is:

  *

    |qgisMinimumVersion=3.40.4|

  *

    Python 3.9+ (unless MacOS is a target)

This is also what we settled on for the latest version of the QGIS 
Plugin Templater: https://oslandia.gitlab.io/qgis/template-qgis-plugin/

Regards,
Julien

guts at github.com : geojulien at gitlab.com

Le 25/04/2025 à 00:34, Nyall Dawson via QGIS-Developer a écrit :
> On Fri, 25 Apr 2025 at 00:55, Marco Lechner - FOSSGIS e.V. via
> QGIS-Developer <qgis-developer at lists.osgeo.org> wrote:
>
>> 3.12? Until now my plugins qgisMinimumVersion was 3.4 - should this be
>> edited to 3.40? Ot what may fit best?
> As Richard pointed out unfortunately the user analytics site is down
> right now, but as of last week there's still a non-insignificant
> percentage of users still on 3.16. That's the minimum version I target
> when I want a plugin to be as accessible as possible. (Earlier
> versions just cause too much pain to support now!)
>
> If it's a plugin I can be more aggressive with then I'll target 3.34
> as the minimum.
>
> Nyall
>
>
>
>> Any recommendations?
>>
>> Regards
>> Marco
>>
>>
>> _______________________________________________
>> 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
> _______________________________________________
> 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
-- 
Oslandia 
<https://oslandia.com/?utm_source=email&utm_campaign=signature_oslandia&utm_medium=email>


More information about the QGIS-Developer mailing list