=== DWD Backup-Migrate ===
Contributors: dwd
Tags: backup, migrate, ftp, database, files
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 0.3.8
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Full WordPress backup (database + files), scheduled backups, FTP off-site storage, and host-to-host migration.

== Description ==

DWD Backup-Migrate is an admin-only plugin for creating portable ZIP backups, scheduling automatic snapshots, uploading archives to your FTP server, and restoring a site on a new host with URL replacement.

* Backup scopes: full site, database + wp-content, database + uploads, database + themes/plugins, database only, files only
* Daily, weekly, monthly, and custom yearly schedules
* FTP upload after backup
* Migration wizard with documentation and troubleshooting
* Compatible with DWD Plugins Hub

== Installation ==

1. Upload the plugin ZIP via Plugins → Add New → Upload, or install from your DWD Plugins Hub.
2. Activate the plugin.
3. Open **Backup-Migrate** (under DWD Plugins when the hub is active).
4. Run **Create backup now** on the Backups screen.

== Frequently Asked Questions ==

= Does this replace my hosting backup? =

Use it as an additional layer. Hosting snapshots are still recommended.

= Why did my scheduled backup not run? =

WP-Cron depends on site traffic. Configure a server cron job to call `wp-cron.php` for reliable timing.

== Changelog ==

= 0.3.8 =
* Multisite: network activation/deactivation/uninstall loop per-site options and schedules; admin notes for network-wide full backup scopes.

= 0.3.7 =
* Security: encrypt ZIP encryption password at rest (DB v4); ignore unsigned heartbeat site_token.

= 0.3.6 =
* Security: reject zip-slip paths on restore; migration key accepted only via X-Dwbm-Migration-Key header.
* Security: signed-only remote wipe client.

= 0.3.5 =
* Schema and options migrations run automatically when the plugin files are updated (including Hub/ZIP replace).

= 0.3.4 =
* Choose backup contents on Create backup now: full site, database + wp-content, database + uploads, database + themes/plugins, database only, or files only.
* Settings default still used for scheduled backups.

= 0.3.0 =
* Direct server-to-server migration (pull model): chunked DB + file transfer over REST with migration key.
* Resumable job progress via WP-Cron; ZIP restore remains available as fallback.

= 0.2.0 =
* FTP, FTPS, and SFTP remote storage; restore from remote server.
* Every N days/weeks schedules; configurable exclude paths; optional ZIP encryption.
* Email notifications with custom recipient; large backups via server/remote restore (no PHP upload cap).

= 0.1.0 =
* Initial release: backups, schedule, FTP, migrate/restore, documentation, DWD Plugins Hub integration.

== Upgrade Notice ==

= 0.1.0 =
Initial release.
