Reports from the winning grant proposals 2024

With the QGIS Grant Programme 2024 (Updates #1 & #2), we were able to support 7 enhancement proposals that improve the QGIS project. The following reports summarize the work performed:  

  1. QEP#269 Update older annotation items to new frameworkreport
    This enhancement introduced new annotation types, improved callout options, and a rich text editor for better formatting. Annotations can now link to a “visibility layer,” and older types are automatically upgraded for a cleaner UI. Future improvements may include handling HTML annotations, deprecating the “Form” annotation, and refining the user experience.
  2. QEP#289 Authentication system revision (v1.1)report
    This work enhances the authentication framework by automating password synchronization with the system keychain and generating secure default passwords for new profiles. Users now experience a smoother setup with fewer manual steps, while UI tweaks improve password handling and security. These changes provide a more seamless and secure experience for both users and plugin developers.
  3. QEP#291 Mitigate Abusive Tile Fetching on OpenStreetMap (OSM)report
    This work enhanced network caching by dynamically adjusting cache size based on available disk space, significantly improving tile storage for most users. New safeguards prevent accidental breaches of OpenStreetMap’s tile usage policy by limiting bulk downloads across various tools and warning users when thresholds are exceeded. Additionally, the default OpenStreetMap XYZ layer now uses a 96DPI tile resolution, reducing unnecessary tile requests and improving print layout exports. These changes help ensure responsible data usage while enhancing performance and usability.
  4. QEP#287 PyQGIS linter warningsreport
    This work enhanced QGIS’s Python integration by contributing upstream, directly to SIP. This approach avoids extra build-time complexity. In addition to static linting, support for deprecation messages was added, now active in QGIS (requires Python-SIP 6.9.0 or later). Due to budget constraints and dependency availability, planned updates to the plugin platform needed to be postponed.
  5. QEP#290 Clean up point cloud index and improve its thread safetyreport
    This work enhanced point cloud support by providing shared pointer access to the point cloud index, cleaning up the point cloud index API, unifying local and remote implementations of EPT/COPC providers, and refining hierarchy fetching logic. These updates make point cloud handling more robust and better prepared for future use cases.
  6. QEP#292 Implementing CI Qt6 Windows Builds through vcpkgreport
    This enhancement focused on transitioning QGIS to build with Qt6 using vcpkg, streamlining dependency management and improving the Windows development experience. Continuous integration pipelines now test Qt6 builds, helping identify compatibility issues early. Additional contributions include improved build documentation, enhanced dependency tracking, modernized CMake scripts, and updates to the pull request comment bot. Preliminary work has also begun on macOS support using the same vcpkg system. These efforts lay the groundwork for a smoother Qt6 migration and long-term maintainability.
  7. QEP#248 Authentication System: allow Database storage for authentication DBreport
    This enhancement introduced a new API for managing authentication credentials in QGIS. While its immediate impact on users is limited, it addresses SQLite scaling issues for QGIS Server in cloud environments and lays the foundation for future enhancements. The update includes an abstraction layer for third-party credential storage, support for multiple prioritized encrypted and unencrypted storage options, and improved access control for authentication assets. Documentation has been updated to reflect these changes.

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!