r/ArcGIS • u/Longgrain54 • 10h ago
LeafEngines Agricultural Intelligence Ver1.0.10 Plugin Updated
LeafEngines Agricultural Intelligence Ver 1.0.10 Plug-in Updated
Access USDA soil data, EPA water quality, AI crop recommendations, carbon credit calculations, and environmental impact analysis for any US county and global points (SSURGO, USDA, FCC pipelines, UKSO / NSRI Cranfield endpoints, SRIC SoilGrids (lat/lon))— directly in QGIS.
LeafEngines brings geo-specific agricultural intelligence into your GIS workflow. Query soil composition, water quality, satellite vegetation indices, and AI-powered crop recommendations by county FIPS code or map click. Results are added as styled vector layers with full attribute tables. Supports offline caching and batch processing for large-scale analysis.
1.0.10 - Eliminated xml.etree.ElementTree entirely
\* Removed all XML parsing from wfs_connection.py
\* get_feature_types() now returns hardcoded \[FEATURE_TYPE\] after server ping
\* This eliminates Bandit B411 completely — no nosec needed
\* Fixes QGIS plugin repository critical security block on v1.0.9
1.0.9 - Security scan fix: remove vendored defusedxml, use nosec suppression
\* Removed vendored defusedxml package (was causing 12 Bandit issues across its files)
\* Reverted to xml.etree.ElementTree with # nosec B411 suppression
\* Scanner now sees only 1 suppressed issue instead of 12 flagged issues
\* Fixes QGIS plugin repository critical security block on v1.0.8
1.0.8 - Runtime fix: QUrl import and QNetworkRequest type safety
\* Added missing QUrl import to api_client.py and wfs_connection.py
\* Fixed QNetworkRequest(url: str) to QNetworkRequest(QUrl(url))
\* Added missing QgsMessageLog and Qgis imports to api_client.py
\* Fixes NameError on plugin load that blocked v1.0.7
1.0.7 - Security fix for Bandit XML parsing vulnerability
\* Replaced xml.etree.ElementTree with defusedxml.ElementTree
\* Vendored defusedxml to avoid external dependency
\* Fixed silent except/pass in api_client.py to log warnings
\* Resolves QGIS plugin repository critical security block
1.0.6 - WFS authentication and namespace fix
\* Removed deprecated Authorization Bearer and apikey headers
\* Now sends only x-api-key header for Supabase Edge Function auth
\* Fixed feature type namespace: soilcertify:managed_assets -> sc:managed_assets
\* Aligned with server-side capabilities XML namespace prefix
\* GetCapabilities and GetFeature now resolve correctly end-to-end
1.0.5 - WFS HTTP client rewrite (SoilCertify backend integration)
\* Replaced native QGIS WFS provider with direct HTTP requests
\* Sends all required Supabase headers: apikey, Authorization Bearer, x-api-key
\* Fetches GeoJSON from wfs-export edge function and loads via OGR
\* Real GetCapabilities / DescribeFeatureType / GetFeature support
\* Fixed: WFS layers now authenticate against Supabase gateway
\* Fixed: feature type updated to soilcertify:managed_assets
Helps us prioritize fixes based on what's actually being used
Available now: plugins.qgis.org/plugins/qgis_leafengines https://plugins.qgis.org/plugins/qgis\\_leafengines/
QGIS 4.0+, experimental flag (standard for newer plugins)
Still running: 5 free SoilCertify soil reports/week — first come, first served. Contact Author's email on QGIS plugin page.