=== 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: 5.2
Stable tag: 1.16.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 Dropbox, S3, 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 two 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), UpdraftVault, Rackspace Cloud, FTP, DreamObjects, Openstack Swift, 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:

* Incremental backups
* Easily duplicates or migrates websites (with Migrator)
* Multisite/multi-network compatible
* Backs up non WP files and databases to multiple remote destinations
* More storage destinations (e.g. OneDrive, BackBlaze, Azure, SFTP) and multiple destinations
* Database encryption
* Advanced reporting
* Supports WP-CLI
* Free dedicated expert support

Find out more <a href="https://updraftplus.com/comparison-updraftplus-free-updraftplus-premium/">on our comparison page</a>. 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)

= Instantly create a temporary clone of your site (UpdraftClone) =

A temporary clone is an instant copy of this website, running on our servers. You don't need to test or develop on your live site; instead, you can UpdraftClone it, and throw away your clone when done. <a href="https://updraftplus.com/updraftclone/">Learn more about UpdraftClone here.</a>

* Easy: Press the buttons... UpdraftClone does the work.
* Reliable: Runs on capacity from a leading cloud computing provider.
* Secure: One VPS (Virtual Private Server) per clone, shared with nobody.
* Fast: Takes just the time needed to create a backup and send it.
* Flexible: If you want, test upgrading to a different PHP or WP version.

To create a temporary clone you need: 1) credit in your account and 2) to connect to your account. You can buy UpdraftClone tokens <a href="https://updraftplus.com/shop/updraftclone-tokens/">from our shop, here</a>. 

= 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: <a href="https://updraftplus.com/translate/">https://updraftplus.com/translate/</a>

= 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 1 GB 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://www.youtube.com/watch?v=7ReY7Z19h2I">YouTube channel</a> or from <a href="https://updraftplus.com/download/">our website</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 by us and "ready-to-go"; self-hosted 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 backup, 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 backup 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.16.16.x of the free version correspond to changes made in 2.16.16.x of the paid version.

= 1.16.16 - 23/Jul/2019 =

* FEATURE: Added the ability to launch a blank WordPress clone
* FEATURE: Add --collate= parameter to WP-CLI (Premium) to allow substitution of locally unknown collations when restoring
* FIX: Switched to wp_insert_site() from insert_blog() and install_blog() method when importing single-site into a multisite network on WP 5.1+. Fixes 'Already Installed' error when importing on newer WP versions
* FIX: Issue where (rare) foreign key constraints aren't updated upon restore when table prefix changes
* FIX: Improve parsing of backed-up triggers when restoring preventing possible unnecessary errors
* FIX: If an upload to Google Drive starts to fail due to an OAuth token refresh error, the backup will re-bootstrap the Drive client and try again
* FIX: JSON-reparser to prevent unwanted RINFO data being output to screen
* FIX: Triggers were still included in a backup for tables that were excluded because of lack of WP prefix
* FIX: Resuming restores could resume at an unnecessarily early stage
* FIX: Issue with Dropbox account information call that could make it fail
* TWEAK: In cases where there were duplicate Google Drive folders (which is possible if there are multiple network communications failures when looking up the folder), these are now detected and merged automatically
* TWEAK: Add option to start 250GB Vault subscription as in-app purchase
* TWEAK: Regression: backup checksums were not being recorded in the backup log file
* TWEAK: Remove UpdraftClone when the backup is cancelled by the user
* TWEAK: Send the backup log during the creation of UpdraftClone for easier support when a clone fails to recieve the backup
* TWEAK: Detect OneDrive Graph token expiries and initiate swift resumption
* TWEAK: Reduce the permissions requested for the UpdraftPlus Google Drive app (this now means that backups manually uploaded to Google Drive can not be deleted through the UpdraftPlus UI)

= 1.16.15 - 31/May/2019 =

* FEATURE: Added the ability to use already existing local backups with UpdraftClone
* FIX: Prevent PHP fatal error (regression) when WP_Filesystem credentials were needed and wrong ones were supplied
* FIX: Issue where you could not delete old directories from the restore progress page
* FIX: Issue where restore would not run over AJAX if wrong credentials were entered when WordPress requested filesystem credentials
* FIX: Fix incorrect refusal to accept valid email addresses in the UpdraftCentral wizard
* TRANSLATION: The Italian translation is now complete and supplied from wordpress.org, so can be removed from the free plugin zip (saves 424KB disk space - if your mother tongue is not English and you want to improve UpdraftPlus, take a look at: https://translate.wordpress.org/projects/wp-plugins/updraftplus).
* TWEAK: Update UpdraftCentral theme module handler to support themes without a name header
* TWEAK: Prevent PHP log notice when fetching available theme updates via UpdraftCentral
* TWEAK: Add more scheduling options to the built-in list (you can still further add whatever other arbitrary options you like: https://updraftplus.com/faqs/how-can-i-add-any-new-scheduling-interval-to-updraftplus/)
* TWEAK: Abstract the code for handling maintenance mode to allow future improvements
* TWEAK: Fix a potential wrong file path in an error message
* TWEAK: If there is more than one Google Drive folder of the same name, now the selection is deterministic: the oldest one is always used
* TWEAK: Infer phpseclib class path from the class name, instead of hard-coding it
* TWEAK: Some lines that were meant to include HTML bold in the browser output had lost that effect
* TWEAK: Add what entity caused the automatic backup to the logfile
* TWEAK: Upon restoration, a couple of known plugin cache directories will be emptied to prevent serving up an intermediate page
* TWEAK: Fix a bug in the "fail on resume" error-trapping logic which could cause it to resume too many times
* TWEAK: Prevent a bogus error message being logged at the end of a successful direct site-to-site transfer
* TWEAK: Add backup size information when hovering at the backup data buttons (excluding database button) 
* TWEAK: Allow the plugin to connect to account and activate Premium licence if no more UpdraftCentral Cloud licences remain and the user enables the 'Add this website to UpdraftCentral' option in the Premium/Extensions tab
* TWEAK: During a restore send structured data to the front end. This is preparing the way for future UX improvements.

= 1.16.14 - 30/Apr/2019 =

* TWEAK: Make UpdraftVault trial more discoverable
* TWEAK: Fix stray JavaScript in the short-lived version 1.16.13
* TWEAK: Add support to translation updates
* TWEAK: Add WP 5.2 support in UpdraftClone
* TWEAK: Prevent PHP notice in remotesend method
* TWEAK: Restorations are now started over AJAX instead of in-page. This is preparing the way for future UX improvements.
* TWEAK: Upgraded the 'site-to-site' remote sending code to use the more recent UDRPC message format
* TWEAK: Make the UpdraftClone suggestion sentences dismissible
* TWEAK: Improve JSON-reparser to cope with even more exotic junk from some setups with problems elsewhere in their stack

= 1.16.12 - 16/Apr/2019 =

* FIX: Regression which caused PclZip unzips to be very slow
* TWEAK: Add stream_meta to the list of log tables and tables not requiring search/replace

= 1.16.11 - 08/Apr/2019 =

* FIX: Issue which prevented the downloader UI being removed during a manual entity download (regression)
* FIX: Regression in 1.16.10 whereby restore resumptions did not correctly resume because the jobdata had not been loaded
* TWEAK: Update UpdraftCentral description and internationalize strings
* TWEAK: Handle HTTP/2 responses from Dropbox on some operations
* TWEAK: Add a timeout on Dropbox quota look-up operations during backup, in response to cases of faulty outgoing HTTP proxies
* TWEAK: The backup_finish() method should not have been private; could cause a harmless PHP abort when manually stopping a backup
* TWEAK: Wrong variable context could cause failure of SFTP progress recording

= 1.16.10 - 23/Mar/2019 =

* FEATURE: Added support for backing up and restoring SQL triggers
* FIX: Prevent the downloader UI being removed before it's complete in the case of multi-archive sets (regression)
* TWEAK: Refactor the restore code and use jobdata to save information about the restore rather than using $_POST data
* TWEAK: Automatically show the UpdraftClone admin UI for UpdraftClone developers for easier debugging
* TWEAK: Prevent a PHP notice with certain exclusion settings
* TWEAK: Add a mention of UpdraftClone in WP's PHP version notice and WooCommerce's "untested extensions" notice
* TWEAK: Add 5.1 to the built-in list of available UpdraftClone WP versions

= 1.16.8 - 13/Mar/2019 =

* FIX: If requesting clone credentials that were not ready, the loop could rapidly repeat instead of waiting the intended time
* TWEAK: Some background updates checks (paid versions) that were intended to be suppressed, weren't being.

= 1.16.7 - 11/Mar/2019 = 

* FEATURE: Add support for bucket-specific application keys in Backblaze
* FEATURE: Added the ability to take incremental backups via UpdraftCentral
* FIX: Dropbox authorisation setting getting lost after saving UpdraftPlus settings in the free version
* FIX: Issue where an error wasn't thrown if you tried to restore a backup with no valid components
* TRANSLATION: Norwegian (Bokmål) and Polish translations are now complete and supplied from wordpress.org, so can be removed from the free plugin zip (saves 900KB disk space - if your mother tongue is not English and you want to improve UpdraftPlus, take a look at: https://translate.wordpress.org/projects/wp-plugins/updraftplus).
* TWEAK: Ride a polling status check on the regular heartbeat check, thereby reducing the need for stand-alone polls
* TWEAK: If FTP settings were removed and an attempt was made to download a backup, then a zero-sized file would be created and then an unclear error shown, instead of just showing a clear error.
* TWEAK: For premium users: Added the option to connect to UpdraftCentral Cloud at point of connecting a license to a site
* TWEAK: If on PHP 5.3 or later, then register our Google SPL auto-loader with the 'prepend' flag, so that we can avoid loading incompatible Google SDKs registered (but not yet used) by other components
* TWEAK: Clear settings visuals after wipe settings
* TWEAK: Improve UpdraftPlus news layout on dashboard
* TWEAK: Handle a case seen where the updates checker failed to load
* TWEAK: Prevent a possible PHP notice when requesting a rating
* TWEAK: Update to the current series (4.5) of yahnis-elsts/plugin-update-checker (paid versions)
* TWEAK: The "follow this link to refresh your (licensing) connection)" (paid versions) link was not functioning
* TWEAK: Alert the user in the UI if they have activated a storage destination without any settings
* TWEAK: Refactor the remote storage logging code in the S3, Email, Remote send, Backblaze, WebDAV, UpdraftVault, FTP, Google Cloud and Azure modules
* FEATURE: Ability to purchase UpdraftVault subscriptions, including a new 5GB 1 month trial, directly from the UpdraftVault settings
* TWEAK: If a directory is not found during a restore but the parent directory is then, where relevant, UpdraftPlus will automatically try to create the missing directory
* TWEAK: Use the correct nonce name when requesting filesystem credentials if needing the WP_Filesystem API to delete old directories
* TWEAK: Regression in 1.16.6 - certain types of final errors stopped being shown in the final report and had to be read from the log file
* TWEAK: Refactor the remote storage logging code in all remote storage modules
* TWEAK: Prevent the download entities UI becoming uglified from multiple button presses

= 1.16.6 - 14/Feb/2019 = 

* FEATURE: Added new S3 intelligent tiering class
* FEATURE: Ability for user to buy Premium without leaving the plugin's settings pages
* FEATURE: UpdraftPlus can now catch backups that don't complete because of errors that kill PHP and make sure a report is still sent about them
* FIX: If a very large UpdraftVault upload took more than an hour, then the token could expire without being refreshed (fix in version 1.16.0 was incomplete)
* PERFORMANCE: Modify a condition in the zip-batching algorithm so that greater acceleration in the zip-batching algorithm is allowed on setups allowing very long PHP run times on the initial (zero-eth) resumption
* PERFORMANCE: UpdraftClone now sends larger chunks over the network, leading to faster sending of data
* PERFORMANCE: Force UpdraftClone to use a 100MB split size for better performance (previously intended, but not always working)
* TWEAK: Upon restoration, WP's cache directory will be emptied (by default it is not included in backups, so in theory this is a no-op, but the occasional case has been seen where it got populated during the restore process)
* TWEAK: Add support for the new Europe (Stockholm) (eu-north-1) AWS region in Amazon S3
* TWEAK: Advise the user if they changed the plugin's slug (and so won't be able to get updates) (paid versions)
* TWEAK: Make use of wp_get_themes rather than relying solely to get_themes which is already deprecated
* TWEAK: Regression: When a user aborted a fatal error occurred before all clean-up actions were complete

= 1.16.5 - 28/Jan/2019 =

* FEATURE: If a restoration is interrupted (e.g. PHP timeout), then the "Continue" feature can now resume not just at the most recent zip file, but within the zip file at the point it had reached (https://updraftplus.com/auto-resuming-interrupted-restores-part-2/)
* FEATURE: Added command in WP-CLI which gives a list of incremental backups restore points.
* FIX: Regression: When a Dropbox upload failed to complete, UpdraftPlus would log this but fail to retry
* FIX: Again update phpseclib to the latest version which should now fix the 'SSH2 Server Host Key Algorithm Mismatch' on all installs
* TWEAK: Correct a wrong variable reference in an error message
* TWEAK: Only add the JavaScript for the incremental schedule selection on the UD settings page
* TWEAK: Replace incidental use of ipinfo.io now that it requires a paid API key
* TWEAK: The print_delete_old_dirs_form method should have been public to allow painting if the user clicked through the previous message

= 1.16.4 - 17/Jan/2019 =

* FIX: Regression: Properly mark backups picked up via "Rescan remote storage" as non-native (preventing unwelcome side-effects such as being pruned by another site)
* FIX: Correctly update the OneDrive refresh token to prevent expiry
* FIX: Again work around an issue with 'SSH2 Server Host Key Algorithm Mismatch' occurring with the current phpseclib release by temporarily reverting to an earlier one as it still does not work on all installs
* FIX: When restoring an incremental backup set via WP-CLI, the selected restore point was ignored
* FIX: If the remote storage settings were for multiple instances of a single backend-type (e.g. two Dropbox accounts), and if the entire backup and send operation completed in a single PHP process, then the local copy of the files would not be deleted
* TWEAK: Show the error message if mbstring.func_overload is turned on in php.ini while creating migration key
* TWEAK: Added Azure China endpoint
* TWEAK: Resolve "dashicons" CSS conflict 
* TWEAK: Add 'blogmeta' to the list of core tables (in readiness for WP 5.1)
* TWEAK: Remove unnecessary deprecated (in PHP 7.3) parameter to define() in WebDAV HTTP library
* TWEAK: Prevent a potential PHP notice in UpdraftPlus Premium when installed without network access
* TWEAK: Enhance the updraftplus_exclude_file and updraftplus_exclude_directory filters to also pass the stored names
* TWEAK: Add a new constant UPDRAFTPLUS_ZIP_BATCH_CEILING that can tweak internals of the zip backup engine

= 1.16.3 - 10/Jan/2019 =

* FIX: Prevent extraction regression (in 1.16.1) when using PclZip (N.B. php-zip is always preferred if installed) on zero-sized files
* FIX: Prevent the incremental backup cron from being incorrectly scheduled

= 1.16.2 - 07/Jan/2019 =

* FIX: wp_doing_cron() was used when unzipping, but requires WP 4.8+ (regression in 1.16.1, which was never released on wordpress.org)
* TWEAK: Updated phpseclib to the latest version after the previous work around to fix the 'SSH2 Server Host Key Algorithm Mismatch' issue
* TWEAK: Check-in with the clone during the backup process to make sure it is not prematurely purged

= 1.16.1 - 01/Jan/2019 =

* FIX: If a very large UpdraftVault upload took more than an hour, then the token could expire without being refreshed
* FIX: Version 2.16.0 could write invalid or incomplete JSON when creating the manifest file on an incremental backup under certain circumstances
* FIX: When restoring an incremental backup set via WP-CLI, the restore order could be wrong
* TWEAK: Accept and parse the invalid JSON when restoring an incremental archive created on 2.16.0
* TWEAK: When running an incremental backup, the backup report would report the time taken to run the backup wrongly
* TWEAK: Make the logging on the state of zip extraction more fine-grained (at least every 100MB, 1000 files or 15 seconds)
* TWEAK: Re-factoring of zip extraction code to allow for future improvements
* TWEAK: Re-factoring of the restore routines to share more code between different entry points, and allow future improvements
* TWEAK: Differentiate between failures to JSON-decode an incremental backup manifest file and other types of failures

= 1.16.0 - 19/Dec/2018 =

* FEATURE: Added the abilty to create and restore Incremental Backups (Premium version)
* FIX: Work around an issue with 'SSH2 Server Host Key Algorithm Mismatch' occurring with the current phpseclib release by temporarily reverting to an earlier one
* TWEAK: Improve performance by aggregating separate SQL SELECT queries (previously one for each backup) when loading the settings page
* TWEAK: internal backup extradata parameter to prevent unwanted PHP notices
* TWEAK: Fork a method UpdraftPlus_Filesystem_Functions::unzip_file() to allow for future enhancements
* TWEAK: Periodic purging of obsolete job data that didn't get cleaned when expected was not happening on multisite
* TWEAK: Improve logging when the initial call to jobdata_set_multi fails
* TWEAK: Any stored backup/restore progress log files will now be deleted after 40 days. (Since they are attached to email reports, you can keep and retrieve them from those if needed). Over-ride this with the filter updraftplus_log_delete_age if desired.

= 1.15.7 - 06/Dec/2018 =

* FIX: a method call on an incorrect class which caused a fatal error

= 1.15.6 - 06/Dec/2018 =

* FEATURE: Added WordPress 5.0 support to UpdraftClone
* FEATURE: Added the ability to choose the UpdraftClone server location
* FEATURE: Cut a step from the activation procedure on paid versions, improving reliability on some installs that did not detect available updates
* TWEAK: The UpdraftClone video is inserted after clicking a link (prevent unwanted call to the video server)
* TWEAK: Replace a 'continue' with a 'break' to prevent a PHP notice on PHP 7.3
* TWEAK: (Paid versions) Simplify the constants involved in defining a custom/over-ride licensing server; and show in the 'Extensions' tab if an over-ride applies.
* TWEAK: (Paid versions) Remove a library versioning assumption in the processing of results from a licensing claim
* TWEAK: (Paid versions) A regression had caused the current UD install version to be sent in an updates check
* TWEAK: Re-factoring of scheduling methods into their own class
* TWEAK: Tweak the scheduling engine to separate the next resumption time from the maximum run time in the case of overlapping runs, in order to prevent unnecessary large gaps between resumptions in cases where the server allows very long run times

= 1.15.5 - 19/Nov/2018 =

* TWEAK: Include the backup set ID in clone ready state file
* TWEAK: For Premium users with grand-fathered lifetime updates (i.e. purchased before August 2013), a regression had caused support entitlement expiries to no longer be notified
* TWEAK: For Premium users with who have downgraded from unlimited licences to another package, a licence expiry message could show when in fact the real situation was that they just needed to specifically allocate a licence to the site. The relevant message has been adjusted to improve this.
* TWEAK: Track "more files" incremental backup locations
* TWEAK: Don't show individual add-ons that have not been bought in the account add-ons page if the user has Premium.
* TWEAK: Include the raw updates check response information in the internal/advanced dump
* TWEAK: Added the UpdraftClone video

* TWEAK: Ability for user to buy Premium without leaving the plugin's settings pages

= 1.15.3 - 29/Oct/2018 =

* FEATURE: UpdraftPlus now has an option to auto-update
* FEATURE: Azure for Government endpoint support (Premium)
* FIX: SSL verification settings were not allowing verification to be turned off for generic S3 storage
* FIX: In some situations in which a user had defined UTF8 as their character set but WordPress was using UTF8MB4, UpdraftPlus was not detecting this
* FIX: Prevent particular a SQL text pattern wrongly triggering detection of database features when it is within content
* TWEAK: Marked as supporting WordPress 5.0
* TWEAK: Automatically re-scan for presence of database backup after restoring it, to prevent confusion over its status
* TWEAK: Change logic that controls whether the minified or full JavaScript is used
* TWEAK: Improve Settings tab UI on mobile
* TWEAK: Improve UpdraftClone UI
* TWEAK: Improve UpdraftClone temporary page UI
* TWEAK: Change method used to record the MySQL version to deal with how MariaDB can report when using a non-MariaDB client library (see: https://github.com/joomla/joomla-cms/issues/9062)
* TWEAK: Replace Base64 encoded logo by image file
* TWEAK: Hide guided tour on UpdraftClone
* TWEAK: Fixed broken automatic backup modal layout
* TWEAK: Auto rescan after restoring the remote database
* TWEAK: Explicitly set the backup history option to not autoload, as it can get non-trivial in size
* TWEAK: Improve UI of excluding things from the backup
* TWEAK: Prevent a possible PHP debug notice in methods/backup-module.php
* TWEAK: Show progress in browser view port instead of modal dialog when we delete the backup(s).
* TWEAK: Added a --db-dummy-restore option to WP-CLI which will run a dummy restore of the database (under an unused prefix) and then drop the tables after it finishes. This option can be useful for testing.
* TWEAK: Update the UpdraftClone UI when site information becomes available
* TWEAK: Curl errors when interacting with Backblaze B2 will now be passed up for easier debugging
* TWEAK: Re-factor add-on remote storage credential testing to make passing debugging information easier
* TWEAK: Implement non-default SSL options with Backblaze B2 (previously the defaults were always used)
* TWEAK: UpdraftClone: redirect to admin page after using the auto login link
* TWEAK: Improve internal more files backup location tracking
* TWEAK: Send a single request to download a backup set not for each file entity
* TWEAK: Fix a DOM element whereby multiple nonces had the same id
* TWEAK: Automatically build the more files backup location tracking on local rescan
* TWEAK: Refactor the remote storage logging code in Onedrive module

= 1.15.2 - 19/Sep/2018 =

* FIX: Asking the tour to cancel on the plugins page did not work
* FIX: an issue where some jobdata did not get set which resulted in the backup email not being sent
* FIX: a regression whereby network-activated plugins could get deactivated on multisites when restoring
* FIX: When database encryption was active, UpdraftClone would fail
* TWEAK: There is now a 'Rescan remote storage - log results to console' link in 'Advanced Tools' to aid with debugging
* TWEAK: Fixes Migrate / clone tab contents showing on the Advanced tools tab
* TWEAK: Attempt to catch, work-around and log when the backup history cannot be saved due to too long a history relative to the MySQL server's maximum packet size
* TWEAK: Re-factor and introduce the UpdraftPlus_Storage_Methods_Interface class
* TWEAK: Introduce the UPDRAFTPLUS_ENABLE_TOUR constant for power users; set it to false as part of your automated WP installation process (or manually) if you wish to disable all tour functionality.

= 1.15.0 - 12/Sep/2018 =

* FEATURE: Introducing UpdraftClone. Create a live copy of your site with a button press. Great for testing changes, testing updates (e.g. WordPress core, plugins, PHP versions) and anything else you can think of. More information: https://updraftplus.com/updraftclone/
* FIX: Fix the logic for claiming and activating licences/add-ons.
* FIX: Fixed OneDrive for Business Germany authentication tenant issue
* TWEAK: WP-CLI - use dash (-) instead of underscore (_) to separate words, in order to match WP-CLI standards. 
* TWEAK: Adds close_browser_connection capability for servers using phpfpm
* TWEAK: Change multiple backups selection and actions UI
* TWEAK: Prevent PHP debug message on backup from UpdraftCentral when processing the service list
* TWEAK: Improves manual backup feedback
* TWEAK: Fix an out-of-date 'lost password' link
* TWEAK: Add filter updraftplus_disk_space_check to allow over-riding disk space check result
* TWEAK: Re-factor some of the restore code to enable future enhancements
* TWEAK: In the case of an 'always keep' backup, it was possible for the wrong log message to be logged concerning the reason for it being kept
* TWEAK: Add log warning and WP Admin notice regarding DreamObjects objects-us-west-1.dream.io endpoint shutting down
* TWEAK: Refactor the remote storage logging code
* TWEAK: Clean up some confusing UI when dealing with remote send backups

= 1.14.13 - 15/Aug/2018 =

* FEATURE: WP-CLI - add a 'get_latest_full_backup' command
* FIX: An issue when deleting multiple backups could result in a backup set not found error
* FIX: Polling during a backup when called from outside UpdraftPlus
* FIX: Plugin activation check was running at the wrong point in the restore process
* FIX: The WP-CLI "restore" command returned an unnecessary error if the incremental shim was not present
* TWEAK: Multisite tweaks for UpdraftCentral's plugin and theme module handlers
* TWEAK: Prevent potential PHP notice on page load when no backup storage is selected
* TWEAK: Add scoping to some CSS rules that were too general.
* TWEAK: A new "Backup / Restore" tab, which consists of backup status and existing backup with rid the "Current Status" tab and the "Existing Backups" tab
* TWEAK: Remove the possibility of a false-positive warning of a migration-rather-than-restoration if the WordPress home_url setting has legitimate oddities
* TWEAK: Improve UI of more database delete button (Premium)
* TWEAK: Removed Gold column and redesigned Premium page
* TWEAK: Improve UC factoring and introduce a UPDRAFTCENTRAL_COMMAND constant to allow context detection
* TWEAK: Tweaked downwards the minimum time in the future for rescheduling a resumption
* TWEAK: Deal with a possible issue in automatic collation selection in restoration when all character sets are supported and a collation is not supported
* TWEAK: Replace absolute URLs in place of relative URLs in anchor links
* TWEAK: Update error code URL for binary zip errors
* FEATURE: Added OneDrive for Business Germany compatibility

= 1.14.12 - 17/Jul/2018 =

* FEATURE: Added Plugin guided tour for new users
* FEATURE: Added UpdraftCentral's theme management module handler
* FEATURE: User can mark any backup as "do not delete", and it will then not be deleted even when retention limits are hit
* FEATURE: WP-CLI - add a 'restore' command
* FEATURE: WP-CLI - Add an option 'delete-during-restore' in the 'restore' command
* FEATURE: Add optional 'fingerprint' configuration for sftp/scp remote storage, allowing the connection to be halted if the server's fingerprint does not match what was entered
* FEATURE: Added the ability to take an incremental backup via WP-CLI (note: incremental backups are still considered an experimental/work-in-progress feature)
* FIX: If a user gave the wrong key to decrypt an encrypted database, the "Decryption failed" message did not display
* FIX: The Migration was not changing an unsupported database table engine with the MyISAM  engine automatically
* FIX: Issue with the Dropbox account API call on some installs
* FIX: The web server disk space refresh link of the existing backups is not working
* FIX: The UpdraftPlus News couldn't print first time when the news cache was not made
* FIX: Activating the "all addons" licence did not remove the corresponding 'activate on this account' link in the "Premium / Extensions" tab
* FIX: When set names query character set hadn't support from the current MySQL server, the restoration process wasn't giving the option to replace the character set
* TWEAK: Updated the plugin.php handler for UpdraftCentral's new plugin management module
* TWEAK: Update posts handler to fix and update pagination in UpdraftCentral
* TWEAK: Refresh UpdraftCentral keys upon successful login or registration using the UpdraftCentral Cloud wizard 
* TWEAK: Correct admin page URL in WP-CLI 'restore' command when on multisite without multisite add-on
* TWEAK: Prevent PHP notice when checking non-existent files in relation to an extraneous whitespace warning
* TWEAK: Prevent PHP notices in add-ons with non-present settings
* TWEAK: Add the "Migrate / Clone" tab in place of the "Migrate / Clone" dialog
* TWEAK: Prevent call to the the wp_get_sites() deprecated function on WP 4.6 and newer
* TWEAK: Prevent a potential PHP debugging notice when displaying the 'Connect with your UpdraftPlus.com' form
* TWEAK: Do not show the confusing JetPack 'backup' notice on the 'Updates' page
* TWEAK: Added clone notices and commands for when UpdraftPlus is running on a UpdraftClone
* TWEAK: Move 'Log all messages to syslog (only server admins are likely to want this)' into the 'expert' settings section
* TWEAK: Replace a missing class constant in the Dropbox SDK (only relevant to people upgrading from Dropbox API v1 tokens - indicates upgrading UpdraftPlus from a very old version that previously used Dropbox APIv1 but never v2)
* TWEAK: It's "backup", not "back up"
* TWEAK: Prevent potential PHP debugging notices in restoration step 2
* TWEAK: Allow non-Super Admins to access UpdraftPlus Premium if they have 'manage_network_plugins' capability and the updraft_user_can_manage filter is used
* TWEAK: Improved code in a way that prevents continuous polling in the themes page, the plugins page and the updates page

= 1.14.11 - 25/May/2018 =

* FIX: Revert a change in 1.14.9 that could cause backups to not be sent to remote storage (fix in 1.14.10 was not 100% complete (but worked for almost everyone))

= 1.14.9 - 24/May/2018 =

* FEATURE: Make it more seamless to sign up to UpdraftCentral Cloud
* FEATURE: Microsoft Azure storage (Premium) compatibility with Azure Germany
* FEATURE: Added the ability to create migration keys from WP-CLI (Premium)
* FIX: A backup icon/storage shows for a storage type even if all instances were disabled
* FIX: WP CLI updraftplus command was not running on few enviroments like the Windows command line
* FIX: A PHP fatal error was occurring when a user try to restore an encrypted DB when defining the "UPDRAFTPLUS_DECRYPTION_ENGINE" constant
* TWEAK: Added the ability to schedule incremental backups (Note you can not yet take incremental backups)
* REFACTOR: Completed factoring for tabs of the settings page.
* TWEAK: Some re-factoring and tidying of the restoration code for easier maintenance
* TWEAK: Add a longer timeout on SFTP logins to cope with a 'long delay, but then worked' situation seen in the wild
* TWEAK: An "Incremental backups" extension was displayed in the Premium / Extensions tab, causing confusion since it is not yet finished/launched
* TWEAK: Displays a Byte Order Mark (BOM) warning by giving the file names along with the path in the "Existing Backups" tab, if a BOM is detected at the start of common files that people tend to edit
* TWEAK: A WP CLI Existing backup command didn't display a date time in the "job_identifier" column
* TWEAK: Add links to the relevant app privacy policies within the settings sections for storage methods using OAuth authorization apps
* TWEAK: Log user and group IDs of process and file/folder, when permissions for an operation is denied
* TWEAK: Prevent a potential PHP debugging notice when showing the 'Upload' button
* TWEAK: Update an out-of-date "wrong password" link
* TWEAK: Added the "Web-server disk space in use by UpdraftPlus" information to "Site information" section in the "Advanced Tools" tab; it won't show in the 'Existing Backups' tab if you are using less than 100MB.
* TWEAK: When a Google Cloud token was invalid, a PHP Fatal could result instead of catching the error and informing/logging nicely
* TWEAK: If php-xml (SimpleXMLElement) is not installed, then show an appropriate warning in the Azure configuration section
* TWEAK: If the user tries to install another version of UpdraftPlus, then tweak the default error message that they are shown by WP, which is too obscure/cryptic for many users
* TWEAK: If a fatal error occurred during uploading a backup, try to recover it and process the upload further

= 1.14.8 - 12/May/2018 =

* FIX: Resuming of a partially uploaded backup archive in the new 'OneDrive for Business' module was not working
* TWEAK: When testing SFTP settings, if debug is activated, activate debug logging and pass the results back in the event of test failure (previous attempt was incomplete)
* TWEAK: OneDrive SDK cleaned up to remove the obsolete Live 5.0 API

= 1.14.7 - 25/Apr/2018 =

* FIX: Fix incompatibility with loading the dashboard on WP 4.6 and older. If you have this problem, then you cannot visit /wp-admin/ - you will need to update via another tool (e.g. if you have a multiple site management tool), or via FTP (download the https://downloads.wordpress.org/plugin/updraftplus.1.14.7.zip , unzip it on your PC, log in to your site via FTP into the folder wp-content/plugins, remove the existing folder 'updraftplus' and then upload the unzipped 'updraftplus' folder). Many apologies!

= 1.14.6 - 25/Apr/2018 =

* FEATURE: Added the option to upload locally-available backups to remote storage
* FEATURE: Add post management module for UpdraftCentral (client-side; UC-side still pending)
* FEATURE: Added WP-CLI "rescan-storage" subcommand to the WP-CLI add-on rescan either remote storage or local storage
* FEATURE: Compatibility of the (paid) OneDrive module with 'OneDrive for Business'
* FIX: Multisite restoration did not display single site restoration option when URLs were different but clearly the same site (http/https difference)
* FIX: WebDAV uploads could fail if the user defined the constant UPDRAFTPLUS_WEBDAV_NEVER_CHUNK
* FIX: If UpdraftVault remote had failed, UpdraftVault couldn't recover without settings wipe
* TWEAK: Handle a DreamObjects server that was not sending an application/xml content-type header
* TWEAK: Handle a case where the root cause of an error from DreamObjects was not being clearly shown
* TWEAK: Alert the user of their mistake if they try to enter a URL instead of a folder path in the OneDrive settings folder field
* TWEAK: Adjust the PclZip log message to clarify the implications of using PclZip (i.e.: it's significantly slower)
* TWEAK: Add support for the upcoming objects-us-east-1.dream.io DreamObjects endpoint
* TWEAK: Prevent potential PHP notice in WP-CLI subcommand for existing backups
* TWEAK: Add UpdraftPlus news in admin dashboard "WordPress Events & News" widget

= 1.14.5 - 3/Apr/2018 =

* FEATURE: Add a "Database only" option to the UpdraftPlus email backup options
* FEATURE: An UpdraftPlus add-on (paid) to run the backup process through WP CLI
* FIX: Restoration did not display the decryption passphrase input (but always used the saved one)
* FIX: Browse content download file was not working in Windows hosting
* FIX: The wrong default for the 'Delete local backup' setting was applied if you had never saved your settings
* TWEAK: Prevent a PHP notice showing when testing S3 storage
* TWEAK: Prevent a PHP notice when downloading from Dropbox
* TWEAK: Improved the migrate UI
* TWEAK: Update bundle cacert bundle to latest (2018-01-17) release
* TWEAK: Ajouter soutien pour le nouveau region AWS Paris (eu-west-3)
* TWEAK: Handle short filesystem reads when sending data to Google Drive
* TWEAK: Improve handling of PHP errors and exceptions during back-end calls
* TWEAK: Update internal OneDrive SDK for compatibility with 'OneDrive for Business' (not yet fully supported)
* TWEAK: Internal refactoring and improvements to the UpdraftPlus.com form
* TWEAK: Job ID is now separate from the file nonce
* TWEAK: Show increments in the UI
* TWEAK: Add visibility controls to functions of a stream wrapper class for WebDAV access
* TWEAK: Handle errors when getting folder ID from Google Drive more patiently
* TWEAK: Displays more descriptive error when google drive authentication error occur

= 1.14.4 - 19/Feb/2018 =

* FEATURE: Now supports AWS v4 signatures (allowing use of new AWS regions) with old S3 SDK (which is used on PHP 5.2)
* FIX: WebDAV options filter was not correctly saving any human-chosen description
* FIX: Regression: Rackspace 'new user' wizard was not functioning
* FIX: For chunked storage APIs that require a method to finally re-assemble chunks, if the first attempt failed, then a subsequent failed attempt could be incorrectly marked as having succeeded
* FIX: First instance of each remote storage object was not using its internal default options
* TWEAK: Added the ability to restore incremental backup sets (N.B. currently you cannot create incremental backup sets; this is part of our development of that feature)
* TWEAK: Edit welcome banner
* TWEAK: If 'lock admin' functionality (Premium) has been disabled by the site administrator, then include a line to that effect in the relevant section.
* TWEAK: Allow UpdraftCentral classes to have boiler-plate pre and post-call methods
* TWEAK: Do a bit more logging for Backblaze B2 uploads
* TWEAK: Add a sanity check to prevent some PHP debug notices being logged in an upgrade situation
* TWEAK: Resolved unwanted WebDAV remote storage JavaScript console message

= 1.14.3 - 24/Jan/2018 =

* FEATURE: OneDrive and Google Cloud deauthorise link provided after authentication
* FEATURE: Added the ability to label remote storage instances (Premium)
* TWEAK: Handle a combined error/timing condition seen on DigitalOcean Spaces that could lead to UD thinking that an upload that actually succeeded, did not
* TWEAK: Add functions to pull backup status and log for UpdraftCentral
* TWEAK: Add command multiplexer function for UpdraftCentral
* TWEAK: Audit and regularise use of slash-handling code in AJAX layer
* TWEAK: A couple of remote storage error paths were not returning the error information to the upper level correctly
* TWEAK: Prevent phpseclib from throwing a fatal upon autoload if mbstring.func_overload is set (see: https://github.com/phpseclib/phpseclib/issues/762); instead, log, or handle in some other way appropriate to the context
* TWEAK: Some minor code-styling and linting ignore tweaks
* TWEAK: (Regression) After filling the UpdraftVault connect form, pressing Enter was no longer triggering submission
* TWEAK: If counting up the total "More files" data when none are configured to be backed up, show "None configured" instead of "Error"
* TWEAK: Improve UI of notice when claiming an add-on
* TWEAK: Standardise the way OAuth remote storage methods authorise/deauthorise settings
* TWEAK: "Wipe Settings" button click event was not asking for confirmation
* TWEAK: Add Server Side Encryption (SSE) support to old S3 SDK
* TWEAK: Dropbox now uses the internal chunked download API

= 1.14.2 - 22/Dec/2017 =

* FIX: Email backups not sending correctly
* FIX: Buttons in the 'Migrate' dialog box stopped working after you switched tabs (until you reload the page)
* FIX: Unable to delete multi-storage S3 instances
* TWEAK: Remove duplicate DOM id for nonce fields
* TWEAK: Correct name of PutObjectAclVersion permission when requesting it in S3 wizard
* TWEAK: Improve S3 log message to make clear which back-end a message is coming from
* TWEAK: Improved migration warning message if migrator addon is available and restoration site url is slightly different than current site url
* TWEAK: New non-existent Backblaze B2 buckets are now created automatically
* TWEAK: Suppress expected (but confusing to some users) "404 not found" message in the log when WebDAV backup file is at 0% uploaded

= 1.14.1 - 12/Dec/2017 =

* FEATURE: Backup to multiple remote storage accounts of the same type
* TWEAK: Remove all the lines "X is a great choice, because is supports chunked uploading..." from the UI. Almost everything did support it, but not everything mentioned it, which could cause confusion.
* TWEAK: Prevent a PHP log notice in some settings savings scenarios
* TWEAK: Add missing filter for processing changes to Google Cloud, OneDrive and Azure settings (Premium storage option) on multisite
* TWEAK: Minor internal re-factoring: move hard-coded storage back-end names out of options and multisite addon classes.
* TWEAK: Prevent a PHP log notice during backup on PHP 7.2

= 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

Older changes are found <a href="https://plugins.svn.wordpress.org/updraftplus/trunk/changelog.txt">in the changelog.txt file in the plugin directory.</a>

== 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. Take a backup

4. Restoring from a backup

== License ==

    Copyright 2011-19 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.16.16: Added the ability to launch a blank WordPress clone. Add --collate= parameter to WP-CLI (Premium) to allow substitution of locally unknown collations when restoring. A recommended update for all.
