[general]
name=PlantaSync-MIG
qgisMinimumVersion=3.22
qgisMaximumVersion=3.99
version=1.7.4
author=PlantationGIS Team
email=lihatsatu20@gmail.com
about=Official desktop GIS companion for the PlantationGIS platform. Enables secure API login, centralized basemap sync, GeoQC topology validation, and staging queue polygon submissions.
description=PlantaSync connects QGIS Desktop with the PlantationGIS Web enterprise platform. Estate surveyors and GIS specialists can authenticate via web credentials, download operational estate and block boundaries, load aerial drone orthophotos (PMTiles), validate topology with the integrated GeoQC engine, and submit digitized features directly to the cloud staging queue for peer review and automated approval workflows.
 Requirements & Dependencies: Requires an active PlantationGIS backend account. Core spatial dependencies (PyQt, Shapely, PyProj) are bundled natively with QGIS 3.22+ without additional pip packages needed.
category=Database
tags=postgresql,postgis,digitizing,database,vector,editing,api,plantation,sync,agriculture,geoqc,staging,drone,pmtiles
icon=assets/icon.svg
experimental=False
deprecated=False
license=GNU GPL version 2 or any later version
homepage=https://github.com/abahgeo/plantasync_poly
tracker=https://github.com/abahgeo/plantasync_poly/issues
repository=https://github.com/abahgeo/plantasync_poly
changelog=1.7.4 (18 October 2026):
    - Full Qt6 and PyQt6 enum scoping compatibility (Strict Scoped Enums and .exec() standard).
    - Bandit security hardening: Parameterized SQL query bindings, eliminated subprocess in favor of Qt QDesktopServices, explicit URL scheme security guards.
    - Flake8 compliance: Resolved all ambiguous variable names, undefined references, and redundant imports.
    - Added official GNU General Public License v2 (GPL-2.0).

    1.7.3 (18 October 2026):
    - MultiPolygon standardization: Master and staging tables migrated to geometry(MultiPolygon, 4326) preventing geometry type mismatch on digitizing, delete, split, and merge.
    - PlantaLogger import fix: Resolved missing logger import in Shapefile column mapping module.
    - Split spatial lineage: Injected targetSpatialId and split_child role for split polygon operations.
    - Merge adjacency tolerance: Added 5 cm distance tolerance for sub-pixel boundary gap handling.
    - Topology overlap validation: Enabled AllowIntersections on map canvas so Tier 2 GeoQC detects true overlaps.
    - Block Code column: Added Block Code column to Submission Status panel with live search filtering.
    - Cross-platform raster opening: Migrated directory explorer to Qt QDesktopServices.
    - Singleton basemap enforcement: Replaces previous basemap on selection to prevent duplicate TOC layers.
    - Block name immutability: Locked block name field to read-only adhering to ERP SSOT conventions.
    - Attribute form selection guard: Added visual warning when editing attributes without active polygon selection.
    - Offline queue auto-flush: Automated sync on offline-to-online network transitions with completion signal.
    - Cache retention guard: Prevents canvas layer clearing during transient empty API responses.
    - Auto-zoom framing margin: Scaled bounding box framing margin to 1.35x.

    1.7.2 (16 Oktober 2026):
    - Standarisasi Penamaan Layer Blok Gros: Menyelaraskan nama layer blok perkebunan menjadi 'Blok Gros' pada seluruh modul antrean (Panel Status Antrian Saya dan Panel Persetujuan Admin) agar konsisten 100%% dengan metadata database (config.role_layer_permissions) dan pilihan layer dropdown utama plugin.

    1.7.1 (14 Oktober 2026):
    - Tombol & Sinkronisasi Layer Antrean QA/QC untuk Reviewer/Admin (RBAC & ABAC): Mengaktifkan tombol loadPendingButton pada Tab 1 (Peta Kerja) dan menambahkan tombol loadPendingAdminButton pada Tab 2 (QA/QC) untuk role Admin dan GIS QA/QC; query endpoint staging queue /api/v2/staging dengan proteksi RLS PostgreSQL (config.allowed_estates) sesuai hak wilayah ABAC pengguna; pembentukan memory layer dengan skema atribut komprehensif; styling gold semi-transparan dengan garis putus-putus oranye; fitur auto-zoom kanvas peta ke seluruh cakupan poligon antrean; sinkronisasi dua arah antara kanvas peta dengan tabel AdminApprovalPanel.

    1.7.0 (13 Oktober 2026):
    - Form Atribut Hierarkis, Autofill Cerdas & Perbaikan Deteksi Buffer: Dropdown hierarki wilayah dinamis (Regional -> PT -> Estate -> Divisi -> Blok) dengan Regional & PT read-only otomatis (ABAC), SearchableComboBox instant-click popup & filter pencarian teks, multi-layer adaptive layout (Master Blok 5-tab vs Infrastruktur/Tanah/Sensus 3-tab), eliminasi kolom sistem/audit dari form teknis, autofill luas geometri planar ke luas_ha & luas_tanam_ha, kalkulasi otomatis realtime SPH, dropdown standar editable agronomi.

    1.6.0:
    - Gold Standard Refactor: SSE streaming migrated to urllib, .env config system, Offline Queue auto-retry mechanism, NetworkMonitor online transition detection, LayerLoader dead code cleanup.

    1.5.0:
    - REST API Layer Architecture (Port 443/HTTPS), WKB Hex fast stream loader, Offline GeoPackage layer caching, GeoServer AuthKey short-lived token integration.

    1.4.0:
    - GeoQC topology & geometry validation engine integration, Staging Queue Interceptor v2, Drone PMTiles sync, Multi-CRS reprojection.

    1.3.0:
    - Integrasi penuh API Web App, Sinkronisasi PMTiles Drone & Basemap.

