[general]
name=QGIS Hub Plugin
about=A QGIS plugin to fetch resources from the QGIS Hub
category=Web
hasProcessingProvider=no
description=A QGIS plugin to fetch resources from the QGIS Hub
icon=resources/images/QGIS_Hub_icon.svg
tags=style, processing model, layer, resource, 3d model, project, hub, map, python, processing

# credits and contact
author=Ismail Sunni, Ronit Jadhav
email=imajimatika@gmail.com
homepage=https://qgis.github.io/QGIS-Hub-Plugin/
repository=https://github.com/qgis/QGIS-Hub-Plugin
tracker=https://github.com/qgis/QGIS-Hub-Plugin/issues

# experimental flag
deprecated=False
experimental=False
qgisMinimumVersion=3.28
qgisMaximumVersion=4.99
supportsQt6=True

# versioning
version=0.7.1
changelog=
 Version 0.7.1:
 Fixed:
 - Qt6 enum compatibility issues and Bandit findings reported by the QGIS
   plugin repository scan, which blocked 0.7.0
 Changed:
 - CI runs Bandit and the QGIS Qt6 compatibility check to catch these
   issues before uploading

 Version 0.7.0:
 Added:
 - Search now also matches resource descriptions, not only the name and
   the creator
 - Unfinished search patterns such as `(dark` are searched as plain text
   instead of breaking the filter
 Changed:
 - Description and preview boxes follow the QGIS UI theme instead of a
   hardcoded light grey background (readable in dark themes)
 - Bumped CI actions and development/documentation dependencies

 Version 0.6.0:
 Added:
 - Added support for QGIS 4 / Qt6 alongside existing QGIS 3 / Qt5 support
   (`supportsQt6=True`, `qgisMaximumVersion=4.99`)
 - Added Pillow-based webp thumbnail fallback for Qt6 (Qt6 in QGIS 4 does
   not ship the webp image-format plugin); Pillow is an optional
   dependency
 - Added "Clear cache" button in the plugin settings to wipe the cached
   resource list and downloaded thumbnails
 - Added thumbnail download progress bar in the QGIS message bar during
   initial resource browser population
 - Added uniform square-canvas icon rendering so list-view cells are the
   same size regardless of thumbnail aspect ratio
 - Added clearer error message when adding a PyQt5-only processing script
   on Qt6 (instead of an opaque traceback)
 - Added Qt6 / QGIS 4 integration test job to CI (`qgis/qgis:4.0`)
   alongside the existing Qt5 LTR job
 - Added tests for the Qt6 webp fallback, cache helpers, `clear_cache`,
   and `ResourceItem._make_uniform_icon`
 - Added Qt6 / QGIS 4 migration documentation under the contribution
   guide
 Changed:
 - Migrated all Qt enum usage to the fully-scoped form
   (`Qt.ItemDataRole.UserRole`, `QSizePolicy.Policy.Minimum`,
   `QNetworkReply.NetworkError.NoError`, etc.) so the codebase works on
   both PyQt5 and PyQt6
 - Replaced `QRegExp` with `QRegularExpression` in filter proxy and
   resource browser (Qt6 dropped `QRegExp`)
 - Bumped pre-commit `black` to 25.1.0 and `pyupgrade` to 3.21.2 for
   Python 3.14 compatibility
 Fixed:
 - Fixed `tr()` + f-string usage in new error branches; translations are
   now extractable by `pylupdate` via `tr("...").format(...)`
 - Fixed `clear_cache` to count files recursively (`rglob`) so nested
   thumbnail files are reflected in the returned count
 - Fixed `is_resource_thumbnail_cached` to accept the converted `.png`
   sibling as a cache hit when Qt cannot decode the original format
 - Fixed re-entrancy risk in `populate_resources` by throttling
   `QgsApplication.processEvents()` to every 10 items plus a final flush
 - Fixed list-view thumbnail-size slider on Qt6 by also updating
   `setGridSize` in `update_icon_size`


