Skip to content

v0.10.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Sep 22:20
· 2 commits to main since this release
bb710f2

Answers which redirect is missing, and stops a renamed page's old URL serving stale content.

Runtime verification: this release originally shipped without an inventory run, deliberately, and said so. The run has since been completed: 26/26 PHP verifiers and all three shell verifiers green on 2026-09-04 (commit 9c69b52). error-statistics-verification.php ran for the first time at any version and reached its measured branch against a live Redirection 5.9.0 404 log, rather than only its refusal branch.

The only code difference between this artifact and the verified commit is one whitespace character, so the artifact below is the verified build and there is no 0.10.1.

Changelog

  • New: get-404-statistics answers which redirect is missing, which creating a redirect cannot. It reports the paths that returned 404 and how often, read from the Redirection plugin's own log, behind the new off-by-default 404 statistics ability switch and the new wpcb_read_error_statistics capability.
  • Aggregate only, by construction. A result carries the requested path and a hit count and nothing else. Visitor IP, user agent, referrer, and request data are never read into the plugin, never stored, never returned, and never projected to an MCP client — and no parameter exists that could include them, so no retention or redaction obligation attaches to this plugin.
  • "Nothing collects this", "the log is switched off", "you may not read it", and "no 404s happened" are four different answers and stay four different answers. Yoast SEO Premium collects no 404 data at all, so a Yoast-only site reports the data as unavailable rather than reporting zero — which would read as a healthy site. A disabled log names the Redirection setting responsible. Every result also reports the retention window it covers, and says so explicitly when retention cut a requested range short, because pruned rows would otherwise look like 404s that stopped happening.
  • Reading statistics is deliberately not wpcb_manage_redirects. Redirection separates the two in its own permission model, so "diagnose the site without authority to change its routing" is a grant you can actually express. Because the log is read directly, Redirection's own permission for it still applies — by default that means Administrator, widened through Redirection's own filter if a site wants an integration principal to read it. Nothing here enables, prunes, or resets any log.
  • get-diagnostics now reports redirect providers, as redirects.enabled plus a redirects.providers list with a detected flag each — and it reports them whether or not the redirect abilities are switched on. Missing redirect abilities have two very different causes, the switch being off and no provider being installed, and they need opposite fixes. Diagnostics schema version moves to 1.2; the addition is backward-compatible.
  • update-permalink now invalidates the old URL's cache and reports what it did. A page-cache entry for the old URL is keyed by URL, so the post-scoped invalidation every write already performs cannot reach it, and it keeps serving the old page — the rename appears not to have taken effect. The write now notifies a bounded set, exactly the old and new URL, through public single-URL purge hooks and a new wp_content_bridge_purge_urls action for sites to bind. The result reports which channels were notified and flags delegated when the actual purge depends on site-level glue; it never claims a purge it cannot observe.
  • Fixed: wpcb_upload_media, added in 0.9.0, could not be granted through the settings screen and survived uninstall. It was missing from the capability list the screen renders and from the uninstall cleanup. Both now include it.
  • The database schema version moves to 14, so an active install grants the new capability only when the plugin is reactivated — until then the statistics ability refuses, which is the correct failure direction.
  • Adds tests/Integration/error-statistics-verification.php, a read-only runtime fixture for the statistics port. It writes no log row, changes no Redirection setting, and prunes nothing.

Install: download wp-content-bridge.zip below and install it as a plugin, or let the built-in updater offer it.

Full Changelog: v0.9.0...v0.10.0