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

g...@github.com : geojul...@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@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@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@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>
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to