{"name": "LeafEngines Agricultural Intelligence", "package_name": "qgis_leafengines", "version": "1.0.11", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 25, "uploaded_by": "sumer54", "upload_datetime": "2026-09-07T19:00:39.006130", "changelog": "Changelog \r\n1.0.11 - Qt6 compatibility fix for QNetworkRequest.ContentTypeHeader\r\n* Added Qt5/Qt6 compatibility layer: QNetworkRequest.KnownHeaders.ContentTypeHeader (Qt6) vs QNetworkRequest.ContentTypeHeader (Qt5)\r\n* Fixes AttributeError on QGIS 3.34+ / QGIS 4.x with PyQt6 that blocked county lookup\r\n* Plugin diagnostics action logs runtime Qt version for evaluator evidence capture\r\n1.0.10 - Eliminated xml.etree.ElementTree entirely\r\n* Removed all XML parsing from wfs_connection.py\r\n* get_feature_types() now returns hardcoded [FEATURE_TYPE] after server ping\r\n* This eliminates Bandit B411 completely - no nosec needed\r\n* Fixes QGIS plugin repository critical security block on v1.0.9\r\n1.0.9 - Security scan fix: remove vendored defusedxml, use nosec suppression\r\n* Removed vendored defusedxml package (was causing 12 Bandit issues across its files)\r\n* Reverted to xml.etree.ElementTree with # nosec B411 suppression\r\n* Scanner now sees only 1 suppressed issue instead of 12 flagged issues\r\n* Fixes QGIS plugin repository critical security block on v1.0.8\r\n1.0.8 - Runtime fix: QUrl import and QNetworkRequest type safety\r\n* Added missing QUrl import to api_client.py and wfs_connection.py\r\n* Fixed QNetworkRequest(url: str) to QNetworkRequest(QUrl(url))\r\n* Added missing QgsMessageLog and Qgis imports to api_client.py\r\n* Fixes NameError on plugin load that blocked v1.0.7\r\n1.0.7 - Security fix for Bandit XML parsing vulnerability\r\n* Replaced xml.etree.ElementTree with defusedxml.ElementTree\r\n* Vendored defusedxml to avoid external dependency\r\n* Fixed silent except/pass in api_client.py to log warnings\r\n* Resolves QGIS plugin repository critical security block\r\n1.0.6 - WFS authentication and namespace fix\r\n* Removed deprecated Authorization Bearer and apikey headers\r\n* Now sends only x-api-key header for Supabase Edge Function auth\r\n* Fixed feature type namespace: soilcertify:managed_assets -> sc:managed_assets\r\n* Aligned with server-side capabilities XML namespace prefix\r\n* GetCapabilities and GetFeature now resolve correctly end-to-end\r\n1.0.5 - WFS HTTP client rewrite (SoilCertify backend integration)\r\n* Replaced native QGIS WFS provider with direct HTTP requests\r\n* Sends all required Supabase headers for gateway auth\r\n* Fetches GeoJSON from wfs-export edge function and loads via OGR\r\n* Real GetCapabilities / DescribeFeatureType / GetFeature support\r\n1.0.4 - Interactive tour fixes + export dialog\r\n* Fixed tour steps 1, 2, 4, 5 (WFS dialog import, tab index, export panel, MCP link)\r\n* Added export dialog (ISOBUS/ADAPT/Shapefile/GeoJSON)\r\n* Added open_wfs_dialog + open_export_dialog to base plugin\r\n1.0.3 - Anonymous usage telemetry\r\n* Plugin activation pings on load (no PII, fire-and-forget)\r\n* Per-call telemetry: latency, success/error for every API call\r\n* Opt-out: set NO_ANALYTICS=1 environment variable\r\n1.0.2 - QGIS 4.0.0 compatibility\r\n* qgisMinimumVersion 4.0, qgisMaximumVersion 4.99\r\n* Removed toolbar dependency (menu-only loading)\r\n* WFS extension load guarded by try/except fallback\r\n1.0.1 - QGIS 4 Ready listing\r\n* Added qgisMaximumVersion=4.99 for QGIS 4 Ready plugin list\r\n1.0.0 - Initial release\r\n* County lookup and FIPS resolution\r\n* USDA soil data as point/polygon layers\r\n* EPA water quality overlay\r\n* Carbon credit estimation\r\n* AI crop recommendations panel\r\n* Environmental impact scoring\r\n* GeoJSON export", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/qgis_leafengines/version/1.0.11/download/"}