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

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

= 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 and phar deserialization vulnerabilities
* 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



301442-1544468622-au