1.1.1 - Identifier prefix cleanup & debug-log gating
A proactive hardening release that extends the 1.1.0 WordPress.org review work. No new features — every change is naming consistency, security hardening, or internal correctness.
What changed
- Short
ot_/_ot_prefix removed from the rest of the plugin's identifiers. The round-1 wp.org review scoped the prefix finding to the custom post type slugs (fixed in 1.1.0 →opentr_*). This release extends the cleanup to every other shared/global identifier:- Postmeta keys —
_ot_*→_opentrust_*(all ~44 plugin-owned keys) - Policy URL query variables —
ot_policy_slug/ot_version→opentrust_* - Meta box IDs, admin list-table column IDs, and import/export form field names →
opentrust_*
- Postmeta keys —
- Diagnostic
error_log()calls are now gated behindWP_DEBUGvia a single centralized helper, so production sites stay quiet while the failure detail is still available to developers debugging an install. - Bundled translation template regenerated. Database schema version bumped to 5.
Database migration
An automatic, idempotent v4 → v5 migration rewrites existing postmeta to the new keys on the first load after upgrade — it runs once, retries safely if interrupted, and busts the relevant caches. Post content, meta values, revisions, version history, and WPML/Polylang translation links are all preserved, and existing trust-center URLs are unaffected.
Upgrade notes
- No manual action is required. A database backup before upgrading is recommended, as with any schema migration.
- If you maintain custom code that references the old
_ot_*postmeta keys or theot_policy_slug/ot_versionquery variables directly, update those references to the new_opentrust_*/opentrust_*names. - Pre-1.1.1 export archives still import correctly — the importer transparently remaps the old keys.
Verification
All CI green (PHP lint 8.1–8.4, PHPStan, Semgrep, security scan, WordPress Plugin Check, POT freshness, version consistency). Reviewed by multiple independent audit passes — one migration-ordering bug (duplicate UUID rows on a v1→1.1.1 jump) was caught and fixed before release. Functionally tested on a clean WordPress install.
Full Changelog: 1.1.0...1.1.1