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