83 lines
3.6 KiB
Text
83 lines
3.6 KiB
Text
== Changelog ==
|
||
|
||
= 1.1.1 =
|
||
|
||
_Release date: 2026-03-02_
|
||
|
||
**Fixed**
|
||
|
||
* Wizard Step 1 (Preflight Checks) incorrectly showed "Original tables still present — rename step not done" after Cleanup (Step 6) dropped backup tables. MLP5's own `mlp_*` tables were matching the legacy MLP2 pattern; they are now suppressed when MLP5 is active. A fully completed wizard no longer triggers the "no tables found" blocking issue either.
|
||
|
||
**Compatibility**
|
||
|
||
* WordPress: 6.7 – 6.9
|
||
* PHP: 8.2 – 8.5
|
||
|
||
= 1.1.0 =
|
||
|
||
_Release date: 2026-03-02_
|
||
|
||
**Fixed**
|
||
|
||
* `mlp_migrator_log` (the plugin's own table) was incorrectly listed in the System Status as an MLP2 table requiring renaming. It is now excluded from `get_original_tables()` as it already was from `rename_to_backup()`.
|
||
|
||
**Changed**
|
||
|
||
* MLP2 sitemeta keys (`inpsyde_multilingual*`) are now **renamed** to `mlp2bak_inpsyde_multilingual*` during the table preparation step, instead of being deleted. This makes the operation fully reversible.
|
||
* Restoring original table names (`Restore original table names`) now also restores the original sitemeta key names.
|
||
* Cleanup step (Step 6, "Delete MLP2 network settings") now also deletes the backed-up `mlp2bak_inpsyde_multilingual*` sitemeta keys alongside the existing `mlp_*` keys.
|
||
|
||
**Compatibility**
|
||
|
||
* WordPress: 6.7 – 6.9
|
||
* PHP: 8.2 – 8.5
|
||
|
||
= 1.0.0 =
|
||
|
||
_Release date: 2026-02-27_
|
||
|
||
**Highlights**
|
||
|
||
* First production release. Complete six-step migration wizard from MultilingualPress 2 to MultilingualPress 5.
|
||
|
||
**Added**
|
||
|
||
* Table preparation step: renames MLP2 tables (`{prefix}mlp_*` → `{prefix}mlp2bak_*`) so MLP5 can activate cleanly. Fully reversible.
|
||
* Wizard Step 1 — Preflight Checks: verifies backup tables exist and MLP5 is network-active before allowing migration to proceed.
|
||
* Wizard Step 2 — Analysis: scans MLP2 backup tables, counts records, detects orphaned sites/posts/terms and duplicate rows, validates MLP5 schema compatibility.
|
||
* Wizard Step 3 — Site Relations: migrates all site connections from MLP2 backup tables to MLP5. Idempotent (safe to re-run).
|
||
* Wizard Step 4 — Content Relations: migrates post and term relationships in AJAX batches with a real-time progress bar, pause/resume support, and orphan filtering.
|
||
* Wizard Step 5 — Verification: compares expected totals with log counts by category; offers full CSV export of the migration log.
|
||
* Wizard Step 6 — Cleanup (optional): network-deactivates MLP2, drops backup tables, and removes MLP2 sitemeta entries. Requires explicit `DELETE` confirmation.
|
||
* Migration log table (`{prefix}mlp_migrator_log`) with structured entries (type, context, source/target IDs, message).
|
||
* MLP5 schema detector: identifies `mlp_site_relations`, `mlp_content_relations`, and `mlp_relationships` tables and validates column presence.
|
||
* MLP2 detector: locates MLP2 plugin file, reads version, detects backup tables. Supports `mlp_relationships`, `mlp_content_relations`, and `multilingual_linked` as content relations table candidates.
|
||
* Auto-update integration via `Robotstxt_Updater` (Gitea-based update server).
|
||
* Spanish (es_ES) translation.
|
||
|
||
**Compatibility**
|
||
|
||
* WordPress: 6.7 – 6.9
|
||
* PHP: 8.2 – 8.5
|
||
|
||
= 0.1.0 =
|
||
|
||
_Release date: 2026-02-27_
|
||
|
||
**Highlights**
|
||
|
||
* Initial plugin scaffold.
|
||
|
||
**Added**
|
||
|
||
* Main plugin file with required WordPress headers and Multisite-only guard.
|
||
* Plugin bootstrap class with activation, deactivation, and i18n hooks.
|
||
* Uninstall handler stub.
|
||
* PHPCS configuration targeting WordPress Coding Standards and PHPCompatibilityWP for PHP 8.2–8.5.
|
||
* Deploy script to generate a distributable ZIP.
|
||
* Auto-update integration via Robotstxt_Updater.
|
||
|
||
**Compatibility**
|
||
|
||
* WordPress: 6.7 – 6.9
|
||
* PHP: 8.2 – 8.5
|