# This file contains metadata for your plugin. Since 
# version 2.0 of QGIS this is the proper way to supply 
# information about a plugin. The old method of 
# embedding metadata in __init__.py will 
# is no longer supported since version 2.0.

# This file should be included when you package your plugin.# Mandatory items:

[general]
name=dzetsaka : Classification tool
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
description=Raster classification in QGIS with 11 machine learning algorithms, Optuna hyperparameter search, SHAP explanations, class imbalance handling, and HTML reports.
version=5.1.1
author=Nicolas Karasiak
email=karasiak.nicolas@gmail.com

about=
      dzetsaka is a QGIS plugin that classifies remote sensing images and other multiband rasters.

      - 11 classifiers: GMM, RF, SVM, KNN, XGBoost, CatBoost, ET, GBC, LR, NB, MLP
      - Optuna hyperparameter search
      - SHAP explanations and confidence maps
      - Class imbalance handling (SMOTE, class weights, nested CV)
      - Guided wizard and compact dashboard
      - Reusable recipes and HTML reports

      For documentation and updates: https://github.com/nkarasiak/dzetsaka/

tracker=https://github.com/nkarasiak/dzetsaka/issues
repository=http://www.github.com/nkarasiak/dzetsaka

# End of mandatory metadata

# Recommended items:

# Uncomment the following line and add your changelog:
changelog=
    5.1.1
      * FIX: Recipe accuracy tier parsing crashed with NameError (missing 're' import)
      * FIX: Code-quality findings from the plugins.qgis.org scan (try/except/pass, redefined wrapper names, unused global)
    5.1.0
      * FIX: QGIS 4 / PyQt6 crash when opening the Recipe Hub (unscoped Qt enums)
      * FIX: Optuna/SHAP/SMOTE toggles never offered to install missing dependencies on PyQt6
      * FIX: Plugin reload kept serving stale dashboard code
      * FIX: Plugin version read as 'unknown' and missing processing provider icon
      * FIX: Recipe dropdown list ran off-screen; it now scrolls and opens upward when needed
      * PERF: Prediction with a confidence map runs the model once per block (up to 4x faster, identical output)
      * PERF: Dynamic block size uses available system RAM (up to 4 GB) instead of hardcoded 512 MB limit
      * UX: Newly installed dependencies work without restarting QGIS, with a progress window while installing
      * UX: Browse Hub looks like a regular button; recipe selector is a plain list; dashboard can be narrower
      * FIX: QgisLogger now feeds QGIS log messages into issue-report buffer (logs were missing from bug reports)
      * UX: Success dialog after classification shows output filename, confidence map, and elapsed duration
    5.0.11
      * FIX: Fix confusion matrix CSV transposed relative to HTML report (issue #53)
      * REFACTOR: Convert optional-dependencies to PEP 735 dependency-groups
    5.0.10
      * FIX: Fix UnboundLocalError on 'xt' with separate validation vector (issue #52)
      * TEST: Add regression tests for vector_test_path code path
    5.0.9
      * FIX: Fix split rounding crash with odd sample counts and hardcoded shapefile driver
      * FIX: Fix training failures from undefined SVM variable and missing relative import
      * FIX: Fix duplicate dock widget on plugin reload
      * REFACTOR: Extract constants, remove ~4200 lines of dead code
      * TEST: Add unit tests for classifier_config, accuracy_index, validation_metrics, label_encoders
    5.0.8
      * FIX: Replace all sync dependency installer calls with async QgsTask to prevent macOS ARM64 crash (issue #48)
      * FIX: Fix StratifiedKFold not iterable with scikit-learn 1.x (issue #51)
      * CI: Gate release on cross-platform tests (Ubuntu, macOS ARM64, macOS Intel)
    5.0.7
      * FIX: Fix UnboundLocalError for cvDistance when using Polygon Group CV mode (issue #49)
      * FIX: QGIS 4.x / PyQt6 compatibility - scoped enum fixes, exec() migration
      * ADD: Declare QGIS 4.x support (qgisMaximumVersion=4.99)
    5.0.6
      * FIX: Defer all GUI calls from QgsTask callbacks via QTimer.singleShot to prevent macOS ARM64 SIGABRT crash (issue #48)
      * FIX: Add thread-identity diagnostic logging for dependency install task debugging
    5.0.5
      * FIX: Prevent QGIS crash on macOS ARM64 during dependency auto-install by using a main-thread callback instead of cross-thread signals (issue #48)
      * FIX: Handle missing legacy GDT_* constants in GDAL 4.x to prevent AttributeError at import time
      * FIX: Remove pkexec apt fallback that requested admin password on Linux
      * FIX: Add --break-system-packages for PEP 668 compatibility (Debian 13+, Ubuntu 24+)
    5.0.4
      * CHORE: Bump plugin metadata version to provide a unique QGIS Plugin Repository release number
    5.0.3
      * FIX: Prefer QGIS bundled Python on macOS arm64 in dependency autoinstaller to avoid selecting Xcode/system Python (issue #47)
    5.0.2
      * FIX: Harden dependency installer runtime constraints to avoid NumPy conflicts with QGIS bundled stack (issue #46)
    5.0.1
      * FIX: Import QAction from QtWidgets instead of QtGui, which crashed QGIS 3.28+ at startup (issue #45)
      * FIX: Qt5/Qt6 compatibility: exec_() fallback, enum aliases, matplotlib backend detection
    5.0.0
      * NEW: 11 classifiers with Optuna search and SHAP explanations
      * NEW: Guided wizard, compact dashboard, Smart Defaults, algorithm comparison, and recipes
      * NEW: HTML report with diagnostics
      * PERF: Faster training and prediction
    Full history: https://github.com/nkarasiak/dzetsaka/blob/main/CHANGELOG.md

# Tags are comma separated with spaces allowed
tags=earth observation,remote sensing,classification,machine learning,land cover,xgboost,catboost,random forest,svm,knn,neural network,optuna,shap,explainability,smote,class imbalance,cross-validation,processing

homepage=http://www.github.com/nkarasiak/dzetsaka
category=Raster
icon=icon.png

# experimental flag
experimental=False

# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False






