Plugin Name: WP Smush Pro
Author: WPMU DEV
Tested up to: 6.0

Change Log:
----------------------------------------------------------------------
----------------------------------------------------------------------

= 4.3.1 ( 2026-08-11 ) =
- Fix: Wizard not showing the correct image count

= 4.3.0 ( 2026-08-03 ) =
- New: CDN 2.0 with multiple performance improvements and bug fixes
- New: CDN domain migrated from smushcdn.com to assetcdn.net
- New: Failed images list now displayed on the Directory Smush page
- Improvement: Implemented missing notices throughout the Smush interface
- Improvement: Added notice for API update status
- Improvement: Added Elementor Image Optimizer to the conflict notice
- Improvement: "Download all" and "Delete all" options now only shown when multiple Configs are selected
- Improvement: Security improvements
- Improvement: Minor UI/UX improvements
- Improvement: Optimization toast now shown on all pages after optimization completes
- Fix: Image size not updated after editing an image in the media library
- Fix: Individual Ignore button not working for skipped images in Bulk Smush
- Fix: Image optimization not applied to large PNG images above 2560px with Super or Ultra Smush settings
- Fix: Prevented saving corrupted images to avoid broken image issues
- Fix: Images with URL parameters not served correctly when URL is changed
- Fix: Images now correctly convert to AVIF when re-enabling WebP after a downgrade and upgrade
- Fix: Activity Log now records all post types when "All Post Types" toggle is used
- Fix: Background overlay for RTL deactivation survey
- Fix: Layout shift when closing popup
- Fix: Lazy load auto-resizing for new CDN base URL format

= 4.2.0 ( 2026-07-01 ) =
- New: Full RTL language support across all Smush pages, modals, and UI components
- Improvement: Improved bulk smush process reliability using atomic operations instead of MySQL locks
- Improvement: Bulk smush health checks now run via Ajax for faster stall detection
- Improvement: Visual feedback shown when the optimization process has stalled
- Improvement: Updated Lazy Load exclusions UI/UX
- Improvement: Missing feature notices implemented throughout the plugin
- Improvement: Tooltips now displayed even when a feature is disabled
- Improvement: Rescan only required when setting changes create new savings opportunities
- Improvement: Translation improvements and fixes
- Improvement: Removed unused code
- Fix: Lazy load iframe causing issues with the browser back button
- Fix: Smush failing to detect existing Hub connection when WPMU DEV Dashboard plugin is installed first
- Fix: Site title missing in Bulk Smush completed email notifications
- Fix: Progress bar infinite loop
- Fix: Scan stuck at 0% and bulk smush freezing issues

= 4.1.2 ( 2026-06-22 ) =
- Improvement: UX improvements

= 4.1.1 ( 2026-06-11 ) =
- Improvement: Stability improvements and minor bug fixes

= 4.1.0 ( 2026-05-25 ) =
- Improvement: Added notice when images fail to optimize
- Improvement: CDN generating long database queries resulting in broken images
- Improvement: Prevented unnecessary settings save and notification when blurring an empty textarea
- Improvement: UI and UX improvements
- Fix: Configs created in Smush 4.0 not appearing in Hub "My Configs" list
- Fix: Activity sidebar sticky position not working correctly on screens wider than 1800px
- Fix: Optimization action not triggering when Next-Gen formats disabled via dashboard toast notification
- Fix: Enabling Next-Gen server configuration on multisite triggering console errors
- Fix: Smush overriding the WordPress dashboard footer
- Fix: Free version not enforcing 5MB file size limit after downgrading from Pro
- Fix: PHP warnings and errors

= 4.0.3 ( 2026-04-28 ) =
- Fix: Resolved issue where Super Smush was not working on main site and subsites.
- Fix: Improved White Label behavior across plugin UI and status screens.
- Fix: Prevented opt-in toast from reappearing when restarting Smush without a refresh.
- Fix: Preload settings changes are now recorded in the Activity Log.
- Improvement: Updated onboarding and Directory Smush welcome modal UI and copy.
- Improvement: Minor visual refinements across header and main menu.

= 4.0.2 ( 2026-04-21 ) =
- Fix: Configs not applied correctly in certain situations.
- Fix: Corrected settings reset behavior during uninstallation when data preservation is disabled.
- Fix: Resolved a permissions issue affecting Super Compression access in Multisite environments.
- Fix: Restored PNG to JPG conversion functionality for free version users.
- Fix: Minor code improvements and stability refinements.

= 4.0.1 ( 2026-04-15 ) =
- Improvement: Informational notice when CDN propagation initiated
- Fix: CDN failing to propagate on new sites

= 4.0 ( 2026-04-14 ) =
- New: Reimagined Smush interface for a seamless, clutter-free optimization experience
- New: Comprehensive Activity Log to track real-time scans, optimizations, and configuration changes
- Improvement: Transitioned to real-time Auto-save for all settings to provide a frictionless workflow
- Fix: Minor code improvements and performance refinements

= 3.24.0 ( 2026-02-23 ) =
- Improvement: Stability improvements

= 3.23.4 ( 2026-02-05 ) =
- Fix: PHP error fixed

= 3.23.3 ( 2026-02-03 ) =
- Improvement: Stability improvements
- Fix: Minor bug fixes

= 3.23.2 ( 2026-01-16 ) =
- Improvement: Dependency updates and minor code improvements

= 3.23.1 ( 2025-12-17 ) =
- Improvement: Code improvements and minor bug fixes

= 3.23.0 ( 2025-12-03 ) =
- New: Restore multiple images at once with the new Bulk Restore option on the Media Library page
- Improvement: Restore All Images feature now shows exact reason for restoration failure
- Improvement: Backup original images and Optimize original images enabled by default for new users
- Fix: Smush Directory keeps showing images that need to be optimized
- Fix: LCP preload tag not added for relative image URLs
- Fix: Elementor background images not converted to Next-Gen formats
- Fix: Lazy-loaded video thumbnails not working in Elementor

= 3.22.1 ( 2025-10-01 ) =
- Fix: Memory issues caused by Elementor integration

= 3.22.0 ( 2025-10-01 ) =
- Improvement: More accurate use of fetchpriority=high based on LCP data
- Improvement: General UI enhancements
- Fix: LCP image not lazy-loaded after disabling preload
- Fix: Incorrect Preload Critical Images status shown in summary box
- Fix: Wrong retina image size applied by the auto-resize module
- Fix: Incorrect LCP image detected on mobile in certain cases

= 3.21.1 ( 2025-09-02 ) =
- Fix: Auto-resize module using incorrect aspect ratio for cropped images
- Fix: Auto-resize module using lower quality version in certain situations
- Fix: Images using width or height attributes with percentage values resized incorrectly
- Fix: Images in Divi shrinking on page scroll in mobile devices

= 3.21.0 ( 2025-08-18 ) =
- New: Automatic image resizing option in Lazy Loading to make sure every image fits its container size
- New: Add Missing Dimensions option in Lazy Loading to resolve Pagespeed audit of "Ensure images have explicit height and width"
- Improvement: Changed "Automatic Resizing" feature name in CDN to "Dynamic Image Sizing"
- Improvement: Added an Advanced section on the Bulk Smush page to streamline the experience
- Improvement: Added an Advanced section on the Lazy Load page to streamline the experience
- Fix: Minor code improvements

= 3.20.0 ( 2025-06-17 ) =
- New: Lazy load YouTube and Vimeo videos to improve page load speed
- Fix: Resize Detection feature sometimes doesn't work correctly with Lazy Load
- Fix: Layout shift with lazy loading
- Fix: Timeout error is returned for some transparent PNGs when Smush Mode is set to Basic
- Fix: Not all options are deleted from the database after uninstalling
- Fix: All-In-One Security incorrectly reporting issue due to Smush loopback check

= 3.19.1 ( 2025-05-29 ) =
- Improvement: Only detect LCP element above the fold
- Improvement: Add fetchpriority high to LCP element
- Improvement: Ensure compatibility of LCP feature with popular caching plugins
- Improvement: Ability to exclude pages from LCP preloading
- Improvement: Ability to clear LCP cache
- Fix: LCP element not located in certain scenarios

= 3.19.0 ( 2025-05-12 ) =
- New: Preload critical images to improve page load speed and resolve LCP (Largest Contentful Paint) warnings
- Fix: Filenames with Chinese characters were automatically converted to Unicode, causing display issues
- Fix: Lazyload module removes the background size attribute from inline CSS
- Fix: Picture tags are lazy loaded even in excluded areas

= 3.18.1 ( 2025-04-24 ) =
- Improvement: WP 6.8 compatibility

= 3.18.0 ( 2025-03-11 ) =
- New: Reduced image filesize at better visual quality with new AVIF conversion!
- Improvement: White label improvements
- Improvement: Better stats for WebP conversion
- Improvement: Compatibility check and minor fixes for PHP 8.4
- Fix: Some images listed as not optimized after Local WebP conversion
- Fix: CDN forcing browsers to load full-sized images for smaller container size

= 3.17.1 ( 2025-02-06 ) =
- Improvement: Security hardening
- Improvement: Minor code improvements

= 3.17.0 ( 2025-01-29 ) =
- Improvement: Use streams to send full image to the Smush API
- Fix: Number of optimized images inaccurate
- Fix: When Local WebP Direct Method and Lazy Load are enabled, images inside picture tags not being served as WebP
- Fix: Error "Server configurations haven't been applied yet" shown unnecessarily sometimes
- Fix: CDN slowing down page load due to unnecessary DB queries
- Fix: Divi breaking Smush CDN image resizing
- Fix: Auto-resize feature not adding new sizes when srcset is already present in img tag

= 3.16.12 ( 2025-01-08 ) =
- Fix: Conflict with Formidable Forms
- Fix: Avoid image fetch errors

= 3.16.11 ( 2024-12-10 ) =
- Fix: CDN exclusions conflict with auto resizing

= 3.16.10 ( 2024-12-04 ) =
- New: Added a UI option to exclude specific images from Smush CDN.
- Improvement: Disabled Noscript tags by default to prevent broken images and potential performance regressions.
- Improvement: Enhanced the Bulk Smush process for a smoother user experience.
- Improvement: Improved WPML compatibility for seamless multilingual support.
- Fix: Excluded lazy loading placeholders from the CDN to resolve conflicts and prevent broken images.
- Fix: Added WP 6.7 compatibility fixes.

= 3.16.9 ( 2024-11-13 ) =
- Improvement: Smush API upgrades and improvements for better memory management
- Fix: Prevent broken images on Smush CDN when using relative links
- Fix: Hummingbird Performance Test conflicts
- Fix: Missing thumbnails when using PNG to JPG conversions

= 3.16.8 ( 2024-09-19 ) =
- Fix: Smush API handing improvements

= 3.16.7 ( 2024-09-11 ) =
- Improvement: Reduced memory consumption during the Smush process
- Improvement: Better directory Smush compatibility with Flywheel
- Fix: Unicode characters in image URLs causing issues
- Fix: Improved compatibility with native lazy loading
- Fix: PHP errors and warnings

= 3.16.6 ( 2024-07-30 ) =
- Fix: PHP warnings
- Improvement: Compatibility with WP 6.6

= 3.16.5 ( 2024-06-20 ) =
- Improvement: Security improvements
- Fix: Compatibility issue with Divi

= 3.16.4 ( 2024-05-22 ) =
- Fix: Loopback error shown unnecessarily for some sites
- Improvement: Better UI for the loopback error

= 3.16.3 ( 2024-05-15 ) =
- Improvement: Better handling of rotated images
- Improvement: Better pre-flight checks before bulk Smush is started
- Fix: Performance issues in CDN and webp link replacement functionality
- Fix: Bulk Smush performance issues
- Fix: Compatibility issue with wp.com

= 3.16.2 ( 2024-04-09 ) =
- Fix: LazyLoad module not working correctly for picture elements in certain situations
- Fix: LazyLoad module not working correctly for some CSS variables
- Fix: Better handling of !important CSS rules by the LazyLoad module
- Fix: Performance issues on some WooCommerce pages

= 3.16.1 ( 2024-03-27 ) =
- Improvement: Better compatibility with page builders
- Improvement: General code improvements
- Fix: WP Offload integration preventing some formats from getting offloaded

= 3.16.0 ( 2024-03-06 ) =
- New: Directly serve Local Webp images, no rewrite rules required!
- New: Support for inline style tags in CDN and Local WebP modules
- New: Support for multiple background images in CDN and Local WebP modules
- New: Better support for relative links in CDN and Local WebP modules
- New: Better REST API support in CDN and Local WebP modules
- New: CDN and Local WebP images served in WooCommerce REST API responses
- New: Local WebP compatibility with Windows IIS servers
- New: Local WebP compatibility with bedrock
- New: Local WebP compatibility with Litespeed
- New: Local WebP compatibility with Cloudways
- New: Lazy loading of background images
- Fix: Local WebP redirection doesn't work for images with special characters
- Fix: Free version of Smush creating smush-webp folder when activated
- Fix: Extra slash added to image URLs during optimization
- Fix: WP 6.3 compatibility - Skip lazyload for high priority images

= 3.15.5 ( 2024-02-06 ) =
- Improvement: Update the number of CDN locations
- Improvement: Minor copy and UI adjustments

= 3.15.4 ( 2024-01-23 ) =
- Fix: Media library scan gets stuck on some websites
- Improvement: Minor copy and UI changes

= 3.15.3 ( 2023-12-20 ) =
- Improvement: Code stability improvements

= 3.15.2 ( 2023-12-06 ) =
- Fix: Compatibility issues with WP Offload Media integration
- Fix: Resize module deletes thumbnail when there is a naming conflict

= 3.15.1 ( 2023-11-15 ) =
- Improvement: Code stability improvements

= 3.15.0 ( 2023-10-11 ) =
- Improvement: Image size limit increased for pro version
- Fix: Query running frequently and causing performance issues on some sites

= 3.14.2 ( 2023-08-23 ) =
- Fix: Media library scanner not identifying some MariaDB versions correctly
- Improvement: Code improvements

= 3.14.1 ( 2023-07-24 ) =
- Improvement: Minor code improvements and fixes

= 3.14.0 ( 2023-07-17 ) =
- New: Ultra Smush - Level up your image compression, while preserving remarkable image quality
- Fix: Resolved issue with image resize in WP versions < 6.0
- Fix: Resolved PHP 8.x error on GoDaddy Managed WP Hosting
- Fix: Other minor bug fixes and UI improvements

= 3.13.2 ( 2023-07-05 ) =
- Improvement: Small code and text improvements

= 3.13.1 ( 2023-06-13 ) =
- Improvement: Better memory management during scans
- Fix: Dot added to file path when year and month directories disabled
- Fix: Compatibility issue with WP.com
- Fix: Rename config functionality not working
- Fix: Compatibility issue with WP Offload Media
- Fix: PHP warnings
- Fix: Duplicate query

= 3.13.0 ( 2023-05-30 ) =
- New: Scan for detecting changes in the media library
- Improvement: Performance improvements on large sites
- Improvement: Code refactoring
- Fix: PHP warnings and notices
- Fix: Missing comments for translation strings that have placeholders in them
- Fix: Compatibility issues with WP Offload Media
- Fix: Timeout on Smush pages when there are more than 200k images
- Fix: Images incorrectly marked as requiring resmush
- Fix: Ignore link stuck in Grid Layout mode in the media library

= 3.12.6 ( 2023-03-09 ) =
- Enhance: Compatibility with WordPress 6.2.
- Fix: Upgrade modal reappears after closing

= 3.12.5 ( 2023-01-18 ) =
- Fix: CDN notice issue
- Fix: PHP 8.2 compatibility warnings
- Fix: Smush acting as free on staging

= 3.12.4 ( 2022-11-17 ) =
- Improvement: Code and compatibility improvements

= 3.12.3 ( 2022-10-24 ) =
- Fix: Free to pro upgrade issue

= 3.12.2 ( 2022-10-19 ) =
- Improvement: Security hardening
- Fix: Issues on older PHP versions

= 3.12.1 ( 2022-10-11 ) =
- Fix: PHP error on non-English language sites

= 3.12.0 ( 2022-10-11 ) =
- New: Bulk smush images in the background!
- New: Revised limits on bulk image optimization
- New: Better GDPR compliance by replacing Google fonts with Bunny fonts
- New: Filter on media library page to view media items with errors
- New: Option to receive an email once bulk smush is complete
- Fix: Some images incorrectly selected for resmush
- Fix: Database error while converting PNG to JPG on WordPress 6.1 Beta

= 3.11.1 ( 2022-08-19 ) =
- Fix: Fallback to sequential processing when parallel processing not possible

= 3.11.0 ( 2022-08-11 ) =
- New: Smush all image sizes in parallel for improved performance
- Improvement: Code improvements

= 3.10.3 ( 2022-07-14 ) =

- Enhance: CDN activation process
- Enhance: Improve media library image filters
- Enhance: CDN compatibility with Avada theme
- Enhance: Add notice about disabled folders in directory Smush module
- Fix: Errors table UI on bulk smush page
- Fix: Bulk smush UI when images have been removed when page was already loaded
- Fix: Cron job of logger library not running properly
- Fix: Remove tools meta box from dashboard page
- Fix: Recover image from NextGen Gallery button does not reset Smush data
- Fix: Image dimensions meta does not reset after restoring a resized image in NextGen Gallery
- Fix: Incorrect percent of total savings on Dashboard page
- Fix: Pro feature enable/disable toggles are clickable in free version

= 3.10.2 ( 2022-06-16 ) =

- Enhance: Data processing
- Enhance: Database calls
- Fix: Loading images from remote location

= 3.10.1 ( 2022-06-09 ) =

- Fix: PHP error on dash page

= 3.10.0 ( 2022-06-09 ) =

- New: Lossy compression is now free for all users
- New: Summary meta box
- Enhance: Move out image restore to bulk smush module
- Enhance: Move out image resize detection to settings module
- Enhance: Update opt-in notice design
- Fix: Upsell notice logic
- Fix: Skip image sizes not in WordPress format
- Fix: Skip onboarding wizard if a config has been applied
- Fix: Image sizes selector
- Fix: Rename "Basic" config to "Default"
- Fix: Do not show WebP notice in case of error
- Fix: Auto compression does not work for NextGen Gallery
- Fix: Settings link on Plugins page
- Fix: Welcome modal does not close when we go to the Bulk Smush page

= 3.9.11 ( 2022-05-23 ) =

- Enhance: Code quality
- Fix: Minor code quality issues
- Fix: Update internal libraries

= 3.9.10 ( 2022-05-17 ) =

- New: Gravity Forms integration
- New: `smush_background_images_regex` and `smush_images_from_content_regex` filters to adjust regex rules for finding images on the page
- New: `smush_cdn_before_process_background_src` filter to adjust background image src
- New: Add additional parameters to `smush_skip_adding_srcset` filter to allow disabling auto-resize for selected images
- Enhance: Compatibility with WPBakery page builder
- Enhance: Compatibility with Offload Media plugin
- Enhance: Handling images via REST API endpoints
- Fix: Directory Smush savings cached and not updated
- Fix: "What's new" modal not hiding if white label is enabled
- Fix: Missing primary key on smush_dir_images table
- Fix: Scaled images not being resized on resize settings change
- Fix: Bulk Smush will now show all errors, instead of just the first 5
- Fix: Animated GIF images not being excluded from bulk Smush
- Fix: Only allow network wide activation of Smush

= 3.9.9 ( 2022-05-03 ) =

- Enhance: Code quality
- Enhance: Handling user input
- Enhance: Update React modules to latest versions
- Fix: XSS vulnerability when uploading modified configs

= 3.9.8 ( 2022-03-22 ) =

- New: Add expiry header to Nginx template for WebP
- New: Add `wp_smush_webp_dir` filter to customize WebP directory
- Fix: XSS vulnerability
- Fix: Disable submit button on Integrations page when no integrations available
- Fix: CDN bandwidth limit status message
- Fix: Text alignment issue on Bulk Smush page
- Fix: Highlighting selected lazy load spinner with color accessibility
- Fix: Compatibility issue with WP Offload Media 2.6.0
- Fix: Undefined offset notice with certain WooCommerce themes

= 3.9.7 ( 2022-03-01 ) =

- Fix: Local WebP is not activated on applying config after reset settings
- Fix: Missing WebP file for WP scaled images
- Fix: Fatal error on PHP 5.6
- Fix: Compatibility issue with WP Offload Media

= 3.9.6 ( 2022-02-09 ) =

- Enhance: Do not close the Directory Smush modal in case of error
- Enhance: Tooltips in CDN module
- Fix: Compatibility issue with PHP 8.1
- Fix: "Choose Directory" button loading state in case of error
- Fix: PNG to JPG conversion leaves behind some thumbnails after deleting the image
- Fix: PNG images that need resizing don't get converted to JPG
- Fix: Issue creating the WebP test files
- Fix: Incorrect unique file names during PNG to JPG conversion
- Fix: Duplicate thumbnails while converting PNG to JPG
- Fix: Auto refresh API status when updating to Pro version

= 3.9.5 ( 2022-01-25 ) =

- Fix: Translation strings
- Fix: Remove upsells
- Enhance: Update admin menu icon



1115077-1786508151-au