# This file contains metadata for your plugin.

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

[general]
name=FilterMate
qgisMinimumVersion=3.0
description=FilterMate is a QGIS plugin that allows you to easily explore, filter and export vector data - now works with any data source!
version=2.3.8
author=imagodata
email=simon.ducournau+filter_mate@gmail.com

about=FilterMate v2.3.8 - Automatic Dark Mode Support

 NEW in v2.3.8:
 - 🎨 Automatic dark mode detection - detects QGIS theme in real-time
 - 🌓 Icon inversion for dark mode - PNG icons now visible in dark themes
 - 🎯 New modules/icon_utils.py module for theme-aware icon management
 - ✨ JsonView theme synchronization - config editor updates with main theme
 - 🛠️ Enhanced theme change notification with logging
 - ⭐ Filter Favorites - Save, organize, and reuse complex filters
 - 💾 SQLite persistence - favorites saved across sessions
 - 📤 Export/Import favorites via JSON files
 
 Previous (v2.3.6):
 - 🛡️ Centralized timing constants (STABILITY_CONSTANTS dict)
 - ⏱️ Timestamp-tracked flags with auto-reset (30s timeout)
 - ✅ Layer validation (C++ object validity checks)
 - 🔄 Signal debouncing for rapid layer changes
 
 Previous (v2.3.4):
 - 🐛 Fixed GeometryCollection errors & PostgreSQL filtering
 - ✨ Smart display field selection
 - 🛠️ Automatic ANALYZE on PostgreSQL tables
 
 Core features:
 - Works with ANY data source (Shapefile, GeoPackage, Spatialite, PostgreSQL)
 - Automatic backend selection (PostgreSQL, Spatialite, or Local)
 - Intuitive search and selection of entities
 - Filter vector layers by expression and geometric predicates
 - Buffer support with automatic geometry repair
 - Configure widgets independently for each layer
 - Export layers intuitively
 - Automatic CRS reprojection on the fly
 - Filter history with easy undo/redo
 
 Performance: Automatically uses PostgreSQL when available for optimal speed, falls back to Spatialite or local backend otherwise.
 
 Full documentation: https://sducournau.github.io/filter_mate

tracker=https://github.com/sducournau/filter_mate/issues
repository=https://github.com/sducournau/filter_mate
# End of mandatory metadata

# Recommended items: regexp

hasProcessingProvider=no

changelog=
    Version 3.5.6 (December 2025) - Code Quality & Harmonization
    🛠️ NEW: Centralized feedback system (show_info/warning/error/success)
    🐛 FIX: Fixed syntax errors in dockwidget module
    ⚡ PERF: PostgreSQL init optimization (5-50× faster layer loading)
    🔧 IMPROVED: Connection caching for PostgreSQL layers
    📊 QUALITY: Code quality score improved to 8.9/10
    🧹 CLEANUP: Removed obsolete code and fixed bare except clauses
    
    Version 2.3.5 (December 2025) - Configuration System v2.0
    ⚙️ Configuration v2.0 with integrated metadata structure
    🔄 Automatic config migration (v1.0→v2.0) with backup/rollback
    🔒 Forced backend respect - user choice strictly enforced
    🚀 PostgreSQL 30%% faster loading (fast counting + UNLOGGED MVs)
    
    Version 2.3.4 (December 2025) - PostgreSQL & UX Improvements
    🐛 CRITICAL FIX: PostgreSQL 2-part table references now work correctly
    ✨ FEATURE: Smart display field selection for exploring expressions
    🐛 FIX: GeometryCollection buffer results now properly handled
    🛠️ IMPROVED: Automatic ANALYZE on source tables for query optimization
    
    Version 2.3.0 (December 2025) - Global Undo/Redo System
    ⭐ FEATURE: Intelligent undo/redo with context detection (source-only/global)
    🏗️ REFACTOR: Task modules extracted (-99%% appTasks.py, +400%% maintainability)
    ✅ QUALITY: PEP 8 95%%, 26 tests, CI/CD active
    🚀 PERFORMANCE: Geometry caching (5× speedup)
    
    Version 2.2.5 (December 2025) - Geographic CRS Auto-Handling
    FEATURE: Automatic EPSG:3857 conversion for geographic CRS
    FIX: Geographic coordinates zoom & flash flickering
    
    Version 2.2.4 (December 2025) - Bug Fix Release
    BUG FIX: Fixed Spatialite field name quote handling
    IMPROVED: Expression conversion reliability
    
    Version 2.2.0 (December 2025) - Stability Improvements
    STABILITY: Improved Qt JSON view crash prevention
    FIXED: Tab widget error handling and recovery
    IMPROVED: Theme synchronization and resource management
    OPTIMIZED: Performance and memory usage
    
    Version 2.1.0 (December 2025) - Production Release
    STABLE: Production-ready multi-backend architecture
    FIXED: Critical undo/redo functionality restored
    FIXED: Field selection now includes all fields
    FIXED: SQLite database lock errors with retry mechanism
    FIXED: Subset string handling for OGR layers
    IMPROVED: Advanced geometry repair with multiple strategies
    IMPROVED: Enhanced UI theme support and consistency
    IMPROVED: Predicate ordering optimization (2.5x faster)
    IMPROVED: Comprehensive test coverage and documentation
    Version 1.9.0 (December 2025) - Major Update
    NEW: Works WITHOUT PostgreSQL! Plugin now supports any data source
    NEW: Automatic backend selection (PostgreSQL/Spatialite/Local OGR)
    IMPROVED: Better error messages with troubleshooting hints
    FIXED: Plugin starts even if psycopg2 not installed
    PERFORMANCE: Same speed as before with PostgreSQL, new Spatialite backend for other formats
    BREAKING: None (100%% backward compatible with v1.8)
    
    Version 1.8 (Previous)
    - Rework filtering logic: use of temporary materialized views and indexes
    - Add spatialite management: project metadata and subset history
    - Rebuild QgsCheckableComboBoxFeaturesListPickerWidget to show filtered entities
    - Rework combine logic filter


# Tags are comma separated with spaces allowed
tags=python,filter,vector,layers,geofilter,search,postgis,ogr,spatialite,data,exploration,subset,export

homepage=https://sducournau.github.io/filter_mate/
category=Plugins
icon=icon.png
# experimental flag
experimental=False

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

# Since QGIS 3.8, a comma separated list of plugins to be installed
# (or upgraded) can be specified.
# Check the documentation for more information.
# plugin_dependencies=

Category of the plugin: Raster, Vector, Database or Web
#category=Database

# If the plugin can run on QGIS Server.
server=False
