VLEAPP v2026.3.0
- Cross-version schema resilience: new null_absent_columns() helper tolerates missing columns across vehicle system schema versions, with SQLite now naming the specific missing column when it happens.
- Security and stability hardening: HTML report injection fixes (escaped evidence media names, removed remote destinations, new CI guard), a MemoryError fix during HTML report generation, hardened zip extraction against Windows-incompatible member names, and a fix for concurrent runs corrupting history.json.
- GUI and codebase cleanup: Select All/Deselect All now act on the filtered list, restored module checkbox indicators on Windows, fixed macOS checkbox color inconsistencies, removal of the stale ileappGUI.py copy, and the dead hook-plugin_loader.py removed.
- Expanded CI coverage: runtime contract now runs across every supported Python version and entry point (with Python 3.10 stated as the supported floor), a diff-aware pylint check, sample_data validation ported from DLEAPP, Windows import smoke tests, and a manual PyInstaller test-build workflow.
- Reporting and LAVA output improvements: extraction-relative source paths shortened project-wide, additional run information included in LAVA output, and LAVA date columns now stored as text.
Full Changelog: v2026.2.0...v2026.3.0