=== Backvera ===
Contributors: backvera
Tags: backup, restore, migration, database backup, staging
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.2.9
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Automatic off-site backups and one-click restores for WP, managed from your Backvera dashboard.

== Description ==

Backvera connects your WordPress site to Backvera, a managed backup
service. Once the site is paired, Backvera takes care of running backups on a
schedule, storing them off-site, and restoring them when you need them. There
is nothing to configure on an ongoing basis and nothing to babysit.

The goal of the service is simple: backups and restores you can trust.

**What the plugin does**

* Backs up your files and your database on a schedule you set in the dashboard.
* Stores every backup off-site, independent of your web host, so a host outage
  or account suspension does not take your backups with it.
* Only transfers what actually changed since the last backup, so recurring
  backups stay light on your server.
* Restores a site in place from the dashboard, in full or one file at a time.
* Clones a site onto another site or into a staging environment, so you can
  test changes, hand a copy to a client, or move the site to a new host.
* Uploads a copy of your backups to storage you own, so you keep an
  independent copy: Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, Google
  Cloud Storage, Google Drive, Dropbox, OneDrive, or your own SFTP server.
* Works on single-site installs and on multisite networks, where the whole
  network is paired once.
* Splits long-running work across several short requests so backups finish on
  shared hosting with strict PHP time limits.

**An account is required**

This plugin is a client for Backvera and does nothing on its own. Using it
requires a Backvera account at https://backvera.com/. Free and paid plans are available.

== Installation ==

1. Install and activate the plugin.
2. Go to Settings > Backvera. On a multisite network, go to Network Admin >
   Settings > Backvera instead; a network is paired once, as a whole.
3. Copy the connection key shown on that screen.
4. In your Backvera dashboard, add the site and paste the key when prompted.

Once the dashboard confirms the connection, backups run on the schedule you
choose there. Nothing further is needed in wp-admin.

== External services used by the plugin ==

This plugin uses the following external services:

* Backvera, a managed backup service, for storing and restoring backups.
  * *Terms of Use*: https://backvera.com/terms
  * *Privacy Policy*: https://backvera.com/privacy

* Cloudflare DNS over HTTPS 1.1.1.1 when local DNS resolution fails, to reach the Backvera service.
  * *Terms of Use*: https://developers.cloudflare.com/1.1.1.1/terms-of-use/
  * *Privacy Policy*: https://developers.cloudflare.com/1.1.1.1/privacy/
* Google DNS over HTTPS 8.8.8.8 when local DNS resolution fails, to reach the Backvera service
  * *Google DNS Terms*: https://developers.google.com/speed/public-dns/terms
  * *Google DNS Privacy*: https://developers.google.com/speed/public-dns/privacy

== Frequently Asked Questions ==

= Do I need a Backvera account? =

Yes. The plugin is the plugin half of a hosted service and does nothing without
an account. Free and paid plans are available at https://backvera.com/.

= Where are my backups stored? =

Off-site, in Backvera's storage, not on your web host. That is the point: a
backup that lives on the same server as the site is not much use when that
server is the thing that failed.

= Why is there a bv-restore.php file in my WordPress root? =

Restoring a site sometimes means replacing the very files WordPress is running
from, including the plugin itself. To survive that, the restore runs from a
small standalone helper that sits outside the plugin directory. The plugin
places it in the WordPress root when you connect the site.

The helper only acts on cryptographically signed instructions from the Backvera
service, using a secret held alongside it. It ignores everything else. It is
removed when you disconnect the site or uninstall the plugin.

= Does it work on shared hosting with a short PHP time limit? =

Yes. Work is split across several short requests rather than one long one, and
each run stops well before the host's limit. Large sites simply take more runs.

= Does it work on multisite? =

Yes. A network is paired once from Network Admin and backed up as a unit.
Subsite settings screens point back to the network screen.

= What happens if I deactivate or delete the plugin? =

Deactivating stops the plugin and cancels its scheduled tasks. Deleting it also
removes the plugin's settings, its data in your database, and the restore
helper and its key from the WordPress root. Backups already stored with
Backvera are unaffected and stay subject to the retention on your plan.

== Screenshots ==

1. Your sites at a glance in the Backvera dashboard: protection status, storage use, and recent backups.
2. A single site, with its recent snapshots and the quick restore points they give you.
3. Picking a snapshot to restore. Restore in place, clone to a new URL, or restore selected tables, folders or files.
4. Spin up a staging copy from any snapshot, then push the changes back to live.
5. The plugins, themes and environment recorded alongside every snapshot.
6. What the plugin adds to wp-admin: Settings > Backvera, where you copy the connection key that pairs the site.
7. Once paired, wp-admin shows the site ID and a link to the site's dashboard. Everything else happens there.

== Changelog ==

= 1.2.9 =
* Fixed a fatal error on hosts that restrict PHP's set_time_limit() or
  ini_set(). On PHP 8 this could stop a backup from starting and could
  interrupt a restore.

= 1.2.8 =
* Fixed a fatal error on PHP 7.4 and 8.0. The plugin's bundled libraries were
  built for a newer PHP than the plugin itself supports.
* The bundled libraries now load through the plugin's own loader, so they can
  no longer be affected by another plugin shipping its own copy of them.

= 1.2.7 =
* Backups no longer flush the site's persistent object cache.
* Update external services list
* Update tested up to WordPress version to 7.1

= 1.2.5 =
* Fixes plugin review comments

= 1.0.0 =
* Initial WordPress.org release.
