=== KuDesign ImageIO ===
Contributors: zliu95
Tags: images, webp, avif, media, compression
Requires at least: 6.3
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Generate WebP and AVIF files from WordPress Media Library images with queued conversion.

Developed and maintained by KuDesign Team.

== Description ==

KuDesign ImageIO helps WordPress sites generate modern WebP and AVIF image files from existing Media Library uploads.

The plugin scans your Media Library, records original images and WordPress-generated image sizes, then lets you convert images through a controlled queue. Generated files are stored separately under `/wp-content/uploads/imageio/`, so your original JPG and PNG files remain untouched.

KuDesign ImageIO is designed for site owners who want a simple, transparent image optimization workflow without replacing the WordPress Media Library or changing original upload files.

Free version features:

* Scan WordPress Media Library images in stable resumable batches.
* Detect original JPG/PNG files and generated WordPress image sizes.
* Generate WebP and AVIF files through a queue-based conversion process.
* Store generated files separately under `/wp-content/uploads/imageio/webp/` and `/wp-content/uploads/imageio/avif/`.
* Track original size, generated file size, savings ratio, processing time, and conversion status.
* Convert all scanned images or selected images only.
* View queue progress from the admin page, with WP-Cron continuing queued work in the background.
* Delete generated WebP/AVIF files without deleting original Media Library files.
* Clean up plugin data tables and optionally remove generated image files before uninstalling.
* Use Apache `.htaccess` or Nginx configuration examples to serve WebP/AVIF from original image URLs.
* Preview whether your server configuration is returning PNG, WebP, or AVIF responses.

KuDesign ImageIO does not send your images, site data, or usage data to external services. All scanning and conversion happens inside your WordPress installation using the image libraries available on your server.

= Important server note =

Generating WebP and AVIF depends on your server's WordPress image editor support, usually GD or Imagick. Some hosting environments may support WebP but not AVIF.

To serve generated WebP/AVIF files from original JPG/PNG URLs, you must add the provided Apache or Nginx rules from the Server config tab.

== Installation ==

1. Upload the `imageio` folder to `/wp-content/plugins/`.
2. Activate KuDesign ImageIO from the Plugins screen.
3. Open Settings > imageIO.
4. Run One-click scan.
5. Keep the page open for live processing or close it and let WP-Cron continue in the background.

== Notes ==

Actual WebP and AVIF support depends on the image editor libraries available to WordPress on the server.

== Frequently Asked Questions ==

= Does scanning create WebP or AVIF files? =

No. Scanning only records eligible Media Library images in the KuDesign ImageIO metadata table. Conversion starts only when you click Start conversion or Convert selected.

= Where are generated files stored? =

Generated files are stored under `/wp-content/uploads/imageio/webp/` and `/wp-content/uploads/imageio/avif/`. Original Media Library files are not modified.

= Why does the plugin include server configuration examples? =

KuDesign ImageIO keeps original JPG/PNG URLs intact. Apache or Nginx rules are needed if you want compatible browsers to receive generated WebP or AVIF files from those original URLs.

= What happens if I uninstall KuDesign ImageIO? =

The uninstall routine removes KuDesign ImageIO database tables and cron data. Generated files are preserved by default so they can continue to be served by existing server rules.

== Screenshots ==

1. Media conversion dashboard with scan, conversion, queue status, and generated file actions.
2. Server config tab with PNG/WebP preview detection and Apache/Nginx rule examples.
3. Cleanup tab for removing plugin data tables and optionally deleting generated images.

== Privacy ==

KuDesign ImageIO does not send media data, site data, or usage analytics to external services. All scanning and conversion work happens inside your WordPress installation using the image editing libraries available on your server.

== Uninstalling ==

WordPress runs `uninstall.php` without rendering a user interface. During plugin deletion, KuDesign ImageIO removes its metadata table, queue table, database version option, and scheduled cron hook.

Generated files under `/wp-content/uploads/imageio/` are intentionally preserved by default. Keeping them can be useful because WebP and AVIF files may continue to be served by existing `.htaccess` or Nginx rules after the plugin is removed.

To remove generated files before uninstalling, open Settings > imageIO > Cleanup. Delete the data tables first, then use the generated image folder button. If you want to switch completely back to direct JPG/PNG delivery, remove or adjust the KuDesign ImageIO rules in `.htaccess` or `nginx.conf`.

== Changelog ==

= 0.2.0 =

* Added dedicated WebP/AVIF output directories under uploads.
* Added React admin dashboard, pagination, queue controls, and server config preview.
* Added cleanup workflow and uninstall routine.
* Changed scan behavior so scanning records metadata without generating files.
* Added resumable batch scan state for longer media library scans.

= 0.1.0 =

* Initial MVP with metadata and queue tables, Media Library scanning, and conversion queue processing.
