== Changelog == = 8.1.0 = * Tested up to 6.8 * Removed the buttons with actions for the SVG files * Added the new setting that allows to enable the actions for users with upload files capability * Added the Unattached option for the advanced rules * Refined the unique name logic * Translation updates = 8.0.5 = * Reverted to old `substr_count` function for backward compatibility with PHP < 8.0 = 8.0.4 = * Tested up to 6.7 * Compatibility with core 6.7 * Translations updates * Fixed the uncaught error when running wp-cli resetcleanup command = 8.0.3 = * Attempt to fix the SVG dimensions when the core feature fails on upload (when SSL operation failed due to routines:tls_process_server_certificate:certificate verify) * Fixed cron schedule warning for custom frequency = 8.0.2 = * Removed the GLOB_BRACE from the code, as that is not available on some non GNU systems = 8.0.1 = * Tested up to 6.6 * Refined the filter for fixing the file name on upload, following the best practice for SEO and accessibility = 8.0.0 = * This is a major update, please keep a backup of your files before updating * Tested up to 6.5.3 * Compatibility updates for core >= 6.5 * Set default quality to 90 (aligned with the most recent core changes) * Styles updates to inherit the main color from the admin theme and simplified the theme colors * Accessibility improvements * Performance improvements * Placeholders optimization * Translations updates * Improved the placement of the buttons in the media dialogs * Improved the upscale option so that sub-sizes with both width and height bigger than the original file to be generated (previously, at least one dimension needed to match the original) * Added a note in the debug screen if the site configuration does not allow for the logs to be written * Fixed the error produced in the custom logs when the FS_METHOD is defined and not direct * Fixed the buttons for the featured image when selected in new draft posts * Fixed the loaded rules for the image details lightbox * Fixed the issue that made videos have 0x0 dimensions in the media library = 7.3.4 = * Tested up to 6.4.1 * Backward compatibility with PHP 7.2.27, fixed the uncaught argument count error * Added a new filter that allows bypassing the logs programmatically - use `add_filter( 'sirsc_bypass_logs', '__return_true' );` in your code = 7.3.3 = * Adjusted the initial threshold to match better the portrait images * Cleanup artefact images * Fixed warnings for unidentified crop position = 7.3.2 = * Changed the path of the logs to use the uploads folder * Fixed the final file name and output info for the forced original size = 7.3.1 = * Added extra random string to hashed log files names = 7.3.0 = * Tested up to 6.4 * Security updates - added the log index file and hashed log files names = 7.2.5 = * Fixed the error for WooCommerce product in Classic editor on site running Divi = 7.2.4 = * Tested up to 6.3.1 * Added and extra check for writable log folder to avoid code warnings (the core file system touch is not reliable to do the check) * Refactored the image quality so that the images will create sub-sizes at the expected quality on upload too (to overcome the core lack of hooks for sub-sizes quality when processing uploads) * Exposed all image sizes in the editor settings = 7.2.3 = * Fixed the option "bulk regenerate/cleanup execution starts from the most recent files" remaining auto selected = 7.2.2 = * Tested up to 6.3 * Minor styles updates = 7.2.1 = * Forced release to fix the previous deployment issue = 7.2.0 = * Tested up to 6.2.2 * Security updates - limited the special features to only admins * Added WP-CLI commands extensive details to the FAQ section of the plugin readme * Added the info, regenerate, and cleanup buttons in the select/upload media dialog * Fixed some warnings when using the reset cleanup command = 7.1.0 = * Tested up to 6.2 * Added the option to disable the verbose tracer log, hence, log only the main events * Added the filter `sirsc_keep_scaled`, which allows preserving the scaled version * Added new Elementor and WooCommerce post types to exclude lists * Updated the wp-cli regenerate command to be in sync with the "regenerate only missing files" and "regenerate/cleanup only featured images" settings from the bulk actions * Updated the wp-cli commands description, synopsis, and options details * Fixed the admin menu overlay = 7.0.1 = * Fixed warnings when the initial metadata is incorrect (missing width or height) and bypassed summary * Fixed the SVGs preview in the admin listing when the image metadata is missing width or height = 7.0.0 = * Tested up to 6.1.1 * WP 6.1.1 compatibility updates * PHP 8 compatibility updates * WooCommerce compatibility updates * Added the custom images sizes to the editor images sizes (to make these available in the image and gallery core blocks when the sub-sizes are available) * Added a small performance optimization for the custom advanced rules hook * Added the options for separate custom rules for featured images * Added the matched rule in the tracer log (for more details about generating sub-sizes and troubleshooting) * Added two new filters, one for removing the update notification and one for removing the top notification * Fixed the mime type warning on SVG upload * Minor styles updates * Dependencies updates * Translations updates = 6.2.2 = * Tested up to 5.9.2 * Fixed crop typo in sub-sizes info. * Bypassed placeholder for image sizes that do not have a width or height defined. * Excluded new core post types from the list of image sizes' options. = 6.2.1 = * Tested up to 5.9 * Clear attachment cache before re-computing the object after the image regenerate = 6.2.0 = * Tested up to 5.8.2. * Added placeholder fallback * Change filter priority to apply earlier the available sizes * Fix warnings for info not available in some of the core versions * Fix warnings for estimated sizes missing width or height * Attempt to bypass scaled sub-size naming * Updated sizes filter for backward compatibility * Limit the length of the logs * Trace in the bulk log the WP-CLI command executions * Styles adjustments (for Chromium) = 6.1.0 = * Tested up to 5.8.1. * Added the wp-cli commands hints for the bulk features. * Added the wp-cli command to rename files for SEO adon active. * Added the new option that turns on/off the buttons from the media screen when switched to grid mode. = 6.0.3 = * Implemented fallback save for media settings as the native hook in 5.8 is not firing consistently. * Updated the media settings UI * Setup default bulk action in reverse for new installs = 6.0.2 = * Add back action when attachment gets deleted = 6.0.1 = * Fix medium large crop option update * Added a close icon to the info lightbox (decorative only, the lightbox is closing on any click) * Style adjustments for the enabled custom rules * Fix cleanup button class typo = 6.0.0 = * Tested up to 5.8. * General settings UI changes: accessibility, a better grouping of settings and options, separated and marked differently for clarity the settings that are global form the settings that can apply to images attached to the selected post type, sticky heading for the images sizes listing, spinners, mobile view update. * Advanced rules UI changes: accessibility, better differentiation of the active and suppressed rules, sticky heading and save button, mobile view update. * Added the new reset settings feature (resets the plugin settings without removing the custom registered image sizes). * Added the new option to bulk regenerate/cleanup execution starting from the most recent files. * Added the new option to turn on the custom debug log for monitoring the events and execution related to the regeneration and cleanup of images. * Added the new option to execute bulk actions using the WordPress cron tasks instead of the default interface (regenerate and cleanup batches size too). * Updated the bulk cleanup and bulk regenerate dialogs and buttons to differentiate when the cron tasks are enabled, also added the option to cancel all currently scheduled tasks that aim to regenerate or clean up the images (as a fallback option). * Added the new debug tab with the bulk actions and tracer logs (options to clean up and refresh). * Moved in debug tab the status/debug details (previously available in the Import/Export addon). * Add-ons' thumbnail updates. * Updated the export registered image sizes snippet to use boolean values for the crop parameter. * Changes to expose the custom placeholders for each image size when the placeholders option is enabled (global or only missing) and the option to regenerate another file for each (helps when the random colors assigned do not provide enough contrast for troubleshooting). * Add-ons' styles updates and the option to pause/resume bulk actions. * Fix the counters for bulk actions (`thumbnail` vs `shop_thumbnail`). * Code refactoring and updates for PHP's latest stable versions. * Optimize the info lightbox, lazy loading of the embedded images, sticky heading for clarity, and mobile view update. * Added in the info lightbox the option to clean up metadata for the images sizes that match the original (metadata optimization) * Decouple the image size file deletion in the cases with multiple matched images' sizes (this will clean up metadata for additional image sizes that match the same filename, and will remove the file as well when the file matches only one size). * Added auto-update preview on the page when the image size file is updated and is present on the current view. * Added the individual image buttons in the media library view in the grid mode. * Fix assets enqueue issue for usage with core versions >= 5.6. * Completely decoupled the plugin from jQuery legacy code. = 5.5 = * Tested up to 5.5.1 * Added export snippet that allows transferring registered image sizes from the plugin * Added image metadata fallback when the post meta is missing = 5.4.4 = * Tested up to 5.5 * Fix warnings, placeholder path, and font, a summary update on sub-size change in the info lightbox * Change the threshold default quality on the forced original * Assets update = 5.4.3 = * Tested up to 5.4.2 * Added the option to bulk regenerate/cleanup only featured images * Fix the deprecated array and string offset access syntax with curly braces for PHP >= 7.4 = 5.4.2 = * Added the raw clean up button in the media listing screen (this is available only when using the option to display the summary too). * Added the option to display the summary of images generated for each attachment in the media listing screen that gets updated when other actions are performed in the image details lightbox, on regenerate and raw cleanup. * Style updates for the small resolutions. = 5.4.1 = * Fixed the upscale for a square image. = 5.4 = * Tested up to 5.4 * Added the upscale option that allows to upscale images (with close original sizes to the expected crop) before applying a crop, when the perfect fit option is on. = 5.3.5 = * Added more details about the missing files in the image details lightbox, so that the files that are removed (from FTP or otherwise by third-party plugins, manual removal, etc.) are marked as missing files, even if these are still recorded in the database. Updated the alternative text over the delete icon to read "Cleanup the metadata" for clarity. * Added the option to keep the plugin settings after the plugin is deactivated. * Fix error on image upload when also using WP Offload Media plugin that is messing with the attachment metadata and triggers a WP_Error = 5.3.4 = * Fix warnings for previously missing settings. = 5.3.3 = * Added the option to filter and expose the image sizes available for the attachment display settings in the media dialog (any registered available size, even when there is no explicit filter applied). = 5.3.2 = * Added the option to regenerate only missing files, without overriding the existing ones. * Added the cleanup log to summarize the cleanup errors at the end of the process. * Fix the issue when using with WooCommerce and the crop position was not processed correctly, it was only selecting the center of the image, regardless of the expected crop position. * Fix the raw cleanup. * Fix ghost image sizes' settings. = 5.3.1 = * Tested up to 5.3.2. * Added a new hook for integration with EWWW Image Optimizer plugin * Readme updates = 5.3 = * Tested up to 5.3. * Added a new option to override the featured image size in the meta box. * Fixed the attachment display settings size options in the media screens when there are globally ignored and unavailable sizes. * Added custom hooks for other plugins' integration. = 5.2.1 = * Bypass the fallback to the original metadata for smaller image sizes. * Fix the crop option for medium and large (in some cases that was not saved properly). * Display small buttons when using Gutenberg. * Updated screenshots with the latest version options. = 5.2 = * Tested up to 5.3-RC2. * Integration with EWWW Image Optimizer plugin to allow the sync of ignored image sizes. * Save the general setting without refreshing the page. * Added the reset to the default quality loss setting. * Created three new action hooks: sirsc_image_processed (parameters: $attachment_id, $image_size), sirsc_attachment_images_processed (parameter: $metadata, $attachment_id), sirsc_image_file_deleted (parameters: $attachment_id, $file). * Added the option to show small buttons in the media screen. * Added two new cleanup options, one that allows for the removal of unused files from older image sizes, and one for raw cleanup that keeps only the original/full file. PLEASE NOTE: BOTH NEW CLEANUP TYPES ARE RECOMMENDED FOR COMMAND LINE USE (`resetcleanup` & `rawcleanup`). USE THESE AT YOUR OWN RISK. * Notify other scripts when processing by defining the DOING_SIRSC constant. * Added the functionality that will attempt to regenerate metadata and sub-sizes when the upload failed but the file got uploaded but no metadata or sub-sizes were done. This is triggered when opening the image details lightbox. * Added the functionality that attempts to fix the broken metadata by matching the generated files with the expected image sizes. * Added extra details in the image details lightbox about each image associated with an attachment and the status of the image size and the option to delete individually. = 5.0.1 = * Fix notifications loaded too soon. = 5.0 = * Changes to allow direct access to the features from the main menu. * Separate current features and allow access from the menu to general settings, advanced rules, media settings custom options, additional sizes, and features manager. * Added support for the new extensions: Import/Export, Images SEO, Uploads Folder Info, and Uploads Inspector. * Added general settings new option that allows to turn off/on the WooCommerce background thumbnails regenerate. * New option to resume the regenerate process from the settings page for each of the image sizes. * Introduced the features manager that allows to turn on/off additional functionality related to the plugin * Support for Import/Export extension (free) that allows replicating quickly the settings from one environment to another. * Support for Images SEO extension (yearly license) that allows to rename the image files and override the attachments' attributes based on the settings. * Support for Uploads Folder Info extension (yearly license) that allows you to see details about your application uploads folder. * Support for Uploads Inspector extension (yearly license) that allows you to analyze the files from your uploads folder (even the orphaned files). = 4.8 = * Tested up to 5.2.2 version. * Assess and capture background errors. * Added support for future WooCommerce product gallery hook. * Added the new unavailable option for image sizes. * Added the new option to disable the generation of imperfect match image sizes. * Styles update. * Toggle the cleanup button. * Regenerate for the imperfect image sizes from the individual image info lightbox. * Added the regenerate log. * Added error and success info details during the regeneration and cleanup process. * Simplified paths output. * Minor speed-up of bulk processing. * Hide by default the info and regenerate buttons when using Gutenberg and no image set. = 4.7.4 = * Fix warnings for updating custom image sizes when both width and height are not provided. * Tested up to 5.2 version. = 4.7.3 = * Fix the missing checkbox column in the media listing screen = 4.7.2 = * Added custom image sizes in the Attachment Display Settings > Size dropdown available in the native WordPress media screen (only the image sizes that are not marked for global ignore in the settings, and these for which the image was generated will become available). = 4.7.1 = * Added missing changes for scale quality. = 4.7 = * Added a custom column in the media listing with the options to see details and regenerate. * Added the option to set custom quality for images directly when regenerating from the details lightbox. = 4.6.1 = * Expose the native medium-large hidden sub-size * Add a delete option for generated images that are smaller than the expected size. = 4.6 = * Translation fix for the button used with the Gutenberg block * Added targeted delete option in the lightbox for each image size generated for an image * Link the media settings (medium and large crop option + define new custom image sizes) in the plugin settings page. = 4.5 = * Tested up to 5.1.1 version * Comment out the buttons' action that is no longer necessary for WP >= 5.1. = 4.4 = * Tested up to 5.0.1 version * New settings for crop option of the native medium and large images * New options for registering custom image sizes from the UI * Gutenberg support for the featured image buttons that allow to see details and regenerate. = 4.3 = * Tested up to 4.9.8 version * New WP-CLI command to clean up everything except for the full-size image, if you want to clean up and start over * New WP-CLI command flags to force the removal of image sizes that are not registered in the application anymore * Configurable custom rules and a new hook added so that you can create programmatically more complex rules * Changes to the info view to that include links to the original and the generated images * Styling updates * Added translation source file and RO translation included = 4.2.2 = * Tested up to 4.9.2 version * Added Imagick support and fallback for placeholders * Added progress to WP-CLI commands = 4.2.1 = * Fix static warning, fix access to the direct wp-admin folder instead of login = 4.2 = * Tested up to 4.8.3 version * Add the image quality option for each image size, display the quality settings and the file size in the image details overlay * Preserve the selected crop position for the image size in the image details overlay * Fix multisite warning on switching the blog when using the WP-CLI commands = 4.1 = * Tested up to 4.8 version * Fix the missing button for 4.8 = 4.0 = * Tested up to 4.6.1 version * Update the image buttons to work with WP >= 4.6 new hooks parameters * Changes for the image buttons backward compatibility (core versions less than 4.6) = 3.3 = * Tested up to 4.4.2 version * Cleanup * Fix typo * Fix element position in the edit media screen = 3.2 = * Tested up to 4.3.1 version = 3.1 = * Add * in front of options that have settings applied. = 3.0 = * Add the forced original resize execution for already uploaded images when using the regenerate option (this will not just resize the images for the selected image size but will also alter the original images). = 2.0 = * Add the default crop configuration for each image size. * And the WP-CLI extension.