[general]
name=Bivariate QGIS Plugin
qgisMinimumVersion=3.16
qgisMaximumVersion=4.99
description=Bivariate mapping suite with selectable 3x3, 4x4 and 5x5 classification, Staridas palette import, vector/raster styling, legends and Leaflet export.
version=0.0.5
author=Hemed Lungo
email=hemedlungo@gmail.com
about=Provides Processing tools for bivariate choropleth mapping plus custom Print Layout legends. Staridas palette import integration credits Spiros Staridas, creator of the Staridas Geography Bivariate Color Palette Builder.

tracker=https://github.com/Heed725/Bivariate-Qgis-Plugin/issues
repository=https://github.com/Heed725/Bivariate-Qgis-Plugin
homepage=https://github.com/Heed725/Bivariate-Qgis-Plugin
tags=bivariate,choropleth,cartography,mapping,leaflet,raster,vector,style,legend,diamond
category=Analysis
icon=icon.png
experimental=False
deprecated=False
hasProcessingProvider=yes

changelog=0.0.5
    - Replaced silent broad exception handlers with explicit recovery paths,
      targeted exceptions and useful warnings so all Bandit checks pass.
    - Updated Qt and QGIS enum references for QGIS 4 and Qt6 while retaining
      compatibility fallbacks for QGIS 3.16 and Qt5.
    - Added Bivariate Box + Variable Ramps Legend to Print Layout, combining
      the square bivariate matrix with two low-to-high component color strips.
    - Added Bivariate Variable Ramps Legend for the compact two-strip layout.
    - Both new legends support detected vector/raster styles, manual palettes,
      3x3, 4x4 and 5x5 grids, transposition and editable variable labels.
    - Replaced the failed abstract custom widget with QGIS's native enum icons
      metadata, fixing the QComboBox parameterDefinition and abstract
      setWidgetValue warnings on QGIS 3.40.
    - Changed all Processing modules to package-relative imports so QGIS does
      not reuse stale top-level modules after a plugin upgrade or reload.
    - Added 3x3 color-grid thumbnails to the left of every built-in palette
      name in vector, raster, Leaflet and Print Layout palette selectors.
  0.0.4
    - Unified map and Print Layout axes: Variable 1 is Y/vertical and Variable 2
      is X/horizontal everywhere in the plugin.
    - Raster bivariate codes now use X first, Y second: Raster B/Variable 2 is
      the first digit and Raster A/Variable 1 is the second digit, matching
      Print Layout cell positions and vector Bi_Class semantics.
    - Print Layout label fields now explicitly show Variable 2 (X) and
      Variable 1 (Y), while preserving existing project storage compatibility.
    - Print Layout Box and Diamond legends can auto-sense bivariate raster
      or vector layers actually rendered by layout map items.
    - Added a Source layer selector with Auto, Manual and explicit raster/vector
      choices plus a Rescan layout action and detection status.
    - Plugin styling tools store lightweight palette metadata on styled layers
      for reliable 3x3, 4x4 and 5x5 Print Layout legend detection.
    - Added selectable 3x3, 4x4 and 5x5 grids across vector classification,
      raster classification, styling, Print Layout legends and Leaflet export.
    - Added Staridas palette detection for labelled HEX lines, CSS variables
      and JSON objects, including shuffled-key ordering and validation.
    - Built-in 3x3 palettes are interpolated for 4x4 and 5x5 while preserving
      corner colors.
    - Preserved the 0.0.3 transpose option for every supported grid size.
    - Credited Spiros Staridas for the Staridas Geography palette builder and
      its export formats used by the integration workflow.
    - Print Layout box legends fit and centre the palette grid when their item
      is resized, avoiding unused space while preserving square cells.
  0.0.3
    - All Processing tools now show (Raster) or (Vector) suffixes in their
      display names so users can tell at a glance which input data type each
      tool expects.
    - New: "Transpose axes (swap X ↔ Y)" tick option in the Print Layout
      Bivariate Box / Diamond Legend properties, in the "Apply Bivariate
      Color Scheme" processing tool, and in the "Bivariate Style Generator"
      processing tool. Swaps which variable is on the X vs Y axis without
      changing the colors themselves: the diagonal corners (low-low,
      high-high) stay put, and the two off-diagonal corners reflect across
      the diagonal. In the Print Layout legend, axis labels swap accordingly
      and the state persists across project save/load.
    - Bivariate Raster Generator: switched to a quantile-based, QGIS 3.40
      compatible implementation. Uses the gdal:rastercalculator with
      explicit RTYPE=Float32 (and gdal:warpreproject DATA_TYPE=Float32 for
      alignment), with an automatic fallback to the QGIS native
      QgsRasterCalculator if the GDAL path fails. Pinned enum values
      eliminate the silent type-coercion issues seen on QGIS 3.40 and
      Windows.
  0.0.2
    - Initial public release.
