=== Smush – Image Optimization, Compression, Lazy Load, WebP & CDN===
Plugin Name: Smush – Image Optimization, Compression, Lazy Load, WebP & CDN
Version: 4.2.0
Author: WPMU DEV
Author URI: https://wpmudev.com/
Contributors: WPMUDEV, alexdunae
Tags: optimize images, convert webp, image optimization, compress images, image optimizer
Requires at least: 6.4
Tested up to: 7.0
Stable tag: 4.2.0
Requires PHP: 7.4
License: GPL v2 - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Compress and optimize images, enable lazy load, serve WebP & AVIF, and speed up your site with a global image CDN.

== Description ==
**Compress images, optimize images, and enable image lazy load automatically with the powerful Smush image optimizer to keep your WordPress site fast, without losing quality.**

Smush makes it easy to optimize images, compress images, and deliver images faster across your entire WordPress site. This all-in-one image optimizer automatically reduces image file sizes, enables image lazy load, and serves modern formats like WebP and AVIF, all without breaking image quality or adding extra work.

Whether you’re running a blog, store, or portfolio, Smush helps you optimize images at scale and keep your site fast with a trusted WordPress image optimizer.

**Trusted by 1+ Million Sites | 4.8/5 Star Rating**

Get everything you need to optimize images and speed up your site. Smush works out of the box with no complicated setup - just install and let it handle the rest.

[youtube https://www.youtube.com/watch?v=4E5PgBsi6eI&feature=youtu.be]

### Compress images without losing quality ###

Reduce image file size automatically while keeping your images sharp and clear. Smush is an easy-to-use image optimizer which let’s you compress images using both lossless and lossy compression, giving you the best balance of quality and performance without extra work.

You can also compress images outside the media library using Directory Smush, making it easy to optimize images stored in theme folders, plugins, or other directories on your server.

### Lazy load images for faster pages ###

Enable image lazy load across your site so images load only when needed. This image optimizer improves initial page speed and creates a smoother experience for visitors without extra configuration.

### Serve WebP and AVIF images automatically ([PRO](https://wpmudev.com/project/wp-smush-pro/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme-next-gen)) ###

Convert images to WebP and AVIF and serve them automatically to supported browsers. Smush helps you optimize images using next-gen formats to reduce file size and improve load times across your WordPress site.

### Deliver images faster with an Image CDN ([PRO](https://wpmudev.com/project/wp-smush-pro/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme-cdn)) ###

Serve images through a global image CDN to reduce latency and improve load times for visitors around the world.

*   119 global CDN servers
*   Up to 500 GB of bandwidth
*   Faster image delivery based on visitor location
*   Improved performance for image-heavy and high-traffic sites

### Automatically resize and fix image dimensions ([PRO](https://wpmudev.com/project/wp-smush-pro/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme-auto-resize)) ###

Eliminate common PageSpeed warnings and improve layout stability with automatic image sizing. Smush dynamically resizes images to perfectly fit their containers, regardless of original size, helping fix the “Properly size images” warning in Google PageSpeed Insights.

It also automatically adds missing width and height attributes to your images, improving rendering speed and reducing layout shifts. This helps you meet the “Ensure images have explicit width and height” recommendation without any manual work.

### Optimize your entire site, automatically ###

Smush works across your whole site as a powerful image optimizer to optimize images as you upload them and maintain performance over time without manual work.

*   Optimize images automatically on upload
*   Compress images in bulk or individually
*   Works with your existing media library
*   No need to re-upload images
*   Enable image lazy load across your site
*   Convert images to WebP and AVIF
*   Deliver images with an integrated image CDN
*   Automatically resize and serve correctly sized images
*   Optimize images outside the media library with Directory Smush

### Built for performance ###

Smush improves page speed and overall performance by reducing image weight and improving how images are delivered.

*   Reduce page load times
*   Improve user experience
*   Better performance for image-heavy pages
*   Supports image lazy load and preload images (PRO) for faster perceived performance

### Works with your existing setup ###

Smush is built to work with your current WordPress setup, including popular themes, page builders, and plugins.

*   Compatible with Gutenberg, Elementor, WPBakery, and more
*   Works with WooCommerce stores
*   No need to change your workflow
*   Easy to enable and configure

### Designed to be simple ###

You don’t need to be a performance expert to optimize images with Smush image optimizer.

*   Works out of the box
*   Simple settings when you need them
*   No technical knowledge required
*   Safe to use on any site

### Why choose Smush? ###

There are plenty of image optimization plugins, but Smush focuses on making it easy to optimize images, compress images, and improve performance without complexity. As a leading WordPress image optimizer, Smush gives you powerful optimization tools without the technical hassle.

*   Trusted by over 1 million WordPress users
*   Built specifically for WordPress
*   Regular updates and improvements
*   Backed by the WPMU DEV team

### Get started in minutes ###

Install Smush, activate it, and start to compress images, optimize images, and enable image lazy load right away. This easy-to-use image optimizer helps most sites see improvements immediately without changing how they upload or manage images.

== Frequently Asked Questions ==

= How do I optimize images in WordPress with Smush? =

Smush makes it easy to optimize images in WordPress automatically.

Once installed, Smush will optimize images and compress images as you upload them. You can also bulk optimize images already on your site with one click.

= How do I compress images without losing quality? =

Smush lets you compress images using both lossless and lossy compression.

This means you can reduce file sizes and improve performance without noticeable quality loss.

= Can Smush serve images through an image CDN? =

Yes. Smush Pro includes a global image CDN.

*   119 global CDN servers
*   Up to 500 GB of bandwidth
*   Faster delivery based on visitor location

This helps improve load times for users around the world.

= How do I fix “properly size images” in PageSpeed Insights? =

This warning means images are larger than the space they are displayed in.

Smush includes automatic image resizing, which dynamically resizes images to fit their containers. This helps eliminate the “Properly size images” warning without manual work.

= How do I fix “images missing width and height” warnings? =

Smush can automatically add missing width and height attributes to your images.

This improves rendering speed, reduces layout shifts, and helps you pass Core Web Vitals checks like CLS.

= Can Smush convert images to WebP and AVIF? =

Yes. Smush can convert images to WebP and AVIF formats to reduce file size and improve performance.

These next-gen formats help you optimize images and meet modern PageSpeed recommendations.

= Why does PageSpeed say “serve images in next-gen formats”? =

This means your images are not using WebP or AVIF.

Smush helps you convert images to these formats so they load faster and improve your PageSpeed score.

= Does Smush delete or replace my original images? =

No. Smush does not delete your original images.

It compresses and optimizes resized versions by default. Full-size image compression is available in Smush Pro.

= Why aren’t some images being compressed? =

In the free version, images over 5MB are skipped.

Smush Pro supports compressing images up to 256MB.

= Do I still need Photoshop to optimize images? =

No. Smush automatically optimizes images across your entire site, including images added by plugins and themes.

= What is the difference between optimize images and compress images? =

Compressing images reduces file size. Optimizing images includes compression plus resizing, format conversion, and delivery improvements.

Smush handles both automatically.

= How can I report security issues or bugs? =

We take plugin security incredibly seriously; if you have a bug or vulnerability to report, you can do so through the Patchstack Vulnerability Disclosure Program. It’s fast, easy, and you will be notified when the issue is fixed. [Report a vulnerability](https://patchstack.com/database/vdp/wp-smushit).

== Screenshots ==

1. Configure your site in seconds.
2. Effortless Bulk Image Optimization via the new dashboard.
3. Directory Smush: Optimize images in any folder on your server.
4. Boost site performance with advanced Lazy Loading settings.
5. Serve images at lightning speed via our global CDN.

== Changelog ==

= 4.2.0 ( 2026-07-06 ) =
- 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-06-01 ) =
- 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-29 ) =
- 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
- New: Enhanced Super Compression now available as a free Hub-connected feature for all users
- New: Uninterrupted Bulk Smushing - optimize your entire library at once without the 50-image limit
- New: Free Background Processing to handle heavy optimization tasks while you work
- 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

[Changelog for previous versions](https://wpmudev.com/project/wp-smush-pro/#view-changelog).

== About Us ==
WPMU DEV is a premium supplier of quality WordPress plugins, services and support. Learn more here:
[https://wpmudev.com/](https://wpmudev.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme&utm_content=wpmu_dev_link)

Don't forget to stay up to date on everything WordPress from the Internet's number one resource:
[WPMU DEV Blog](https://wpmudev.com/blog/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme&utm_content=wpmu_dev_blog_link)

Hey, one more thing... we hope you [enjoy our free offerings](https://profiles.wordpress.org/wpmudev/#content-plugins) as much as we've loved making them for you!

== Contact and Credits ==

Originally written by Alex Dunae at Dialect ([dialect.ca](http://dialect.ca/?wp_smush_it), e-mail 'alex' at 'dialect dot ca'), 2008-11.
