Biddut Revision Cleaner

Changelog

1.1.0

  • Automation Update — Scheduled Cleanup enhancements and Email Notifications
  • New: Smart Trigger Mode — per-post-type revision count thresholds; each type can have its own threshold and is cleaned independently without triggering a full site-wide cleanup
  • New: Smart Trigger Mode — asynchronous execution via wp_schedule_single_event; the threshold check is at most two queries and the actual cleanup is deferred to a background WP-Cron job so the triggering page load is never blocked
  • New: Smart Trigger concurrency guard via a short-lived transient prevents multiple jobs from being queued at the same time
  • New: Smart trigger evaluation order: Global count threshold → Per-type count thresholds → DB size threshold (each stage only evaluated if the previous did not fire)
  • New: Preferred Run Hour — schedule the cleanup to fire at a specific hour of the day (site local time) to avoid peak traffic windows
  • New: Per-Post-Type Frequency — each post type can now have an independent cleanup schedule (Use Default / Daily / Weekly / Monthly / Disabled), fully independent of the global setting
  • New: When any per-type schedule is shorter than the global frequency, the WP-Cron event automatically fires at the shorter interval so all schedules are honoured
  • New: Per-type last-cleaned timestamps tracked separately so each type is cleaned at its own configured interval
  • New: Post-Cleanup Email Notifications — receive an automatic email summary after every scheduled or smart-triggered cleanup run
  • New: Email summary includes trigger type, revisions removed, auto-drafts removed, space freed, duration, and next scheduled run date/time
  • New: Configurable recipient list (comma-separated email addresses); invalid addresses are silently skipped
  • New: Email notifications apply to Scheduled and Smart trigger runs; manual cleanup runs do not trigger emails
  • New: Invalid email warning shown inline in the recipients field when a saved address fails validation
  • New: Sample email preview shown directly in the settings form so you can see the email format before enabling it
  • Improvement: Schedule hour select shows both 24-hour and 12-hour (AM/PM) labels for clarity
  • Improvement: First cron event is anchored to the next occurrence of the chosen hour in the site’s local timezone

1.0.0

  • Initial release
  • Smart revision retention rules — global and per-post-type limits
  • Covers all revision-supporting post types including wp_block, wp_template, wp_template_part, wp_navigation, and any CPT with revision support
  • Age-based deletion — delete revisions older than X days during cleanup
  • Auto-draft cleanup option
  • One-click safe cleanup with analyze-first workflow
  • Live stats grid: total revisions, deletable count, estimated space freed, posts affected
  • Per-post-type breakdown table with active retention limit shown per type
  • Preview list of revisions queued for deletion (up to 50 shown) with post title, date, and author
  • Confirmation prompt before any deletion takes place
  • Scheduled cleanup — daily, weekly, or monthly via WP-Cron
  • Next scheduled run indicator on Settings page
  • Smart Trigger Mode — auto-clean on revision count or DB size threshold breach
  • Cleanup Logs — full history with date, trigger type, revisions deleted, auto-drafts removed, space freed, and duration
  • Paginated log table with WordPress-style pagination (Prev/Next, ellipsis, row count summary)
  • Color-coded trigger badges: Manual (grey), Scheduled (blue), Smart (green)
  • Aggregate lifetime totals on Logs page: runs, revisions cleaned, space freed, next scheduled run
  • Clear All Logs button with confirmation prompt
  • Post-level cleanup button in the post editor meta box
  • Revision count meta box in post editor showing stored count and active retention limit
  • Revision count column in Posts, Pages, and Custom Post Type list tables
  • Automatic revision trimming on every post save
  • Admin sidebar with plugin info and quick tips
  • Full nonce verification on all AJAX and paginated admin GET requests
  • current_user_can() checks before every privileged action
  • Full input sanitization and output escaping throughout
  • PHP 8.1+ with declare(strict_types=1)

Plugin Website
Visit website

Version:
1.1.0
Last Updated
April 20, 2026
Requires
WordPress 6.5
Tested Up To
WordPress 6.9.4
Requires PHP
8.1

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.