QDT 0.45.0: better QGIS installation detection to prepare the compatibility with QGIS 4

QGIS Deployment Toolbelt 0.45.0 has been published yesterday.

It’s intentionally a pretty small version focused on stability and improvements regarding QGIS installation detection to prepare the year’s big deal: compatibility with QGIS 4. It should hopefully lands in the next release (see the opened PR).

:wrench: Version Compatibility Checks

One of the major focuses of this release is better version management between QDT binary, profiles and scenarios versions:

  • Scenario version validation: scenarios now support metadata.qdt_min_version to specify minimum required toolbelt versions. This ensures your deployment scenarios are only used with compatible QDT versions.
  • Profile version compatibility: profile definitions now includes a qdtMinVersion attribute. During deployment, incompatible profiles are automatically detected and skipped, preventing version conflicts.

These additions make your deployments more reliable by ensuring all components are compatible before execution.

:magnifying_glass_tilted_left: QGIS installation & version detection

We’ve significantly improved how QDT detects and validates QGIS installations:

  • internal QGIS version exposure: the QGIS installation finder job now exposes detected QGIS versions internally, making other jobs aware of the targetted QGIS environment.
  • robust version comparison: migrated to the packaging library for more reliable QGIS version comparisons, replacing manual version parsing.
  • Performance & stability:
    • peplaced subprocess.Popen with subprocess.run and added configurable timeout support through the new QGIS_VERSION_LOOKUP_TIMEOUT_SECONDS environment variable
    • added startupinfo object on Windows to suppress unnecessary windows during detection

Installation & Upgrade

Get started with 0.45.0:

# if you use pipx
pipx upgrade qgis-deployment-toolbelt[completion]
# if you use pip
pip install --upgrade qgis-deployment-toolbelt-cli[completion]
# using the .exe
./qdt.exe upgrade

Special Thanks :raising_hands:

This release was mainly funded by la métropole du Grand Lyon, who continues to support the QDT development.


Have questions?

Check out our documentation, open a topic here, open an issue on GitHub or join us in the QDT matrix channel.

Happy deploying! :rocket:

3 Likes