[general]
name=GratisGIS
qgisMinimumVersion=3.34
qgisMaximumVersion=4.99
description=Browse, edit, and publish GratisGIS portal content from QGIS.
about=A native QGIS integration for GratisGIS, the open source self-hosted alternative to ArcGIS Online. Browse portal items from the QGIS Browser panel, search the portal, drag data layers and maps to the canvas, publish vector layers as portal data_layer items, publish PMTiles / GeoTIFF / MBTiles as tile_layer items, push QGIS edits back to portal-backed layers, clone layers for offline use, and publish the current QGIS project as a portal map. Private and org-shared layers render on the canvas via a read-only portal API key minted at sign-in and stored in the QGIS authentication database. Auth is OAuth + PKCE against the portal's Keycloak realm. No third-party Python dependencies. Licensed under AGPL-3.0-or-later; see the bundled LICENSE file.
version=1.0.2
author=Matthew Palavido
email=matthew.palavido@gmail.com
icon=resources/icon.svg
experimental=False
deprecated=False
tracker=https://github.com/palavido-dev/gratis-gis-qgis/issues
repository=https://github.com/palavido-dev/gratis-gis-qgis
homepage=https://gratisgis.org
category=Web
tags=gratisgis,portal,gis,arcgis alternative,postgis,oauth,publishing
changelog=1.0.2 - 2026-08-17
      Fixed:
      QGIS plugin repository Qt6 check. The repository's checker is a
      text scan and flagged the Processing provider's guarded fallback to
      the unscoped TypeVectorAnyGeometry spelling, even though it only
      ran on builds without the scoped enum. The value now resolves
      through resolve_enum, the same pattern the rest of the plugin
      uses for migrated QGIS enums. No functional changes; the smoke
      suite registers the provider against a real QGIS registry either
      way.
    1.0.1 - 2026-08-17
      Fixed:
      QGIS plugin repository security scan. 1.0.0 was blocked by the
      repository's Bandit pass (20 findings). All resolved for real, not
      suppressed: the ten assert statements in shipped code are now
      explicit checks that raise or skip with a reason (asserts vanish
      under python -O, so they were never real guards); the seven
      silent except: pass/continue handlers now log at debug level (or
      use contextlib.suppress where logging itself is the risk); and
      the three string-built SQL statements in the GeoPackage clone
      reader are now static literals, with tests that rebuild each
      literal from the identifier constants so they cannot drift. No
      functional changes.
    1.0.0 - 2026-08-17
      First stable release, submitted to the QGIS plugin repository. The
      experimental flag is off as of this version. Functionally identical
      to 0.16.0; the version signals that the surface is now considered
      stable: Browser tree and search over portal content, feature-layer
      default with tile fallback for large layers, opening portal maps with
      saved styling and viewport, publishing layers and projects, edit
      sync, offline clones, sharing (including groups), and the Processing
      provider. Requires GratisGIS portal 0.9.29 or newer for feature
      counts; 0.9.28 for the signed-in features surface.
hasProcessingProvider=True
server=False
supportsQt6=True
