Skip to content

Builder Meta Cleanup v2.3.1

Choose a tag to compare

@oduppinsjr oduppinsjr released this 27 May 13:41
· 22 commits to main since this release

Summary tab is now the default + per-stack opt-out checkboxes

Two UX refinements requested by users of the v2.3.0 Summary tab.

Changed

  • Summary is now the default tab and the first entry in the navigation. Opening Tools → Builder Meta Cleanup now lands on the site-wide overview instead of Themes & frameworks. The remaining tab order is: Summary → Themes & frameworks → Page builders → Plugins → About & tools.
  • Per-stack breakdown table now includes an Include checkbox column on the left, with one checkbox per detected inactive stack. Every checkbox is pre-checked on page load so the default behavior matches the previous "delete all" flow — uncheck any rows you want to exclude before clicking the cleanup button. A master Include / Select all checkbox in the column header toggles every row at once and reflects an indeterminate state when only some rows are checked.
  • The bulk submit button rewrites its own label live as you toggle checkboxes — for example "Delete 12,345 rows for 3 selected stack(s)" — and disables itself when zero stacks are selected. The backup-confirmation gate from v2.3.0 is preserved on top of this.

Added

  • Builder_Meta_Cleanup_Service::delete_all_for_inactive( ?array $only_target_ids = null ) accepts an optional allowlist of target ids. Passing null (the default) keeps the existing "delete every inactive target" behavior, so the WP-CLI clean-orphans command and any external callers are unchanged.
  • Return shape gains targets_skipped_unselected so the admin success message can distinguish "skipped because the stack is still active" from "skipped because you unchecked it".

Safety

  • The admin POST handler validates posted target ids against the live registry and re-runs is_target_active() per target before deleting anything. The per-stack checkboxes can only narrow the bulk action — they can never widen it, bypass the active-stack guard, or delete data for an unknown target id.
  • The backup-confirmation checkbox gate from v2.3.0 still applies on top of the new per-stack opt-out.

Upgrade

Patch release. No data migration, no configuration changes. The Summary tab will now load first when you click Tools → Builder Meta Cleanup — direct links to the other tabs (tools.php?page=builder-meta-cleanup&bmc_tab=theme|page_builder|plugin|about) still work unchanged.