=== andW Image Control ===
Contributors: yasuo3o3
Tags: media, jpeg, png, image-quality, compression
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.1
Stable tag: 0.5.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Advanced media control plugin with JPEG quality, PNG conversion, SVG safety, and custom image sizes.

== Description ==

andW Image Control extends WordPress image processing capabilities with comprehensive media management features.

**Key Features:**

* **Custom JPEG Quality:** Set different JPEG quality levels for each image size
* **PNG to JPEG Conversion:** Automatic conversion during upload with quality control
* **8 Custom Image Sizes:** Pre-configured sizes (360px, 480px, 600px, 720px, 960px, 1200px, 1440px, 1920px)
* **Enhanced Media Library:** MIME type labels and improved UI
* **Secure SVG Support:** Upload SVG files with comprehensive security sanitization
* **WordPress Standards Compliance:** Follows WordPress coding and security standards

This plugin is designed for developers and site administrators who need precise control over image processing and media management.

**日本語説明:**

andW Image Control は WordPress の画像処理を拡張するプラグインです。JPEG品質のカスタマイズ、PNG→JPEG自動変換、独自画像サイズ管理、SVG対応、メディアライブラリUI拡張を提供します。

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/andw-image-control` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress
3. Go to Settings > Media to configure the plugin options
4. Adjust JPEG quality settings, enable PNG to JPEG conversion, and configure SVG upload as needed

**Installation (日本語):**

1. プラグインファイルを `/wp-content/plugins/andw-image-control` ディレクトリにアップロード
2. WordPress の管理画面でプラグインを有効化
3. 「設定」>「メディア」で各種設定を調整

== Frequently Asked Questions ==

= What JPEG quality range can I set? =

You can set JPEG quality from 1 to 100. WordPress default is 82.

= Are PNG transparency preserved during conversion? =

No, transparency is not preserved. PNG files are converted with white background. Original PNG files are also retained.

= Is SVG upload secure? =

Yes, SVG files are sanitized using WordPress standard wp_kses() function with comprehensive security checks to prevent XSS and XXE attacks.

= Does this plugin affect site performance? =

The plugin is optimized for performance and only processes images during upload. It uses singleton patterns and proper WordPress hooks to minimize overhead.

**FAQ (日本語):**

= JPEG 品質はどの程度設定できますか？ =

1から100の範囲で設定できます。WordPress標準は82です。

= PNG から JPEG への変換で透過は保持されますか？ =

透過は保持されず、白背景で塗りつぶされます。元のPNGファイルも保持されます。

== Changelog ==

= 0.5.0 =
* **Major**: WordPress Plugin Directory review compliance completed with comprehensive code quality improvements
* **Security**: Enhanced security measures including proper nonce handling, permission checks, and output escaping
* **Performance**: Optimized autoload settings and reduced unnecessary database operations
* **i18n**: Complete internationalization support with all user-facing strings properly translatable
* **Fixed**: JavaScript localization timing issues resolved for better browser compatibility
* **Enhanced**: Improved recommended quality values system with better user experience
* **Cleanup**: Removed wp_cache_flush() from uninstall process to prevent site-wide cache disruption
* **Quality**: All WPCS compliance issues resolved and code follows WordPress best practices

= 0.3.4 =
* **Performance**: Fixed autoload optimization to run only once using migration flag instead of every page load
* **Enhanced**: Added andw_autoload_migration_done flag to prevent unnecessary database operations
* **Fixed**: Improved uninstall.php to properly clean up migration flag during plugin removal

= 0.3.3 =
* **Critical**: Fixed wp_localize_script timing issue that caused JavaScript errors in recommended values feature
* **Fixed**: Replaced wp_localize_script with inline translated strings to ensure proper availability in admin_footer context
* **Enhanced**: Improved JavaScript error handling and browser console compatibility for settings page

= 0.3.2 =
* **Critical**: Removed wp_cache_flush() from uninstall.php to prevent site-wide cache disruption (WordPress.org compliance)
* **Major**: Implemented i18n for JavaScript notification messages using wp_localize_script
* **Major**: Added translation support for MIME type labels (JPG, PNG, GIF, SVG, WebP, Other)
* **Fixed**: PNG to JPEG conversion title now uses translatable sprintf format instead of hardcoded English
* **Fixed**: Plugin recommendation links (Regenerate Thumbnails, Force Regenerate Thumbnails) now translatable
* **Enhanced**: Complete i18n compliance for WordPress Plugin Directory submission

= 0.3.1 =
* **Major**: Added recommended quality values button for easy optimal settings application
* **Major**: Improved user experience with visual feedback and guided quality configuration
* **Enhanced**: Quality settings now use recommended values system instead of ineffective defaults
* **Fixed**: Removed meaningless default values that were never applied due to WordPress initialization order
* **Changed**: Author information updated to match WordPress.org submission requirements

= 0.3.0 =
* **Critical**: Fixed WordPress.DB.DirectDatabaseQuery violations in uninstall.php (replaced with WordPress API)
* **Major**: Enhanced AJAX security with upload_files permission checks
* **Major**: Improved CSS/JS versioning with filemtime-based cache control
* **Changed**: WordPress.org review compliance completed
* **Changed**: PHP 8.1 requirement enforcement with version check
* **Fixed**: Autoload optimization for non-critical options to improve performance
* **Security**: Complete nonce verification and permission check implementation
* **Security**: WordPress.Security.EscapeOutput compliance strengthened

= 0.2.0 =
* **Security**: Fixed libxml_disable_entity_loader() deprecation and LIBXML_NOENT DoS vulnerability in SVG processing
* **Security**: Migrated to WordPress standard wp_kses() based secure SVG sanitization
* **Security**: Enhanced WordPress security standards compliance (input validation, output escaping, nonce verification)
* **Fixed**: Resolved AndwImageSizes class singleton pattern to prevent hook duplicate registration
* **Fixed**: Media modal thumbnail display issues (CSS position:relative conflicts)
* **Fixed**: Thumbnail crop checkbox save functionality
* **Changed**: Code review responses and quality improvements

= 0.01 =
* Initial release
* JPEG quality customization by image size
* PNG to JPEG automatic conversion
* 8 custom image sizes (360px to 1920px)
* Media library MIME type labels
* Secure SVG upload support