[general]
name=Databricks DBSQL Connector
qgisMinimumVersion=3.16
qgisMaximumVersion=4.99
description=Connect QGIS to Databricks SQL warehouses and access geospatial data directly from Unity Catalog
version=1.3.0
author=Danny Wong
email=danny.wong@databricks.com

# Required URLs
homepage=https://github.com/danny-db/qgis-databricks-connector
repository=https://github.com/danny-db/qgis-databricks-connector
tracker=https://github.com/danny-db/qgis-databricks-connector/issues

# Plugin icon (relative to plugin folder)
icon=icons/databricks.svg

# Tags for discoverability in plugin manager
tags=databricks,database,sql,warehouse,geospatial,unity catalog,spatial,vector,live layer,viewport,genie,natural language,chat

# Category - Database is most appropriate for this plugin
category=Database

# License - MIT is GPL-compatible
license=MIT

# Plugin flags
experimental=False
deprecated=False
server=False

# Detailed description with dependency information
about=A QGIS plugin that provides direct connectivity to Databricks SQL warehouses, allowing you to load and display geospatial data from Unity Catalog tables directly in QGIS.

    Features:
    - Direct Databricks SQL connection using personal access tokens
    - Full support for GEOGRAPHY and GEOMETRY data types
    - Live Layers: viewport-based auto-refresh for working with large datasets
    - Browser Panel integration for browsing catalogs, schemas, and tables
    - Custom SQL query support with automatic geometry detection
    - Automatic handling of mixed geometry types (creates separate layers)
    - Configurable layer naming with persistent settings
    - Genie Chat: ask questions about your data in natural language
    - Connection management with saved credentials
    - QGIS 3.x and 4.x compatible (Qt5 and Qt6)

    Requirements:
    - Databricks SQL Warehouse access
    - Personal Access Token with appropriate permissions
    - Unity Catalog tables with GEOGRAPHY or GEOMETRY columns

    Python Dependencies (installed automatically):
    - databricks-sql-connector>=3.5.0 (required)

    For installation instructions and documentation, visit the GitHub repository.

# Changelog
changelog=1.3.0 - Genie Chat (natural language data queries)
    - New: Databricks Genie Chat dialog — ask questions in plain English
    - New: Genie Space browser with auto-populated space list
    - New: Thinking indicator with animated dots, elapsed timer, and Cancel button
    - New: Smart geometry hints — instructs Genie to return geometry as a typed column
    - New: Collapsible SQL panel (hidden by default) with Show SQL / Copy SQL buttons
    - New: Markdown rendering for Genie responses (bold, italic, bullets, code)
    - New: Query results preview table (up to 100 rows)
    - New: Auto-detect geometry columns and create QGIS layers from Genie results
    - New: Supports WKT and non-WKT geometry (auto-wraps with ST_ASWKT)
    - New: Follow-up questions within the same Genie conversation
    - New: Toolbar button and menu item for quick access
    - New: Dark mode compatible — explicit text colours for readability
    - New: Qt6 shims for QSizePolicy and QAbstractItemView enums

    1.2.0 - Live layers + QGIS 4 / Qt6 compatibility
    - New: Live Layer mode with viewport-based auto-refresh (pan/zoom to load data)
    - New: Mixed geometry detection for live layers (creates separate layers per type)
    - New: Auto-centre map on first live layer load
    - New: Smart debounce and extent similarity checks to minimise queries
    - New: Toggle live mode on/off via Plugins menu
    - New: QGIS 4.0 (Qt6/PyQt6) support while maintaining QGIS 3.16+ compatibility
    - New: Qt5/Qt6 compatibility shim module (_qt6_compat.py)
    - Fixed: Plugin load failures caused by removed Qt5 unscoped enums
    - Fixed: Dependency installation on QGIS 4 macOS (switched to in-process pip)
    - Fixed: Replaced deprecated exec_() with exec()
    - Fixed: Hardcoded PyQt5 import replaced with portable qgis.PyQt abstraction

    1.1.1 - Security improvements
    - Security: Use parameterized queries for information_schema lookups
    - Security: Added documentation for escaped SQL identifiers
    
    1.1.0 - Layer refresh and bug fixes
    - New: Update Layer Data from Databricks menu option
    - New: Multi-layer refresh support (select multiple layers)
    - Fixed: Column names with spaces now work correctly
    - Fixed: Polygon/MultiPolygon layers load correctly from Browser
    - Fixed: DateTime fields handled properly across all methods
    - Improved: Consistent behavior between Dialog and Browser panel
    
    1.0.0 - Initial release
    - Direct Databricks SQL warehouse connectivity
    - Browser Panel integration for browsing Unity Catalog
    - Custom SQL query dialog with database structure browser
    - Support for GEOGRAPHY and GEOMETRY data types
    - Automatic mixed geometry detection and layer separation
    - Configurable layer prefix and feature limits
    - Connection management with persistent settings
