{
    "name": "R2 WebP Converter",
    "slug": "r2-webp-converter",
    "version": "2.9.1",
    "requires": "6.0",
    "tested": "6.7",
    "requires_php": "8.0",
    "author": "<a href='https://rise2.studio'>RISE2 Studio</a>",
    "author_profile": "https://rise2.studio",
    "homepage": "https://rise2.studio",
    "last_updated": "2026-03-31",
    "download_url": "https://plugins.rise2.studio/r2-webp-converter/r2-webp-converter-2.9.1.zip",
    "sections": {
        "description": "<p>Automatically converts JPG/PNG uploads to WebP format, replacing the original with the smaller file. Supports multiple conversion engines (GD, ImageMagick, cwebp) with automatic detection. Includes a one-click bulk converter for your entire Media Library.</p><h4>Features</h4><ul><li>Auto-convert JPG/PNG uploads to WebP before thumbnail generation</li><li>Multiple conversion engines: GD Library, ImageMagick, cwebp CLI</li><li>Auto-detect best available engine or choose manually</li><li>Adjustable quality slider (1-100)</li><li>Smart file-size comparison — keeps original if WebP is larger</li><li>Bulk converter for existing Media Library images</li><li>Real-time progress tracking with stop/resume</li><li>Server capabilities overview</li><li>Self-hosted update system via plugins.rise2.studio</li></ul>",
        "changelog": "<h4>2.9.1</h4><ul><li>Security: All database queries now use $wpdb-&gt;prepare()</li><li>Security: Enhanced SVG sanitizer — strips CDATA, style, use, set, animate elements and xlink:href javascript: URIs</li><li>Security: Explicit sslverify on OpenAI API requests</li><li>Security: REST crop endpoints restricted to manage_options capability</li><li>Fixed: Originals ajax_ids changed from GET to POST</li></ul><h4>2.9.0</h4><ul><li>New: Crop Thumbnails — visual crop editor with persistent positions that survive regeneration</li><li>Auto-reapply custom crops after any thumbnail regeneration</li></ul><h4>2.8.0</h4><ul><li>New: Regenerate Thumbnails — built-in bulk thumbnail regeneration (replaces Regenerate Thumbnails plugin)</li></ul><h4>2.7.0</h4><ul><li>New: Image Stats Dashboard on settings page</li><li>New: EXIF Stripping with orientation preservation (enabled by default)</li></ul><h4>2.6.0</h4><ul><li>New: SVG Upload Support with automatic sanitization — migrated from R2 Security Hardening</li><li>Migration notice if old security plugin SVG was active</li></ul><h4>2.5.0</h4><ul><li>New: Keep Originals — backup source files before conversion for later reconversion</li><li>New: Tools → R2 Originals page — storage stats, purge backups, bulk reconvert with current settings</li></ul><h4>2.4.0</h4><ul><li>New: AVIF conversion support — choose WebP, AVIF, or Smallest (auto-pick best)</li><li>New: Alt Text Audit page — find and fix images missing alt text with inline editing</li></ul><h4>2.3.0</h4><ul><li>New: Noindex media/attachment pages (enabled by default)</li><li>New: Noindex direct media file URLs via X-Robots-Tag header (with Apache/Nginx config snippets)</li><li>New: Optional 301 redirect of attachment pages to parent post or homepage</li></ul><h4>2.2.0</h4><ul><li>New: GIF Animation Preservation — prevents WordPress from stripping animation during thumbnail generation</li><li>New setting: Preserve GIF Animation (enabled by default)</li><li>Forces original animated GIF at all image sizes</li></ul><h4>2.1.3</h4><ul><li>Fixed: Uploading a file with the same name as an existing converted WebP no longer overwrites it — generates unique filename with -1, -2 suffixes</li></ul><h4>2.1.2</h4><ul><li>Updated PHP requirement to 8.0 and WordPress requirement to 6.0</li><li>Added PHP/WP version gate on activation</li><li>Added uninstall hook for clean option removal</li><li>Modernized strpos() to str_starts_with()/str_contains()</li><li>Removed deprecated imagedestroy() call</li><li>Removed unnecessary mbstring function_exists() guards</li><li>Sanitized direct $_POST access in settings</li><li>Wrapped hardcoded strings in __() for i18n</li></ul><h4>2.1.1</h4><ul><li>Maintenance release</li></ul><h4>2.0.0</h4><ul><li>Complete rewrite with RISE2 Studio branding</li><li>Added ImageMagick and cwebp conversion engine support</li><li>Added auto-detect engine selection</li><li>Added one-click bulk Media Library converter with AJAX progress</li><li>Added server capabilities overview on settings page</li><li>Added self-hosted update system via plugins.rise2.studio</li><li>Modular architecture with separate class files</li></ul><h4>1.0.0</h4><ul><li>Initial release with GD-based conversion</li></ul>"
    }
}
