Extensibility, a broader purge set, a flush command, richer diagnostics — and a much deeper test suite.
Features
bext/after_purgeaction — fires after every purge (auto shutdown flush, manual admin-bar, network cross-site, WP-CLI) with the host and exactly what was purged:do_action( 'bext/after_purge', string $host, string[] $paths, string[] $prefixes ). Mirror to a second CDN, log it, ping a webhook.- Broader default post-purge set (still behind
bext/purge_urls_for_post): the post-type archive's page 2 and any attachment pages the post owns, bounded by the newbext/purge_max_attachment_pagesfilter (default 20). wp bext flush— flushes the WordPress object cache (wp_cache_flush()) and the whole bext edge cache for the site, in one command.- Dashboard diagnostics — the bext server card surfaces the last health probe's
x-bext-cache/x-bext-php(+x-bext-wp/server) response headers as badges when bext returns them.
Tests
- Roughly tripled the suite: 230 assertions across 10 files (was 84 across 6).
- New
CronTest,NetworkTest,HealthTest,SettingsTest; greatly expandedCachePathsTestandEnvSettingsTest; richer WP-freetests/bootstrap.php.
All changes are escaped/nonce'd, multisite-safe, PHP 7.4-compatible, and fail open. The self-hosted Updater is untouched.
🤖 Generated with Claude Code