Skip to content

v5.3.9

Choose a tag to compare

@niranz-dev niranz-dev released this 20 Aug 11:53
· 39 commits to main since this release

Redirects can be asked about. redirect-find answers what redirects to a page and what it redirects to; redirect-list orders by hits and can show only the ones that have never fired.

This closes a real gap. A post whose URL was ever edited carries its search history under the old URL, so judging it by what its current URL has earned makes a page that earns look like a page that never has — and if it gets excluded on that basis, the old URL goes on redirecting Google straight into the exclusion.

The bulk SEO writes now have an undo. seo-set-meta and media-set-alt wrote post meta across hundreds of posts with no snapshot and said nothing about it. Checkpoint::capture() takes single meta fields now, so the snapshot is one key per post rather than a whole post each — the shape these calls actually need. Restoring tells a key that was absent from one that was empty.

checkpoint-verify opens a checkpoint and says whether it could actually be restored: files present, stored bytes decoding to the recorded size and hash, PHP still parsing, and where the file on disk now differs. A backup that cannot be checked is a hope rather than a backup.

A failed snapshot is no longer silent. Every write path reports checkpoint: false with the reason instead of a null id nobody reads. Writing without an undo stays the right call — refusing to repair a broken site because the snapshot failed would be worse — but it has to be legible.

sha256  44e613ec0bd9794a8a00388fa68c3b725ad5c572809457b165e88e4da76fb21c