=== Khushal Image Audit Tools ===
Contributors: khushal1995
Tags: images, media library, image inspection, gd, imagick
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 1.15.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Secure, lightweight, offline image inspection for the WordPress Media Library.

== Description ==

Khushal Image Audit Tools provides a modular foundation for inspecting WordPress Media Library images locally.

The plugin:

* Works completely offline.
* Sends no data to external services.
* Uses Imagick when available.
* Falls back to GD automatically.
* Converts JPEG, PNG, and WebP images individually or in safe bulk batches.
* Keeps protected original copies that can be restored from the Media Library.
* Compresses images in lossless or lossy background batches with storage reports.
* Resizes images by width, height, or percentage with before/after previews.
* Finds duplicate images by filename, file size, dimensions, and exact file hash.
* Provides manual-only duplicate cleanup tools that never delete automatically.
* Finds image usage across posts, pages, products, custom post types, Gutenberg, and Elementor.
* Runs rename, alt, compression, resize, conversion, and restore actions on selected images.
* Streams SEO, performance, accessibility, media health, and storage CSV reports.
* Includes no telemetry, analytics, tracking, or licensing code.

== Installation ==

1. Upload the `khushal-image-audit-tools` folder to `/wp-content/plugins/`.
2. Activate Khushal Image Audit Tools from the Plugins screen.
3. Open **Khushal Image Audit Tools** from the WordPress admin sidebar.
4. Use Dashboard, Converter, Compression, Resize, and the other tools from that menu.

== Frequently Asked Questions ==

= Does this plugin send image data externally? =

No. All processing is performed locally with WordPress Core, Imagick, or GD.

= Is Imagick required? =

No. Imagick is preferred when available and GD is used as the fallback.

= Where do I find the plugin settings? =

Open **Khushal Image Audit Tools → Image Settings** in the WordPress admin sidebar.

= Does this plugin delete images automatically? =

No. Duplicate cleanup and other destructive actions are always manual and confirmation-based.

== Screenshots ==

1. Dashboard with Media Library statistics, charts, and quick actions.
2. Image Converter with single and bulk conversion workflows.
3. Image Compression with quality controls and storage savings.
4. Image Resize with before/after preview.
5. Duplicate Finder with manual cleanup tools.
6. Image Usage Finder showing where images are used.
7. Bulk Actions for rename, alt text, compress, resize, convert, and restore.
8. CSV Reports for SEO, performance, accessibility, and storage.
9. Settings page for compression, WebP, backups, and engine options.

== Changelog ==

= 1.15.0 =

* Renamed the plugin to Khushal Image Audit Tools (slug: khushal-image-audit-tools) to use a distinctive personal brand and avoid trademark conflict with “FlowImage”.
* Confirmed Settings API sanitize_callback on register_setting().

= 1.14.6 =

* WordPress.org submission readiness: set author to Khushal Tank (@khushal1995), fixed installation steps, added Screenshots section, and blank index.php guards in asset folders.

= 1.14.5 =

* Refreshed the Dashboard: gradient header, colored stat-card icons, "fix it" shortcuts on issue cards, and a tidier Quick Actions panel.

= 1.14.4 =

* Cleared the last Plugin Check warnings around uncached direct writes and dynamic usage listing SQL.

= 1.14.3 =

* Resolved all Plugin Check warnings with prepared identifier placeholders, documented nonce verification, scoped template variables, and intentional cleanup-query annotations.
* Added the required languages directory and removed the discouraged manual text-domain loader.

= 1.14.2 =

* Fixed Plugin Check errors: added missing translators comments for i18n placeholders, and removed development-only .distignore and phpcs.xml.dist from the plugin package.

= 1.14.1 =

* Fixed all Plugin Check PHP errors: WP_Filesystem for rename/chmod/rmdir, safe LIKE queries, in-memory JPEG stripper, and CSV stream phpcs compliance.

= 1.14.0 =

* Added the Khushal brand logo to every plugin page header.
* Redesigned Image Compression and Image Resize as clear step-by-step workflows with single/bulk tabs.
* Added quick 1-2-3 usage guides to Duplicate Finder, Usage Finder, and Bulk Actions.
* Unified page headers, engine status badges, and empty states across all admin pages.

= 1.13.0 =

* Redesigned Image Converter as a clear three-step workflow.
* Separated single and bulk conversion modes to prevent accidental library-wide actions.
* Added compatible image counts, format summaries, recommended settings, and proper empty states.
* Fixed hidden converter controls and empty previews appearing unexpectedly.

= 1.12.0 =

* Added direct per-image filename and ALT text editing to Image Bulk Actions.
* Added automatic image selection while typing, clearer validation, and user-friendly action labels.
* Kept pattern rename, compression, resize, conversion, and restore as advanced bulk tools.

= 1.11.3 =

* Fixed Image Bulk Actions to process selected images through AJAX batches instead of WP-Cron alone.
* Hardened bulk selection UI so Start stays disabled until images are selected and jobs resume reliably.

= 1.11.2 =

* Fixed Image Usage Finder so scans run through AJAX batches instead of waiting on WP-Cron alone.
* Improved Gutenberg and Elementor usage detection and removed the unnecessary local-file requirement.

= 1.11.1 =

* Moved every plugin page from Media into a dedicated Khushal Image Audit Tools top-level menu.
* Added backward-compatible redirects for previous Media submenu URLs.
* Updated page-specific asset loading and internal admin links for the new menu structure.

= 1.11.0 =

* Added validated settings for compression, WebP, backups, upload scanning, and automatic conversion.
* Added configurable GD and Imagick engine selection with live local capability diagnostics.
* Added protected plugin data reset and asynchronous upload automation.

= 1.10.0 =

* Added five secure, streamed CSV report generators.
* Added spreadsheet-safe SEO, performance, accessibility, and media health exports.
* Added live attachment storage, derivative size, savings, and backup reporting.

= 1.9.0 =

* Added unified selected-image bulk actions with resumable progress tracking.
* Added safe bulk filename patterns and offline alt text generation.
* Integrated compression, resize, conversion, and protected restore services.

= 1.8.0 =

* Added Image Usage Finder with linked content reports.
* Added WordPress, Gutenberg, Elementor, WooCommerce, and custom post type detection.
* Added resumable background usage indexing and unused image filtering.

= 1.7.0 =

* Added duplicate image finder using filename, file size, dimensions, and file hash.
* Added exact and potential duplicate groups with manual keep, ignore, and trash cleanup.
* Added resumable background duplicate indexing with no automatic deletion.

= 1.6.0 =

* Added width, height, and percentage image resizing.
* Added aspect-ratio controls and server-generated before/after previews.
* Added safe bulk resize jobs and original restoration.

= 1.5.0 =

* Added lossless and lossy JPEG, PNG, and WebP compression.
* Added quality controls, protected restore points, and compression reports.
* Added resumable WP-Cron bulk compression and storage-saving statistics.

= 1.4.0 =

* Added the production Image Converter with Imagick and GD engines.
* Added single and bulk conversion with progress and error reporting.
* Added protected original backups, restore support, and Media Library integration.

= 1.0.0 =

* Initial production architecture.
