Duplicator Documentation

Documentation, Reference Materials, and Tutorials for Duplicator

WP Media Cleanup – Changelog


Version 1.0.17 – 3rd March 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release replaces the admin menu dashicon with a custom SVG icon and ships a cleaner distribution build by excluding the release script.

Plugin:

  • [UPD] Replaced dashicon with a custom SVG menu icon in the WordPress admin sidebar.
  • [UPD] Excluded release.sh from distribution builds to keep the plugin package clean.

Version 1.0.16 – 29th January 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This maintenance release consolidates all recent improvements including theme file scanning for hardcoded image references, a search box on the backup/restore page, serialized post meta scanning for ACF and page builder compatibility, term meta scanning for WooCommerce, and a division by zero fix.

Plugin:

  • [NEW] Added theme file scanning to detect hardcoded image references in theme templates.
  • [NEW] Added search box on the backup/restore page for faster filtering of backup records.
  • [NEW] Added batched serialized post meta scanning to catch images stored in ACF repeaters and page builder data.
  • [NEW] Added term meta scanning to catch WooCommerce category thumbnails and other term-based images.
  • [FIX] Fixed division by zero error in wp_media_cleanup_format_size() when value is zero, negative, or non-numeric.

Version 1.0.15 – 29th January 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release introduces a chunked extraction workflow to prevent PHP timeout errors on large WordPress sites by splitting the scan into multiple AJAX calls, with resumable state tracking and step-specific progress indicators.

Plugin:

  • [NEW] Introduced 3-phase scan workflow: content scanning, extraction (chunked), and image size scanning to handle large post meta tables without timeouts.
  • [NEW] Added resumable scan support with database-backed state tracking and automatic retry (up to 3 attempts per step).
  • [NEW] Added step-specific progress messages so users see exactly which data source is being checked (widgets, customizer, custom fields, etc.).
  • [FIX] Fixed cron scheduling conflict on WordPress 6.7+ by moving registration to the init hook instead of plugins_loaded.
  • [UPD] Standardized AJAX error responses and fixed capability checks across scan handlers.

Version 1.0.14 – 22nd January 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release fixes a fatal division by zero error in file size formatting and adds safer scanning coverage for images stored in serialized post meta (ACF, page builders) and WooCommerce term meta.

Plugin:

  • [FIX] Fixed fatal division by zero error in wp_media_cleanup_format_size() — function now returns ‘0 B’ for invalid inputs instead of throwing a PHP error.
  • [NEW] Added batched serialized post meta scanning to detect images in ACF repeater fields and popular page builders.
  • [NEW] Added term meta scanning to detect WooCommerce category thumbnails and other term-based image references.
  • [UPD] Added unit tests for wp_media_cleanup_format_size() edge cases — test suite now at 33 tests.

Version 1.0.13 – 20th January 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release extends image detection to serialized post meta and term meta, reducing the risk of false positives when scanning sites using ACF, page builders, or WooCommerce.

Plugin:

  • [NEW] Added comprehensive serialized post meta scanning to catch images embedded in ACF repeater fields and page builder layouts.
  • [NEW] Added term meta scanning to protect WooCommerce category thumbnails from being marked as unused.

Version 1.0.12 – 16th January 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release adds a search box to the backup/restore page, fixes database lock errors caused by empty scan IDs, optimizes custom fields scanning, and corrects image count accuracy.

Plugin:

  • [NEW] Added search box on the backup/restore page to quickly filter backup records.
  • [FIX] Fixed empty scan_id causing database lock errors during chunked scans.
  • [UPD] Optimized custom fields scanning performance to reduce query load on large sites.
  • [FIX] Fixed image count to use database records only instead of filesystem counts for accuracy.

Version 1.0.11 – 16th January 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release adds a confirmation modal for large site scans to prevent accidental timeouts and resolves database lock errors caused by missing scan IDs.

Plugin:

  • [NEW] Added large site confirmation modal before initiating scans, warning users on sites with large uploads or post meta tables.
  • [FIX] Fixed database lock errors caused by empty scan_id values during chunked scan operations.

Version 1.0.10 – 16th January 2026

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • Minor maintenance release correcting image count reporting to use database records exclusively instead of relying on filesystem counts.

Plugin:

  • [FIX] Fixed image count to use database records only, eliminating discrepancies caused by filesystem inconsistencies.

Version 1.0.9 – 17th December 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release adds partner licensing support to enable white-label distribution through hosting providers.

Plugin:

  • [NEW] Added partner licensing integration to support hosting provider distribution agreements.

Version 1.0.8 – 19th November 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release renames the plugin from “WP Image Size Cleanup” to “WP Media Cleanup” across the entire codebase and all documentation.

Plugin:

  • [UPD] Renamed plugin from “WP Image Size Cleanup” to “WP Media Cleanup” across all files, strings, and documentation.

Version 1.0.7 – 27th October 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release improves the admin UI, corrects the default batch size for shared hosting environments, adds a Duplicator integration modal, and makes retention day settings dynamic throughout the interface.

Plugin:

  • [UPD] Fixed dashicon alignment in scan, delete, and restore buttons across the admin interface.
  • [FIX] Corrected default batch size from 50 to 25 for better compatibility with shared hosting environments.
  • [NEW] Added Duplicator plugin integration modal for pre-backup recommendations before running cleanup.
  • [UPD] All retention day references in the UI now display the configured value instead of a hardcoded “30 days”.
  • [UPD] Updated messaging to remove absolute safety claims and recommend Duplicator as a best practice before cleanup.

Version 1.0.6 – 24th October 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • Critical fix adding responsive image (srcset) protection to prevent the deletion of image sizes used in WordPress responsive image sets.

Plugin:

  • [FIX] Added srcset protection — image sizes used in WordPress responsive image sets (medium, large, medium_large, 1536×1536, 2048×2048) are now automatically preserved.
  • [UPD] Uses WordPress core wp_get_attachment_image_srcset() for accurate srcset detection.

Version 1.0.5 – 24th October 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release adds comprehensive WP-CLI support for server-side automation, hardens the cron cleanup against path traversal attacks, and expands the test suite to 30 tests.

Plugin:

  • [NEW] Added full WP-CLI command set: find_unused, delete_unused, list_backups, restore, stats, and benchmark.
  • [NEW] Added path traversal protection to cron backup cleanup using realpath() validation and directory boundary checks.
  • [FIX] Fixed empty backup path handling in cron cleanup to prevent unintended file operations.
  • [UPD] Added format parameter whitelist validation to CLI commands.
  • [UPD] Expanded test suite to 30 tests including 6 new cron security tests (all passing).

Version 1.0.4 – 23rd October 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release enhances backup restoration with metadata tracking, adds detailed storage statistics reporting, and improves restore path security validation.

Plugin:

  • [NEW] Added metadata tracking for backup records to support accurate restoration reporting.
  • [NEW] Added storage statistics dashboard showing disk usage, backup size, and cleanup history.
  • [UPD] Enhanced restore path security validation to prevent path traversal during restoration.

Version 1.0.3 – 23rd October 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release introduces “Restore All Backups” with batch processing, adds restore path validation tests, and improves bulk restore reliability on large backup sets.

Plugin:

  • [NEW] Added “Restore All Backups” button with batch processing to handle large backup collections without timeouts.
  • [NEW] Added backup restoration tests including path validation and security checks.
  • [UPD] Improved bulk restore to track total backups and report accurate results.

Version 1.0.2 – 23rd October 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release strengthens security validation for file restore operations and improves error handling and logging throughout the cleanup engine.

Plugin:

  • [UPD] Enhanced security validation for restore paths to block unsafe or unexpected file locations.
  • [UPD] Improved error handling and debug logging across the cleanup and restore operations.

Version 1.0.1 – 23rd October 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • This release delivers significant performance improvements using O(1) hash map lookups, adds basic WP-CLI support, improves scan reliability with transient caching, and polishes the admin interface.

Plugin:

  • [UPD] Replaced indexed array lookups with hash maps for O(1) deduplication, significantly improving performance on large sites.
  • [UPD] Optimized chunk processing to prevent slowdowns during large scans.
  • [NEW] Added basic WP-CLI support for running media cleanup from the command line.
  • [UPD] Improved scan performance using transient caching for the used images lookup.
  • [UPD] Various admin interface improvements including empty state messaging and layout fixes.

Version 1.0.0 – 25th September 2025

PHP Version: 7.2+
WordPress Version: 5.5 or greater.
Tested up to: 6.9

  • Initial release of WP Media Cleanup — a WordPress plugin for safely removing unused image size variations to free up disk space while protecting original images.

Plugin:

  • [NEW] Initial plugin release with custom PSR-4 autoloader (no Composer dependency in production).
  • [NEW] Core scanning engine to detect unused image size variations across posts, widgets, customizer, and custom fields.
  • [NEW] Always-on backup system — all deletions create backups automatically (cannot be disabled).
  • [NEW] Soft delete with 30-day recovery window — files moved to a temp directory before permanent removal.
  • [NEW] Activity audit log with configurable retention.
  • [NEW] Daily cron job for automatic cleanup of expired backups and old log entries.
  • [NEW] Comprehensive test suite with 30 tests covering scanning, deletion safety, backup integrity, and security.

Was this article helpful?


Related Articles

Don't Let Another Day Pass Unprotected

Every hour without proper WordPress backups puts your site at risk • Every delayed WordPress migration costs you performance and growth

Get Duplicator Now
Duplicator Plugin