Migrate Your Plugin to QGIS 4
TL;DR
To make your plugin appear in the QGIS 4 Ready Plugins list, simply set qgisMaximumVersion=4.99 (or higher) in your metadata.txt and remove the deprecated supportsQt6 flag.
Background
During the QGIS 4 pre-release period, a temporary metadata flag called supportsQt6 was introduced to let plugin authors signal that their plugin was compatible with Qt 6 and QGIS 4. Plugin authors were encouraged to add supportsQt6=True to their metadata.txt.
Following the changes described in qgis/QGIS#65146 and qgis/QGIS#65168, the supportsQt6 flag has been removed from QGIS core and is no longer recognised. Declaring supportsQt6=True in your metadata has no effect and plugins that relied solely on this flag to appear in the QGIS 4 plugin list have been removed from that list.
The New Rule: qgisMaximumVersion
QGIS 4 compatibility is now determined exclusively by the qgisMaximumVersion field in metadata.txt. A plugin version is shown in the QGIS 4 Ready Plugins list when qgisMaximumVersion ≥ 4.0.
Examples:
-
qgisMinimumVersion=3.22, qgisMaximumVersion=4.99
→ Listed for QGIS 3.22+ and QGIS 4.x
-
qgisMinimumVersion=4.0, qgisMaximumVersion=4.99
→ Listed for QGIS 4.x only
-
qgisMinimumVersion=3.22, qgisMaximumVersion=3.99
→ Not listed (QGIS 3 only)
How to Update Your Plugin
-
Update metadata.txt
Open your metadata.txt and make the following changes:
[general]
# Set qgisMaximumVersion to cover QGIS 4.x
qgisMaximumVersion=4.99
# Remove or delete this line — it is no longer used:
# supportsQt6=True
-
Verify Qt 6 / PyQGIS 4 compatibility
Before bumping qgisMaximumVersion, make sure your plugin actually works with QGIS 4. Key things to check:
- Replace any deprecated Qt 5-only APIs with their Qt 6 equivalents.
- Replace
PyQt5 imports with PyQt6 (or use the QGIS-provided compatibility shim).
- Test your plugin with a QGIS 4 nightly or release build.
-
Upload a new version
Upload the updated plugin package on the QGIS Plugins repository. Your plugin will appear in the QGIS 4 Ready Plugins list once the upload is approved.
Further Reading