= 6.1.4 =

🔧 The Clarity & Stability Update

Release Date: March 27, 2025

🛠️ Fixes & Improvements

* Quota Limit Message: Clearer messaging is now shown on the bulk processing screen when you're out of optimization quota.
* Admin Notice Styling: Fixed visual issues with some admin notifications that weren’t styled correctly in wp-admin.
* Duplicate Image Requests: Resolved an issue where some background images caused doubled image requests when using the PICTURE tag for next-gen formats.
* Redirect Loop Prevention: Added a fail-safe mechanism to avoid potential redirect loops in wp-admin if `register_shutdown_function` fails.

Update now for a cleaner, more stable, and user-friendly experience! 🚀

= 6.1.3 =

🔧 The Smart CDN Update

Release Date: February 13, 2025

🛠️ Fixes & Improvements

* Smarter CDN Replacements: The plugin now verifies if replaced URLs are empty, preventing issues in text templates used by various plugins.
* JSON Compatibility Fix: Resolved cases where JSON files containing images were broken by the CDN replacer.
* Background Processing Cleanup: When disabling background mode, the cron job is now properly removed to avoid unnecessary processes.

This update ensures a more reliable CDN integration, preventing conflicts with plugins and structured data. Update now for a smoother experience! 🚀

= 6.1.2 =

🛒 The Seamless Shopping Update

Release Date: February 11, 2025

🛠️ Fixes

* WooCommerce CDN Fixes: Resolved issues where images in the WooCommerce cart and checkout pages weren’t correctly replaced with CDN links.
* Duplicate Optimization Info: Fixed cases where ShortPixel optimization details appeared twice when using Gutenberg.
* Background Processing Errors: Corrected cron errors affecting background processing in specific scenarios.
* Relative URL CDN Delivery: Ensured proper replacement of relative URLs when using CDN delivery for consistent performance.
* Picture Tag Adjustments: All attributes are now fully supported when delivering next-gen images via the Picture tag method.

🔧 Compatibility Updates

* Avada Live Builder Integration: Automatically disabled the CDN replacer when using Avada Live Builder to prevent conflicts.

✨ Tweaks & Improvements

* UI Refinements: Enhanced CSS styling, clearer texts, and smoother layouts to improve the onboarding experience for new users.

🌍 Language Updates

* Added 2 new strings, updated 3, with no deprecated strings to improve global translation coverage.

Update now to keep your WooCommerce store and website running seamlessly! 🚀

= 6.1.1 =

🔧 The needed Friday release

Release Date: January 24, 2025

🛠️ Fixes

AVIF Notification Disabled: The AVIF notification got a little crazy and started appearing where it shouldn’t. We’ve completely disabled it to avoid any further confusion. Apologies for the inconvenience!

Thank you for your patience and understanding! Update now for a smoother experience. 🚀

= 6.1.0 =

🚀 The Data-mining Update

Release Date: January 23, 2025

🎉 New Features

* AI Training Control: Added data-mining options in the EXIF management settings. You can now decide whether your images can be used for AI training.
* Improved Switchers Design: Enjoy a cleaner and more user-friendly design for the switchers in settings and bulk processing.
* AVIF Recheck Option: Added a handy recheck option to notifications about AVIF issues for better troubleshooting.

🛠️ Fixes

* Resolved "Could not save backup" errors caused by specific combinations of thumbnail sizes and SmartCropping.
* Fixed missing icons or images in certain notifications.
* Custom Media folders "Last change" timestamps are now updated correctly when changes occur.
* Proper detection of Custom Media images missing WebP or AVIF formats in all scenarios.
* Fixed display issues with Custom Media notices when selecting new folders.
* Removed old Custom Media cron formats when the plugin is deactivated.
* Prevented errors by ensuring thumbnails aren’t added to the optimization queue when the main image isn’t processable.
* Resized images through filters get their metadata updated correctly.

✨ Tweaks & Improvements

* WP-CLI Processes: Updated process stats every 3 minutes for accurate numbers.
* Custom Media Cron: Cron jobs for new file detection won’t run if the Custom Media option is disabled.
* Added a filter for settings to enable programmatic changes when needed.
* Updated all plugin links to avoid unnecessary redirects.
* Added support for CDN on http-only websites.
* Polished CSS, texts, and layouts for a smoother experience.
* Old, unused code has been cleaned up.

🌍 Language Updates

* Added 16 new strings, updated 7, and deprecated 67 to enhance global translation support.

Update now to take full advantage of these enhancements and new features! 🌟

= 6.0.5 =
Release Date: January 16, 2025

🛠️ Fixes

* Resolved an issue where WebP or AVIF formats were not added to bulk processing for Custom Media items.
* Fixed a deprecation warning that appeared when using PHP 8.3.
* Corrected a redirect error after saving the API Key, which previously led to the general WordPress settings.
* Fixed a misleading message displayed when a converted image was restored from backup.
* Added a proper link to Custom Media images when displaying errors after the bulk processing.

🔧 Compatibility Updates

* CDN Replacer Disabled: Now automatically disabled when using Bricks, Breakdance, or Oxygen builders to avoid conflicts.

✨ Tweaks & Improvements

* Updated Texts: Improved clarity in messages when bulk processing is paused and background mode is active.
* API Key Box Hidden: Completely hide the API Key box when the SHORTPIXEL_HIDE_API_KEY constant is used.

🌍 Language Updates

* Added 4 new strings, updated 2 strings, and deprecated 4 strings to improve translation coverage.

Update now to enjoy these enhancements and fixes for a smoother experience! 🚀

= 6.0.4 =
Release date: December 10, 2024
* Fix: Inline images and SVGs are no longer replaced by CDN links;
* Fix: The text domain load has been removed from the plugin code to avoid future errors;
* Fix: When trying to clear the queue, the settings page was not loaded correctly;
* Fix: Forced generation for PNGs could be enabled even if the PNG2JPG option was disabled;
* Tweak: Several minor CSS and wording improvements have been added;
* Tweak: Bulk preparation now runs faster when no images are optimized;
* Language: 0 new strings added, 2 updated, 0 fuzzed and 0 deprecated.

= 6.0.3 =
Release date: December 3, 2024
* Fix: With certain WooCommerce themes and CDN delivery enabled, some images were not loaded on the cart and checkout pages
* Fix: Removed an unused hook that was triggering errors in some cases;
* Fix: A JavaScript error was displayed in the browser console when CDN delivery was hidden in the settings;
* Fix: Divi frontend builder now works when CDN delivery is enabled;
* Language: 2 new strings added, 0 updated, 0 fuzzed and 0 deprecated.

= 6.0.2 =
Release date: November 28, 2024
* Fix: Resizing and SmartCropping can now both be enabled;
* Fix: Beaver Builder now works when CDN delivery is enabled;
* Fix: In some cases the picture tag was generated even if it was disabled;
* Fix: Some notifications still had links pointing to the old settings structure;
* Fix: The custom media cron generated an error under very specific conditions in PHP 8.2.x;
* Fix: More CSS changes to make the settings usable when other plugins insert their own CSS in wrong places;
* Fix: All database options are now removed from the tools section after uninstalling the plugin;
* Fix: Added a possible fix if the execution of the installation scripts hangs after upgrading to version 6;
* Fix: Some JavaScript errors were displayed in the Theme Customizer section;
* Tweak: Added filter to hide the new CDN delivery method;
* Tweak: Removed a database query for custom media that was no longer needed in wp-admin;
* Tweak: The save settings button function has been improved and prevents multiple saves at once;
* Tweak: The default CDN URL has been updated;
* Language: 1 new strings added, 10 updated, 0 fuzzed and 0 deprecated.

= 6.0.1 =
Release date: November 22, 2024
* Fix: Some PHP warnings were displayed for certain images when they were optimized;
* Fix: The plugin settings are loaded correctly even if the Google Reviews & Ratings plugin is active;
* Fix: Help icon pop-ups now look better;
* Language: 0 new strings added, 0 updated, 0 fuzzed and 0 deprecated.

= 6.0.0 =
Release date: November 21, 2024
* New: The plugin now also delivers next generation images such as WebP and AVIF via the ShortPixel CDN;
* New: Complete redesign of the plugin settings and layout;
* New: Overview page with image status in a single view;
* New: Simple and advanced settings modes are now available;
* Tweak: Plugin processing is no longer started for users without appropriate rights (such as Authors);
* Fix: The filter "optimized/not optimized" from the Media Library now works correctly when the main image is excluded;
* Fix: The comparator in the NextGen Gallery now looks better;
* Fix: When using WPML, random optimization errors occurred with some images;
* Language: Many of the plugin strings have been updated or changed and we thank the translation teams for their efforts..

= 5.6.4 =
Release date: October 9, 2024
* Fix: A Broken Access Control vulnerability has been fixed (safely disclosed by the PatchStack team - thanks!);
* Fix: An SQL injection vulnerability has been patched (also safely disclosed by the PatchStack team);
* Fix: Moved loading of the plugin text domain to the init hook to increase compatibility;
* Language: 2 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.6.3 =
Release date: July 16, 2024
* Compat: Integration with Polylang Pro is fixed;
* Fix: Some bulk actions in the list view of the Media Library did not work;
* Fix: PHP warning was displayed when an existing Custom Media folder was no longer present on the disk;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.6.2 =
Release date: May 23, 2024
* Fix: The Cover or Contain setting for resizing was not retained when saving;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.6.1 =
Release date: May 21, 2024
* Fix: Folders from the uploads folder can now be selected as Custom Media even if the year/month structure is not used;
* Fix: In certain cases PHP errors were generated when trying to optimize or even upload images;
* Fix: Some typos caused warnings in some cases;
* Fix: Fixed a typo regarding the number of seconds in a day (kudos to @JusGu for pointing this out);
* Fix: Images with a size of 0Kb are no longer processed;
* Compat: The integration with Formidable Forms now works directly in the Media Library (no need for Custom Media anymore);
* Language: 5 new strings added, 2 updated, 1 fuzzed, and 2 deprecated.

= 5.6.0 =
Release date: May 2, 2024
* New: Added background mode that uses cron jobs to perform optimizations without having to keep the browser open;
* New: Custom media folders are now automatically checked for new images in the background with cron jobs;
* New: The bulk actions from the list view of the media library have been moved to JS;
* New: BMP and TIFF files are automatically converted to JPG;
* Compat: Added integration for images uploaded via Formidable Forms;
* Compat: Improved performance of PICTURE tag delivery mode when offload is enabled;
* Compat: The images generated by the Uncode theme are now automatically optimized;
* Compat: PNG conversion has been improved to better handle images with alpha channel but without transparent pixels;
* Compat: Added a filter to disable the PHP basedir constraints check;
* Compat: Added filter to allow generation of WebP/AVIF even if they are larger than JPG/PNG;
* Compat: Added new hooks for Regenerate Thumbnails Advanced;
* Compat: Added notification to enable double WebP extension when WebP delivery is enabled in Litespeed Cache;
* Compat: Fixed a conflict with the Getty Images plugin (thanks @pintofbeer);
* Compat: Fixed Photo Engine/WpLr integration when republishing images from Adobe Lightroom;
* Fix: PDF files are now correctly excluded from processing when the option is disabled in the advanced settings;
* Fix: Styling corrected when deactivating the plugin;
* Fix: Added additional checks for silent mode when errors occurred in some cases;
* Fix: Some PHP warnings were displayed under PHP 8.3;
* Fix: The warning about Imagify could not be dismissed;

= 5.5.5 =
Release date: February 13, 2024
* Compat: Added new hooks to be used by the Regenerate Thumbnails Advanced plugin;
* Compat: Adjusted the settings limitations for the new Unlimited plans;
* Fix: Added an additional check to prevent database table errors when the plugin is removed;
* Language: 0 new strings added, 1 updated, 0 fuzzed and 0 deprecated.

= 5.5.4 =
Release date: January 22, 2024
* Tweak: The messages displayed when executing WP-CLI "auto" commands have been improved;
* Tweak: More options and flexibility for the filter used when creating the `.htaccess` rules (for WebP delivery);
* Tweak: Added a check and mechanism to prevent running out of memory if the bulk process preparation fails due to lack of memory;
* Tweak: Added back the "Optimize" option in the "Bulk actions" section in the list view of the Media Library;
* Compat: Added integration with the "Media File Renamer" plugin;
* Fix: Under PHP 8.1+, a notice was displayed when re-optimizations were performed;
* Fix: A PHP warning was displayed converting optimization metadata via WP-CLI;
* Fix: Multiple exclusion checkboxes in the plugin settings can now be selected with the SHIFT key;
* Fix: Converting optimization metadata without backups could cause the main images to be incorrectly set to unprocessed;
* Language: 4 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.5.3 =
Release date: January 3, 2024
* Fix: In some cases, an error was displayed when adding a folder to Custom Media, even if the folder was added correctly;
* Fix: For WebP files uploaded directly to the Media Library, the plugin could remove the wrong files during certain operations;
* Fix: Bulk processing of Custom Media could lead to errors in some cases;
* Fix: A PHP Warning was displayed on the Custom Media page if no items were present;
* Language: 0 new strings added, 0 updated, 0 fuzzed and 0 deprecated.

= 5.5.2 =
Release date: November 24, 2023
* Fix: The excluded thumbnails are no longer checked out when saving the settings;
* Fix: Adding new exclusions is now fixed;
* Fix: Updated the wording of exclusions to make them consistent;
* Fix: An error was displayed in the logs if an image could not be loaded at all;
* Fix: An error is now displayed when a Custom Media folder cannot be added instead of silently crashing the page;
* Fix: If WP_CONTENT_DIR does not contain wp-content, adding a Custom Media folder failed;
* Language: 8 new strings added, 2 updated, 0 fuzzed and 7 deprecated.

= 5.5.1 =
Release date: November 17, 2023
* New: Added a filter to change the parameters sent to the API (e.g. for granular resizing);
* Fix: Some PHP notices were displayed in the logs when no exclusions were set;
* Fix: when using the Media Library Grid view, a request for a non-existent image resulted in an Ajax error;
* Fix: Add checks to prevent errors when WebP files cannot be copied to their destination;
* Tweak: Removed notification about HEIC files;
* Language: 0 new strings added, 0 updated, 0 fuzzed and 2 deprecated.

= 5.5.0 =
Release date: November 8, 2023
* New: The Custom Media folders have been redesigned, more features have been added and everything has been moved to Media -> Custom Media;
* New: The exclusions have been redesigned to provide a simpler and more flexible mechanism;
* New: The ability to override exclusions and manually optimize excluded images has been added;
* New: The ability to mark images as completed (optimized) has been added;
* New: Added migration of optimization data to WP-CLI;
* New: Added constant to disable the feedback survey when the plugin is deactivated;
* Compat: Added proper validation and integration for the Swift AI plugin;
* Compat: Added filter to suppress cache clearing for various cache plugins (useful for large websites);
* Fix: If an image has been excluded, it can now be restored from the backup;
* Fix: Envira and Soliloquy have been added to the list of pages where processing is performed automatically;
* Fix: Websites with many Custom Media folders and/or NextGen galleries should no longer hang;
* Fix: Added some checks and validations to avoid `open_basedir` warnings;
* Fix: Updated wording and banners throughout the plugin;
* Language: 94 new strings added, 3 updated, 5 fuzzed and 33 deprecated.

= 5.4.3 =
Release date: September 28, 2023
* Fix: in some very isolated cases, the previous security fix could result in corrupted data for PNG2JPG in some page builders;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.4.2 =
Release date: September 14, 2023
* Fix: A possible PHP Object Injection was patched, which could be exploited under certain conditions;
* Fix: added another fix for WebP path for old multisite setups still using blogs.dir folder structure;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.4.1 =
Release date: September 4, 2023
* Compat: a filter has been added that allows customizing the metadata migration paramaters;
* Fix: a missing space broke the HTML structure in some cases when using the PICTURE tag delivery method for next generation images;
* Fix: added fix for WebP path for old multisite setups still using blogs.dir folder structure;
* Fix: custom uploads folders (by using constants) are now handled correctly in all cases;
* Fix: added supplemental checks to prevent some isolated JS errors that occurred only in certain cases;
* Fix: the plugin now only displays fatal errors when debug mode is enabled;
* Fix: the Shortpixel typos are now corrected in ShortPixel;
* Language: 0 new strings added, 4 updated, 0 fuzzed, and 0 deprecated.

= 5.4.0 =
Release date: August 1, 2023
* New: Images are now processed directly on the "Add New Media" screen;
* New: Support for WordPress image editing functions; a notification is now displayed when you use the editing features;
* New: PNG-to-JPG conversion now replaces posts in states other than published, such as scheduled, pending, draft, etc;
* Compat: Added additional checks when WP Offload Media is used together with Enable Media Replace;
* Compat: Added integration with Total theme, thanks @AJ for the great support;
* Fix: Improved the way the ShortPixel box loads on different screens;
* Fix: Empty ALT tags on images are now preserved when using the PICTURE tag delivery method for next generation images;
* Fix: The PICTURE tag delivery generated invalid HTML code due to a missing space (thanks @kittmedia for pointing these two out!);
* Fix: Several minor fixes and improvements related to PNG-to-JPG conversion;
* Fix: Resize information was not written corectly when using WP Offload Media and backups were not enabled;
* Fix: Restoring backups when Offload is disabled now works without affecting image metadata;
* Fix: When object cache was enabled, transients used for processing were recreated too often;
* Fix: Improved thumbnail handling for SmartCropping: only cropped thumbnails are now send for SmartCropping;
* Language: 1 new string added, 6 updated, 0 fuzzed, and 3 deprecated.

= 5.3.0 =
Release date: June 27, 2023
* New: Added the ShortPixel box on the Media Library Grid view;
* New: Added the option to re-optimize an image with or without Smart Cropping;
* New: Added the images with errors to the Media Library filters, for easier retries;
* New: Added an option in the plugin tools to reset the optimization errors;
* Compat: Added integration with WordPress image editing features (crop, flip, rotate etc.);
* Compat: Added integration for <a target="_blank" href="https://github.com/humanmade/S3-Uploads">S3 Uploads by HumanMade</a>;
* Compat: Fixed integration with LiteSpeed Cache version 5.4 and older. Read more about it in our <a target="_blank" href="https://shortpixel.com/knowledge-base/article/how-to-deliver-the-webps-generated-with-shortpixel-with-the-litespeed-cache-plugin/">knowledge base article</a>;
* Compat: Fixed bulk processing when WP Media Recovery plugin is active;
* Fix: ABSPATH die statement added to each file, for increased security;
* Fix: Improved bulk processing statistics for large installations;
* Fix: Improved the text and output of WP-CLI commands;
* Fix: In some cases the transient used for bulk processing could get stuck and prevent automatic optimization;
* Fix: When processing a non-optimized image with Bulk Actions from the Media Library, it was not optimized with the correct compression level;
* Fix: Do not add `.htaccess` files in folders where it is not strictly necessary;
* Fix: Interaction with the the database was improved and optimized when using an offloading solution;
* Fix: In some cases an error was displayed when debug mode was enabled;
* Fix: Not all file statuses were displayed correctly in the ShortPixel box of the Media Library;
* Fix: Various text and layout improvements on the plugin pages;
* Language: 24 new strings added, 3 updated, 0 fuzzed, and 0 deprecated.

= 5.2.3 =
Release date: May 26, 2023
* Fix: an error was displayed when an image had only a `srcset` (and no `src`) and the PICTURE tag delivery mode was enabled;
* Fix: a warning was displayed for lazy-loaded images using `data-src`;
* Fix: if the optimization queue contained an item that was added a long time ago, an error caused the optimization to crash;
* Fix: If duplicate thumbnails are no longer present in WordPress, they are ignored when trying to optimize;
* Fix: a typo when checking an array caused an error in certain cases;
* Fix: text changes on the settings page related to AVIF generation for the Unlimited plan;
* Fix: in case of a failed backup, the retry mechanism did not actually retry the optimization in all cases;
* Tweak: the optimization error notification system will only trigger when the plugin's debug mode is enabled;
* Language: 1 new string added, 1 updated, 0 fuzzed, and 0 deprecated.

= 5.2.2 =
Release date: May 10, 2023
* New: If a 5xx error is thrown during optimization, the plugin will attempt to output it for easier debugging;
* Fix: Added multiple fixes and improvements of the PICTURE tag delivery method, including a more stable fallback mechanism in case WebP/AVIF isn't available;
* Fix: In some cases, the PICTURE tag delivery wasn't working properly when WP Offload Media was active;
* Fix: Added a check for old items stuck in the queue to avoid potential errors after plugin updates;
* Fix: In some cases, when WP Offload Media is active, a "Not processable: Image processable" message was displayed;
* Fix: Added a check to prevent the main file to be passed as a thumbnail because that could crash the de-duplication mechanism;
* Tweak: Added a "Trusted mode" for file systems that respond very slowly and slow down or freeze the Media Library;
* Tweak: Added a button to start earler the optimization for huge sites, where preparing the bulk optimization queue can take a very long time;
* Tweak: updated styling for various notices to make it unitary;
* Tweak: thumbnails with ~0% optimization will be grouped toghether and displayed only once;
* Compat: Fixed a bunch of deprecation notices and warnings on PHP 8.1 and PHP 8.2;
* Language: 8 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.2.1 =
Release date February 21, 2023
* Fix: an error was displayed when trying to migrate PNG files saved in the old optimization format;
* Fix: in some strange cases, the JS worker URL was called with `http` instead of `https`, blocking plugin functionalities;
* Fix: a JS error affected optimization when another plugin defined prototypes;
* Fix: if the main image was also detected as a thumbnail an error was thrown;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.2.0 =
Release date February 15, 2023
* New: added support for automatic conversion of HEIC files (Apple image format for iOS devices) to JPG;
* New: the conversion from PNG to JPG has been completely reworked, making it more robust and stable;
* Compat: the integration with WP Offload Media has been updated, according to the latest version;
* Compat: fully tested and working with PHP 8.1;
* Tweak: fractional optimization is now possible, especially useful for images with many thumbnails;
* Tweak: Custom Media stats are now retrieved with only one DB query, speeding up the settings page;
* Tweak: if a PNG is not converted, there is now a reason in the ShortPixel box on the Edit Media screen;
* Tweak: notifications are no longer reset when the plugin is activated/updated, preventing the same notifications from reappearing;
* Fix: security hardening for the settings controller and debug functions;
* Fix: a 4-digit Custom Media folder could not be added due to Media Library exclusions;
* Fix: a check is now performed before adding a NextGen gallery to Custom Media, to avoid duplicates;
* Fix: a failed PNG conversion to JPG can now be retried;
* Fix: credits can no longer be purchased from a sub-account;
* Fix: when converting a large PNG to JPG, the resulting scaled JPG was not optimized properly; 
* Fix: size exclusions work as expected again;
* Fix: when credits are insufficient for the entire bulk, a notification is displayed again;
* Fix: page selection on the Custom Media screen now works as expected again;
* Fix: NextGen Gallery pages no longer crash due to jQuery errors;
* Fix: NextGen galleries are no longer added twice, a check for double slashes has been added;
* Fix: if a PNG image has the same filename as a JPG image after conversion, it's now renamed correctly to avoid conflicts;
* Fix: when an image is deleted from NextGen Gallery, the WebP/AVIF files are also removed;
* Fix: if an optimized image is in a folder without write permissions, WebP/AVIF generation is no longer attempted;
* Fix: when entering a very long email address, the browser no longer hangs;
* Fix: notification for list view mode in Media Library works again;
* Fix: various fixes and updates to the plugin's CSS and text;
* Language: 31 new strings added, 8 updated, 0 fuzzed, and 15 deprecated.

= 5.1.6 =
Release date December 31, 2022
* Fix: in some cases, AVIF files were not cropped correctly;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.1.5 =
Release date November 29, 2022
* Fix: WebP/AVIF delivery now works correctly, without affecting SVG files or other images or requests (e.g. in WooCommerce). Sorry about this!;
* Fix: a PHP warning was displayed if no valid API key was added;
* Fix: error in Custom Media if the folder is not in the root directory;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.1.4 =
Release date November 28, 2022
* New: added a filter to force a file check for WebP/AVIF if they were manually deleted from disk;
* Fix: if only small WebPs are available, include the JPG version in the `picture` tag to avoid blurry images;
* Fix: the notification about unlisted thumbnails incorrectly reported WebP and AVIF files;
* Fix: improved integration with WP Offload Media by including Retina images in virtual/offload file checks;
* Fix: if the main file was optimized but some thumbnails did not have WebP/AVIF, it was not displayed correctly in the UI;
* Fix: added a % margin when generating WebPs/AVIF, so that files that are only a few bytes larger are also generated;
* Fix: when running WP-CLI, the percentage of finished items in the total was calculated incorrectly;
* Fix: the settings page crashed in certain cases for new accounts;
* Tweak: various CSS fixes and improvements on the Media Library, especially for cases with many thumbnails;
* Language: 2 new strings added, 2 updated, 0 fuzzed, and 0 deprecated.

= 5.1.3 =
Release date November 9, 2022
* Fix: a typo related to Custom Media that caused an error when adding a new Custom Media folder;
* Fix: some minor cosmetic fixes on the settings and bulk processing pages for new plans;
* Fix: the notification about the ShortPixel column in List view is now displayed when you switch back to the Grid view in Media Library;
* Language: 1 new string added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.1.2 =
Release date November 7, 2022
* Fix: when converting PNG to JPG, the PNG path was saved in the post editor, which could result in broken images;
* Fix: the bulk restore of Custom Media was performed without saving it to the previous bulks history;
* Fix: various wording updates and fixes throughout the plugin code;
* Fix: PNG to JPG conversion failed under certain Windows environments due to wrong path construction;
* Fix: the plugin now works with thumbs that have a numeric name (e.g. `0`);
* Fix: on certain hosting restrictions, requesting a new API key caused a fatal error;
* Fix: the original image was not processed when thumbnail processing was turned off;
* Compat: added compatibility with the Uncode theme's adaptive images feature;
* Tweak: minor updates to the settings and Media Library layout for new plans that will be introduced soon;
* Tweak: added filter/constant that can be used by affiliates;
* Tweak: reworked plugin notification system to make it more robust and reliable;
* Language: 44 new strings added, 2 updated, 0 fuzzed, and 39 deprecated.

= 5.1.1 =
Release date October 20th, 2022
* Fix: a fatal error for PHP 7.2 and lower was discovered and fixed by @KZeni, thanks!
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 deprecated.

= 5.1.0 =
Release date October 20th, 2022
* New: added SmartCropping, especially useful for eCommerce sites;
* New: if the WebP/AVIF files are larger than the JPG/PNG/GIF version, they are no longer generated to ensure that the smallest file is always delivered;
* Fix: various DB-related settings were adjusted for files with very long names and to keep AVIF/WebP optimization data correct;
* Fix: bulk processing history was lost when deleting the plugin;
* Fix: the file name in the bulk preview was added back;
* Fix: various situations and edge cases with WPML are now fixed;
* Fix: when a Custom Media item was excluded, there was no clear message next to it;
* Fix: added a check to prevent re-optimization when using bulk actions in the Media Library;
* Fix: the deactivation pop-up is also displayed in a multisite environment;
* Fix: minor wording and CSS fixes in the plugin settings and notifications;
* Fix: if there are still images to optimize and/or generate, all of them are counted and displayed correctly in the Media Library;
* Tweak: added check of necessary GD library functions to use PNG to JPG conversion;
* Compat: in some very special cases an error was triggered when the YITH Watermark Premium plugin was enabled;
* Language: 20 new strings added, 2 updated, 1 fuzzed, and 2 deprecated.

= 5.0.9 =
Release date August 29th, 2022
* Fix: one of the processing queues was flooded in certain situations, on sites with many concurrent editors;
* Fix: the file name was missing in the bulk processing preview;
* Fix: the queues were deleted when activating the plugin; now they are preserved and bulk processing can continue after updating/reactivating the plugin;
* Fix: retina backups were not removed when an image was deleted from the Media Library;
* Fix: NGG screen check caused processor to load on plugin/dashboard pages;
* Fix: stats were saved incorrectly when the plugin was deactivated;
* Fix: some PHP notices were displayed due to numbering format for Polish language;
* Fix: various minor fixes, error code handling and code cleanup;
* Fix: screenshots were updated to reflect the latest version of the plugin;
* Fix: updates to wording throughout the plugin and in the readme file;
* Language: 1 new string added, 0 updated, 0 fuzzed, and 1 deprecated.

= 5.0.8 =
Release date August 8th, 2022
* Fix: the `Previous Bulks` now displays the number of credits used instead of the number of Media Library items, to avoid confusion;
* Fix: the notification for migrating the old format of optimization information was not getting triggered anymore;
* Fix: excluded images and/or thumbnails can now be restored from the backup;
* Fix: added prevention for double database queries when checking if an item is already in the queue;
* Fix: the bulk restore and bulk migration of optimization data can now be done even if out of credits;
* Fix: reduced the number of database table checks done on wp-admin pages to the minimum possible;
* Fix: the out-of-quota message was not always showing up properly;
* Fix: the bulk migration of the optimization data now marks as optimized the images that have proper backups in place;
* Fix: the thousands separators are now displayed properly for all languages;
* Fix: the optimized/unoptimized Media Library filter has proper pagination and also works with WPML;
* Fix: in case the optimization percentage is an integer, drop the `.00` (83.00% -> 83%);
* Fix: improved the settings and bulk pages load time for sites with a huge number of items in the Media Library;
* Fix: properly save the optimization information even if the filename is huge;
* Fix: the `Optimize now` button wasn't showing up on Custom Media right after restoring an item from the backup;
* Fix: more fixes for multisite installs where the old `blogs.dir` folder structure is used;
* Fix: multiple fixes and improvements for WP-CLI, including more detailed embedded docs and examples;
* Fix: multiple fixes and improvements to the whole exclusions module;
* Fix: multiple fixes and improvements in handling how retina images are optimized;
* Fix: various small fixes and improvements to the debug mode of the plugin;
* Tweak: `CTRL+S` can now be used to save settings (you're welcome!);
* Tweak: added support for bulk processing via the processing hook;
* Tweak: various wording and text updates in the plugin and the readme file;
* Language: 10 new strings added, 8 updated, 0 fuzzed, and 2 obsoleted.

= 5.0.7 =
Release date July 26th, 2022
* Fix: the notification about credits used had some test data, resulting in wrong information (sorry again!);
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 5.0.6 =
Release date July 25th, 2022
* Fix: the "Search and Migrate All" tool now contains a fix for many cases where the message "Could not create backup" shows up;
* Fix: a fatal error was crashing the plugin settings in PHP 7.2;
* Fix: in certain cases, the optimization was looping due to WooCommerce's thumbnail system;
* Fix: in some cases, WooCommerce as well as other plugins were returning a wrong thumbnail URL and this case was not treated properly;
* Fix: optimization wasn't working correctly for multisite installs with the very old `blogs.dir` setup;
* Fix: some notifications could not be properly dismissed (sorry for that!);
* Fix: the integration with WP Offload Media has been enhanced for the case where the media files are not stored anymore on the local server;
* Fix: some errors were showing up in certain cases where the next generation image delivery was active together with the WP Offload Media plugin;
* Fix: the error box was not showing up anymore at the end of the bulk processing, or it was displaying wrong counts;
* Fix: the "Optimize Now" action from the Custom Media had a wrong link;
* Fix: in some cases, the bulk processing wasn't displaying the correct step for migration/restore operations;
* Fix: the deactivation feedback was sent even if no selection was made in the pop-up;
* Fix: the optimized/unoptimized filter was also displaying private posts;
* Fix: various small fixes and code improvements to make the ShortPixel support team's lives easier;
* Tweak: added a "processing" message when a new action is manually requested by the user;
* Tweak: added a tool-tip for the number of items currently in the processing queue;
* Tweak: added the resize type (cover/contain) on the image edit screen;
* Language: 10 new strings added, 2 updated, 0 fuzzed, and 6 obsoleted.

= 5.0.5 =
Release date July 7th, 2022
* Fix: in some cases the legacy optimization data was not migrated properly, resulting in backup-related errors;
* Fix: added the possibility to redo the migration of the optimization data when the backups exist;
* Fix: significantly reduced the number of queries when WP Offload Media is in use, as this was causing slowness in some cases;
* Fix: the automatic processing now works correctly when using the block editor as well as on other pages where it was broken;
* Fix: the unlisted thumbnails were not processed correctly and showed up as not optimized;
* Fix: the integration with the Photo Engine and WP/LR Sync plugins works properly again;
* Fix: the filter in the Media Library was making the image name go away;
* Fix: changing the API Key now resets correctly the credits information;
* Fix: removed a persistent notification about a potential insufficient quota;
* Fix: the "Optimize now" button works correctly in Custom Media;
* Fix: the "Extend quota" button works correctly in the Media Library;
* Fix: other folders from the `wp-content/uplods` folder can now be added as Custom Media folders;
* Fix: the size exclusions were not working as expected for thumbnails;
* Fix: updated various pieces of code in accordance with the WordPress Coding Standards;
* Tweak: the wait time between checking if there is anything to optimize has been lowered;
* Tweak: added a `clear` function for WP-CLI, to clear the existing queue(s);
* Language: 3 new string added, 0 updated, 0 fuzzed, and 7 obsoleted.

= 5.0.4 =
Release date June 22nd, 2022
* Fix: some notifications could not be dismissed because of a jQuery error, kudos to @KZeni for the fix;
* Fix: a JS typo was preventing certain actions from completing in the Media Library;
* Fix: an error was showing up in the bulk when the legacy format date field was missing or incorrect;
* Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 5.0.3 =
Release date June 21st, 2022
* Fix: the plugin now recognizes the offloaded WebP/AVIF files, when they are not also present anymore on the server;
* Fix: in some cases, the bulk and manual optimization was stuck due to some errors related to the legacy optimization information;
* Fix: when saving the settings, the credits quota and other API-related data will be sent to the API, for faster sync;
* Fix: when having the backups turned off, a placeholder image was displayed instead of the original one;
* Fix: an empty space was sometimes shown on some pages, as a result of some dismissed notifications;
* Fix: various small fixes around the plugin processing engine, for increased speed and stability;
* Fix: updated various pieces of code in accordance with the WordPress Coding Standards;
* Language: 1 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 5.0.2 =
Release date June 16th, 2022
* Fix: an uncaught error was fixed for the sites running without the `fileinfo` PHP extension that is needed by the plugin to get the mime type of the files;
* Fix: the resize switch from the settings wasn't properly working;
* Fix: a hidden modal in the dashboard was taking up a lot of empty space;
* Fix: some popups in the settings were always getting triggered in WordPress versions 5.5 and below;
* Fix: if the admin bar tooltip cannot load for any reason, let the JS processor continue its job;
* Fix: advancing from step 2 of the bulk process was sometimes blocked;
* Tweak: improved the notification text and updated the link around the legacy metadata migration;
* Tweak: the legacy conversion notification is now hidden when out of credits;
* Language: 0 new strings added, 3 updated, 0 fuzzed, and 0 obsoleted.

= 5.0.1 =
Release date June 14th, 2022
* Fix: a fatal error showed up in some cases right after updating the plugin, which is now fixed;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 5.0.0 =
Release date June 14th, 2022

We hope today is a lucky day because SPIO 5 is super cool, excellent, and faster. Now, bug-free! Just kidding :-) read on for the changelog and be kind to us in reporting issues. The dev team will be eternally grateful!
* New: this is a major rewrite of the plugin, where all the processing engine has been completely changed, as well as other major parts of the plugin;
* New: the optimization information is moved to custom tables in the database in order to avoid the situation when re-optimization occurs because ShortPixel optimization data was wiped;
* New: the whole bulk processing has been reworked and streamlined into a very nice 4 steps process, with more details and clarity about what is going to be processed;
* New: the JavaScript processor that is in charge of processing everything that needs to be optimized has been completely rewritten, adding more clarity and details;
* New: added WP-CLI support for most of the operations that can be performed with the plugin; please check the knowledge base for more details;
* New: due to the new bulk and JS processor, WebP and/or AVIF files can be generated without the need to re-optimize the whole Media Library;
* New: added more features for Custom Media, such as Cloudflare integration, displaying the internal ID for easier tracking, checks for permissions when adding new folders, and other smaller fixes;
* New: the settings were reorganized and refreshed, a Tools tab was added and tooltips are now available for an easier understanding of the functionalities;
* New: Breaking Change! regex exclusions are now moved to their own type `regex-name` and `regex-path`; if you are using regex exclusions please check them in detail and adjust as necessary;
* New: added the possibility for double AVIF extension that works in a similar manner to the double WebP extension;
* Tweak: removed `Process in the front-end` option due to performance issues; the same effect can now be achieved with WP-CLI commands;
* Tweak: Breaking Change! due to the code changes, some of the filters in version 4 are now deprecated; please check again your integrations if you used a filter in version 4;
* Tweak: removed the integration with Cloudflare Global API Key for security reasons, please use the Cloudflare Token instead;
* Fix: the image size is now updated correctly in the database (following the change in WordPress 6.0);
* Fix: in some cases, when running out of credits, the PDF upload wasn't possible;
* Fix: the optimized/unoptimized filter in Media Library works correctly now;
* Fix: a confirmation message shows up again when saving settings;
* Language: pretty much all strings were either added, updated, fuzzed, or obsoleted, therefore we didn't lose time in counting them; we hope you will understand.

= 4.22.10 =
Release date June 2nd, 2022
* Fix: updated all `add_query_arg` and `remove_query_arg` functions for enhanced security;
* Fix: in some cases, the offloading via WP Offload Media wasn't properly done when converting from PNG to JPG;
* Fix: PDF files weren't offloaded via WP Offload Media  when running out of credits;
* Fix: removed the backups folder calculation because it was making the settings page very slow in certain cases;
* Fix: removed the consumed credits from the statistics tab, because it wasn't working correctly;
* Fix: increased the default image resize options;
* Fix: a potential fatal error on PHP 8 was corrected;
* Tweak: added a new filter for the requests that are sent to the optimization API, documented above in the Developers section;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.9 =
Release date March 31st, 2022
* Fix: fixed the integration with the WP Media Offload plugin, which was broken in version 3.6.0;
* Fix: added support for offloading AVIF files via WP Media Offload;
* Fix: PDF files were not offloaded via WP Media Offload if the process PDF option wasn't enabled in SPIO;
* Fix: added support for delivering animated gif files as WebP when using the .htaccess method;
* Fix: the link for the plugin settings was leading to a 404 in the network admin of a multisite install;
* Tweak: added 2 new constants for adding the HTTP basic authentication credentials directly in wp-config.php;
* Tweak: added a notification in case of downgrading from the upcoming SPIO 5 version;
* Compat: added integration with Pantheon cache, thanks to @TrilipuT & @LogicEveryWhere;
* Language: 3 new strings added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.8 =
Release date February 8th, 2022
* Fix: an error was occurring on new installs when using PHP8;
* Fix: when uploading an image through Gutenberg's image block, the optimization wasn't getting triggered;
* Fix: wrong path for `picturefill.js` that was used only in certain cases on IE;
* Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.7 =
Release date January 17th, 2022
* Fix: switched all requests to the API to https to avoid insecure warnings;
* Fix: certain excludes by path were seen as regex-only and weren't processed correctly;
* Fix: the upgrade pop-up was not considering properly AVIF & WebP when proposing upgrade options;
* Fix: in certain cases, on Custom Media, there were some PHP Notices related to backups;
* Fix: AVIF files weren't removed when deleting an image from the Media Library;
* Fix: when the option to optimize images added in the front-end was enabled, some unnecessary calls to the backend were made in some cases;
* Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.6 =
Release date October 11th, 2021
* Fix: the plugin is now checking for the `UPLOADS` constant when building the paths on MultiSite installs;
* Fix: in certain specific cases, a fatal error was triggered when the backup couldn't be restored;
* Fix: if the automatic Media Library optimization is disabled, the plugin will also disable the front-end processing option;
* Fix: removed inaccurate statistics from the bulk screen summary until the next major release;
* Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.5 =
Release date August 31st, 2021
* Fix: in some cases, the MIME type of other files than images were wrongly set to `image/jpg`;
* Fix: when restoring from backup a PNG that was converted to JPG, the MIME type wasn't set back to `image/png`;
* Fix: in case backup fails for any reason, the image in discussion will be skipped (so the original one won't get overwritten);
* Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.4 =
Release date August 25th, 2021
* Compat: Added a notification system for the cases when AVIF files cannot be delivered with the current server/host settings;
* Compat: bumped the minimum supported PHP version to 5.6;
* Language: 5 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.3 =
Release date July 28th, 2021
* Fix: Error when using WordPress 5.8 Widget editor;
* Fix: Error when using WP-Offload and WebP image could not be detected;
* Fix: PNG2JPG when using WP without date directory format would incorrectly add ./ to filename;
* Fix: Unregistered retina files could throw off optimization;
* Fix: Easy Watermark plugin changed its main file, so it couldn't be properly detected;
* Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.2 =
Release date May 12th, 2021
* Fix: the Bulk screen reflects better the extra credits used for WebP and/or AVIF creation;
* Language: 1 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.1 =
Release date May 5th, 2021
* Fix: undefined variable notice;
* Fix: some strings had the wrong translation domain;
* Fix: WSO banner can now be hidden either with a constant or with a filter;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.22.0 =
Release date April 28th, 2021
* New: ability to generate and serve the AVIF version of the images;
* New: WebP and AVIF files can now be delivered without conditioning of the generation of such files;
* Fix: Keep the `loading=lazy` attribute on `IMG` tags when delivering next-generation images using the `picture` method;
* Fix: Custom database tables were created without primary keys and that caused issues in some cases;
* Fix: Empty alt tag should not be stripped with WebP delivery;
* Fix: bug when using S3-offload in combination with Webp delivery;
* Fix: fixes, additions, and tweaks to the plugin notifications system;
* Language: 9 new strings added, 14 updated, 0 fuzzed, and 0 obsoleted.
= 4.21.2 =

Release date March 15th, 2021
* New: added 2 new filters, one for the backup paths and one for the full list of image sizes displayed by the plugin in the Advanced settings;
* Fix: png2jpg wouldn't update post_mime_type to image/jpeg when converting;
* Fix: replaced Get_home_path in GetBackupDirectory to use our solution;
* Fix: unlisted images were not working properly when adding an unlisted image after optimizing other unlisted images;
* Fix: double WebP path files (e.g. filename.jpg.webp) will now be removed correctly when the original image is deleted;
* Tweak: various updates to the readme file;
* Language: 0 new strings added, 0 updated, 0 fuzzed, and 0 obsoleted.

= 4.21.1 =

Release date October 21st 2020
* Fix: the spinning robot head on wp-admin pages was never stopping, sorry for that;
* Language: 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.21.0 =

Release date October 20th 2020
* New: Plugin update notification system for future major versions;
* Tweak: the plugin will not log manually when not logged in as administrator;
* Fix: the plugin was incorrectly assuming the scheme for offloaded media files/backups;
* Fix: in some situations the WebP file links weren't correct on some specific multisite installs;
* Fix: WebP to Picture function also removes invalid lazy load tag (WordPress 5.5+);
* Fix: there were a few dead links on settings page;
* Language: 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.20.2 =

Release date August 26th 2020
* Fix: there was a PHP warning when using the `PICTURE` method to deliver WebP images, which is now fixed;
* Fix: in some cases the image URL's were relative and the optimization could not be done;
* Language: 4 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.20.1 =

Release date August 19th 2020
* HelpScout and Quirobot widgets are now disabled
* Language: 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.20.0 =

Release date August 17th 2020
* New: Small refactor of the way to handle ABSPATH;
* Fix: jQuery browser ( IE 6.0 support removed ) for WordPress 5.5;
* Fix: Always reset quota when doing check notice, to prevent hanging notices;
* Compat: Addded Phoenix Media Rename plugin to the conflicting plugins list, because of the way they treat the ShortPixel metadata;
* Language: 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.19.3 =

Release date July 14th 2020
* Fix: Images weren't optimized when they were added from the Upload function of the Gutenberg image block;
* Fix: Scaled images when using relative paths now don't fail on domain issues;
* Fix: Drop any notices that don't have ShortPixel Notice as SubClass;
* Fix: Properly handle some situations when the .htaccess file is read-only;
* Fix: Avoid the plugin crash in some specific situations when an invalid API Key was provided;
* Fix: Notices were being displayed for the first time custom folders were added on a multisite install;
* Fix: Optimize now wasn't displayed anymore as a button in Other Media for multisite installs;
* Fix: In certain situations, when the image timestamp changed, the optimization was counting 2 credits;
* Language: 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.19.2 =

Release date June 10th 2020
* Fixed a fatal error when specific notifications were active and the plugin wasn't updated through WordPress;
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.19.1 =

Release date June 9th 2020
* Fixed a fatal error when WebP delivery was active;
* Fixed an error in a specific situation when running out of credits while the bulk processing was running;
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.19.0 =

Release date June 4th 2020
* Added an animation in settings that better explains the automatic resize done by ShortPixel;
* Fix for fatal errors in some cases when updating the plugin, by moving the class loader to PSR-4;
* Fix for a situation where the compare function wouldn't work because of a wrong assumption for the backup folder path;
* Fix: if directory structure is fully empty, select other media folder displays empty modal;
* Fix for check quota button that wasn't working in certain situations;
* Fix for missing DB table when doing a bulk restore before having optimized images;
* Fix for a DB foreign key issue in situations where multiple WordPress sites run on the same DB;
* Fix for backup getting broken on IIS/Windows servers, because of the way Windows handles the paths;
* Compability fix for WooCommerce germanized PRO plugin, where the cart page was throwing a fatal error because of the PDF that ShortPixel was trying to optimize;
* Various fixes for other media screen, to make it more consistent with the Media Library;
* Language – 5 new strings added, 1 updated, 1 fuzzied, and 0 obsoleted.

= 4.18.1 =

Release date 20th May 2020
* Fix for a situation when running the bulk could result in duplicate images;
* Updated some old docs links;
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.18.0 =

Release date 7th May 2020
* Added a warning for the case when Imagik library isn't available and "Keep EXIF data is enabled";
* Added a check to prevent the bulk process to be called in multiple browsers in order to decrease the load on admin-heavy sites;
* Fix for the situation when the bulk process would enter a loop in certain situations;
* Fix for the notices after bulk restore that would duplicate the files missing form backups;
* Fix for multisite when DB tables were created even for sub-sites without the plugin being active;
* Language – 1 new strings added, 0 updated, 0 fuzzied, and 5 obsoleted.

= 4.17.4 =

Release date: 22nd April 2020
* Fix 400 errors response on admin-ajax.php when using a fontend uploader plugin;
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.17.3 =

Release date: 16th April 2020
* Added a collapsable details feature to notifications, in order to avoid filling up the screen with them;
* Added a filter to completely disable the plugin, when necessary (for certain user roles for example);
* Hide the API key from the support chat module in settings, when the API key is entered via wp-config.php;
* Prevent fatal errors if multiple versions of the plugin are active simultaneously;
* Fix for API key that could be leaked in the frontend through JS;
* Fix for situations where the plugin was crashing if the API key was added via wp-config.php;
* Fix missing optimize button on Edit Media screen;
* Fix for time stamp in Other Media screen when the server is set on another time zone than UTC;
* Fix for JSON parsing errors when `set_time_limit` function is forbidden;
* Fix for notifications not showing correctly the number of credits available;
* Fix for images stuck in "Pending Restore" in Other Media, when there was no backup for them;
* Fix for hamburger menu in Other Media not displaying options centered;
* Language – 4 new strings added, 2 updated, 0 fuzzied, and 4 obsoleted.

= 4.17.2 =

Release date: 10th April 2020
* Fix for Over Quota notification that didn't go away even if there were enough credits;
* From now on other ShortPixel notifications will only show up on ShortPixel related pages (Media Library, ShortPixel settings, Other Media page, Bulk Optimize page);
* Added a constant which can be used to completely disable all ShortPixel notifications. To be used with care as in certain cases it can hide important notifications;
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.17.1 =

Release date: 6th April 2020
* Fix for MySQL index errors for MySQL 5.6;
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.

= 4.17.0 =

Release date: 2nd April 2020
* Complete rewrite of the Other Media part of the plugin. It now looks closer to the standard Media Library, having thumbnails and actions like Compare, Re-optimize and Restore from backup for all images when you have Backups activated;
* Added notification to activate the integration with NextGen Gallery, when the plugin is active and the integration is not activated;
* Improved the way Other Media folders are added and it should not crash anymore for folders with a very large number of images;
* Fix for the extra information (i) next to each Other Media folder in the Advanced Settings;
* Fixes for multiple issues reagrding the NextGen Gallery plugin integration;
* Fix for notififcations showing up when they're not supposed to show up;
* Fix for multiple notifications when backup files are not found. These are now merged together;
* Fix for notifications that were crashing outside ShortPixel screens;
* Fix for the report that was wrongly stating 40 days, when actually the report is only for 30 days;
* Fix for the exclude regex section that was returning true even if no matches were found;
* Removed from the plugin the files that are not used anymore;
* Language – 15 new strings added, 0 updated, 0 fuzzied, and 8 obsoleted.

= 4.16.4 =

Release date: 26th March 2020
* Fix for some notices that could not be dismissed
* Fix for "Confirm new credits" notification
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.16.3 =

Release date: 9th March 2020
* Fix missing button to choose a plan when running out of credits.
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.16.2 =

Release date: 27th February 2020
* Fix notices javascript.
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.16.1 =

Release date: 14th February 2020
* Fix non-dismissable alerts.
* Reference to the Website Speed Optimization service.
* Fixed: deleteItemCache in wrong place ( before save ) thus resetting data
* Fixed: NextGen integration
* Language – 3 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.16.0 =

Release date: 4th February 2020
* New - Token support for Cloudflare via config constant or settings.
* Backup setting - add orange warning when backups are off.
* Button to dismiss the top bar notification of missing files.
* ShortPixel now loads scripts with 'defer' on front site, if it's configured to be loaded there.
* Hiding Cloudflare details via wp-config.php.
* Hide the option "Process in front-end" when "Optimize media on upload" is not checked.
* Fixes for multibyte filenames with mixed locales.
* Fixes for combination of S3-offload, webp pictures and cnames.
* Reworked Notifications.
* Fixed - PNG2JPG Retry button didn't work, now properly resets retry counter.
* Fixed - Realpath in directory model throws off installations with symlinks.
* Fixed - Thrown Exception in API with corrupted images now caught.
* Fixed - Debug window link was visible when it should not.
* Fixed - ExcludePattern without value would result in notices.
* Language – 7 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.15.4 =

Release date: 29th January 2020
* Change the Help beacon to V2.
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.15.3 =

Release date: 20th December 2019
* Hide the "Process in front-end" option if "Optimize media on upload" unchecked
* Add ALT text for plugin images in Admin
* Moved CSS for the admin bar to the actual admin bar stylesheet, other css no longer loading on those pages
* Fixes for windows specific paths
* Fixed: warning flood when using old version of S3-offload
* Fix for frontend and error shortpixel in top toolbar
* Fixed: Pancake menu now showing proper actions ( none ) if backup is not there.
* Fixed: Windows paths in wp-short-pixel  getBackupFolderInternal
* Language – 4 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.15.2 =

Release date: 28th November 2019
* Fix for is_null error and "Call to undefined method ShortPixel\ShortPixelPlugin::alterHtaccess" in some cases.
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.15.1 =

Release date: 27th November 2019
* Fix the infamous T_PAAMAYIM_NEKUDOTAYIM error on PHP 5.3 with WP Offload Media compat. module.
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.15.0 =

Release date: 27th November 2019
* Ask if WebP files should be created before bulk optimization : checkbox added in Bulk page.
* Added filters for optimal chunk size when selecting records from wp_postmeta while bulk processing: 'shortpixel/db/chunk_size'.
* Optimize images also on edit-media screen.
* Experimental support for static cache firewalls, and sending images w/ timestamp: SHORTPIXEL_EXPERIMENTAL_SECURICACHE.
* Limit loading of JS / CSS to pages we do work on.
* Refactoring & speed optimizations: - new external class for gravity forms, nextgen and visual composer, new controller for global admin hooks, new front controller, updated plugin init, clean(ish) root file, database optimization(reduced number of queries), unlistedThumbs checker only fires when the optimize unlisted check is active, optimizations for filesystem and findFileByPattern.
* WPML Duplicates - Don't mark empty GUID's as duplicate.
* Fix broken styles on WP 5.3.
* Fix in case meta_value in processCountable has a WP_Error object instead of normal metadata.
* Fix on WP Engine when large wp_postmeta table: limit to 16K the size of the query with ID list.
* Fixed: error when log path is not writeable
* Fixed: double sends within the same images, can happen with something like WPML and it's duplicated media.
* Fixed: bug when searching unlisted images, in some circumstances.
* Fixed: max_execution_time when time is set lower than 0.
* Fixed: directories with no permission would give PHP error
* Fixed: pathToUrl now also works for paths outside wp uploads
* Fixed: check for DOING_AJAX on redirect to settings.
* Fixed: ShortPixel icon + exclamation mark in toolbar showing on every page load.
* Fixed: Add Custom media browser doesn't display files anymore
* Fixed: WebP option adds an extra border if image already has a border -> borders will not be replicated to <picture> tags.
* Fixed: Validating empty key doesn't show any message.
* Fixed: on Nginx writes .htaccess files.
* Fixed: Bug with safeGetAttachmentUrl for URLs that start with //.
* Fixed: New S3-Offload version breaks ShortPixel and offloading.
* Fixed: get_attached_file when S3-Offload is active, breaks other plugins.
* Fixed: crash when doing .htaccess files ( WP 5.3 specific ).
* Fixed: double file occurences on png2jpg in conjunction with s3offload.
* Language – 1 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.14.6 =

Release date: 9th October 2019
* Don't convert to `<picture>` the `<img>`s with backgrounds.
* Remove unused eval() call.
* Restore the validate button next to API Key but change label to "Save and validate"
* Fixed: PNGtoJPG issue with already uploaded images
* Fixed: finding wrong unlisted thumbnails due to regex.
* Fixed: fatal error when trying to delete crashed attachement ( without proper URL )
* Fix for S3 offload - PNG2JPG , doesn't remove old JPG files
* Fixed: S3Offload will not offload anymore when 'Copy files to bucket' is off ( and object was not previously offloaded )
* S3Offload doesn't offload via optimiser anymore if this setting is off
* Fixed: cutting out initial offload if optimization needs to be done, when autolibrary is on
* Fix for PNG2JPG - JPG files remained in backupdir.
* Small fix for remote download thumbnails
* Fixed: notice in filemodel due meta-facade feeding array
* Fixed: bug in File2Url in filesystemcontroller
* Fixed: download issue in attempt to remote download
* Language – 0 new strings added, 1 updated, 0 fuzzied, and 0 obsoleted

= 4.14.5 =

Release date: 29th August 2019
* If constant SHORTPIXEL_USE_DOUBLE_WEBP_EXTENSION is defined as true, use double extension for WebP (.jpg.webp)
* Fixed: Javascript - String.prototype causes errors on React apps
* Fixed: Undefined page load when using ShortPixel and Divi preloaded images
* Fixed: Offload Media - When removing PNG2JPG converted file, the files / folder are not removed.
* Fixed: When the constant that enables using double extensions for WebP (.jpg.webp) is active, the webp's are found as unlisted thumbnails and sent to optimization.
* Fixed: missing call to apply_filters('shortpixel_image_exists'...) on a particular case.
* Language – 0 new strings added, 1 updated, 0 fuzzied, and 0 obsoleted

= 4.14.4 =

Release date: 19th August 2019
* Check if unlisted thumbnails present for already optimized images (in case the thumbnails were added later) in Media Library list and when doing bulk. This also integrates with the Unicode plugin.
* If JSON PHP module not present, add a proper error
* Fixed: bulk error "WordPress database error You have an error in your SQL syntax" on some installs
* Fixed: Warning: count() Parameter must be an array.
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted

= 4.14.3 =

Release date: 22nd July 2019
* Compatibility with Flywheel hosting by not using flock if Flywheel detected
* When using the PICTURE tag to deliver WebP, keep the width and height at `<IMG>` level
* Refactoring of the API Key settings page, refactoring of Other media
* Performance improvements for selecting from large wp_posts and wp_postmeta tables when doing bulk optimization
* Display a message when bulk is skipping many processed images, if bulk processing is ran again.
* Fixed: Other media - Recompress adds "Preserve CMYK"
* Fixed: duplicate error message when validating wrong API key
* Conflict message: align the text vertically and provide space between text and button when displayed on any admin page
* Fixed: Other media Restore fails when original file is readable, not writable

= 4.14.2 =

Release date: 1st July 2019
* add the possibility to define custom infixes for thumbnails (like image-uai-150x150.jpg for image.jpg) - comma separated define SHORTPIXEL_CUSTOM_THUMB_INFIXES

= 4.14.1 =

Release date: 17th June 2019
* Fix errors when DOMDocument not present

= 4.14.0 =

Release date: 17th June 2019
* Add new filters proposed by WP Stateless: shortpixel_backup_folder, shortpixel_image_exists, shortpixel_image_urls
* Better placement of the elements on the Other Media page
* Fix custom bulk for PDFs when the pdf thumbnails are not activated
* Fix selecting items from DB twice for bulk in some circumstances
* Warn user that converting PNG to JPG while keeping EXIF in options doesn't keep it (no EXIF for PNGs).
* When SHORTPIXEL_DEBUG=x get parameter is provided, display a floating link to the shortpixel_log file
* Adaptive Max execution time and capped to 90 sec. for the bulk background AJAX calls. (Kinsta has a max_execution_time of 300 sec. in PHP but the HTTP connection is cut after 180 sec.)
* Fix custom 404 page for missing images not working when using .htaccess for WebP
* Fix WebP picture tag with relative URLs not working in some circumstances
* Fix replacing the `<img>` inside an existing `<picture>` tag with another `<picture>` tag.
* Clear SP optimization cache in order to be able to optimize an image which initially had permissions error, after changing the permissions.
* Fix being able to list the contents of ShortpixelBackups on some badly configured servers.
* Fix error when inputting D'Artagnan in the AUTH pass field of settings.
* Add the Quriobot for support.

= 4.13.1 =

Release date: 16th April 2019
* fix thumbnail optimization when a thumbnail was replaced with another one
* better integration with Regenerate Thumbnails Advanced

= 4.13.0 =

Release date: 10th April 2019
* Bulk restore for the Other Media
* make the filename extension be updated when manually optimizing a PNG from Media Library, if the convert to JPG is active, without refreshing the page
* Integration with Regenerate Thumbnails Advanced new 2.0 beta version
* Add the rules for WebP in the WP-CONTENT .htaccess
* ShortPixel Other Media - display the time of optimization in the grid and offer option to sort by it
* Keep sort order when optimizing / refreshing page on Other Media
* offer the visual comparer for Other Media too
* resolve the Settings inconsistency in Other Media (settings displayed were from when adding the folder not from when actually optimizing)
* Make pressing Escape or clicking outside of any popup close it.
* Fixed: Restoring an Other Media item and then Optimizing it again optimizes it Lossless
* fix generating the WebP `<picture>` tags when the images are either on a subdomain or on a CDN domain having the same root domain as the main site.

= 4.12.8 =

Release date: 25th February 2019

* fix CSS for the top bar ShortPixel icon on post pages
* i18n some text which was left out by mistake
* include the green "CAN" WebP image which shows that the .htaccess works with WebP images having extensions like .jpg.webp
* display notice if ShortPixel Adaptive Images is active and the Generate WebP markup option is checked. Do not generate the WebP markup in this case.

= 4.12.7 =

Release date: 12th February 2019

* solved conflicting WebP file names when image.jpg and image.png exist in the same folder - use image.jpg.webp filename.
* fixed .htaccess rules for some Apache versions which seemingly don't honour the RewriteRule backreferences in the RewriteCond's (Apache bug?)
* remove the WebP .htaccess rules on plugin deactivation and add them back on plugin activation
* fixed alt attribute for <picture> tags - now it is included properly only on the enclosed <img> tag.

= 4.12.6 =

Release date: 27th January 2019

* Improvements to the .htaccess WebP method
* Improve performance of backup deletion - get rid of unnecessary checks
* Fixed: wrong calculation of remaining credits
* Fixed: discrepancy between the description of the exclude size option and the behaviour for the exact size case.

= 4.12.5 =

Release date: 10th Ianuary 2019

* change the JS name in order to circumveit cache problem on many WP installs
* sorting the Media Library entries by ShortPixel optimization: also sort based on compression level
* Fixed: case sensitive search for guid duplicates of image posts (needed for finding Polylang versions)
* Fixed: the data-lazy-src/srcset detection for WebP
* Improvements to the Deliver WebP options and especially messages with caveats
* Load the ShortPixel CSS only on admin pages that need it

= 4.12.4 =

Release date: 27th December 2018

* Fixed: shortpixel-thumbnails-regenerated action when not all the thumbnails were regenerated

= 4.12.3 =

Release date: 19th December 2018

* Fixed: error in getting the lazy- attributes of <img> for WebP handling.

= 4.12.2 =

Release date: 13th December 2018

* Improved: The Webp options interface. Now the user can implement Webp images both via .htaccess and by altering the page code on the server before being sent to the browser.
* Improved: The settings data handling interface in the Plugin deactivation dialogue. Now the option to delete or keep the user settings on plugin deletion is more clear.
* Added: Option to download image with thumbnails in a single archive file, to speed-up the optimization.
* Added: A "shortpixel_get_backup" filter, which receives the local path of the media image and returns the ShortPixel backup path, if a backup image exists
* Added: The "Simple Image Sizes" plugin to the conflicting plugins list
* Added: A new compatibility check for the "Jetpack" plugin, alerting the user about potential overlapping functionality
* Added: A safety alert before switching to Code Altering mode (where IMG tgs get inserted into PICTURE tags, to better serve Webp images)
* Added: Enhanced "Envira" plugin compatibility by adding more suffixes to be looked for: _tl, _tr, _bl, _br
* Added: More customized FAQ suggestions in the HelpScout Beacon helper, to address each Plugin TAB separately
* Fixed: The post-uninstall redirect when uninstalling a plugin from within the respective plugin's Settings page
* Fixed: The credits display on the Statistics page
* Fixed: Refreshing a plugin page now loads directly in the previously selected TAB
* Fixed: Removed a stray "SP_CELL_MESSAGE" div from the interface

= 4.12.1 =

Release date: 6th November 2018

* Fix WebP replacement for lazy-loaded images
* Fix WebP replacement with output buffering on some WP installs

= 4.12.0 =

Release date: 31st October 2018

* Generate WebP &lt;picture&gt; tags - use the output buffer instead of the_content which is not triggered by some themes on all content.
* compatibility of the WebP &lt;picture&gt; tag with lazy loading plugins (that support &lt;picture&gt;)
* Compatibility with Polylang.
* hooks to be used by thumbnail regeneration plugins: 'shortpixel-thumbnails-before-regenerate' and 'shortpixel-thumbnails-regenerated'
* Proper error message when the custom tables cannot be created.
* exclude the PNGs from conversion to JPEG when they match the exclude patterns.
* properly warn when cURL is not enabled that Cloudflare integration won't work.
* send only one url for metadata thumbnails which correspond to the same physical file.
* JavaScript delayed init for cases when some plugins deffer the load of javascript files.
* fix identifying filenames with basename length == 3 as retina
* display improvements for the bulk errors list

= 4.11.3 =

Release date: 27th September 2018

* fix error when metadata is returned as string by wp_get_attachment_metadata (happens to PDFs when using PDF Image Generator)
* remove the configurable Affiliate code as per new WP Themes rules.

= 4.11.2 =

Release date: 30th August 2018

* Fix "Image files are missing" warning when thumbails optimization is activated but all the thumbnails are excepted from optimization and the bulk is ran a second time.
* Fix not saving properly the metadata on some situations

= 4.11.1 =

Release date: 28th August 2018

* compatibility with the MediaPress plugin
* new action to be called by when thumbnails are regenerated: shortpixel-thumbnails-regenerated
* accept '+' inside the e-mail address
* fix optimization not working on internationalized domain names
* better count of the not optimized thumbs for an image, in some circumstances
* fallback to ABSPATH when get_home_path() returns '/'
* fix settings tabs navigation when url ends with #/
* extract all release notes < 4.9 from readme.txt into changelog.txt
* display the thumbnail name for some errors which refer only to a specific thumbnail.
* use update_post_meta() instead of wp_update_attachment_metadata() for cases when other plugins cannot be concerned by the meta change (specific to ShortPixel)
* add the attributes of the original <img> to the <picture> replacement tag, in case the "Generate WebP Markup" option is active.
* fix action buttons in media edit view overflowing their box
* restore full compatibility with WP < 4.1 by checking first before using wp_json_encode
* fix admin when domain is internationalized but the setting in admin uses the punycode-encrypted version

= 4.11.0 =

Release date: 3rd July 2018

* add bulk menu options: restore, reoptimize
* filter the media list by optimization status
* sort the media list by optimization status
* do not display the Media Library (years) folders in the selection list for Other Media folders
* force PNG 2 JPG conversion option
* integrate with Gravity Forms
* integrate with WP Stateless
* add several actions and a filter (see the Actions and Filters section of the readme)
* UI improvements to the settings page
* fix the WPML compatibility when converting from PNG
* fix SELECT IN image counting bug on rare cases and when >100k records in wp_postmeta
* add option to delete ShortPixel settings and give feedback form on deactivate plugin

= 4.10.5 =
* GDPR compliance

= 4.10.4 =
* replace back the PNG links when restoring a PNG converted to JPG
* fix incompatibility with Dynamics 365 Integration plugin
* improve restore capabilities after certain types of PNG to JPG errors which left the media item in an unconsistent state.
* remove AUTH credentials on server too, if removed in plugin's settings.
* more performance improvements to PNG 2 JPG conversion
* fix replacing PNG urls having http:// instead of https:// for a SSL site. (and viceversa)
* fix string not appearing in translations

= 4.10.3 =
* improvements to context help beacon
* performance improvements to PNG to JPG conversion

= 4.10.2 =
* fix error when listing Other media in some circumstances

= 4.10.1 =
* fix missing file from commit

= 4.10.0 =
* option to exclude thumbnails from optimization
* options to delete Cloudflare cache for optimized images
* method to define affilate codes for themes
* error message when restore could not be performed
* better handling of situations with files with different owner but with write permissions for all
* fix bug for inner resize when setting and unsetting the resize parameter
* fix bug for third-party WebP thumbnails registered in the 'sizes' metadata array which were sent to optimization.
* check if function mb_convert_encoding exists before using it

= 4.9.1 =
* fix error for older WP versions which don't have wp_raise_memory_limit

= 4.9.0 =
* inline help beacon
* fix exclude patterns not working after last update
* handle situations when not enough memory to convert from PNG to JPG.
* fix particular situations where there was no 'file' property in the metadata.
* fix slider optimized percent over the bulk warning box.
* display the x close link for the bulk warning box.

= 4.8.10 =
* restore compatibility with PHP 5.2.x
* finding unlisted thumbnails - don't bother if dialog dismissed.
* force JS initialization after 10 sec. if external error on the document.load thread prevented it.
* onboarding - small text changes
* images added from the front-end sometimes have get_attached_file() null when hook called, delay the check and processing in this case, instead of marking as Optimization N/A.
* compatibility with s3-offload pro plugin
* fix to time estimate at bulk, which sometimes was displaying x hours and 60 minutes left.
* confirm popup when deleting backups.

= 4.8.9 =
* On some multisites installed in a subdirectory, the get_home_path() doesn't return the subdirectory, fallback to ABSPATH
* Sometimes images are not PNG even if they have .png extension. Don't try to convert them if imagecreatefrompng returns false.
* Get an aproximate row count for InnoDB tables to optimize the speed, but fallback to normal count(*) for MyISAM
* Fix several warnings ($thumbsMissing not an array, $found is not set, etc.)
* Return error message when folder could not be found, when adding other media folders
* More info to some API errors


= 4.8.8 =
* fix for trying to convert .png files that are not png actually
* fix for installs which don't have PHP GD - deactivate the png 2 jpg conversion
* fix for unserialize warnings
* improvements in bulk speed when passing through already optimized images.
* fix unsupported usage of const by third party punycode.js
* fix emails with new root domains like user@domain.store
* fix unsupported flock problem
* hidden button pending cleanup
* fix javascript not being able to generate the actions menu upon image being optimized while inside the image edit and displaying false instead

= 4.8.7 =
* fix bug of the resize minimum size alert not dismissing

= 4.8.6 =
* alert user when the plugin doesn't have rights to write to the uploads folder

= 4.8.5 =
* drop usage of the PHP session / wp_option for the priority queue - use a flat file instead.

= 4.8.4 =
* fix compatibility problem with WP 4.9 when editing source files with the new built-in editor
* fix restore converted PNGs in some situations
* fix some minor warnings
* refactor png2jpg functions in another class
* add compatibility with PHP 5.2
* generate WebP urls - account for settings with different scheme (http - https)

= 4.8.2 =
* fix minified punycode.js not generated because of ECMA6 not supported by YUI...

= 4.8.1 =
* fix notice that would not dismiss

= 4.8.0 =
* propose best plans options for optimizing all images
* option to optimize or not the found unlisted thumbs, alert the user about them.
* convert png to jpeg also when doing bulk if option set. Also search for usages of the image and replace the URLs in the content.
* fix compatbility problem with S3 Offload which caused sending two different sets of URLs for an image.
* trim site_url output - found a client case where it ended with a tab...
* all wp_options with autoload=no
* subscribe and get the API Key directly from the plugin
* minify all js and css files
* performance improvements for the picture tag generation
* retina versions of the icons
* fix compatibility with PHP 5.3 for using class:: inside closures
* fix "Optimize 0 thumbnails" in column menu generated from Javascript.

= 4.7.2 =
* fix wrong use of _ function which displayed warning

= 4.7.1 =
* Deactivate conversion from PNG to JPG for the previous images, until we find a solution for the posts that refer these images.
* Minor fix to bulk (last item in Media Library sometimes was left unoptimized)

= 4.7.0 =
* convert PNG images to JPG option
* action called upon optimizing an image: do_action('shortpixel_image_optimised', $post_id);
* monitor Other Media folders for changes every hour
* button to delete all ShortPixel metadata making ShortPixel forget it optimized the images in Media Library
* plugin images at @2x
* cleanup Other Media tables
* fix wp-options that would not save in some circumstances
* fix generate webp <picture> tags when post guids are absolute URLs and image URLs are changed, or when site has HTTP/HTTPS versions
* fix problem with AMP pages when generating the <picture> tags - when using AMP for WP plugin AMP pages are not changed.

= 4.6.0 =
* add a filter option to the Other Media table
* fixes in order to comply with WP plugin guidelines

= 4.5.5 =
* max thumbs constant - no more than this number of thumbs will be optimized in one pass
* fix problem with webp <picture> tag when using Fusion Builder
* really hide the API key everywhere when configured so

= 4.5.3 =

* fix Javascript error in bulk in some cases

= 4.5.2 =

* fix readme again

= 4.5.1 =

* fix readme

= 4.5.0 =

* replace img tags in front-end with picture tags, and include the webp images
* actions menu in Media Library
* option to compare the optimized (main) image with the original in Media Library

= 4.4.2 =

* fix wrong custom path in some cases

= 4.4.1 =

* fix warnings on PHP 7.1 for empty array settings.

= 4.4.0 =

* exclude images based on patterns or image sizes, exclude paths based on patterns
* avoid using basename as a fallback for non-UTF8 filenames but instead use own code (basename strips first character if it's not ASCII-128 - for example ISO/IEC 8859-2)
* processing spinning indicator in the admin top bar with CSS to display OK on all admin themes.

= 4.3.1 =

* hide API Key on single sites option ( define SHORTPIXEL_HIDE_API_KEY true in wp-config.php)
* fix for PHP installs on Linux that don't have the posix functions available
* show an alert when the plugin is no longer able to contact our servers (initially was alerting only before key validation)

= 4.3.0 =

* a new level of optimization intermediate between lossy and lossless: glossy
* bulk restore for Media Library
* fix warning when activating plugin in some situations
* empty backups button always visible (also when the backup option is unchecked)

= 4.2.9 =

* fix bug when thumbnails had numeric indexes in the sizes metadata array
* fix bug when bulk reoptimizing on some specific conditions

= 4.2.8 =

* fix bug when searching for thumbanils of files with same prefix
* fix bug when several successive images have all files missing

= 4.2.7 =

* fix bug when quota expires

= 4.2.6 =

* add the webp files as thumbs to the sizes array in metadata so they are automatically used by themes that use srcset.
* add option to optimize PDFs or not.
* seamless integration with WP/LR Sync plugin.
* gracefully ignore missing thumbs on disk when doing the optimization - just mark them as missing in the metadata.
* gracefully add Media Library files that are present on disk but not present in the image metadata (sizes array).
* option to dismiss the top toolbar ShortPixel alert when quota expired.
* compute the backup folder size asynchronously in order to speed up the settings page.
* editors/authors now are able to optimize/restore images from the Media Library list.
* handle internationalized domain names (punycode encoded).
* reset failed images from Custom Media when user launches a reprocessing of the images from Bulk.
* bugfixes

= 4.2.5 =

* fix for PHP7.1 fatal error when encountering corrupt metadata (wp_get_attachment_metadata returning empty string)

= 4.2.4 =

* fix not processing the images in the custom image folders if they had uppercase extensions
* remove the deprecated mcrypt calls.
* fix jQuery 3.x incompatibility when calling .unload() by using on("beforeunload" .. ) instead

= 4.2.3 =

* fix compatibility with older PHP by not using closure
* fix order of optimization of other media - by id not by added timestamp
* fix js error for manual optimization from js-generated button
* change call to obsolete get_currentuserinfo method

= 4.2.2 =

* offer to generate the API key directly from ShortPixel settings.
* alert and explain why is not allowed to specify a size less than 1024 when resizing.
* fix metadata for missing thumbs while optimizing.
* button Cleanup&Retry for images that have missing thumbnails.
* display what thumbnails are missing.
* for Windows platforms, do not check the local path to start with a slash
* fix optimization for images that contain '+' in the path
* use different styles for bulk boxes instead of the notice class
* properly display from the start the number of images to be optimized on the bulk button, when thumbnails are not selected.
* fix for sites that have admin urls with a doubled slash like wp-admin//uploads.php
* fix JS error on bulk finished page and new images optimizing
* fix bulk hangup when encountering a block of more than 900 wp_postmeta lines that are not image metadata.
* fix for cases when the wp-content path returned by wordpress contains backpath items (like wp/../wp-content)
* fix not saving advanced settings on "Save and go to Bulk" button.

= 4.2.1 =

* meta box in Media Library image editing form with informations about optimization status and results
* delete WebP images when image is deleted from Media Library
* change language domain to match the plugin slug in order to be automatically translatable on translate.wordpress.org.

= 4.2.0 =

* multilanguage support
* add retinas count to the ShortPixel Compression column
* add option not to automatically optimize Media Library images when added
* fix the size bug happening when optimizing main image then optimizing only thumbnails with resize active
* restrict log messages to SHORTPIXEL_DEBUG instead of WP_DEBUG
* fix compatibility with WP < 3.9
* fix compatibility with watermarking plugins like Image Watermark
* fix compatibility with WPBakery Visual Composer

= 4.1.7 =

* fix backup thumbnail js error

= 4.1.6 =

* fix processing for sites with caps path like http://mysite.com/My-Path/
* fix WebP generation for images that are already optimized

= 4.1.5 =

* readme updates - links to informative articles
* show that WebP format is created free of charge
* hide the Advanced settings tab completely before API Key validation
* fix indefinite retries when wrong image size
* restrict debug mode to ShortPixel own define

= 4.1.4 =

* fix path problems on multisite on Windows

= 4.1.3 =

* fix debug mode too intrusive

= 4.1.2 =

* bulk slider fix

= 4.1.1 =

* settings fix

= 4.1.0 =

* retina images support - optimize also retina images
* WebP support - option to generate also WebP images
* optimize other media folders also from the root of the site, not only in wp-content
* restore and re-optimize other media images
* resize options - defined rectangle to be contained in the resized image or the resized image to contain the defined rectangle

= 4.0.2 =

* fix compatibility with PHP 5.2
* fix for URLs like domain.com/CamelCasePath

= 4.0.1 =

* Optimize from the front-end option

= 4.0.0 =

* Custom folders optimization
* NextGen galleries optimization

= 3.3.4 =

* Fix Settings Resources display
* Add user and password authentication option for downloading images
* fix for PHP installs that lack utf8_encode function
* retry from the optimize Ajax post when server sends a 500 error

= 3.3.3 =

* Compatibility with WPML Media plugin
* Fix ListView link on multisites
* Fix for server configurations that have max_execution_time = 0

= 3.3.2 =

* fix for PHP installs that are missing the mcrypt functions

= 3.3.1 =

* small fix to the quota revalidation process

= 3.3.0 =

* reoptimize lossless/lossy
* optimize thumbs for images already optimized
* compatibility with WPML

= 3.2.1 =

* old PHP compatibility fix

= 3.2.0 =

* ICC color profile is always preserved.
* possibility to hide the API key in a multisite install.
* detection of best protocol to use: https / http.

= 3.1.9 =

* option to keep the EXIF data and ICC profile.
* more explanations on settings.

= 3.1.8 =

* fix reloading bulk page on quota used up

= 3.1.7 =

* bugfixes

= 3.1.6 =

* look and feel improvements

= 3.1.5 =

* longer timeout for the API Key validation postback

= 3.1.4 =

* fix bug in bulk processing

= 3.1.3 =

* fix problems with activating the keys on some systems that do not allow post requests

= 3.1.2 =

* bulk runs now only on media and post pages
* settings page redesign
* client site access test from our servers when activating the API key and warn if site not accessible
* fix last image sometimes unprocessed by bulk
* fix progress bar to advance when skipping images

= 3.1.1 =

* fix calculation of displayed counters of images to be processed on bulk start
* fix restore option that appeared wrongly sometimes  - thanks to Bogdan Günther @ http://medianotions.de

= 3.1.0 =

* rescale big images option - thanks to Bogdan Günther @ http://medianotions.de
* referral system
* show how many thumbs are optimized for each image
* fix the Visual Composer conflict - thanks to Andy Adams - www.certainlysoftware.com

= 3.0.8 =

* fix issue with files in /tmp dir that weren't deleted in certain cases, issue noted by Daniel - http://germangoogleguy.com

= 3.0.7 =

* Affiliate codes
* Solve conflict with wp-ses plugin
* skip image on _FAIL message
* mixed content warning fix

= 3.0.6 =

* Optimized bulk processor behaviour when navigating from one admin page to another.
* Improved some explanatory texts.

= 3.0.5 =

* different bug fixes

= 3.0.2 =

* Progress bar improvements

= 3.0.0 =

* Major update
* when validating the API Key on a multisite a message with instructions on how to add the API Key in wp-config.php is displayed
* check when an optimized image cannot be saved and stop bulk processing (if running)
* restore backup is not displayed when option is not activated
* change image status in the Media Library ShortPixel Compression column imediately after the image is reduced, not only after reloading the page. Add spinner to the "Image waiting to be processed" status.
* images with relative URLs are converted to absolute URL so they can be processed by the plugin
* proper handling of images with non-standard latin chars inside
* better average compression computation
* rewritten handleImageUpload
* removed MUST_HAVE_KEY
* changed isProcessable
* and others :)

= 2.1.9 =

* Check if the server address is localhost and warn when activating the API key.
* Quota exceeded now displays a link to billing page

= 2.1.8 =

* improved texts/explanations for different sections
* added extra option to convert CMYK to RGB for further size reduction
* display credits for one time payments as well
* API Key can also be configured in wp-config.php like this: define('SHORTPIXEL_API_KEY', 'YOUR_API_KEY'); Useful for multisite installations


= 2.1.7 =
* improved checking and reporting of firewall restriction on client side
* optimized files are saved in the right location when dealing with WP Multisite
* updated screenshots

= 2.1.6 =

* improved login procedure upon quota is exceeded
* when quota is exceeded user can more easily increase it
* extra warning regarding the number of thumbs available additionally to main images
* improved counting of images
* check if https works if not use http for communications with the API
* better handling of error messages when API service cannot be contacted

= 2.1.5 =

* visiting Settings/ShortPixel now resets the Queue flag
* when plgin's API Key cannot be validated the JS script that calls admin-ajax.php is stopped
* return meaningful message on Media Library listing when API Key is not valid
* extra check for API Key validation

= 2.1.4 =

* fixed global variable issue for some variables
* fixed API Key validation that occurred for some of the hosting providers out there when HTTPS was used

= 2.1.3 =

* when backup wasn't activated the processed files weren't put in the right place
* removed forgotten debug message
* changed "optimised" to "optimized". Welcome USA :)
* improved bulk handling and also "cancel" and "resume" options
* fixed conflict with wpmandrill on wp_mail function

= 2.1.2 =

* fixed condition that hanged bulk processing sometimes
* added "Reduced by" text
* more useful wrong/missing API Key message
* test if a backup dir can be created upon plugin validation
* added alert when a file couldn't have been overwritten
* added alert when a file cannot be saved in backup dir
* added Quota on API Calls functionality
* added resume bulk processing feature

= 2.1.1 =

* fixed condition in function that validates content by extension
* fixed bug that prevented files uploaded directly in /uploads dir to be properly processed/saved
* retry link added besides files that failed to be optimized due to different reasons

= 2.1.0 =

* speedier file download from API resource
* SQL changed to use less CPU intensive queries
* improved BULK processing logic, faster results
* different small fixes & improvements
* skip processed images when running bulk processing


= 2.0.8 =

* improved logic for processed files to be downloaded every time
* sometimes the processing script stopped before finishing all the files to be optimized, fixed
* improved processing speed for bulk processing

= 2.0.7 =

* fixed issue with "missing" images
* save plugin version for easier debugging
* list mode is set for media library for first time run
* fixed bug that prevented backup-ed files to remove when the original was removed

= 2.0.6 =

* different small fixes

= 2.0.5 =

* small improvement to make the optimization of newly added images faster.
* fixed condition when the PDF files weren't processed
* different improvements

= 2.0.4 =

* fixed recursive backup directory size counter
* added backup with subdirectory structure to handle many files
* empty backup can handle subdirectories & sets the right flag for backup restore
* latest images are optimized first
* check for missing images on disk but still linked in DB

= 2.0.3 =

* added extra check for bad server responses
* 10 files/post request for file processing
* updated error codes according to API v2
* updated description

= 2.0.2 =

* added more tags so we better describe newest features

= 2.0.1 =

* some improvements to bulk processing
* PDF files are also optimized now
* fixed a thumb processing bug that caused extra API requests

= 2.0.0 =

* SP plugin uses API v2 and the processing speed is significantly improved

= 1.6.10 =

* Corrected a bug affecting option saving for some of the users.

= 1.6.9 =

* Optimize now option only appears when the image wasn't optimized

= 1.6.8 =

* Bulk Processing optimized to skip images that were already optimized with the same options when Bulk Processing is run multiple times
* changed the place where original (backup) files are stored
* extra check for missing(expired) processed images

= 1.6.7 =

* extra check for exif_imagetype function

= 1.6.6 =

* changed method from GET to POST for API Key validation
* bulk optimization text update

= 1.6.5 =

* plugin tested for WP 4.1

= 1.6.4 =

* API validation URL changed to v1

= 1.6.3 =

* fallback to http if plugin activation fails for https
* added error mesage API Key validation fail

= 1.6.2 =

* extra check for images that return 3xx/4xx codes to be ignored
* API Key validation (error) message is returned to user
* error messages for images are displayed in the "ShortPixel Compression" column

= 1.6.1 =

* fixed small upload glitch
* added succes message upon bulk processing completion
* improved image backup
* lossy option by default upon plugin installation

= 1.6.0 =

* images' requests for optimization are sent for all sizes upon image upload in media gallery
* non-image (e.g. PDF files) are ignored now @ bulk processing
* bulk optimization improved & some bugs fixed.
* FAQ/Description small changes

= 1.5.1 =

* readme changes

= 1.5.0 =

* pictures are removed from backup as well when deleted
* restore backup warning/error fixed
* fixed useless/bad AJAX requests that occured sometimes
* added user agent to API Key validation for debugging purposes
* Bulk Processing was freezing for some users, fixed this + added Cancel button

= 1.4.1 =

* optimize again overwrote the original image, fixed
* fixed restore errors
* changes to FAQ/Description texts

= 1.4.0 =

* Bulk image processing improved so it can optimize all the images in background while admin page is open
* small changes in readme.txt descrption

= 1.3.5 =

* fixed broken link in settings page
* updated FAQ
* description updated

= 1.3.2 =

* fixed missing action link @ Bulk Processing
* added more screenshots

= 1.3.1 =

* possible fix for API key validation failing
* added backup and restore for images that are processed with shortpixel
* optimize now feature on Media Library

= 1.0.6 =

* bulk processing runs in background now.

= 1.0.5 =

* extra check for the converted images to be safely copied from ShortPixel

= 1.0.4 =

* corrections and additions to readme.txt and wp-shortpixel.php

= 1.0.3 =

* minor bug fixes

= 1.0.2 =

* Updated Bulk editing to run in background
* Updated default options
* Added notifications on activation

= 1.0 =

* First working version
