=== Clevers Image Optimizer ===
Contributors: cleversdev
Donate link: https://clevers.dev
Tags: image-optimization, webp, avif, media-library, performance
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 1.0.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Clevers Image Optimizer compresses local WordPress images and generates modern WebP and optional AVIF files.

== Description ==
Clevers Image Optimizer optimizes local WordPress images and generates modern formats (`.webp` and optional `.avif`).

Since version 0.3.0, processing runs in the background with queueing and batch/time limits to avoid admin timeouts during large uploads.

= Features =
* Local optimization of original JPG/PNG files.
* WebP generation.
* Optional AVIF generation.
* `.htaccess` rules for transparent delivery.
* Media Library bulk action to queue optimization jobs.
* Background processing with configurable limits.

= Composer/Vendor policy =
This plugin uses Composer as the source of truth for dependencies.

* Development/CI: install dependencies with `composer install`.
* Release: the published ZIP includes `vendor/` for WordPress environments without Composer.

== Installation ==
1. Upload the plugin to `/wp-content/plugins/clevers-image-optimizer` or install it from the release ZIP.
2. Activate it in WordPress.
3. Go to `Settings > Clevers Image Optimizer`.
4. Configure WebP/AVIF quality and background processing limits.

== Frequently Asked Questions ==
= How does background processing work? =
New images and bulk actions are queued. A scheduled event processes the queue in batches (`Batch size`) and respects a maximum runtime (`Time limit per run`).

= What if AVIF is not supported on my server? =
The plugin shows capability status in settings. If `imageavif` is not available, AVIF files are not generated.

= Do I need Composer in production? =
No, if you use the official release ZIP. Composer is only needed for local development and CI.

== Changelog ==
= 1.0.2 =
* Compliance: Remove "Tested up to" from main PHP file (declared in readme.txt only).
* Scripts: Properly enqueue Media Library script with wp_enqueue_script() instead of inline script tags.
* Prefixing: Update all functions, classes, options, hooks and constants to use unique prefix clevers_io_ (4+ characters).
* Dependencies: Upgrade spatie/image-optimizer to latest version 1.10.0.
* Activation: Remove wp_die() blocker on activation, moving requirement check to admin notices.

= 1.0.1 =
* Tested up to WordPress 7.1.
* Code standards and plugin review preparations.

= 0.3.0 =
* Added: background optimization queue with batch/time limits.
* Added: Media Library bulk action now queues jobs (non-blocking admin request).
* Added: PHPUnit unit tests.
* Added: CI workflow (lint + tests).
* Changed: minimum requirements and admin sanitization/escaping hardening.
* Changed: plugin bootstrap initialization.
