= 4.3.1 = * Tested up to WordPress 7.1. * Feature: Welcome modal on first activation shows local image and video processing availability, site-level missing capability chips (formats no local processor can provide), and a subtle CDN/cloud upsell when unlicensed. * Feature: Once-ever review prompt on Overview after meaningful savings (distinct optimized attachments and bandwidth saved), with WordPress.org review and support links; suppressed while welcome is showing or optimizations have failed. Force-open with `flux_show_review=1` for testing. Dialog uses BrandIcon, inline savings Chip, solopreneur copy, and close control. * Feature: Need help links on Overview failed-optimizations notice and attachment details error alerts. * Deprecated: VideoConverter::get_conversion_stats() stub; use ConversionTracker for live conversion statistics. = 4.3.0 = * Feature: Local HEIC/HEIF conversion with Imagick decode (libheif 1.18.2+ recommended for modern iOS photos), optional animated HEIF-to-WebP via FFmpeg, and separate HEIC capability reporting. * Feature: Unified Action Scheduler retries for local and cloud failures (3 automatic attempts with progressive backoff), with processing routed by current license/settings and Flux logging on failures. * Feature: Redesigned attachment details panel with async REST loading, compact skeleton placeholder, MUI Grid responsive layout that stays within the WordPress container, size accordion, format URLs, and a license-aware CDN upsell. * Feature: Attachment details poll every 15 seconds while Pending (including locally deferred video conversions) and refresh Convert/Disable/Enable actions in place without a full page reload. * Feature: Attachment details show only formats enabled and supported by the active media converter (WebP/AVIF for images, AV1/WebM for videos), with per-size savings badges compared to the same-size original. * Feature: Attachment details and conversion controls use WordPress `edit_post` attachment capabilities. * Fix: External processing activation requires a valid license (`is_external_processing_active`); uninstall removes the correct option keys while preserving shared suite account ID; safer database table-drop SQL; external operations builder hardening. * Fix: Image conversion commits files and metadata/statistics together; skipped retry dispatches no longer consume the retry budget; plugin and common external API URL/timeout constants stay aligned before shared client init. = 4.2.0 = * Feature: Media Library shows optimization status and filter options (Optimized, Pending, Failed, Disabled, Unprocessed). Conversion stats API now reports failed external job counts. New constants added: FLUX_MEDIA_OPTIMIZER_STALE_JOB_THRESHOLD, FLUX_MEDIA_OPTIMIZER_FAILED_JOB_RETRY_LIMIT, FLUX_MEDIA_OPTIMIZER_CLEANUP_BATCH_SIZE. * Feature: Daily cleanup cron recovers stale external jobs, automatically retries failed jobs with a set limit, and cleans expired admin notices. = 4.1.6 = * Security: Harden external webhook endpoint (account ID verification in permission_callback, job-state checks, CDN host allowlist, rate limiting). * Security: Register webhook route only when external service is enabled and license is valid. * Fix: Remove duplicate admin AJAX handler registration for attachment actions. * Security: Avoid exposing raw exception messages in plugin REST error responses. * Removed legacy plugin logs REST API and `flux_media_optimizer_logs` table creation; logging uses flux-plugins-common (`flux_plugins_logs` + `flux-plugins-common/v1/logs`). = 4.1.5 = * Guard against php 8.0 - we support php 8.1>. * Removed some unused code and minor cleanup. = 4.1.4 = * Updating dependency to be compatible with php 8. = 4.1.2 = * Updated build scripts and added link on settings page. = 4.1.1 = * Moved old compatibility system over to common lib. = 4.1.0 = * Moved logs and more infrastructure to common lib - internal prepartion for Flux Suite development. = 4.0.1 = * Accidental commit removed. = 4.0.0 = * Updated navigation in preparation for features and plugin organization. * Fixed issues with Action Scheduler Bulk Processing. * Core system is being decoupled for future plugin integrations. * Fixed WP min version verification tags - we support WP 5.8 now. = 3.0.3 = * Fixed async operations in certain scenarios. = 3.0.2 = * Fixed status message on attachment screen * Fixed issue with local video processing not being queued to async = 3.0.1 = * Fixed readme formatting = 3.0.0 = * Major architecture refactoring for improved performance and maintainability * Added optional global CDN integration for worldwide media delivery * Enhanced video optimization with AV1 and WebM support * Improved image conversion with better format detection * Streamlined settings interface with better organization * Enhanced bulk conversion processing * Improved error handling and logging * Better WordPress integration with Gutenberg blocks * Full compatibility with WordPress 6.2+ = 2.0.5 = * Security improvements: Added comprehensive input sanitization for all settings * Security improvements: Fixed unescaped error messages in AJAX handlers * Security improvements: Fixed database query safety in uninstall function * Security improvements: Escaped JavaScript values in onclick handlers * Code quality: Refactored settings sanitization to use declarative schema approach * Code quality: Added REST API input validation and sanitization callbacks * Internationalization: All error messages are now translatable = 2.0.0 = * Added animated GIF support with animation preservation * Automatic detection and use of Imagick for animated GIF conversion (when available) * Graceful fallback to GD for static GIFs and animated GIFs when Imagick is unavailable * Enhanced image format detection for GIF files * Improved processor selection logic for optimal format support = 1.0.0 = * Initial release * Automatic WebP and AVIF image conversion * Hybrid approach for maximum browser compatibility * Bulk processing for existing media * Modern React-based admin interface * WordPress integration with Gutenberg blocks * Quality control settings * Conversion statistics and performance metrics * Privacy-compliant architecture ready for optional external service integrations