Skip to content

Royal MCP 1.4.29 — DB migration recovery hardening

Choose a tag to compare

@royalplugins royalplugins released this 17 Jun 02:55
350eb73

Summary

Restore the runtime DB-migration retry semantic that regressed in 1.4.27, plus three additional table-recovery hardening fixes so any install whose tables go missing (auto-update race, externally-dropped tables, uninstall/reinstall cycle) self-heals on the next pageload without user intervention.

  • Restore maybe_upgrade_db() success-tracking — db_version only advances when every required migration actually ran, with a force-load fallback so a transient autoloader miss can't latch the install.
  • Defensive /register self-heal — OAuth client registration now attempts to create missing tables once and retries before returning 500.
  • maybe_upgrade_db() table-existence probe — the version-string short-circuit now also verifies required tables physically exist before returning early, closing a recovery gap where externally-dropped tables couldn't be self-healed by the runtime migration.
  • uninstall.php clears royal_mcp_db_version — pre-1.4.29 the option survived uninstall and could short-circuit the next install's runtime healer on the same WP install.

Recommended for everyone on 1.4.27 and 1.4.28.