robotstxt-mlp2-mlp5/changelog.txt
2026-03-02 14:39:10 +00:00

96 lines
3.8 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

== Changelog ==
= 1.1.2 =
_Release date: 2026-03-02_
**Changed**
* `update.json` is now included in the distributable ZIP.
**Compatibility**
* WordPress: 6.7 – 6.9
* PHP: 8.2 – 8.5
= 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