= 1.2.14 – 2026-10-02 =
* Fix chunked import “Empty chunk” / “Chunk exceeds maximum allowed size” by preferring FormData $_FILES over php://input and reading upload temps natively.

Changelog
Full history: https://multisitemigrate.rosenheinrich.com/changelog/

= 1.2.13 – 2026-09-22 =
* Minor bug fixes.

= 1.2.12 – 2026-09-21 =
* Automatic cleanup of deleted backup records and improved archive table display.

= 1.2.11 =
* Improved: Import error messages now show HTTP-status-specific guidance (500, 502, 504, 413) instead of a generic "Import failed", helping users troubleshoot server-side issues.
* Fixed: Chunk uploads that exceed the server limit now auto-downsize and retry instead of failing with "Import failed".

= 1.2.10 =
* Bug fixes.

= 1.2.9 =
* Bug fixes.

= 1.2.8 =
* Improved backup worker reliability and lease refresh during long-running tasks.
* Dynamic archive close budget and adaptive batch processing for large backups.
* Immediate server-side job cancellation when worker connections are interrupted.
* Automatic fallback to portable archive format when ZipArchive PHP extension is missing.

= 1.2.7 =
* 1-Click Quick Backup: Start a full backup instantly with safe default settings directly from Step 1.
* Resumable downloads: HTTP 206 byte-range support prevents aborted or corrupted multi-GB archive downloads.

= 1.2.6 =
* Fix: Scheduled backups no longer repeat every minute or flood the activity log with skipped-slot messages.
* Network Admin shows backup and activity times in UTC so they match stored job timestamps.

= 1.2.5 =
* Fix: Prevent Setup Wizard redirect when activating other third-party WordPress plugins.
* Setup Wizard redirect is now strictly one-shot on Multisite Migrate activation only.

= 1.2.4 =
* Requires WordPress 6.2 or higher again; AI Agents (MCP) still need WordPress 6.9+ (Abilities API) and stay gated when the host is older.

= 1.2.3 =
* More reliable backups when another job is already running, and when a large database dump takes longer than expected.

= 1.2.2 =
* Bug fixes and improvements for AI Agents (MCP) connection and setup.

= 1.2.1 =
* Bug fixes and UI improvements.

= 1.2.0 =
* Hardening, bug fixes, and performance improvements across backup, restore, and archive handling.

= 1.1.9 =
* More reliable chunked restore and backup on hosts with short PHP time limits (including Laragon-style 20s ceilings).
* Encrypted archives decrypt across worker slices instead of one long request.
* Soft PHP timeouts leave restore jobs resumable; activity logs show restore step and offsets instead of an unknown DB phase.
* Archive writes avoid exclusive file locks that can hang under antivirus on local Windows stacks.
* If a file cannot be overwritten during restore (for example locked by the web server), keep the live file and continue instead of failing the whole job.

= 1.1.8 =
* Bug fixes.

= 1.1.7 =
* Bug fixes: activation no longer fatals when registering cron schedules.
* Safer settings handling for exclude paths on PHP 8.3.
* More reliable backup delete cleanup and uninstall cron clearing.
* Hardened archive extraction against path traversal (zip slip).
* OAuth Bearer auth fails closed for invalid opaque tokens (foreign JWTs still pass through).

= 1.1.6 =
* One local scheduled backup (daily/weekly/monthly) — local storage only; one schedule per admin context.
* Email notifications for manual backups, scheduled backups, restores, and imports (Settings → Notifications).

= 1.1.5 =
* Maintenance release.

= 1.1.4 =
* Performance updates.

= 1.1.3 =
* OAuth Bearer auth no longer rejects foreign tokens (e.g. other plugins' JWTs) on shared WordPress REST routes.

= 1.1.2 =
* Plugin title and readme updated for Backup, Restore & AI / MCP discoverability.
* Free AI Backup Tools & MCP documentation in readme (status, archives, health, confirmed backup-now).

= 1.1.1 =
* UI optimizations across admin screens (including Import & Restore).
* Performance optimizations.

= 1.1.0 =
* Bug fixes.

= 1.0.10 =
* Backup create flow is now an inline main-area wizard instead of a side drawer.
* Clearer numbered step progress; completed steps can be opened again.
* Destination and Review steps: clearer cards, Cancel control, and Pro cloud-storage hint.
* Settings Resources: diagnostic download no longer uses a navigation-style chevron.
* Health Passed score and Activity job details are easier to scan.

= 1.0.9 =
* Fixed nested local archives in Full-network backups: archive folders under uploads (including uploads/sites/{id}/ and Free/Pro storage names) are excluded from file scans.
* Local storage path is pinned to the main site uploads directory so multisite blog context cannot write or exclude the wrong archives root.

= 1.0.8 =
* Performance optimizations.

= 1.0.7 =
* Bug fixes.
* Performance optimizations.

= 1.0.6 =
* Hardened log filenames (opaque tokens; existing logs still work after upgrade).
* Restore/import compatibility improvements and temporary storage cleanup.
* Optional revision exclusion and Elementor cache flush after restore.

= 1.0.5 =
* Critical fix: database export no longer hangs on non-MySQL environments (SQLite / WordPress Playground).
* Fixed Confirm/Cancel button alignment in the setup wizard dialog.

= 1.0.4 =
* Bug fixes.
* Performance optimizations.

= 1.0.3 =
* Backup deletion is now soft-delete plus background purge, so the admin UI stays responsive on large archives.
* Improved backup job continuation and hosting cron scheduling on shared hosts.
* Optimized admin UI design for the setup wizard, backup progress, and related screens.
* Setup wizard and backup progress UI reliability fixes.
* Updated translations for all bundled locales.

= 1.0.2 =
* Bug fixes and admin UI improvements.

= 1.0.1 =
* Fixed backup job resume edge cases on shared hosting and slow WP-Cron schedules.
* Improved setup wizard and admin UI consistency on smaller screens.
* Performance improvements for large multisite file scans and database exports.
* General stability fixes following the WordPress.org launch.

= 1.0.0 =
* Initial public release of the free edition: multisite-aware backups, restore, local import/export, search & replace, AES-256 encryption and a health dashboard.
