=== UpdraftPlus WordPress Backup Plugin ===
Contributors: Backup with UpdraftPlus, DavidAnderson, DNutbourne, aporter, snightingale, bcrodua
Tags: backup, restore, database backup, wordpress backup, cloud backup, s3, dropbox, google drive, onedrive, ftp, backups
Requires at least: 3.2
Tested up to: 4.9
Stable tag: 1.13.16
Author URI: https://updraftplus.com
Donate link: https://david.dw-perspective.org.uk/donate
License: GPLv3 or later

Backup and restoration made easy. Complete backups; manual or scheduled (backup to S3, Dropbox, Google Drive, Rackspace, FTP, SFTP, email + others).

== Description ==

<a href="https://updraftplus.com">UpdraftPlus</a> simplifies backups and restoration. It is the world's highest ranking and most popular scheduled backup plugin, with over a million currently-active installs. Backup your files and database backups into the cloud and restore with a single click!

Backup into the cloud directly to Dropbox, Google Drive, Amazon S3 (or compatible), Rackspace Cloud, DreamObjects, FTP, Openstack Swift, Updraft Vault and email. The paid version also backs up to Microsoft OneDrive, Microsoft Azure, Google Cloud Storage, Backblaze B2, SFTP, SCP, and WebDAV.

[vimeo https://vimeo.com/154870690]

= Don't risk your backups on anything less =

Your WordPress backups are worth the entire investment you've made in your website. The day may come when you get hacked, when something goes wrong with an update, your server crashes or your hosting company goes bust - without good backups, you lose everything. Would you entrust all your hard work to a backup plugin with only a few thousand downloads, mixed reviews or no professional support?

Believe us: writing a reliable backup plugin that works consistently across the huge range of WordPress deployments is hard.

UpdraftPlus works. We'll keep your backups safe.

= Why you should backup your website. =

WordPress like any CMS can be vulnerable to things such as server crashes, hacking, security flaws, bad plugin or theme updates and insecure web hosts. If anything happened to your website, it would cost you dearly in time, money and reputation.

Whilst other security measures are essential, backups are the ultimate insurance: they mean that, if the worst were to happen, your website (plus all related files and databases) stay safe, and can be restored in no time.

You could always create your own manual backups- but using backup plugin is infinitely quicker, simpler and safer. Life's busy enough! With UpdraftPlus, you can simply "set and forget", scheduling in automatic backups to save you time, work and hassle.

= How UpdraftPlus compares with other backup plugins: =

UpdraftPlus is the most highly-rated and popular plugin out there - and for good reason. Not only is it comprehensive in terms of its features, but it's aso easy and intuitive to use. And because it has such a vast user base, it's tried and tested in a whole range of different situations and scenarios.

Unlike many other plugins, UpdraftPlus:

* Restores, as well as backing up
* Backs up to more cloud options than any others
* Allows you to set up automatic backup schedules, for the ultimate in convenience
* Is faster, using up fewer server resources
* Has been tested on over 1 million sites

On our website, we've got a whole page dedicated to how our Premium version compares with the competition <a href="https://updraftplus.com/comparison-updraftplus-free-updraftplus-premium/">here</a>

= UpdraftPlus Premium =

The free version of UpdraftPlus works just fine, but if you need more features and options you can purchase our Premium version. Here are some of the many features of UpdraftPlus Premium:

* Easily duplicates or migrates websites (with Migrator)
* Multisite/multi-network compatible
* Backs up non WP files and databases to multiple remote destinations
* Free dedicated expert support

Find out more on our comparison page. UpdraftPlus Premium is available for purchase <a href="https://updraftplus.com/shop/">here</a>

= Managing multiple website backups =

We've also developed a brilliant new plugin that allows you to backup, update and manage all of your websites remotely from one central location. It's called <a href="https://updraftcentral.com">UpdraftCentral</a>, and it comes in 2 different forms:

* UpdraftCentral (free, self-hosted)
* UpdraftCentral Premium (fully-hosted and "ready-to-go", cloud version also available)

= Are you multi-lingual? Can you translate? =

Are you able to translate UpdraftPlus into another language? Are you ready to help speakers of your language? UpdraftPlus Backup/Restore itself is ready and waiting - the only work needed is the translating. The translation process is easy, and web-based - go here for instructions: <a href="https://updraftplus.com/translate/">https://updraftplus.com/translate/</a>. (Or if you're an expert WordPress translator already, then just pick out the .pot file from the wp-content/plugins/updraftplus/languages/ directory - if you scan for translatable strings manually, then you need to get these functions: _x(), __(), _e(), _ex(), log_e()).

Many thanks to the existing translators - listed at: https://updraftplus.com/translate/

= More premium plugins =

If you are in the market for other WordPress premium plugins (especially WooCommerce addons), then try <a href="https://www.simbahosting.co.uk/s3/shop/">our sister shop, here</a>.

For other useful free plugins see <a href="https://profiles.wordpress.org/davidanderson/#content-plugins">our lead developer's profile, here</a>.

== Frequently Asked Questions ==

= What exactly does UpdraftPlus do? =

Our free version of UpdraftPlus is fully functional: it performs full, manual or scheduled backups of all your WordPress files, databases, plugins and themes, and restores them direct from your WordPress control panel.

It also:
* Backs up to multiple cloud storage options: Dropbox, Google Drive, Amazon S3 (or compatible, e.g. DigitalOcean Spaces), UpdraftPlus Vault, Rackspace Cloud, FTP, DreamObjects, Openstack Swift, and email.
* Can split your website into multiple archives
* Downloads backup archives directly from your WordPress dashboard
* Automatically resumes and retries failed uploads

UpdraftPlus is supported on all current versions of PHP, and is translated in over 16 languages.

Extra features, including full guaranteed support, are available for purchase via our website shop. The full package of add-ons is included in our advanced version of the plugin, UpdraftPremium.

= What are the benefits of upgrading to UpdraftPlus Premium? =

The free version of UpdraftPlus works just fine, but if you need more features and functionality, including migration and multisite compatibility, you can purchase our Premium version.

Here are some of the key features of UpdraftPlus Premium:

* Easily duplicates or migrates websites (using the built-in Migrator)
* Backs up non WP files and databases to multiple remote destinations and to more cloud storage options (WebDAV, Microsoft OneDrive, Google Cloud, Microsoft Azure, Backblaze B2, SFTP/SCP, encrypted FTP)
* Restores and migrates backup sets from other backup plugins: BackWPUp, BackupWordPress, Simple Backup, WordPress Backup to Dropbox
* Encrypts sensitive databases; has lock access settings
* Offers sophisticated reporting and scheduling
* Backs up automatically before updates to themes and plugins and cores
* Includes 1Gb centralised remote storage (with UpdraftVault)
* Free dedicated expert support
* Multisite/multi-network compatible

To find out more, why not take a look at our comparison page. UpdraftPremium is available for purchase here.

= How do I install UpdraftPlus? =

Here are the installation guidelines from our <a href="https://updraftplus.com/download/">YouTube channel</a>.

= Where are your other FAQs, other than the few found here? =

Here: <a href="https://updraftplus.com/faqs/">https://updraftplus.com/faqs/</a> (by keeping them in one place, we make sure they don't fall out-of-date!).

= Is there any way to make managing multiple website backups easier? =

Yes! We’ve developed a brilliant new plugin that allows you to backup, update and manage all of your website remotely from one central location. It’s called UpdraftCentral, and it comes in 2 different forms:

* UpdraftCentral (free, self-hosted)
* UpdraftCentral Premium (fully-hosted and “ready-to-go”, cloud version also available)

= What if I have a problem / need support ? =

You can find us in <a href="https://wordpress.org/support/plugin/updraftplus">the WordPress support forum for this plugin</a>. However, before you get in touch with problems, please do ensure that you read through all the FAQs and that you’ve updated to the latest release of our plugin. If you’re a paying customer, you should <a href="https://updraftplus.com/support/">go to our support page, here.</a>

It helps greatly if you can include the backup log and as much other information as possible in your report, for example, the PHP version, your website, the error description, how you got to the page that caused it, any other relevant plugins you have installed, plus any other information that might be of use.

To find the backup log: there are links to download the logs on the UpdraftPlus settings page- or you may be emailed it. Failing that, FTP into the directory wp-content/updraft and look for it there.

If you know how, please send your PHP error logs- just the few lines that appear when you run a backup, often the file called error_log, possibly in your wp-admin directory which you can check via FTP. And if you’re a programmer that can debug and send a patch, that’s even better.

= UpdraftPlus runs out of time when it’s trying to back up, after I have left it for some time to give it a good chance. What can I do? =

This problem is probably caused by your account being starved of resources by your (cheap) web host provider. This is far from ideal; although UpdraftPlus supports resuming backup runs right from the beginning to avoid everything having to be done at once, it has its limits. The best thing is to choose a more reputable web host. Failing this, try going into the “Expert settings” and reducing the size at which zip files are split. UpdraftPlus is known to successfully back up websites that run into the multiple-gigabytes on web servers that are not resource-starved.

= If my site gets hacked and the backups don’t work, is there anything I can do? =

Unfortunately not; since this is free software, there’s no warranty and no guarantee. It’s up to you to verify that UpdraftPlus is creating your backups correctly.

== Changelog ==

The <a href="https://updraftplus.com/news/">UpdraftPlus backup blog</a> is the best place to learn in more detail about any important changes.

N.B. Paid versions of UpdraftPlus Backup / Restore have a version number which is 1 higher in the first digit, and has an extra component on the end, but the changelog below still applies. i.e. changes listed for 1.13.15 of the free version correspond to changes made in 2.13.15.x of the paid version.

= 1.13.16 - 07/Dec/2017 =

* TWEAK: Remove Ukranian translation files from wordpress.org zip (translation now complete, will download from wordpress.org separately)
* TWEAK: Adding V4 Signature properties and methods to old S3 SDK
* TWEAK: Migrator add-on: keep a log of tables as they are created
* TWEAK: Tweak wording on the 'Premium/Extensions' tab
* TWEAK: Change the order of classes in methods/cloudfiles.php to work around a PHP install bug seen in one instance
* TWEAK: Be less aggressive about logging a usually unnecessary internal message about settings
* TWEAK: Improve UI of migration notice in free version
* TWEAK: Resolve PSR4 autoloading conflict with older version of Composer
* TWEAK: Pruning will now prune backups from multiple storage destinations of the same type (not yet a user-visible feature)
* TWEAK: Update the 'ifeq' handlebars helper to resolve a conflict with MainWP

= 1.13.15 - 28/Nov/2017 =

* FIX: Updated OneDrive SDK to allow for PHP 7.2 (due for release soon) compatibility
* FIX: When multiple remote backup destinations existed, pruning of old backup sets was not removing from all destinations (recent regression)
* FIX: When re-scanning a Rackspace Cloud Files remote location, only the first 100 files were processed
* FIX: Backups being downloaded twice from Dropbox during a restore which could cause unexpected results upon a site migration
* FIX: The 'SCP' and 'Server-side encryption' checkboxes in the settings was always ticked in the browser upon reload, regardless of the saved setting (regression in 1.13.14)
* TWEAK: Improve export settings file name by appending site name to export download file
* TWEAK: Perform escaping of table names in SQL calls without using esc_sql()
* TWEAK: Site option is deleted before updating it in multisite
* TWEAK: Improve WebDAV remote method upload speed
* TWEAK: Improve WebDAV remote method download speed

= 1.13.14 - 21/Nov/2017 =

* FIX: Search/replace checkbox was not appearing when migrating a multisite setup
* FIX: WordPress 4.8.3 introduced a breaking internal change in the WordPress database API, which broke the search/replace of strings including percent signs. Updated Migrator code to handle this.
* FIX: WebDAV remote storage settings not being loaded onto the settings page properly
* FIX: Rewrite of legacy (PHP 5.2) S3 SDK Class to fix pruning old backup sets when multiple storage back-ends that are all based on S3 are in use.
* TWEAK: Improve formatting of restoration warnings
* TWEAK: Add css classes to backup templates
* TWEAK: Standardise the way storage classes are internally stored/retrieved
* TWEAK: Remote storage modules configuration templates transition using handlebars.js
* TWEAK: Adjust message mentioning mcrypt which is not needed if php-openssl is installed
* TWEAK: Add UPDRAFTPLUS_USE_WPDB constant

= 1.13.13 - 02/Nov/2017 =

* FIX: Google Drive Custom App authorisation and de-authorisation was not working
* FIX: Rackspace new user creation had stopped filling the new credential fields automatically after successful creation of a new user
* TWEAK: When migrating, the detected search/replace terms now make sure that http and https variants are both included as search terms
* TWEAK: Make the internal error code with OneDrive auth failures more accurate
* TWEAK: Remote storage modules configuration templates transition using xamin/handlebars.php libraries
* TWEAK: Changed the Dropbox authentication flow to not send a GET request on large URLs
* TWEAK: Improve error message when invalid bucket name given by user for Backblaze remote storage method

= 1.13.12 - 25/Oct/2017 =

* TWEAK: Showing search/replace checkbox option only when needed.
* FEATURE: Warn the user if their .htaccess seems to contain a redirect (or any other reference) to the old site after migration.
* FEATURE: When importing a database, warn the user if the current MySQL server does not support a used collation, and offer to replace it
* FIX: Saving of S3 settings had taken a dislike to buckets beginning with a capital 'B'
* FIX: UpdraftCentral users' module was failing to handle loading a very large number of users
* TWEAK: Allows the installation and/or activation of the WP-Optimize plugin from UpdraftCentral
* TWEAK: Add multisite attribute to the error response object for the create user, delete user and edit user actions.
* TWEAK: All remote storage methods are ported over to using configuration templates internally
* TWEAK: Include a method to add a manifest file inside each backup archive
* TWEAK: All code relating to the now-dead Dropbox APIv1 removed (N.B. If you've not updated UpdraftPlus since November 2016 and were using Dropbox, it won't be working - https://blogs.dropbox.com/developers/2017/09/api-v1-shutdown-details/)
* TWEAK: Prevent a PHP log notice upon database backup restore when using Google Drive without a client ID
* TWEAK: Prevent the final 'Restore' button being pressed a second time
* TWEAK: Improvements to the UpdraftCentral wizard
* TWEAK: Update to trunk version of plugin updater (paid versions), restoring the ability to work on older WP versions (3.8 and before)
* TWEAK: Add lbakut_activity_log to the list of large log tables
* TWEAK: Updater in paid versions now requests JSON as response format for responses when claiming entitlements
* TWEAK: Resolve: Backup labels could end up with extraneous slashes in output
* TWEAK: Updater in paid versions can now receive and process update information in respond to entitlement claim - one less HTTP round-trip
* TWEAK: Improve Google Cloud authentication success message for bucket name is not defined
* TWEAK: UpdraftVault commands now pass an instance identifier
* FEATURE: Backups can now be uploaded to multiple instances of the same remote storage but not yet possible to add multiple instances 

= 1.13.11 - 27/Sep/2017 =

* FIX: Fix a failure (regression in 1.13.8+) to download some backup sets which pre-date the existence of instances
* FIX: Fix a failure to backup in the short-lived 1.13.10 (many apologies)
* TWEAK: When logging an Exception or Error, include a backtrace (WP 3.4+)
* TWEAK: Prevent a PHP warning during a save of the backup history
* TWEAK: Added a MetaSlider notice in the notices collection
* TWEAK: Put a try/catch block that will catch PHP exceptions/fatals (PHP 7.0+) during encryption phase, so that any issues can be logged

= 1.13.9 - 25/Sep/2017 =

* FEATURE: Backblaze B2 (https://www.backblaze.com/b2/) support in UpdraftPlus Premium
* TWEAK: Port job data used by Azure, Google Cloud and OneDrive storage to being instance-local (now believed to all be ported)
* TWEAK: The automatic correcting of wrongly-input S3 and FTP settings had regressed in a recent version
* TWEAK: Various small fixes to the standards compliance of the HTML output in the remote storage settings area
* TWEAK: When deleting backups with multiple remote storage instances of the same type, order the attempts

= 1.13.8 - 21/Sep/2017 =

* FEATURE: When importing a database, warn the user if the current MySQL server does not support a used character set, and offer to replace it (with a link explaining the risks)
* FEATURE: Generic S3 storage module can now use non-default ports (specify by appending :(port number) to the host name)
* FIX: Re-scanning of remote storage would fail to detect a file manually uploaded to a secondary remote storage location if not also present locally. Various other (unlikely) corner-case rescanning scenarios also tested and fixed.
* TWEAK: Some enhancements to the S3 internals, to make the "S3 Generic" module behave better (it already worked) with the forthcoming DigitalOcean Spaces (object storage) (see: https://updraftplus.com/use-updraftplus-digital-ocean-spaces/)
* TWEAK: UpdraftCentral will no longer show updates which WordPress core lists which appear to be of the same version number
* TWEAK: Handle trying to download a zero-sized file through the browser more elegantly
* TWEAK: When pressing 'Delete', the "also delete remote backup" checkbox was showing even for backups without remote storage
* TWEAK: Abstract history handling into a separate class, UpdraftPlus_Backup_History, for easier maintenance
* TWEAK: Remove a use of count() on a string to prevent a new PHP notice on PHP 7.2+
* TWEAK: Some changes to the UpdraftCentral connection tool to make it more user-friendly
* TWEAK: Clarified and documented the re-scanning code, and made it compatible with the increased flexibility needed for incremental backups in future
* TWEAK: Tweaked UpdraftCentral GA handler to support Tracking ID editing and disconnection.
* TWEAK: In the free version, if the only difference between backup and site URLs is http/https, then show a different message to make the situation clearer
* TWEAK: Make the UPDRAFTPLUS_IPV4_ONLY constant take effect more widely
* TWEAK: Do not duplicate remote instance ID records in the backup history when re-scanning
* TWEAK: Keep the remote instance ID list consistent with the remote service list when re-scanning
* TWEAK: Prevent a PHP notice that could appear for locally stored backups in UpdraftPlus::get_storage_objects_and_ids()

= 1.13.7 - 06/Sep/2017 =

* FIX: UpdraftCentral connectivity for various operations restored (regression in 1.13.6)
* FIX: No error message was being shown when a backup to local storage was missing upon restore
* COMPATIBILITY: Replace uses of the deprecated (PHP 7.2+) each() function
* TRANSLATION: Portuguese (Portugal) and Romanian translations are now complete and supplied from wordpress.org, so can be removed from the free plugin zip
* TWEAK: Fix some wrongly-called translation functions, and pull more known strings into the Premium version
* TWEAK: Remove the legacy parameter for setting storage upload job status data (only useful for version downgrades of more than 1 release during in-progress backups)
* TWEAK: Exclude some unnecessary build and unused files from the release zip (reduce disk space and download size)

= 1.13.6 - 05/Sep/2017 =

* FEATURE: Google Drive authorisation now goes via an officially registered app for easier connections to Google Drive.
* FEATURE: Include commands for UpdraftCentral's (https://updraftcentral.com) Google Analytics management facility (check the changelog for the release)
* FIX: Correct handling of OneDrive folder names featuring spaces (possibly a regression/change in the handling at OneDrive's end)
* TWEAK: Prevent messy layout when the last log message is very long
* TWEAK: Log catchable fatal errors and exceptions during backup in PHP 7
* TWEAK: Log catchable fatal errors and exceptions during restore in PHP 7
* TWEAK: Log catchable fatal errors and exceptions during backup download in PHP 7
* TWEAK: Reduce amount of database logging during existing zip analysis, database backup and pruning stages
* TWEAK: In AJAX/JSON responses, automatically detect and handle corrupted output (e.g. setups where PHP debugging notices are configured to come to the browser)
* TWEAK: Catches and more elegantly handles errors when a settings import file cannot be JSON-parsed
* TWEAK: Request list of available add-ons (paid versions) from the mothership in current format
* TWEAK: Added custom backup message parameter backupnow_message in function updraft_backupnow_inpage_go()
* TWEAK: General code tidy-up, making older code conform to our current standards
* TWEAK: Add the possibility of passing back associated data with test results, and log it in the browser console
* TWEAK: When carrying out a remote storage test, pass the state of the 'debug' setting
* TWEAK: When testing SFTP settings, if debug is activated, activate debug logging and pass the results back in the event of test failure
* TWEAK: Optimise away a database query in the case of no UpdraftCentral keys existing
* TWEAK: Removed "Reduced Redundancy" storage class from Amazon S3 remote storage options, because Amazon are deprecating it (and it now costs more, for inferior redundancy - https://updraftplus.com/forums/topic/amazon-is-phasing-out-reduced-redundancy-storage/)
* TWEAK: Backup files missing error message corrected
* TWEAK: Add the handlebars-js and xamin/handlebars.php libraries
* TWEAK: The FTP storage module has been ported to outputing its configuration via a template
* TWEAK: Introduce internal API and port all job data saved in storage modules to be instance-local

= 1.13.5 - 08/Aug/2017 =

* TWEAK: Manage phpseclib through composer
* TWEAK: Do less logging to database when resuming and noticing already-processed tables (saves resources)
* TWEAK: Returns comment status when updating comments from UpdraftCentral
* TWEAK: Update plugin-updates-checker library to current (4.2), and manage via composer, replacing bundled copy in the build source
* TWEAK: Replace uses of create_function(), which is deprecated on PHP 7.2
* TWEAK: Replace deprecated constructors (PHP 7+) in webdav module
* TWEAK: Documentation showing plugin developers how easy it is to add in-page backups to their plugin: https://updraftplus.com/add-take-backup-functionality-plugin/
* TWEAK: Make the UpdraftCentral updates checking able to cope with a wider range of third-party schemes
* TWEAK: General code tidy-up, making older code conform to our current standards
* TWEAK: Minor version updates of some bundled libraries
* TWEAK: Produce and use minified resources (CSS/JS) where available
* TWEAK: Update class-udrpc to latest (1.4.14) which removes a conflict with other code that may interact with CORS OPTIONS requests
* TWEAK: Escape log lines when sending for display (theoretically an XSS security issue, but to achieve a successful attack, someone would have to first get something malicious into the log file, which is difficult as there are not many places where foreign input can end up in the log file - e.g. hack into Dropbox and cause Dropbox to send you back malicious HTML in an error message - and then be able to persuade you to both take a backup triggering the problem and then view the log file in your WP dashboard)
* TWEAK: Update Google Cloud bucket locations

= 1.13.4 - 08/Jun/2017 =

* FIX: Import function had a regression and was not coping with all formats
* TWEAK: When the import function failed, the error was not shown to the user

= 1.13.3 - 07/Jun/2017 =

* FIX: Revert Dropbox authentication change in 1.13.2, which was not working on all sites

= 1.13.2 - 07/Jun/2017 =

* TWEAK: Marked as tested and compatible on WordPress 4.8
* TWEAK: Dropbox authentication flow can now use POST for the final step, side-stepping (arbitrary) parameter length restrictions on some Apache mod_security setups
* TWEAK: Prevent a possible PHP notice when curl is not present
* TWEAK: Point Clef users towards Keyy
* TWEAK: Do not open an alert box when the user changes their site ID in 'Advanced Tools'
* TWEAK: Fix parameters to updraft_check_overduecrons() JS function

= 1.13.1 - 09/May/2017 =

* REFACTOR: Completed re-factoring of the remote storage modules, so that now all remote storage code has completed this current stage of re-factoring (more to come in future - laying the foundation for a significant new feature)
* FIX: Added a nonce to the Dropbox deauth link. This is a minor security issue - someone personally targetting you, who knew that you were logged in to your WordPress admin, and who could persuade you to visit a personally-crafted web page, could cause the connection between UpdraftPlus and your Dropbox to be broken. The only impact of this is that the sending of your next backup to Dropbox would fail, and you would be alerted about the need to re-connect.
* FIX: Import settings now handle the new remote storage options format
* FIX: The zip file browser was not working in free versions
* TWEAK: Added a version check when saving settings to prevent errors or lost settings
* TWEAK: 'Existing Backups' table now shows an icon for each remote destination that the backup was sent to
* TWEAK: Update SSL CA certificates file
* TWEAK: If, when uploading to S3, a file is not found, handle it slightly more elegantly
* TWEAK: Work with some WebDAV servers that previously sent empty responses to OPTIONS requests

= 1.12.40 - 01/Apr/2017 =

* TWEAK: The in-page log file display had stopped continuously updating in 1.12.32
* FIX: In some circumstances, settings for the storage modules refactored in 1.12.37 could fail to show
* FIX: The free version of 1.12.37/38 in some circumstances could fail to complete Dropbox authentication

= 1.12.38 - 31/Mar/2017 =

* TWEAK: Dropbox API v2 call to de-authorise a token was failing
* FIX: Prevent a fatal error when attempting to use a backup method with no options set

= 1.12.37 - 31/Mar/2017 =

* FEATURE: Browse the contents of a backup from within your WordPress dashboard, and (with Premium) download individual files from it
* FIX: Fix an issue that could occasionally cause corruption of interrupted Dropbox backups. All Dropbox users are recommended to update asap.
* TWEAK: Remove debugging statement inadvertently left in 1.12.36
* TWEAK: Re-factored remote storage handlers via add-ons so that there was a cleaner and more consistent class hierarchy (preparation for future improvements). N.B. If you subsequently downgrade to an older version of UpdraftPlus, you will need to re-enter the settings for some remote storage options.
* TWEAK: List of checksum algorithms run over backups and logged now includes SHA256, and is filterable (SHA1 now considered deprecated)
* TWEAK: Allow chunked database encryption to try and resume in the event of an error
* TWEAK: Improve the premium/extension tab content
* TWEAK: Fix an issue whereby the UpdraftVault settings section could show a bogus problem with checking quota immediately after initial setup
* TWEAK: When requesting a download, work around buggy browser/server that continued after Connection: close
* TWEAK: Improve the UI experience when downloading a log file for display fails
* TWEAK: Prevent PHP notice if another plugin cancels a cron event
* TWEAK: Tweak semaphore handling and enhance logging

= 1.12.35 - 03/Mar/2017 =

* FIX: Fix an issue causing corruption of interrupted Dropbox backups. All Dropbox users are recommended to update asap.
* TWEAK: Fix a regression that prevented information about a faulty WP scheduler from being shown in recent releases (incomplete fix in 1.12.34)
* TWEAK: submit_button() needs to be available (possible UpdraftCentral fatal when requesting filesystem creds)
* TWEAK: Remove an ES5 JavaScript construct (incompatible with some old browsers)
* TWEAK: Fix incorrect variable name in routine that triggered WP automatic update check
* TWEAK: Fix a logic error whereby if Google Drive and Google Cloud were both in use and partially set up, a notice about completing the setup of Cloud could fail to show

= 1.12.34 - 23/Feb/2017 =

* FEATURE: Added the ability to allow other plugins to call an automatic backup more easily
* FEATURE: Added the ability to select which tables you want to backup when using the 'Backup now' modal (Premium)
* FIX: Re-scanning a Dropbox that contained more than 1000 backup archives only fetched the first 1000 (this was previously awaiting on Dropbox fixing a related bug on their API servers).
* FIX: Escape table names to allow table names with hyphens in, when reading data
* FIX: The "Advanced Tools" tab was appearing with no contents if you chose an unwritable backup directory (regression)
* TRANSLATIONS: Remove bundled Swedish (sv), Spanish (Spain) (es_ES) and Czeck (Čeština‎, cs_CZ) translations, since these are now retrieved from wordpress.org.
* TWEAK: Prevent a JavaScript message being logged when loading UD infrastructure on non-UD settings pages (e.g. plugins that integrate to do backups via UD)
* TWEAK: Make it easier for other plugins to get/set UpdraftPlus options with less code
* TWEAK: Make sure that the get_plugins() function is available before using it when generating notices
* TWEAK: Add the updraftplus_exclude_directory and updraftplus_exclude_file filters allowing arbitrary backup exclusions from code
* TWEAK: Add a work-around for a bug in some server/Firefox combinations in handling of the Content-Length header with non-ASCII characters
* TWEAK: Cause an informational message to be shown in the Rackspace module if php-json is not enabled
* TWEAK: Fix a regression that prevented information about a faulty WP scheduler from being shown in recent releases
* TWEAK: Made alert regarding plupload's 'HTTP -200' error, when upload of file fails, more informative.
* TWEAK: Internal changes to the remote storage method API (future improvements which build on these are planned)

= 1.12.32 - 26/Jan/2017 =

* FEATURE: Add UpdraftCentral (https://updraftcentral.com) UpdraftVault listener
* FEATURE: Encryption and decryption is now chunked, meaning that large databases of any size can be encrypted without being prevented by memory limits
* FIX: Fix a bug whereby if a backup set containing a manual "more files" element was imported via a remote scan, then an error would show concerning it when attempting to restore.
* FIX: On certain combinations of changing the "more files to back up" settings, these changes might not be reflected in the "Backup Now" dialog without a page reload
* FIX: Remove a PHP 5.5+-only construction that crept into 1.12.31
* TWEAK: Allow UpdraftCentral command classes to provide commands via the __call method
* TWEAK: Move the existing backups table into the templating system
* TWEAK: When trying to restore before cleaning up a previous restore, the detailed error message shown needed tweaking
* TWEAK: Some refactoring of the dashboard JavaScript, to abstract/harmonise all AJAX calls
* TWEAK: Removed the triple click and replaced it with standard double click
* TWEAK: Some refactoring of the UpdraftCentral command interface, to facilitate reduction of duplicated dashboard control code
* TWEAK: One less HTTP round-trip when deleting from the dashboard
* TWEAK: Updated advanced tools to allow UpdraftCentral to use wipe settings and export / import
* TWEAK: Revamped the 'Premium / Extensions' tab in the free version
* TWEAK: Work around HTTP 400 error from Dropbox on servers with several-year old version of curl, caused by bad interaction between curl and Dropbox over a specific header
* TWEAK: Add a notice advising of WP-Optimize (https://wordpress.org/plugins/wp-optimize/) to the available notices
* TWEAK: Prevent an unwanted PHP log notice when using Google Drive
* TWEAK: More file directories are now added using a directory browser
* TWEAK: Update plugin update checker library (paid versions) to version 3.1, which fixes some PHP 7 issues

= 1.12.30 - 23/Dec/2016 =

* FIX: Fix a Dropbox APIv2 issue where paths containing certain characters were incorrectly being encoded
* FEATURE: Add UpdraftCentral (https://updraftcentral.com) comment-control and advanced tools listeners
* TWEAK: Starting an operation to retrieve a remote backup from UpdraftCentral succeeded, but gave a UI error in UC when doing so
* TWEAK: Fix a Dropbox APIv2 issue where Team storage displayed an incorrect value
* TWEAK: Support for the new AWS S3 Canada Central 1 and London regions
* TWEAK: Some re-factoring of the settings page output code for easier maintenance
* TWEAK: Some re-factoring of the notices code, to allow re-use in other projects
* TWEAK: Make sure that a UpdraftCentral_Commands class is available before loading any external command classes, so that they can rely on its presence

1.12.29 - 22/Nov/2016

* FIX: Fix a PHP error in the notices code (regression in 1.12.28)
* FIX: Manual database search and replace now outputs logged operation information (regression in 1.12.28)

1.12.28 - 21/Nov/2016

* TWEAK: The UPDRAFTPLUS_DROPBOX_API_V1 constant will be ignored from 28th June 2017 (when Dropbox turn off that API entirely)
* TWEAK: A new internal infrastructure for handling user-visible notices in the dashboard and reports
* TWEAK: Small layout tweak to fix a malformatted error message

1.12.27 - 17/Nov/2016

* FIX: The WP 4.7 compatibility tweak in 1.12.26 introduced a regression that caused the question to appear when unwanted on other WP versions.

1.12.26 - 16/Nov/2016

* COMPATIBILITY: On WordPress 4.7, the behaviour of shiny updates has changed, necessitating a small tweak to prevent an unwanted "do you really want to move away from this page?" question from the browser on the updates/plugins pages in some situations.
* TWEAK: When the Dropbox quota state seems to imply that the next upload will fail, do not register this as an error before it actually happens.
* TWEAK: When an error occurs when re-scanning Dropbox, make sure the error details are logged in the browser developer console
* FIX: Fix ability to rescan a Dropbox sub-folder (regression in 1.12.25)

= 1.12.25 - 12/Nov/2016 =

* COMPATIBILITY: Dropbox APIv2 capability (see: https://updraftplus.com/dropbox-api-version-1-deprecation/) in 1.12.24 was not complete - this release now avoids all APIv1 use
* TWEAK: The 'site information' advanced tool now contains information on loaded Apache modules.
* TWEAK: Small layout tweak to fix a malformatted error message

= 1.12.24 - 08/Nov/2016 =

* FIX: When importing a single site into a multisite install as a new site (experimental feature), the main multisite URL was being incorrectly adjusted
* FIX: Fix a bug with remote scans not returning more database archives correctly
* COMPATIBILITY: Add Dropbox APIv2 capability (see: https://updraftplus.com/dropbox-api-version-1-deprecation/)
* FEATURE: Look for mysqldump.exe in likely locations on Windows, for faster database backups
* TWEAK: UpdraftVault, Amazon S3 and DreamObjects downloaders have been rewritten without race conditions
* TWEAK: Introduce an abstraction layer for reporting on the status of restore operations
* TWEAK: Deleting remote backup sets from the dashboard is now batched for sets with many archives, to avoid potential PHP timeouts on slow remote services
* TWEAK: Updated bundled phpseclib library to version 1.0.4
* TWEAK: Introduce an internal templating layer, for improved long-term maintainability
* TWEAK: When importing a single site into a multisite install as a new site, remove any cron entries for backup runs on the new site
* TWEAK: Fix an inconsequential off-by-one in the chunked downloading algorithm so that the behaviour is as documented
* TWEAK: Improve accessibility of Labelauty components with keyboard navigation
* TWEAK: Tweak the algorithm for scheduling resumptions, to improve efficiency in the (once) seen corner-case of PHP usually having a predictable run-time, but with an instance of a much longer run-time
* TWEAK: Slightly more logging when an S3 error condition occurs, allowing easier diagnosis
* TWEAK: Add support for the new US East (Ohio) region to S3
* TWEAK: OneDrive authentication can now detect a block by CloudFlare, and direct the user accordingly
* TWEAK: If there are remote storage methods needing authentication, then pop up a box showing this to the user - so that it does not rely on them spotting the dashboard notice or having read the instructions

= 1.12.23 - 04/Oct/2016 =

* FIX: Fix a bug in URL replacement when cloning from a flat configuration to a WP-in-own-directory configuration
* FIX: The button for testing connections to extra databases added to the backup was not working
* FIX: Direct dashboard logins from UpdraftCentral were not working on WP 3.2 - 3.4 sites
* COMPATIBILITY: Will upgrade Dropbox OAuthv1 tokens to OAuthv2 (to handle Dropbox API v1 deprecation in summer 2017)
* TWEAK: Deleting an already-deleted backup set from UpdraftCentral now produces a more informative error message
* TWEAK: When restoring only a single site out of a multisite install, store less data in memory on irrelevant tables, and do less logging when skipping tables
* TWEAK: Update bundled UDRPC library to version 1.4.9 - fixes a bug with the admin URL used for contact via UpdraftCentral on multisite
* TWEAK: Explicitly store the UpdraftPlus object as a global
* TWEAK: Prevent a pointless "unsaved settings" warning if settings were changed then the 'wipe' button used
* TWEAK: When using the Importer add-on, allow backups from WordPress Backup to Dropbox to be wrapped in an extra 'wpb2d' folder
* TWEAK: Strengthen protections against resuming an already-complete backup after migration on servers with misbehaving WP schedulers
* TWEAK: Touch already-existing but incomplete files being downloaded, to reduce possibility of two processes downloading at once
* TWEAK: Add a link to more information about UpdraftCentral in the advanced tool
* TWEAK: The UPDRAFTPLUS_MYSQLDUMP_EXECUTABLE define can now be used on Windows (you will need to define a path to take advantage of it)
* TWEAK: Introduce the UPDRAFTPLUS_SKIP_CPANEL_QUOTA_CHECK constant to allow skipping of trying to check cPanel quota

= 1.12.21 - 08/Sep/2016 =

* FIX: Fix a bug in the updater code that caused updates checks to be run more often than intended
* TWEAK: Improve/tidy layout of the "Advanced Tools" tab
* TWEAK: Make it more obvious in the file uploading widget when an upload is 100% complete
* TWEAK: Prevent spurious OneDrive message being shown when re-scanning remote storage and not using OneDrive
* TWEAK: OneDrive storage now uses the refresh token yes frequently (less HTTP calls)

= 1.12.20 - 29/Aug/2016 =

* FEATURE: OpenStack uploads (including Rackspace Cloudfiles) can now adapt their upload rate to network conditions, leading to much faster uploads on many networks
* FEATURE: Updated the OneDrive configuration to make it easier to setup. A custom Microsoft Developer App is no longer required
* FEATURE: The "Advanced Tools" tab now has tools for importing and exporting settings
* TWEAK: Honour the "do not verify SSL certificates" setting with WebDAV storage on PHP 5.6+
* TWEAK: When there's a connection problem to updraftplus.com when claiming licences, provide more error info and guidance
* TWEAK: In particular circumstances (malfunctioning WP scheduler, expert option to keep backups after despatching remotely selected (non-default)), zips could be sent to Google Drive more than once
* TWEAK: Tweak issue in 1.12.18 with automatic backup pop-up appearing under another pop-up if you update themes via the themes pop-up (instead of the direct link)
* TWEAK: When rescanning remote storage, don't log a potentially confusing message for an unconfigured storage module
* TWEAK: Show a visual indicator and advice if an invalid hostname is entered for WebDAV
* TWEAK: Removed the no-longer-useful debug backup buttons
* TWEAK: Add a message when generating a key on a server without php-openssl, with information about how to make it faster
* TWEAK: Prevent PHP installs which print PHP logging information to the browser from messing up the WebDAV settings in some situations
* TWEAK: If PHP reports the current memory limit as a non-positive integer, do not display any message to the user about a low memory limit
* TWEAK: If the user deletes their Google API project, then show clearer information on what to do when a backup fails
* TWEAK: If you changed your OneDrive client ID, UD will now more clearly advise you of the need to re-authenticate
* COMPATABILITY: Updated the OneDrive authentication procedure to make it compatible with the new Microsoft Developer Apps

= 1.12.18 - 03/Aug/2016 =

* TWEAK: When Microsoft OneDrive quota is insufficient, the advisory message from UD now includes the available quota (as well as the used)
* FEATURE: The Azure add-on/Premium now supports new-style Azure storage, as well as classic
* FEATURE: The Rackspace enhanced wizard can now be accessed via UpdraftCentral
* TWEAK: Fix a regression in recent WP versions which caused remote keys to not always be retained after a migration
* TWEAK: When logging Azure upload locations, include the account name
* TWEAK: Make the entering of settings for WebDAV more user-friendly
* TWEAK: Update bundled select2 to version 4.0.3
* TWEAK: Clarify error message when a 'more files' location is not found
* TWEAK: Add redirection_404 to the list of tables likely to be large, and not needing search/replacing
* COMPATIBILITY: Compatible with WP 4.6 (previous paid versions have incompatibilities with the changes made to 'shiny updates/installs/deletes' in WP 4.6)

= 1.12.17 - 19/Jul/2016 =

* FIX: Previous free release included empty translation files
* TWEAK: Add 'snapshots' to the default list of directories to exclude from the uploads backup (is used by another backup plugin - avoid backups-of-backups)
* TWEAK: Add et_bloom_stats to the list of tables likely to be large, and not needing search/replacing

= 1.12.16 - 07/Jul/2016 =

* TWEAK: Log FTP progress upload less often (slight resource usage improvement)
* TWEAK: For multi-archive backup sets, the HTML title attribute of download buttons had unnecessary duplicated information
* TWEAK: Improve OneDrive performance by cacheing directory listings
* TWEAK: Detect and handle a case in which OneDrive incorrectly reports a file as incompletely uploaded
* FIX: OneDrive scanning of large directories for existing backup sets was only detecting the first 200 files

= 1.12.15 - 06/Jul/2016 =

* TWEAK: S3 now supports the new Mumbai region
* TWEAK: If the user enters an AWS/S3 access key that looks prima facie invalid, then mention this in the error output
* TWEAK: Make the message that the user is shown in the case of no network connectivity to updraftplus.com when connecting for updates (paid versions) clearer
* TWEAK: Extend cacheing of enumeration of uploads that was introduced in 1.11.1 to other data in wp-content also
* TWEAK: Avoid fatal error in Migrator if running via WP-CLI with the USER environment variable unset
* TWEAK: When DB_CHARSET is defined but empty, treat it the same as if undefined
* TWEAK: Add updraftplus_remotesend_udrpc_object_obtained action hook, allowing customisation of HTTP transport options for remote sending
* TWEAK: Introduced new UPDRAFTPLUS_RESTORE_ALL_SETTINGS constant to assist in complicated load-balancing setups with duplicate install on the same URL
* TWEAK: Update bundled tripleclick script to fix bug in teardown handler
* TWEAK: Update bundled UDRPC library to version 1.4.8
* TWEAK: Patch Labelauty to be friendly to screen-readers
* TWEAK: Suppress the UD updates check on paid versions that immediately follows a WP automatic core security update
* TWEAK: Handle missing UpdraftCentral command classes more elegantly
* FEATURE: Endpoint handlers for forthcoming updates and user mangement features in UpdraftCentral
* TRANSLATIONS: Remove bundled German (de_DE) translation, since this is now retrieved from wordpress.org
* FIX: Fix inaccurate reporting of the current Vault quota usage in the report email
* FIX: Fix logic errors in processing return codes when no direct MySQL/MySQLi connection was possible in restoring that could cause UpdraftPlus to wrongly conclude that restoring was not possible

= 1.12.13 - 07/Jun/2016 =

* TWEAK: Default the S3 secret key field type to 'password' instead of 'text'
* TWEAK: Do more checks for active output buffers prior to spooling files to the browser (to prevent memory overflows)
* TWEAK: Update bundled UDRPC library to version 1.4.7

= 1.12.12 - 25/May/2016 =

* FIX: When restoring a plugins backup on multisite, old plugins were inactivated but not always removed
* TWEAK: Use POST instead of GET for OneDrive token requests - some new accounts seem to have begun requiring this
* TWEAK: When backing up user-configured directories, don't log confusing/misleading messages for unzippable directory symlinks
* TRANSLATIONS: wordpress.org is now serving up translations for fr_FR, pt_PT and ro_RO, so these can/have been removed from the plugin zip (1.2Mb released)

= 1.12.11 - 19/May/2016 =

* FIX: 1.12.8 (paid versions only) contained a regression that prevented S3 access if the user had a custom policy that did not include location permission. This fix means that the work-around of adding that permission to the policy is no longer required.
* FIX: Fix a regression in 1.12.8 that prevented non-existent DreamObjects buckets from being created
* FIX: Fix inaccurate reporting of the current Vault quota usage in the report email since 1.12.8
* FIX: The short-lived 1.12.10 had a duplicate copy of the plugin in the release zip
* TWEAK: Detect a particular obscure PHP bug in some versions that is triggered by the Amazon S3 SDK, and automatically switch to the older SDK if it is hit (N.B. Not compatible with Frankfurt region).
* TWEAK: Audit/update all use of wp_remote_ functions to reflect API changes in the upcoming WP 4.6
* TWEAK: Tweak to the settings saving, to avoid a false-positive trigger of a particular rule found in some mod_security installs
* TWEAK: Update bundled UDRPC library to version 1.4.5

= 1.12.9 - 11/May/2016 =

* FIX: In yesterday's 1.12.8, some previously accessible Amazon S3 buckets could no longer be accessed

= 1.12.8 - 10/May/2016 =

* FEATURE: Support S3's "infrequent access" storage class (Premium)
* FIX: Fix bug in SFTP uploading algorithm that would corrupt archives if a resumption was necessary
* TWEAK: Add information on UpdraftVault quota to reporting emails
* TWEAK: Update the bundled AWS library to version 2.8.30
* TWEAK: Update the bundled Symfony library to version 2.8.5
* TWEAK: Update the bundled phpseclib library to version 1.0.2 (which includes a fix for SFTP on PHP 5.3)
* TWEAK: Improve the overlapping runs detection when writing out individual database tables, for helping servers with huge tables without mysqldump
* TWEAK: Prevent restoration from replacing the local record of keys of remote sites to send backups to (Migrator add-on)
* TWEAK: Re-order the classes in class-zip.php, to help misbehaving XCache (and perhaps other opcode cache) instances
* TWEAK: Do not include transient update availability data in the backup (which will be immediately out-of-date)
* TWEAK: Updated the URLs of various S3-compatible providers to use SSL, where available
* TWEAK: Added an endpoint drop-down for Dreamobjects, using their new/updated endpoint (currently only one choice, but they will have more in future)
* TWEAK: Suppress a log message from UpdraftVault when that message is not in use
* TWEAK: When key creation times out in the Migrator, display the error message in the UI

= 1.12.6 - 30/Apr/2016 =

* FIX: UpdraftVault quota usage was being shown incorrectly in recounts on sites connected to accounts backing up multiple sites
* TWEAK: In accordance with Barracuda's previous announcement, copy.com no longer exists - https://techlib.barracuda.com/CudaDrive/EOL
* TWEAK: Allow particular log lines to be cancelled
* TWEAK: Explicitly set the separator when calling http_build_query(), to prevent problems with non-default configurations
* TWEAK: Tweak the algorithm for sending data to a remote UD installation to cope with eventually-consistent filesystems that are temporarily inconsistent
* TWEAK: Make the automatic backups advert prettier
* TWEAK: Detect and combine file and database backups running on different schedules which coincide
* TWEAK: Update bundled Select2 to version 4.0.2
* TWEAK: Update UDRPC library to version 1.4.3
* TWEAK: Update dashboard notices for 2017/18

Older changes are found in the changelog.txt file in the plugin directory.

== Screenshots ==

1. Main dashboard - screenshots are from UpdraftPlus Premium, so may reference some features that are not part of the free version

2. Configuring your backups

3. Restoring from a backup

4. Showing and downloading backup sets


== License ==

    Copyright 2011-17 David Anderson

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

Furthermore, reliance upon any non-English translation is at your own risk. UpdraftPlus can give no guarantees that translations from the original English are accurate.

We recognise and thank the following for code and/or libraries used and/or modified under the terms of their open source licences; see: https://updraftplus.com/acknowledgements/


== Upgrade Notice ==
* 1.13.16: Various small tweaks and fixes - a recommended update for everyone
