{"name": "Advanced Photo Importer", "package_name": "advanced_photo_importer", "version": "1.0.1", "experimental": false, "qgis_min": "3.28.0", "qgis_max": "4.99.0", "downloads": 4390, "uploaded_by": "majidjazebi", "upload_datetime": "2026-04-22T06:56:05.954313", "changelog": "## [1.0.1] - 2026-04-22\r\n\r\n### Changed\r\n- Reworked import/export UX with a single integrated progress window (percentage + processed count) (Thanks @billjwilliamson).\r\n- Moved final completion messages into the same progress window (`Done` state), removing duplicate success popups.\r\n- Added live skipped-file tracking during folder import with copyable output in the progress window.\r\n- Improved imported photo list readability with aligned column headers (`Visibility`, `File Name`, `Label`) and corrected row alignment.\r\n- Added a styled destructive `Delete Selected Photo` action in the Imported Photos panel.\r\n\r\n### Security\r\n- Hardened XML parsing in bundled EXIF processing code by switching to `defusedxml` for safer XML parsing.\r\n- Removed flagged executable/script artifacts from the plugin package to reduce security scanner noise.\r\n- Reduced low-severity Bandit findings in first-party plugin code by replacing silent exception handling with explicit logging.\r\n\r\n### Fixed\r\n- Fixed file hyperlink generation for paths containing spaces in Excel export. (Thanks @billjwilliamson)\r\n- Fixed Qt6 compatibility issues for modal dialogs and frame line enums (`WindowModality`, `QFrame` shape constants).\r\n- Fixed repeated import-cancel flow where disconnecting an unconnected signal raised `TypeError`.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/advanced_photo_importer/version/1.0.1/download/"}