=== DataVaultRA Backup & Migration ===
Contributors: smarttravelroute8
Tags: backup, restore, migration, google drive, staging
Requires at least: 6.2
Requires PHP: 7.4
Stable tag: 1.2.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Complete website backup, restore, migration, staging clone, scheduled automatic backup, and Google Drive storage.

== Description ==

DataVaultRA creates portable backups of WordPress files and database tables. It supports one-click local backup and restore, protected recovery points, automatic schedules and retention, encrypted Google OAuth token storage, resumable Google Drive uploads, secure direct site-to-site transfers, migration-safe serialized URL replacement, and isolated staging clones.

All included features are enabled. There is no artificial feature lock.

== External services ==

Google Drive integration is optional and is used only after an administrator enters their own Google OAuth credentials and explicitly connects an account. When connected, DataVaultRA sends OAuth authorization requests to Google and uploads the administrator-selected backup archives to Google Drive. Google may receive the site IP address, OAuth account information, archive filename, file size, and backup archive bytes required for that operation.

Google APIs Terms of Service: https://developers.google.com/terms
Google Privacy Policy: https://policies.google.com/privacy

Direct Transfer is optional and starts only after an administrator enters a destination WordPress URL and its DataVaultRA migration key. The source site sends the selected backup archive directly to that administrator-selected destination over WordPress HTTP. The destination receives the source IP address, archive filename, file size, migration key header, and archive bytes needed for the transfer. DataVaultRA does not send direct-transfer data through a vendor service.

== Installation ==

1. Upload the plugin ZIP in Plugins > Add New > Upload Plugin.
2. Activate DataVaultRA Backup & Migration.
3. Open DataVaultRA in the WordPress admin menu.
4. Create a first local backup before configuring automation or migration.

== Frequently Asked Questions ==

= Where are local backups stored? =

In the dedicated protected directory wp-content/datavaultra-backups. Version 1.2.0 automatically moves packages and logs from the previous uploads location when possible. Direct web access is blocked with Apache, IIS, and index protection files.

= Can I migrate to a different domain? =

Yes. Export a full package on the source website, install DataVaultRA on the destination, upload the package, and restore it. Site URLs, paths, and serialized values are rewritten for the destination.

= Does Google Drive require setup? =

Yes. Create a Google Cloud OAuth web client, enable Google Drive API, and add the redirect URI shown inside DataVaultRA.

== Changelog ==

= 1.2.4 =
* Replaced WordPress core maintenance mode during restore with a safe frontend-only restore lock that never blocks wp-admin or AJAX.
* Added server-reported restore progress for package validation, files, database tables, and finalization.
* Added restore status polling so a completed restore is recognized even if the main hosting connection closes.
* Added a successful restore screen, WordPress Admin button, and automatic five-second redirect.
* Protected the active DataVaultRA restore engine from being overwritten by an older copy inside a backup.

= 1.2.3 =
* Fixed restore uploads rejected after WordPress changed the multi-extension .dvr.zip filename during sanitization.
* Added safe support for browser-renamed backup copies while retaining protected manifest validation.
* Hid the Google OAuth troubleshooting warning after Google Drive is successfully connected.

= 1.2.2 =
* Replaced the query-string OAuth callback with a dedicated WordPress admin-post callback.
* Prevented the callback marker from being sent to Google as an unrelated authorization parameter.
* Kept compatibility with authorization attempts started by version 1.2.1.

= 1.2.1 =
* Reduced browser upload chunks from 1 MB to hosting-safe 256 KB requests.
* Added precise errors for filename, server limits, missing upload data, and invalid upload sessions.
* Forced Google's secure account chooser on every connection so a different signed-in email can be selected.
* Added redirect URI copy control and an in-plugin guide for resolving redirect_uri_mismatch.
* Added OAuth Client ID, Client Secret, and preferred account validation.
* Reset old Google tokens safely when switching to a different OAuth Client ID.

= 1.2.0 =
* Renamed the main backup tab to Backup & Restore.
* Added chunked backup upload with exact progress, package validation, and Restore Now or Restore Later choices.
* Moved local package storage to the dedicated protected wp-content/datavaultra-backups directory.
* Added automatic migration from the previous uploads-based storage location.
* Added the new DataVaultRA brand icon to the admin menu, header, dashboard, progress dialog, and WordPress.org assets.

= 1.1.0 =
* Added full, files-only, and database-only backup modes.
* Added protected recovery points and storage rescanning.
* Added 12-hour, fortnightly, and monthly automatic schedules.
* Added secure chunked site-to-site package transfer with renewable destination keys.
* Added large-site controls for database batches, maximum file size, and CPU priority.
* Added functional optimizer, verbose diagnostics, uninstall cleanup choice, and dark professional interface.
* Added an icon-led storage provider bar and expanded migration workspace.

= 1.0.1 =
* Redesigned professional backup control center with icon-led navigation and action cards.
* Fixed staging clone failures on wp_posts under strict MySQL modes.
* Added native bulk table cloning followed by serialized-safe URL rewriting.
* Added detailed MySQL errors for staging failures.
* Added a backup concurrency lock to prevent duplicate jobs from repeated clicks.
* Added an elapsed-time operation dialog and responsive backup option cards.

= 1.0.0 =
* Initial release with backup, restore, migration, Google Drive, schedules, retention, logs, and staging clones.
