=== Smush - Compress, Optimize and Lazy Load Images ===
Plugin Name: Smush - Compress, Optimize and Lazy Load Images
Version: 3.4.1
Author: WPMU DEV
Author URI: https://premium.wpmudev.org/
Contributors: WPMUDEV, alexdunae
Tags: optimize images, convert webp, lazy load, image, resize, optimize, optimise, compress, performance, optimisation, photography, optimizer
Requires at least: 4.6
Tested up to: 5.3.2
Stable tag: 3.4.1
Requires PHP: 5.6.20
License: GPL v2 - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Compress and optimize images with lazy load, WebP conversion, and resize detection to boost performance and make your site load amazingly fast.

== Description ==

**Optimize your images turn on lazy load, resize, compress and improve your Google Page Speed with the incredibly powerful and 100% free WordPress image smusher, brought to you by the superteam at WPMU DEV!**

And whether you spell it 'optimise' or 'optimize', Smush will compress all your images without a visible drop in quality.

### Award Winning Image Optimizer
Smush has been benchmarked and tested number one for speed and quality and is the [award-winning](https://torquemag.io/2018/04/smush-image-compression-wins-2018-plugin-madness/), back-to-back proven crowd favorite image optimization plugin for WordPress.

- Lossless Compression – Strip unused data without affecting image quality
- Lazy Load - Defer offscreen images with the flip of a switch
- Bulk Smush – Optimize up to 50 images with one click
- Image Resizing – Set a max width and height and large images will scale down as they are being compressed
- Incorrect Size Image Detection – Quickly locate images that are slowing down your site
- Directory Smush – Optimize images even if they are not located in the media library
- Automated Optimization – Asynchronously auto-smush your attachments for super fast compression on upload
- Without Monthly Limits – Optimize all of your images up to 5MB in size free forever (no daily, monthly, or annual caps)
- Gutenberg Block Integration – View all Smush stats directly in image blocks
- Multisite Compatible – Both global and individual Multisite settings
- Process All Your Files – Smush will process PNG, JPEG and GIF files for optimum results
- Super Servers - Smush images with no slowdown using WPMU DEV's fast, reliable Smush API
- Convert to WebP (Pro Only) - Upgrade and automatically serve images in Next-Gen WebP
- And many, many, more!

### Preserve Image Quality

Some image compression tools destroy images with as much as a 30% loss in quality. Our servers strip hidden bulky information from your images and reduce file size without affecting the appearance.

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

Smush meticulously scans every image you upload – or have already added to your site – cuts all the unnecessary data and scales it for you before adding it to your media library.

### Compress any Image in any Directory

In addition to smushing your media uploads, you may want to compress the images stored in other folders. Smush now lets you compress any image in any directory so that you can optimize all the images on your site – including [NextGEN](https://wordpress.org/plugins/nextgen-gallery/) images, images stored on Amazon S3 using [WP Offload Media](https://wordpress.org/plugins/amazon-s3-and-cloudfront/) and images in EVERY WordPress plugin and theme package!

### Compatible with Your Favorite Themes, Builders and Media Library Plugins

No matter what theme or plugins you use to better manage your WordPress media library, Smush has you covered. Check out just a few of the popular products Smush is working with to help make your site faster and more efficient:

- [WP All Import](https://wordpress.org/plugins/wp-all-import/)
- [WP Offload Media](https://wordpress.org/plugins/amazon-s3-and-cloudfront/)
- [WP Media Folder](https://www.joomunited.com/wordpress-products/wp-media-folder)
- [WP Retina 2x](https://wordpress.org/plugins/wp-retina-2x/)
- [NextGen Gallery](https://wordpress.org/plugins/nextgen-gallery/)
- [WPML](https://wpml.org/)
- [Envira Gallery](https://enviragallery.com/)
- [Avada Fusion Builder](https://theme-fusion.com/products/fusion-builder/)
- [Styles](https://wordpress.org/plugins/styles/)
- And many, many, more!

### Incorrect Size Image Detection
Smush includes a wrong size image finder. Activate and your images will be highlighted with smart tips for scaling your images. Quickly locate the images that are keeping you from getting that perfect 100 on your Google PageSpeed test.

### Defer Offscreen Images
Smush has lazy load built-in. If your page has a bunch of images below the fold, lazy loading will drastically speed up your page by serving only the images being viewed and delaying others further down the page.

★★★★★
> “I had no idea that my page load time was being dragged down by the images. The plugin nearly halved the time it took.” - [karlcw](http://profiles.wordpress.org/karlcw)

★★★★★
> “I optimise my photos in Photoshop, but Smush makes it so easy – it does it automatically. I can just sit back and enjoy the speed.” - [helen432](https://profiles.wordpress.org/helen432)

★★★★★
> “Smush helped reduce the total files size on my site and increased browsing speed. Well done guys!” - [pdci](https://wordpress.org/support/users/pdci/)

★★★★★
> “It’s very discrete and does not bother me with an API key or other additional installation steps. The main dashboard of the plugin gives me nice insight. Overall it really fits my needs and I’ll be willing to upgrade to pro if my needs change. I’d recommend it to clients/friends without hesitation. Keep it up!” - [tarkan_](https://wordpress.org/support/users/tarkan_/)

### What about Multisite?

Smush can be used to optimize all the images across your entire network! Use global settings or configure each site individually.

Smush is super easy to use – no confusing compression software settings. Smush images in your library one at a time or bulk smush up to 50 images at a time.  Plus, configure auto-smush to asynchronously scale and compress some or all of your images as they are being uploaded – it's incredibly fast.

The faster your site loads, the more Google, Bing, Yahoo and other search engines will like it. Your site will load faster and rank higher.

### Shameless Plug(ins)

- [Hummingbird](https://wordpress.org/plugins/search/Hummingbird/) - Page Speed Optimization
- [Hustle](https://wordpress.org/plugins/wordpress-popup/) - Pop-ups, Slide-ins and Email Opt-ins
- [SmartCrawl](https://wordpress.org/plugins/smartcrawl-seo/) - SEO Optimizer
- [Defender](https://wordpress.org/plugins/defender-security/) - Security, Monitoring, and Hack Protection
- [Forminator](https://wordpress.org/plugins/forminator/) - Form, Poll, and Quiz Builder
- [Beehive](https://wordpress.org/plugins/beehive-analytics/) - Customizable Google Analytics Dashboards

Smush can take care of all your image compression needs, for free!

However, if you’d like Super Smush lossy compression, fast CDN image delivery, WebP conversion, automatic resizing, the ability to optimize (or optimise) images up to 32MB, bulk smush optimization for all your images in just one-click, auto-convert PNG to JPEG, the ability to Smush and make a copy of your full-sized images (to restore them at any point) you can always take the next step with [WP Smush Pro](https://premium.wpmudev.org/project/wp-smush-pro/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme&utm_content=wp_smush_pro#trial). And get even more with her whole team of WordPress optimization hero friends (security, SEO, performance, support and maintenance automation) – trusted buy thousands of agencies and freelancers offering site maintenance services.

### Privacy

Smush does not interact with end users on your website. The only input option Smush has is to a newsletter subscription for site admins only.

Smush uses a third-party email service (Mailchimp) to send informational emails (Opt-in) to the site administrator. The administrator's email address is sent to Mailchimp and a cookie is set by the service. Only administrator information is collected by Mailchimp.

Smush sends images to the WPMU DEV servers to optimize them for web use. This includes the transfer of EXIF data. The EXIF data will either be stripped or returned as it is. It is not stored on the WPMU DEV servers.

== Frequently Asked Questions ==

= I just finished running Smush and Google PageSpeed still says my images need compressing and resizing. How do I fix it? =

This means your images were not properly scaled for where they are being displayed. Scaling images before uploading them can be time-consuming but can save space and speedup load time. First, determine what size your image needs to be. You can use the built-in images size detector included in the free version of Smush to find what height and width your image should be. Once you know how large the image should be, scale your images to the right size.

= PageSpeed Insights is telling me to defer offscreen images. Can Smush fix that?

Lazy Load will defer your offscreen images from loading until they are needed. From the Smush Dashboard select Lazy Load and click Activate. Smush Lazy Load works out of the box or can be customized based on your needs.

*Tip:* If you're having any issues or want to save a tone of time, The Smush Pro CDN includes auto resizing.

= Does Smush delete or replace my original full-size images? =

Nope. WordPress crops and resizes every image you upload for embedding on your site. By default, Smush only compresses these cropped and resized images, not your original full-size images. To compress your original full-sized images use [Smush Pro](https://premium.wpmudev.org/project/wp-smush-pro/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme&utm_content=smush_pro#trial).

= What type of file should I use for my images (GIF, PNG, JPG)? =

GIF files are large and can’t be optimized much. They should only be used if the image is animated.


PNG is best for computer generated graphics (vectors, logos, fonts, etc.), images with few colors or images with transparency.


JPG should be used for photography or images with a lot of color variation.

*Tip:* The Smush Pro CDN includes WebP compression - sharper images that are 25 to 30 percent smaller than JPEG and PNG files.

= I’m a photographer can I keep all my EXIF data? =

Yes! EXIF data stores camera settings, focal length, date, time and location information in image files. EXIF data makes image files larger but if you are a photographer you may want to preserve this information. We have included the option to preserve EXIF image data in Smush.

= I just ran Bulk Smush and some of my images didn't get compressed? =

First, check to see if you're receiving any server errors. If your images seem to be processing correctly check the file size of the images being skipped. Images over 5mb will be skipped. To compress images up to 32mb get [Smush Pro](https://premium.wpmudev.org/project/wp-smush-pro/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=smush-readme&utm_content=wp_smush_pro#trial).

= I activated Smush and I don’t see any difference in image quality. How am I supposed to know if Smush is working? =

Great question! It is important to understand Smush is an optimization tool that uses lossless image compression to save disk storage space and speed up your site. Smush squeezes data from your image files that will save space, resize huge images, and improve speed without changing quality.

You can track file size changes in your media library, individual image savings, directory savings, and Smush total savings with Smush stats. If you want to see some additional magic, run before-and-after page-speed tests with WP Checkup or Google PageSpeed Insights. Every little bit of resource savings is important when it comes to page-speed!

= Can't I just use Photoshop or another image editing application to optimize my images? =

Optimizing all the image sizes generated by WordPress, images being imported from plugins and themes, and images from other web sites is a painful and time-consuming process.

Smush automatically handles optimizing all your images no matter where they come from and can be used as a standalone tool or alongside Photoshop.

= My Google PageSpeed test is telling me to serve images in Next-Gen formats. Can Smush do that? =

WebP and other Next-Gen formats are not supported on all browsers and require fallback images. For that reason, WebP conversion is only available in Smush Pro. Smush Pro converts images to WebP for a 25-30% savings over JPEG and PNG and serves fallback images on unsupported browsers.

= Is it optimize or optimise? =
It depends what side of the pond you live on...but whether you say optimize, optimise, optimizer or Smush goddess of speed, this plugin will make sure your images are loading lighting fast.

== Screenshots ==

1. Simple to get started with the Smush set up wizard.
2. Watch as your image library is processed – up to 50 images at a time.
3. Set automatic smush to resize and optimize every image as it is uploaded.
4. Smush will find and optimize images for you.

== Changelog ==

= 3.4.1 =

Fix: Upgrade from Free to Pro causing an error

= 3.4.0 =

- New: Option to ignore images from Smushing
- New: CDN support for picture element
- New: Lazy load for iframes
- New: Lazy load compatibility with Block Gallery plugin
- New: Lazy load compatibility with CoBlocks plugin
- New: smush_cdn_custom_uploads_dir filter for use with custom upload directories in CDN
- New: CDN support for images in data-original attribute
- Enhance: Compatibility with WP Engine
- Enhance: CDN support for custom UPLOADS directories
- Enhance: Max width detection with CDN auto-resize functionality
- Enhance: Lazy loading image format detection
- Enhance: Lazy loading compatibility with AMP
- Enhance: Lazy loading compatibility with Essential Grid
- Enhance: Lazy loading compatibility with JetPack
- Enhance: Integration settings pages UI, summary meta box UI
- Enhance: Significantly increase performance on sites with large media libraries
- Enhance: Support for WordPress 4.x
- Enhance: Compatibility with Oxygen Builder
- Enhance: Accessibility in modals
- Fix: Undefined index PHP notices
- Fix: Lazy loading not properly working on Bootstrap based themes
- Fix: Lazy loading exclusion rules not working with active CDN
- Fix: Failed parsing srcset attribute value since its w descriptor is invalid warnings
- Fix: PHP warnings for getimagesize() disabled wrapper
- Fix: UI conflict with Store Locator Plus plugin
- Fix: CDN incorrectly resizing cropped images
- Fix: Directory Smush permissions
- Fix: NextGen gallery bulk Smush functionality
- Fix: Network access control settings
- Fix: Resize threshold not resetting when auto-resize is disabled

= 3.3.2 =

- New: Support for big images in WordPress 5.3
- Fix: WP Offload Media integration with Pro version

= 3.3.1 =

- Fix: CDN incorrect calculation for image sizes attribute
- Fix: Undefined index PHP notices

= 3.3.0 =

- New: Integration with Envira Gallery
- New: Integration with Avada Fusion Builder background images
- Enhance: Compatibility with staging environment on WPMU DEV hosting
- Enhance: SmartCrawl readability analysis compatibility
- Enhance: Allow optimizing directories in root folder
- Enhance: Error descriptions during optimization
- Enhance: Detection of image sizes when "All" option is selected in Bulk Smush settings
- Enhance: CDN detection of background images
- Fix: Issue with CDN auto resize and Revolution Slider
- Fix: CDN auto resize feature overwriting the correct sizes attribute
- Fix: NextGen summary meta box layout
- Fix: PHP warnings on NextGen integration
- Fix: UI layout in NextGen integration
- Fix: Lazy loading spinner layout issue
- Fix: Compatibility with RT Media

= 3.2.4 =

- Enhance: Minor user experience improvements and updates
- Fix: Bulk Smush notices and errors

= 3.2.3 =

- New: Pro page to highlight Smush Pro features
- Enhance: Minor user experience improvements and updates
- Enhance: CDN activation process
- Fix: CDN upgrade status issue
- Fix: Remove auto sizing in lazy loading
- Fix: Images with empty class not lazy loading
- Fix: Lazy loading not working on front page when a static page is selected as a homepage

= 3.2.2.1 =

- Fix: Preserve network settings after update

= 3.2.2 =

- New: Bulk restore
- New: Network access control settings
- New: Lazy loading onboarding step
- New: Lazy loading custom placeholders
- New: Lazy loading custom spinners
- New: CDN support for background images
- Enhance: Lazy loading support for ACF
- Enhance: Lazy loading page parser
- Enhance: Do not allow enabling CDN for sites that are not registered on the Hub
- Enhance: Bulk compressing images without proper meta data
- Enhance: Do not lazy load images on AMP pages
- Enhance: Translation strings
- Enhance: UI in media library
- Enhance: API calls
- Fix: Plugin texts
- Fix: PHP warning when Smush is not able to detect site language
- Fix: Excluding frontpage post type from lazy loading
- Fix: Missing icons in resize my full size images notice
- Fix: Inability to resize full size images several times
- Fix: Image count calculations during images re-check
- Fix: Directory Smush on SiteGround, GoDaddy and Bluehost

= 3.2.1 =

- New: Increase image size limit in free version from 1Mb to 5Mb
- New: Image sizes option
- New: Integration with WPBakery Page Builder
- Enhance: Move Image resize detection to the new Tools section
- Enhance: Add upgrade link to bulk smush limit message
- Enhance: Directory Smush async mode
- Enhance: Regex syntax for detecting images in content
- Enhance: Smush CDN support for 3rd party lazy loading plugins
- Enhance: Smush CDN UI
- Enhance: Smush CLI error handling
- Enhance: Update API status button functionality
- Enhance: Filter to skip image from lazy loading
- Enhance: Support for Revolution Slider
- Enhance: Notices when bulk limit is reached
- Enhance: Support for jQuery 2.x-3.x
- Fix: Errors with WP Ultimate Recipe Premium
- Fix: Inability to determine max content width with Auto Resize CDN feature
- Fix: Directory Smush not resetting errors on successful scans
- Fix: Lazy loading spinning image containers
- Fix: PHP notice on lazy loading settings page
- Fix: Subsites showing settings pages when network wide options enabled
- Fix: PHP warning on 2.x - 3.x upgrade in network installs
- Fix: CDN not processing the image tag if src does not contain a valid image
- Fix: Lazy loading URL exclude rules
- Fix: URL exclusion rules in lazy loading

= 3.2.0.2 =

- New: Add "Update API status" button in Settings
- Enhance: API key validation
- Fix: CDN displaying incorrect usage data

= 3.2.0.1 =

- Fix: CDN upgrade link not showing when bandwidth is over limit

= 3.2.0 =

- New: Image lazy loading
- New: CDN support for mapped domains in multisite
- New: Auto update free version of the plugin to Pro if Dashboard plugin is installed and activated
- New: Options to preserve settings and data on plugin uninstall
- New: Option to reset settings to defaults
- New: Ignore images with errors during bulk Smush
- Enhance: Performance
- Enhance: Clean up outdated and deprecated code
- Enhance: Onboarding experience
- Enhance: Skip auto resized images on CDN from highlighting in image resize detection tab
- Enhance: Directory Smush where wp-content is placed in a custom location
- Fix: [NextGEN Gallery] bug with stats count
- Fix: Translation strings and typos
- Fix: wp_smush_skip_folder filter
- Fix: Recalculate stats when clicking 'Re-check status' button
- Fix: Illegal string offset 'file' warning in PHP

= 3.1.1 =

- Fix: Auto Smush in Gutenberg
- Fix: Image backup in Gutenberg

= 3.1.0 =

- New: Onboarding experience for new installs
- New: WP CLI support for bulk/single image Smush and bulk restore
- New: Color accessibility settings
- New: Compatibility with Beaver Builder
- Enhance: CDN image detection
- Enhance: Compatibility with Hustle
- Enhance: Add upgrade link in Plugins section for the free version
- Enhance: Remove activation tooltips
- Enhance: CSS for highlighting incorrectly sized images
- Enhance: Preserve stats during options updates
- Enhance: CDN will now only accept JPG/PNG/GIF images - no more warnings in browser console
- Enhance: Support for Edge browser (and some older browser versions)
- Fix: Browser console errors with CDN auto resizing and webp images
- Fix: Directory Smush errors on subsites in multisite environments
- Fix: Fix CDN not enabling on subsites in multisite
- Fix: JavaScript error during bulk Smush on free version of the plugin

= 3.0.2 =

- Enhance: Support for WordPress 5.0 release and Gutenberg editor
- Fix: [WP Offload Media] integration with Pro version
- Fix: PHP warning on update from Smush version 2 to version 3

= 3.0.1 =

- Security: Remove support for Upfront theme functions

= 3.0.0 =

- New: Smush CDN
- New: Webp support with CDN
- New: Auto image resize when using CDN
- New: Plugin structure (Important: plugin globals have been removed)
- New: Show failure reason during directory Smush
- New: Settings page with language translation links
- Security: Fix XSS vulnerability
- Security: Fix phar deserialization vulnerability (thanks @ripstech)
- Enhance: Better handling of animated GIFs. Improve performance.
- Enhance: Update translation strings
- Enhance: Clean out all the leftover data on plugin uninstall
- Enhance: Directory Smush modal: support keyboard navigation
- Enhance: Directory Smush modal: navigate to next node by typing the first letters
- Enhance: [WPML] PNG to JPEG conversion in media translations
- Fix: Directory Smush resume button only working when clicked on icon
- Fix: Errors during image re-check
- Fix: Meta values are deleted when an image is skipped using wp_smush_image filter.
- Fix: [WP Offload Media] Backward compatibility errors
- Fix: [WP Offload Media] Warnings when certain attachment sizes are excluded from compression
- Fix: [WP Offload Media] Errors during is_animated check with images stored on S3
- Fix: [WooCommerce] Compatibility issue with WooCommerce 3.5

= 2.9.1 =

- Fix: Errors during update from Free to Pro

= 2.9.0 =

- New: Incorrect image size detection
- New: Pointers for new installs
- New: Show a list of errors (if present) after bulk Smush
- Enhance: Remove activation redirection
- Fix: Compatibility with Enhanced Media Library
- Fix: Layout inconsistencies
- Fix: Remove duplicate queries
- Fix: User profile languages not properly applying to Smush
- Fix: Translation strings
- Fix: Smush full sized images when image dimensions are smaller than the largest thumbnail
- Fix: Directory Smush will not get stuck when an image encounters an error during compression
- Fix: Support for the latest Gutenberg version
- Fix: Allow blog admins in network installs to manage site Smush options
- Fix: Stats not showing after Smushing in media library

= 2.8.2 =

Fix: Compatibility issues with latest WP Offload Media (WP Offload S3) update

= 2.8.1 =

- New: Directory Smush UI/UX
- New: Directory Smush updated library
- New: Directory Smush ability to select multiple directories
- New: Directory Smush ability to deselect certain images in directories
- New: Integration with Gutenberg image block
- Enhance: Bulk Smush UI
- Enhance: Update GDPR policy text
- Enhance: Do not auto resize animated GIF images to preserve animation
- Enhance: Performance improvements, remove duplicate queries
- Fixed: Stats reset for Smushed directories when selecting Super-smush option
- Fixed: Pro status cached bug
- Fixed: Quick setup modal missing image dimensions for image resize option

= 2.8.0.1 =

- Fixed: Smush causing media uploads to not function properly (in rare conditions)

= 2.8.0 =

- New: High-power API cluster for Smush Pro users
- New: Updated and improved UI/UX
- New: Stats meta box
- Enhance: Smush will have it's own section in the GDPR policy, instead of appending to the end of the policy text
- Enhance: Compatibility with AJAX Thumbnail Rebuild and ACF plugins
- Enhance: Add support for image/x-png and image/x-citrix-jpeg mime types
- Fixed: File size not updated inside the attachment details modal during Smush/restore of an image
- Fixed: Directory Smush using mobile
- Fixed: Smush progress during feature image upload
- Fixed: Image width and height converted to string in async request
- Fixed: Warnings on PHP 5.2
- Fixed: Warnings on PHP 7.1
- Fixed: Fixed wrong method name in S3 offload class. Thanks Tedy Warsitha
- Fixed: Issues when editing image attributes in the media library
- Fixed: Missing translation strings

= 2.7.9.2 =

- Fixed: Critical Error: Ajax returns Error 500 on media library in WP Offload S3

= 2.7.9.1 =

- Fixed: Conflict with front-end editors

= 2.7.9 =

- Update:
    - Smush settings moved to separate top level page in dashboard ( Smush/Smush Pro )
    - Added Privacy Policy content for Smush in Privacy Policy Guide

- Fixed:
    - Conflict with plugin Download Manager, Embed any document, Getty
    - Settings link incorrect for sub sites
    - Don't load smush settings in front-end
    - Increase php memory limit only if lesser than required
    - Display a warning if custom table isn't created
    - Attachment details not being displayed when uploading image in post edit screen
    - Compatibility with WP Offload S3 latest version
    - Directory Smush skips 1 image for every iteration of 50 images ( Free version )
    - Nextgen Gallery Stats not updated properly ( Pro Version )
    - Added instructions for Resize Image feature - It works independent of Auto Smush, If "Automatic Smush" is off and
      "Resize my full size image" is kept on, the image would be resized
    - Smush button doesn not appears in Media Modal window for Ultimate Branding
    - NextGen Integration: Smush stats not updated after image deletion
    - Warning/Error for settings on initial setup

- Integrations:
    - Updated WP Offload S3 integration to smush images with Cloudfront enabled

= 2.7.8 =

- Includes changes from update 2.7.7 and a fix for JS errors in custom posts screen disabling post editor tabs

- Updates:
    - Minor UI Changes ( Accessibility Fixes )
    - PNG to JPG: Iterate over rows while URL replacement to make sure all the occurrences are updated

- Fixed:
    - Skip button doesn't skips images
    - Show updated smush status in Media Grid attachment modal
    - Font issue in WordPress backend for Ubuntu systems
    - Fatal Error: get_current_network
    - Async Smush not working for subdirectory sites
    - File backups were not being created for Auto Smush if Async smush is disabled

= 2.7.6 =

- Security: Fixed path traversal vulnerability. Thanks Ricardo Sánchez(@neorichi) for responsible disclosure.

= 2.7.5 =

- Updated:
    - UI/UX has been updated for Bulk Smush page

- Fixed:
    - Start from latest image while Bulk Smushing
    - S3 config error if AWS keys are defined in wp-config.php
    - NextGen smush page not working properly
    - Do not redirect to settings page on activation if WP CLI is installed

= 2.7.4.1 =

- Fixed:
    - `get_current_screen()` method causing error on some sites

= 2.7.4 =

- Update: Minor UI changes
- Fixed:
    - Images not being resized when image is uploaded via Mobile App
    - Notices and Warnings
    - S3 offload Integration - Original Image not being deleted in some cases

= 2.7.3.1 =

- Fixed: Pro user unable to login to WPMU DEV Dashboard plugin when Smush is active, Error: "Your key is invalid."
- Updated: S3 Integration, return URL for any error, 'as3cf_get_attached_file'

= 2.7.3 =

- Fixed:
    - Manual Smush not working
    - Bulk Smush broken for few sites

= 2.7.2 =

- Updated:
    - Use JS for stats calculation while using Bulk Smush, to reduce the Ajax time
- Fixed:
    - Some Images would keep appearing in the re-smush list, if "Resize original images" is enabled
    - Enable buttons in settings redirects to network smush settings page in a subsite if networkwide settings are enabled

= 2.7.1 =

- Fixed: Progress bar not updating

= 2.7 =

- Updated:
    - Faster image uploads: Set async request timeout to 0, if you're having trouble with Auto Smush, set timeout using filter `smush_async_time_out`

- Fixed:

    - Issue with WP Smush Pro membership check
    - Stats: Rating message shows incorrect image count
    - Stats: Include directory smush stats in media stats
    - Directory Smush: UI improvement
    - Directory Smush: Allow re-smushing directory images, if the lossy feature is turned on
    - Directory Smush: Fixed empty query warning if there are more than 5k images
    - Site Ground Staging - Disable Async smush for staging sites, admin URL for async request is incorrect because of the Apache module
    - Image appearing in Re-Smush list even after smushing, if resize settings are kept on.
    - Performance: Updated query for smushed images count
- Added:
    - WP S3 Offload - Plugin Compatibility for Remove files from server feature ( Pro Version )
    - WP RSS Aggregator compatibility for Auto Smush
    - WordPress mobile app Auto smush compatibility

= 2.6.3 =

- Fixed:

    - Compatibility issue with WP Defender
    - Image dimensions not updated after resizing in Grid view

- Added:

    - Added a check to preserve smush stats on plugin deletion, You can add `define('WP_SMUSH_PRESERVE_STATS', true );` in wp-config.php

= 2.6.2 =

- Added:
    - WP All Import Compatibility

- Fixed:
    - Image not being updated to S3 after resmush ( Only if remove files from server is kept off in S3 plugin settings )
    - Added check for directory smush savings
    - Call `wp_update_attachment_metadata` after smushing, to allow the optimised image to be used
    - Dir Smush: Images with special symbols doesn't gets optimised
    - Dir Smush: Skip .bak files
    - Retina Images @2x: Do not smush if auto smush is disabled
    - Backup ( Pro ): Take backup of original untouched image, improved backup and restore.

- Updated:
    - Smush Limit ( 50 Images ), do not include images with error in count

= 2.6.1 =

- Fixed:
    - PHP 5.2 compatibility
    - DB error: Use a smaller value for Path Index size ( Prefix Indexes )
    - Updated translation function name
    - UI/UX fixes for directory smush
    - Improved optimisation process for directory smush
    - Updated uninstall.php
    - Skip sites directory from Directory Smush in a Multisite

= 2.6 =

- Fixed:
    - PHP 7 warning ( https://goo.gl/GKEMim ), @props: @alexis-mag
    - Async Smush conflict with other plugins

- Changes:
    - Moved notice JS/CSS in footer
    - Bulk Smush page optimisation
    - Increased timeout for Async request - Fixes Async smush not working for some hosting services

- Added:
    - Directory Smush ( Pro Feature )

= 2.5.3 =

- Fixed:
    - Show a Smush progress message in Grid view for Auto Smush
      ( A lot of people reported it as Auto Smush not working, which works in background though )
    - Translation domain was incorrect for few strings
    - Translation: Load translation domain in main plugin file
    - Include image size `medium_large` in smush list
    - Error: Cannot use string offset as an array
    - Error in PNG to JPG conversion ( Pro Feature ), added check for mime_content_type function
    - Pro Status not recognised

= 2.5.2 =

- Added:
    - Filter: `wp_smush_image`, Boolean, Whether to Smush image or not
    - Async Optimisation for Auto Smush on upload ( Set WP_SMUSH_ASYNC to false to turn off async optimisation )
    - Networkwide settings option in a Multisite

- Fixed:
    - Double slash in file path causing 403 on some of the sites
    - Localisation error reported by @talgat ( Thank You :) )

= 2.4.5 =

- Fixed:
    - Error "No file content sent" with WP 4.6

= 2.4.4 =

- Fixed:
    - Stats Calculation, Use custom query to retrieve data
    - Fixed warning and notices
    - PNG to JPEG conversion not working for Multisite ( Pro Users )
    - thumbnails not being converted for PNG to JPEG conversion
- Removed option to convert Transparent PNGs to JPEGs ( Pro Users )
- Added check for invalid membership

= 2.4.3 =

    - Fixed:
        - Image resizing not working on image upload

= 2.4.2 =

    - Fixed:
        - PHP 5.2 compatibility

= 2.4.1 =

- Fixed:
    Conflict with customizer

= 2.4 =

- Compatibility:
    - WPML Media Add-on compatibility, you can smush all the images for all the languages at once from Bulk Smush page

- Features:
    - Added PNG to JPG - Lossy Conversion for higher savings ( Pro Feature )

-Fixed:
    - EXIF: Device details were left out for some images, even when opted for stripping it

- Updated:
    - Minor Tweaks on WP Smush Page ( Bulk Smush )
    - Stats calculation is more accurate
    - Show current image size and image size dimensions in media library after image has been smushed
    - JPEG optimisation - higher savings for JPEGs lossy optimisation ( Pro Feature )

= 2.3.1 =

- Fixed:
    - Stats not updated on resizing images
    - CSS conflict in Media Library

= 2.3 =

- Fixed:
    - Tooltip on image edit page
    - Warning and Notices
- Updated:
    - Improved stats calculation
    - Bulk Smush page optimised for Image heavy sites
    - Cleanup on uninstall
- Added:
    - Image Resizing option for Media, NextGen(Pro Only) images
    - Total image count on stats page

= 2.2.2 =
- Fixed: JS error causing issue with Editor on some installs, plugin conflict with CoursePress plugin, ACF ( Clear All Caches after plugin upgrade, Cloudflare as well )
- Fixed: ReSmush count for bulk smushing
- Fixed: Smush settings accessibility for Screen reader/Keyboard
- Fixed: WP Admin loading slow ( Load smush stats on required admin pages only )

= 2.2.1 =
- New: Option to resmush image if settings are changed after optimising images
- New: Added an option to preserve EXIF
- New: Remove Smush meta on image regeneration,
       This allows user to manually smush them later, if auto smush is off ( WP Image Editor support )
- New: Manual Image restore option for Media Library and NextGen Gallery, if "Backup Original Images" was kept on while smushing ( Pro Only )
- New: Delete Backup Files (Pro Only) on attachment deletion
- Updated: Upfront Integration
- Fixed: jQuery tooltip conflict
- Code Optimisation, Updated Settings page UI

= 2.1.5 =
- Fixed: WP Media Folder Plugin compatibility
- Fixed: Warning on Plugins Page
- Updated: Settings Page styling

= 2.1.4 =
- Fixed: Preserve file permission after smushing ( Fix for Images disappearing in Media library on some hosts )
- Fixed: Styles plugin compatibility
- Fixed: Append URL params considering the existing arguments ( WPML Compatibility )
- Fixed: Warning: For settings link in Network admin, Warning: https://goo.gl/HAfhaF ( Thank you @Maks3w for suggestions )
- Fixed: Fatal error if both pro version and free version are activated
- Fixed: NextGen-Smush conflict on plugin activation on a fresh install

= 2.1.3 =
- Fixed: Compatibility with v4.0 of our Dashboard plugin, was not detecting pro status

= 2.1.2 =
- Fixed: Important fix for transient issue leading to mutliple api requests

= 2.1.1 =
- Fixed: Workaround for terrible bug in W3TC file based object caching

= 2.1 =

- Fixed: Untranslatable strings in settings
- Fixed: Increased is_pro() API timeouts
- Fixed: Remove redundant _get_api_key() cache check
- Fixed: Some PHP notices on fresh installs
- Fixed: Bulk Smush button keeps spinning after 50 images for free version
- Fixed: NextGen Bulk Smush button issue
- Fixed: Invalid header issue
- Fixed: Warnings in file functions
- Updated: Added limit on query results, for sites with higher image count, Use filter `wp_smush_media_query_limit` to adjust values
- Added: Sortable WP Smush column in Media Library
- Added: Filters `wp_smush_media_image` for Media Gallery, `wp_smush_nextgen_image` For NextGen gallery,
          allows to skip a particular image size from smushing
- Added: NextGen Gallery support

= 2.0.6.5 =

- Updated: Skip webp images ( causing ajax error for few sites )
- Fixed: Warning and Notices ( Media Library not loading )
- Fixed: Smush full size image if no other sizes are available
- Added: Detailed text for stats and settings

= 2.0.6.3 =

- Fixed: Change File permission after replacing image
- Fixed: Directory path for files
- Fixed: Workaround for Auto Smush issue on Hostgator
- Fixed: Smush button doesn't works in media library dialog on post screen, when add media is clicked
		 (https://wordpress.org/support/topic/like-wp-smush-a-lot)
- New:   Show number of images smushed in stats column
- Added: Support for WP Retina 2x Plugin
- Added: Filter `WP_SMUSH_API_TIMEOUT` to change the default time out value from 60s
- Added: Smush original image option (Pro Only)

= 2.0.6.2 =

- Use string for text domain instead of PHP Constant ( WordPress Guideline )

2.0.6.1 - 2015-05-20 - Umesh Kumar

- Updated: Max image size set to 32Mb for Pro Version

2.0.6 - 2015-05-20 - Umesh Kumar

- Fixed: Conflict with various themes while editing post and page
- Fixed: Word Count not working
- Fixed: Notice and Warnings

2.0.5 - 2015-04-17 - Aaron Edwards, Sam Najian, Umesh Kumar

- New:   Allow Super-smush for existing smushed images
- Fixed: IMPORTANT - broken transient caching for is_pro
- Fixed: Fixed conflict with wp gallery link plugin in grid view
- Fixed: Other small fixes

2.0.4 - 2015-04-14 - Aaron Edwards, Umesh Kumar

- Fix: Fatal error conflict with some plugins on fronted of site

2.0.3 - 2015-04-14 - Aaron Edwards, Sam Najian and Umesh Kumar
----------------------------------------------------------------------

- Complete rewrite to use WPMU DEV's new fast and reliable API service.
- New: "Super-Smush" your images with our intelligent multi-pass lossy compression. Get >60% average compression with almost no noticeable quality loss!
- New: Keep a backup of your original un-smushed images in case you want to restore later.
- UX/UI updated with overall stats, progress bar.

1.1.1 - 2015-03-27 - Umesh Kumar
----------------------------------------------------------------------
- Updated: Use simplified meta queries

1.1 - 2015-03-27 - Umesh Kumar
----------------------------------------------------------------------
- New:     New API Servers added for faster optimization
- Fixed:   PHP warning for broken files

1.0.3.1 - 2015-03-26 - Umesh Kumar
----------------------------------------------------------------------
- New:     Suggest manual smushing for smaller bulk request
- New:     Allow media sorting in list view as per smush status
- Updated: Bulk smush query
- Updated: Wait time estimation

1.0.3 - 2015-02-27 - Umesh Kumar
----------------------------------------------------------------------
- New:   Added constant 'WPMUDEV_APIKEY', to specify WPMU membership key explicitly
- Fixed: Plugin activation issue in Multisite
- Fixed: Decode URLs received from API to remove any encoded characters

1.0.2 - 2015-02-03 - Umesh Kumar
----------------------------------------------------------------------
- Fixed: Use options instead of transient to fix W3TC object caching issue
- New:   Modify email address for bulk smush notification

1.0.1 - 2015-01-01 - Umesh Kumar
----------------------------------------------------------------------
- New:      CDN, suggestion to whitelist IP
- New:      Use Ajax to check API status
- New:      Limit concurrent pending single smush to 1000, to avoid hogging up of server resources
- Fixed:    Db cleanup on uninstall
- Fixed:    Remove unnecessary meta on install
- Fixed:    Request status for removed bulk requests
- Updated:  Allowed file types (JPEF, PNG, GIF )
- Updated:  Wait Time reduced


1.0 - 2014-11-24 - Saurabh Shukla, Umesh Kumar
----------------------------------------------------------------------
- First release


== About Us ==
WPMU DEV is a premium supplier of quality WordPress plugins, services and support. Learn more here:
[https://premium.wpmudev.org/](https://premium.wpmudev.org/?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://premium.wpmudev.org/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](http://profiles.wordpress.org/WPMUDEV/) 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.
