AVIF Local Support

Changelog

0.6.3

  • Fix: Lightbox/slideshow links now correctly rewrite from JPEG to AVIF when the image was already wrapped in a <picture> element by another plugin (e.g. photo-collage). Previously the <a> href rewriting was skipped for images inside <picture>, causing lightboxes to load full-size JPEGs instead of AVIFs.

0.6.2

  • Chore: Added a commit-based beta build workflow that publishes prerelease ZIPs to GitHub Releases.
  • Chore: Kept stable release builds tag-based and guarded WordPress.org deploy so beta-* tags are ignored.

0.6.1

  • Fix: Clear Logs now reliably clears stored logs and prevents stale long-running processes from repopulating old entries.
  • Enhancement: Logs panel now refreshes from server state after clearing, so UI always matches stored data.
  • Enhancement: Clear Logs button is temporarily disabled while the clear request is in progress to prevent duplicate requests.
  • Chore: Uninstall now removes the logs-generation option used by the clear-logs protection.

0.6.0

  • Fix: Removed redundant on-upload AVIF conversion hook path to avoid duplicate work and keep upload conversion predictable.
  • Fix: Improved daily scheduling behavior so overdue events run instead of being pushed to tomorrow, and on-demand AVIF scans always run regardless of schedule toggle state.
  • Feature: Added stop control for bulk LQIP generation (REST endpoint + transient stop signal + admin status updates).
  • Enhancement: Standardized admin LQIP wording and labels, including a short LQIP explanation at the top of the LQIP tab.
  • Fix: Uninstall now clears LQIP stop transient and uses delete_post_meta_by_key() for ThumbHash metadata cleanup.
  • Chore: Plugin Check hardening for release by excluding non-distribution files from check scope and clearing stray .DS_Store files.

0.5.23

  • Feature: Added an AVIF Settings Playground for real JPEG/AVIF preview comparisons and one-click apply of tested settings.
  • Feature: Expanded Tools with dedicated LQIP bulk generation/deletion controls and progress/status feedback.
  • Enhancement: Refreshed admin UX across tabs (clearer labels, advanced sections, improved diagnostics and logs layout).
  • Enhancement: Updated WordPress.org screenshots to match the current AVIF, Placeholders, Tools, and About screens.
  • Fix: Plugin Check hardening for release by escaping help-tip output safely and using wp_delete_file() in preview cleanup paths.

0.5.22

  • Fix: AVIF Delete All now removes only plugin companion AVIF files for JPEG attachments, preventing deletion of user-uploaded AVIF originals.
  • Fix: CSS background AVIF overrides now keep a JPEG fallback and use image-set(…) so non-AVIF browsers still render backgrounds.
  • Fix: ThumbHash decoder aspect-ratio extraction corrected (h16 & 7) to match the upstream reference implementation.
  • Fix: Restore defaults now resets background-image and all LQIP settings in addition to core AVIF settings.
  • Fix: Corrected malformed HTML in the Tools diagnostics table around the schedule-time display.
  • Fix: Clarified Tools count labels to match scope: AVIF now shows file-level totals as “JPEG Files” (originals + generated sizes), and LQIP shows attachment-level totals as “Media Items” (plus clearer “Without AVIF/LQIP” and “AVIF files” progress wording).

0.5.21

  • Enhancement: ThumbHash input increased to 100px for richer LQIP placeholders.
  • Fix: AVIF srcset now correctly lists all responsive sizes by running after WordPress adds srcset attributes.
  • Fix: Single AVIF images now include width descriptors for proper responsive selection.
  • Refactor: Removed redundant render_block filter; unified image processing in the_content filter.

0.5.20

  • Fix: Instant reveal now waits for img.decode() to prevent white flash on fast-loading images.

0.5.19

  • Refactor: Simplified LQIP fade transition — removed blur filter and scale animation.
  • Fix: Eliminated white flash during LQIP-to-image transition by ensuring image is fully visible before removing placeholder.
  • Fix: Fast-loading images now appear instantly without the 400ms fade delay.
  • Cleanup: Removed unused per-image load duration tracking.

0.5.18

  • Feature: LQIP Generate All now shows real-time progress counter, status text, and stop button.
  • Feature: Unified spinner/status UI for both AVIF and LQIP tools panels.
  • Fix: “AVIF conversion available” badge now correctly shows “Yes” when engines report support.
  • Fix: AVIF Delete All button now correctly re-enables Generate All button after completion.

0.5.17

  • Fix: LQIP background now correctly clears for already-loaded/cached images.

0.5.16

  • Feature: Restored LQIP background cleanup after image load.
  • Feature: Added “Pixelated placeholders” option to display ThumbHash as sharp pixels.
  • Enhancement: Improved LQIP transition — blur-up effect with scale animation.
  • Change: Transition updated to 400ms ease-out for smoother reveal.

0.5.15

  • Enhancement: Tuned LQIP fade thresholds based on human perception research.
  • Change: Page load window increased to 2 seconds (covers initial render).
  • Change: Individual load duration increased to 200ms (perception threshold).

0.5.14

  • Fix: WordPress Plugin Check compliance — proper escaping for inline scripts/styles.
  • Fix: Replace strip_tags() with wp_strip_all_tags() in BackgroundImages.
  • Fix: Prefix global variables with plugin prefix.
  • Chore: Remove .DS_Store files from repository.

0.5.13

  • Refactor: Simplified LQIP fade logic by removing background cleanup step.

0.5.12

  • Feature: LQIP operations now log successes, failures, and summaries to the Logs panel.
  • Fix: LQIP stats now correctly validate metadata structure, matching generation skip logic.
  • Fix: Add object cache clearing before LQIP generation to prevent stale data on servers with persistent caching.
  • Fix: Prevent false positive ”success” reports in wp lqip generate when generation fails silently but stale data exists.
  • Fix: Remove deprecated imagedestroy() calls for PHP 8.0+ compatibility.
  • Refactor: Consolidate LQIP generation logic into shared helper for consistency between Admin UI and CLI.

0.5.11

  • Fix: Critical fix for wp lqip generate –force option.
  • Fix: wp lqip delete –all now correctly clears object cache to prevent stale stats.

0.5.9

  • Feature: Added –force option to wp lqip generate command to force regeneration of LQIPs.

0.5.8

  • Fix: Resolved “Insufficient memory” error when generating LQIP for high-resolution images by optimizing ImageMagick loading.

0.5.7

  • Feature: CSS background image AVIF support — replaces JPEG background images with AVIF versions. Thanks to David C.
  • Feature: Works with page builders (Elementor, Divi, Beaver Builder, WPBakery, Bricks, etc.)
  • Feature: New setting “Serve AVIF for CSS backgrounds” under AVIF serving options
  • Fix: Versioned image URLs (e.g., image.jpg?ver=123) now correctly detected and replaced
  • Fix: Query string stripping for CSS file path resolution
  • Security: Sanitize CSS selectors to prevent XSS injection

0.5.6

  • Enhancement: Smart fade logic — only apply fade transition for slow-loading images
  • Enhancement: Images loading within 1 second of page load display instantly (no fade)
  • Enhancement: Cached/fast-loading images skip fade for snappier feel

0.5.5

  • Feature: Added “Fade in images” option to smoothly transition from LQIP to full image
  • Fix: Used img.decode() to prevent white flash during LQIP fade transition
  • Fix: CSS selector now correctly handles both picture wrapper and standalone img cases

0.5.4

  • Feature: Added optional smooth fade-in for LQIP images
  • Translations: Added German, Italian, Japanese, Portuguese (Brazil), and Russian translations
  • Enhancement: Updated translations for Spanish, French, Hindi, and Chinese
  • Fix: wp lqip generate –all now correctly processes all eligible images
  • Fix: wp lqip stats accurately counts all supported image types
  • Fix: LQIP JavaScript is now correctly excluded when feature is disabled
  • Fix: Improved error logging for LQIP generation failures

0.5.3

  • Fix: Added missing LQIP options to plugin activation (thumbhash_size, generate_on_upload, generate_via_schedule)
  • Fix: Added missing LQIP options to uninstall cleanup for complete data removal
  • Fix: Properly minified thumbhash-decoder.min.js (62% size reduction)
  • Fix: Excluded developer documentation from WordPress plugin distribution

0.5.2

  • Feature: Bundled ThumbHash library — no Composer dependency required on deployment
  • Enhancement: Improved LQIP generation with better error handling, progress reporting, and memory management
  • Enhancement: Added –limit and –verbose options to wp lqip generate command
  • Fix: Resolved hanging issue in wp lqip generate –all command with better error handling and progress output
  • Fix: Clear error messages when ThumbHash library is unavailable

0.5.1

  • Fix: Improved error handling and logging for ThumbHash generation
  • Enhancement: WP-CLI now warns if LQIP feature is disabled in settings
  • Enhancement: Better diagnostics for missing source files during LQIP generation

0.5.0

  • Feature: LQIP (Low Quality Image Placeholder) using ThumbHash for smooth image loading
  • Feature: WP-CLI commands for LQIP management (wp lqip stats, wp lqip generate, wp lqip delete)
  • Feature: Dedicated LQIP settings tab with enable/disable toggle
  • Enhancement: Reorganized admin UI with combined AVIF Tools section
  • Enhancement: Consistent stat labels across AVIF and LQIP tools (Images/With/Without)
  • Enhancement: Renamed “Test conversion” to “Test AVIF Conversion” for clarity
  • Enhancement: Removed beta labels from LQIP feature
  • Fix: LQIP stats now correctly count all supported image types (JPEG, PNG, GIF, WebP)
  • Dev: Auto-fixed 6,152+ PHPCS issues for WordPress coding standards compliance

0.4.9

  • Fix: WordPress Plugin Check compliance — proper escaping, Yoda conditions, and PHPCS ignores
  • Fix: Improved uninstall cleanup with object cache awareness
  • Dev: Code formatting aligned with WordPress coding standards

0.4.8

  • Fix: Resolved logging pipeline issues where REST API couldn’t retrieve logs due to is_admin() check
  • Fix: Fixed upload test timeout by temporarily disabling synchronous AVIF conversion during test uploads
  • Fix: Improved AJAX feedback for log operations (clear/refresh)
  • Docs: Updated minimum requirements to WordPress 6.8 and PHP 8.3
  • Docs: Cleaned up README header format for WordPress.org compatibility
  • Docs: Removed donate link from readme
  • Dev: Added WordPress stubs for improved IDE support

0.4.7

  • Enhancement: Improved time formatting in conversion progress display (hh:mm:ss format)
  • Enhancement: CLI code formatting improvements
  • Fix: Corrected contributor username in readme

0.4.6

  • Docs: Added WordPress.org metadata headers
  • Docs: Updated tested up to WordPress 6.9

0.4.5

  • Fix: Corrected “Upload & Test” status display issues (spinner visibility, status text alignment)
  • Fix: wp avif delete command now correctly reports success/failure counts and handles permission errors
  • Fix: wp avif convert command output now includes count of missing AVIFs
  • Enhancement: Added GitHub Action for automated release creation

0.4.4

  • Feature: Fully asynchronous “Upload & Test” conversion to prevent timeouts on large images
  • Enhancement: Re-architected test conversion to use sequential polling
  • Enhancement: Admin UI modularized with template-based architecture
  • Optimization: Removed unused vendor storage and legacy dependencies, reducing plugin size
  • Fix: Restored robust queue rendering for test results

0.4.3

  • Added WP-CLI commands: status, convert, stats, logs, delete
  • Refactored admin interface with modular architecture
  • Improved logging and environment diagnostics

0.4.2

  • Auto-detection for ImageMagick CLI in “Auto” mode
  • REST API replaces admin-ajax for better performance
  • Smart -define namespace probing (heic/avif)
  • Tested with WordPress 6.9

0.4.1

  • Compatibility: Tested up to WordPress 6.9

0.4.0

  • Major refactor: strict types, DTOs, dedicated Encoder classes
  • Optimized frontend HTML parsing
  • Enhanced CLI execution and error handling
  • Composer support (PSR-4 ready)

0.3.x

  • Environment variable injection for restricted PHP environments
  • Original image source handling fixes
  • Engine priority: CLI, Imagick, GD

0.2.x

  • ImageMagick CLI support with auto-detection
  • Memory pre-check to prevent fatal errors
  • Logs panel with detailed entries
  • Lightbox anchor rewriting
  • Chroma subsampling and bit depth options

0.1.x

  • Initial release with Imagick/GD support
  • ICC profile preservation
  • EXIF orientation handling
  • Basic admin interface

See GitHub releases for complete version history.

Plugin Website
Visit website

Author
David Degner
Version:
0.6.3
Last Updated
March 9, 2026
Active Installs
10
Requires
WordPress 6.8
Tested Up To
WordPress 6.9.1
Requires PHP
8.3

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.