=== Mozzy Assistance Changelog ===

= 3.1.1 =
* Store new local backups under the WordPress uploads directory while retaining read access to legacy archives.
* Require explicit object-storage endpoint entry and clarify the optional Amazon S3 account requirements, transmitted data, and activation behavior.
* Document installation-root access required for full-site backup, restore, and WordPress core health checks.
* Clarify Maintenance Autopilot commands, automatic rollback, manual restore confirmation, and maintenance status data sent to Mozzy.

= 3.1.0 =
* Added Maintenance Autopilot rollback using the exact verified pre-update archive.
* Added a failed-state safety backup, resumable restore progress, and post-rollback verification reporting.

= 3.0.0 =
* Add authenticated Maintenance Autopilot commands with exact-version approval.
* Report backup-gated update progress and results to the Mozzy maintenance record.

= 2.9.3 =
* Document the live schema reads required to export database structures without stale cache data.
* Document the intentional installation-root write performed by an administrator-approved guided restore.

= 2.9.2 =
* Resolve all errors and warnings reported by the official WordPress Plugin Check rules.
* Use WordPress file-deletion APIs and document necessary resumable streaming operations.
* Strengthen input sanitization and OAuth redirect validation.

= 2.9.1 =
* Load administration CSS and JavaScript through the WordPress enqueue API.
* Improve compatibility with custom uploads and content-directory locations.
* Confirm request authorization checks and external-service disclosures for WordPress.org review.

= 2.9.0 =
* Add optional Mozzy-managed backup schedules, including monthly and three-month intervals.
* Accept idempotent remote backup requests through the existing authenticated heartbeat.
* Report throttled backup progress and terminal results without sending archives or credentials.
* Keep destination credentials, encryption keys, emergency controls and restores in WordPress.

= 2.8.1 =
* Replace the generic WordPress shield menu icon with the Mozzy brand mark.

= 2.8.0 =
* Move Mozzy Assistance from Tools into its own top-level WordPress admin menu.
* Add dedicated Overview and Backups child pages.
* Keep backup, recovery, encryption, and protected-update workflows together on the Backups page.
* Correct the Mozzy brand mark alignment in the administration header.

= 2.7.0 =
* Add optional authenticated XChaCha20-Poly1305 backup encryption using PHP sodium.
* Encrypt and authenticate large archives in resumable, independently verified chunks.
* Add offline recovery-key generation, protected key storage, import, export, and rotation.
* Retain previous keys so encrypted archives remain restorable after rotation.
* Add resumable authenticated decryption before guided restore begins destructive stages.
* Remove plaintext working archives after encryption and decrypted staging files after restore.
* Introduce the .mzb encrypted container while retaining full legacy ZIP compatibility.
* Block encryption when secure sodium support or a recovery key is unavailable.

= 2.6.0 =
* Add provider-neutral remote backup catalogue and recovery contracts.
* Browse Mozzy-created Google Drive backups from the WordPress administration page.
* Download large remote archives in resumable background chunks with retry and cancellation controls.
* Add SHA-256 and site-identity metadata to new Google Drive backups.
* Verify remote MD5 metadata, SHA-256, ZIP integrity, and same-site identity before enabling guided restore.
* Clean partial recovery files safely and preserve verified copies under normal local retention.

= 2.5.0 =
* Add administrator-approved protected updates for plugins, themes, and WordPress core.
* Require a new verified safety backup and successful connected remote upload before updating.
* Apply approved updates one at a time in a recoverable background queue.
* Verify installed target versions, refresh Mozzy inventory, and run post-update health checks.
* Preserve the safety archive as an explicit rollback source when an update or health check fails.

= 2.4.0 =
* Add guided restore for verified, same-site local backups.
* Create and verify a fresh safety backup before restoration begins.
* Restore files and database statements in resumable background batches.
* Protect wp-config.php and the active Mozzy recovery runner during file restoration.
* Add path traversal protection, guarded cancellation, maintenance responses, retries, and post-restore health checks.

= 2.3.0 =
* Build database and file archives in resumable WP-Cron batches.
* Persist backup progress across requests and recover stalled jobs automatically.
* Add live progress, continue-now and safe cancellation controls.
* Retry failed stages three times and remove partial files after cancellation or failure.

= 2.2.0 =
* Add manual and scheduled full-site backups with protected local storage.
* Add direct Google Drive OAuth and resumable, chunked uploads.
* Add archive verification, SHA-256 checksums, execution locking, history, and retention.
* Add an extensible destination-provider contract for future storage services.

= 2.1.2 =
* Keep notices from other WordPress plugins outside the Mozzy Assistance hero.

= 2.1.1 =
* Refresh WordPress update information before inventory scans and support third-party update payload formats.

= 2.1.0 =
* Include available WordPress, theme and plugin versions in inventory scans.

= 2.0.0 =
* Add secure one-click account pairing with PKCE.
* Store connection credentials in WordPress instead of plugin files.
* Start monitoring only after explicit administrator approval.
