With the QGIS Grant Programme 2025, we were able to support 6 enhancement proposals that improve the QGIS project. The following reports summarize the work performed:
- QEP 332: Port SQL Query History to Browser — Report
This enhancement has ported the “history” component of the DB Manager SQL dialog to the main QGIS browser “Execute SQL” dialog. The new command history is fully searchable, and shows historic commands grouped nicely in chronological groups. The history also includes the details of the associated connection, row count and execution time. This change was introduced in QGIS 3.44. Screencasts of the work are available in the original pull request. - QEP 333: Add screenshots to PyQGIS reference documentation — Report
This enhancement has added screenshots to the PyQGIS reference documentation, e.g. for the QgsMapLayerComboBox.html, QgsTableEditorDialog.html, QgsColorButton.html and many more. While the original proposal only promised screenshots for 100 classes, this change ended up adding over 150. The final process for adding screenshots is very straightforward and easy to implement. We’ve seen screenshots being contributed by other developers too, and hopefully this trend continues. - QEP 335: Adopt wasm32-emscripten as a build target for QGIS — Report
With this enhancement, QGIS now officially supports the wasm32-emscripten build target. All qgis-js patches have been upstreamed and qgis-js no longer requires any QGIS patches. This allows for easier creation of new qgis-js version in coordination with new QGIS versions. GitHub Actions CI ensures ongoing Emscripten compatibility. This lays the foundation for future WebAssembly-based QGIS applications and exploration of additional WASM possibilities (QGIS Processing, PyQGIS in browser, …). - QEP 336: Trusted Projects and Folders — Report
Thi enhancement has added trust levels for project files and folder (undetermined, untrusted, and trusted). The trust determination by the user can be temporary (for a single QGIS session) or saved in the user profile’s settings and remembered across sessions. The status can be modified in the corresponding options dialog (or preconfigured in the global INI file). Project trust is used to determine whether embedded scripts are permitted to run (including macros, custom expression functions, map layer actions, and attribute form custom init code). - QEP 337: Coverity Scan cleanup — Report
This enhancement has seen a massive cleanup to the QGIS code base via hundreds of fixes to issues reported by the Coverity Scan tool. From the original 1075 issues identified by Coverity Scan at the start of the project, we are now down to 145 remaining outstanding issues. All false positive issues have been marked accordingly, and many fixes submitted to QGIS to remedy valid issues in the QGIS code. The remaining issues are either non-trivial or ambiguous. Several related projects also saw fixes submitted (including MDAL, laz-perf, untwine, PDAL wrench and tinygltf libraries). - QEP 338: SIP Incremental builds — Report
This enhancement has improved the performance of clean builds through improvement to SIP itself as well as improvements on the QGIS side to not rebuild unchanged code generated by SIP. With code compilation now taking longer than SIP code generation, this effectively gives us incremental builds, just at a larger granularity.
Thank you to everyone who participated and made this round of grants a great success and thank you to all our sustaining members and donors who make this initiative possible!