Changelog¶
[0.7.2] - 2026-04-28¶
Corregido¶
- Validación de seguridad QGIS: Mover
# nosec B608a la misma línea del f-string (requerido por Bandit)
[0.7.1] - 2026-04-28¶
Corregido¶
- Validación de seguridad QGIS: Agregado
# nosec B608a consultas SQL para suprimir falsos positivos de Bandit (URLs vienen de constantes de configuración, entrada de usuario via placeholders?)
[0.7.0] - 2026-04-28¶
⚠️ CAMBIO IMPORTANTE¶
- Requiere Python >= 3.10: DuckDB 1.5.0+ no soporta Python 3.9. QGIS 3.28+ incluye Python 3.10+
- Requiere DuckDB >= 1.5.0: Versiones anteriores no soportan GeoParquet 2.0
- Si ve error "GeoParquet version 2.0.0 is not supported", actualice DuckDB ejecutando en la consola Python de QGIS:
Luego reinicie QGIS.
import subprocess, sys subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'duckdb'])
Agregado¶
- Soporte para Censos 1991 y 2001: Plugin ahora accede a datos de los 4 censos nacionales (1991, 2001, 2010, 2022)
- Cobertura censal completa: 35+ años de datos censales argentinos disponibles
- Verificación de versión al inicio: El plugin muestra instrucciones claras si DuckDB es muy antiguo
Mejorado¶
- GeoParquet 2.0: Datos actualizados con tipos GEOMETRY nativos y predicate pushdown automático
- Soporte de columna de geometría configurable:
geompara 1991/2001,geometrypara 2010/2022 - Compatibilidad de tipos: Queries ahora usan CAST para manejar diferencias entre censos
- Documentación actualizada: README, guía de usuario y ejemplos SQL reflejan los 4 años disponibles
Técnico¶
- Configuración CENSUS_CONFIG extendida con 1991, 2001 y
geometry_column - Datos en Source.Coop actualizados a GeoParquet 2.0 con bloom filters y estadísticas espaciales
- Requisito DuckDB actualizado a >=1.5.0 para soporte de GeoParquet 2.0
- Tests ampliados para validar configuración de los 4 censos
[0.6.0] - 2025-02-02¶
Agregado¶
- Soporte para Censo 2010: Plugin ahora accede a datos del Censo Nacional 2010 además del 2022
- Selector de año censal: Dropdown en la interfaz para elegir entre Censo 2010 y 2022
- Configuración centralizada: Nueva arquitectura en
config.pycon URLs y parámetros por año - Tests de configuración: Suite de 84 tests para validar configuración de censos
- Documentación mejorada: Secciones actualizadas sobre caché y rendimiento con datos reales
Mejorado¶
- Rendimiento de caché: Documentación detallada sobre tiempos (~50ms) y tamaños (~1.3MB)
- Tolerancia de columnas: Sistema de advertencia confirmable para >100 columnas
- Diálogos informativos: Mejor UX con confirmación visual antes de cargas grandes
Técnico¶
- Refactor de query builders para soporte multi-censo
- Sistema de configuración CENSUS_CONFIG extensible
- Tests de integración ampliados (77 → 159 tests)
[0.5.0] - 2025-01-27¶
Cambiado¶
- Límite de columnas ahora es advertencia confirmable: Eliminado límite duro de 100 columnas
- Diálogo de confirmación: Cuando se cargan >100 columnas, se pregunta al usuario si desea continuar
- Mejor UX: Usuario decide si proceder con cargas grandes en lugar de bloqueo automático
Agregado¶
- Función
calculate_column_count()para calcular columnas antes de cargar
Eliminado¶
- Límite duro de 100 columnas que bloqueaba cargas
- Advertencia automática a 50 columnas
[0.4.2] - 2025-01-27¶
Corregido¶
- Estructura de directorios del plugin: Reestructurado a subdirectorio
censo_argentino_qgis/para compatibilidad con qgis-plugin-ci - Publicación automática: Resuelve error de generación de archivos ZIP con nombres inválidos (ej.
..0.4.1.zip) - Imports relativos: Actualizados todos los imports en tests para usar el nuevo namespace
censo_argentino_qgis.*
Mejorado¶
- Documentación de desarrollo: CLAUDE.md ahora incluye instrucciones específicas para ejecutar tests y pre-commit hooks
- Configuración CI/CD:
.qgis-plugin-ciactualizado conplugin_pathcorrecto
Técnico¶
- Estructura de plugin conforme a estándares de QGIS
- 77 tests pasando tras reestructuración
- Mock paths actualizados en suite de tests
[0.4.1] - 2025-01-27¶
Corregido¶
- Dependencia pandas eliminada: Reemplazado
.df()por.fetchall()en DuckDB para evitar error "'pandas' is required" - Compatibilidad Ubuntu: Plugin ahora funciona sin pandas instalado en QGIS
Mejorado¶
- Documentación de instalación: Recomienda instalar QDuckDB plugin primero para evitar problemas con pip
- Solución de problemas: Sección expandida con troubleshooting para dependencias
[0.4.0] - 2025-01-27¶
Agregado¶
- Expansión de categorías: Variables categóricas ahora se expanden en columnas separadas (ej.
educacion_primaria,educacion_secundaria) - UI de selección de categorías: Secciones colapsables por variable con checkboxes para filtrar categorías específicas
- Columnas _total automáticas: Cada variable genera una columna de total además de las categorías individuales
- Precarga de metadatos: Todos los metadatos (~1MB) se cargan al iniciar para lookups instantáneos
- Botones de ayuda: Links directos a Documentación y Solución de Problemas en la UI
- Tooltips completos: Todos los elementos de UI tienen tooltips explicativos
- Tests de integración: 17 nuevos tests para expansión de categorías y corrección de producto cartesiano
Corregido¶
- Bug crítico de producto cartesiano: JOIN entre geometría y censo antes de filtrar causaba totales inflados incorrectamente
- Implementación CTE-based: Pivotea datos ANTES de hacer JOIN, garantizando relación 1:1 y totales correctos
Mejorado¶
- Rendimiento de categorías: Lookups instantáneos vs ~1s por variable anteriormente
- Validación de columnas: Advertencia en 50 columnas, bloqueo en 100 para evitar crashes de QGIS
- Nombres de columnas: Sanitización completa (sin acentos, minúsculas, formato consistente)
- Documentación DuckDB: Método universal de instalación que funciona en Windows/Linux/macOS
- Código 100% español: Todas las docstrings, mensajes de error y logs traducidos
Técnico¶
- Extracción de
query_builders.pypara testabilidad - Manejo de categorías NULL
- Soporte para categorías de texto (no solo numéricas)
- Caché consistente con formato de tuplas
[0.3.0] - 2025-01-26¶
Agregado¶
- Suite de tests con pytest (48 tests, 38% cobertura)
- Validación de marcadores de posición en SQL
- Botones "Seleccionar Todo" / "Limpiar Selección" para variables
- Vista de tabla para resultados SQL sin geometría
- Debounce de búsqueda (200ms) para reducir lag
Mejorado¶
- Pool de conexiones DuckDB (singleton) para mejor rendimiento (~150ms por consulta)
- Carga de extensiones una sola vez (~75ms ahorrados)
- Eliminado LIMIT 100 en filtros geográficos
- Traducción completa al español (UI, mensajes, documentación)
- README consolidado con enlaces a documentación
- Documentación desplegada automáticamente a GitHub Pages
Técnico¶
- Módulo
validation.pyextraído para SQL placeholder detection - Módulo
query_builders.pyextraído con funciones testeables - Configuración de pytest con cobertura
- GitHub Actions para despliegue de documentación
[0.2.0] - 2025-01-26¶
Agregado¶
- Modo de consulta SQL con acceso directo a DuckDB
- Pestaña de registro de consultas
- Ejemplos de consultas SQL predefinidos
- Logging de consultas para depuración
Mejorado¶
- Barra de progreso más granular durante la carga
[0.1.0] - 2025-01-26¶
Agregado¶
- Interfaz de exploración visual de variables
- Soporte para múltiples variables en una capa
- Filtrado por provincia y departamento
- Filtrado por extensión del mapa
- Caché local de metadatos
- Carga asíncrona de datos
- Agregación automática de geometrías por nivel geográfico