UpdraftPlus WordPress Backup Plugin - Version 1.11.9

Version Description

  • 04/Sep/2015 =

  • FIX: Dropbox introduced an un-documented, un-announced change to their server, which caused new site authentications in UpdraftPlus to no longer work. Now fixed with this release.

  • FIX: If backing up multiple extra directories under "more files", if large directories required a resumption, then inclusion of the files multiple times in the backup was possible.

  • TWEAK: Tweak the auto-split algorithm to not avoid firing in a particular case (that relies on a sequence of unlikely I/O events, seen on GoDaddy) if there's no resumption scheduled

  • TWEAK: Add mysql.sql to the (changeable) default configuration for excludes from wp-content - on WP Engine this is an unreadable file that they create that thus produces a backup warning

  • TWEAK: Add a dashboard warning (+ link to documentation) if UD appears to be incompletely installed

  • TWEAK: Add UPDRAFTPLUS_WEBDAV_NEVER_CHUNK constant for WebDAV servers that return the wrong error code when chunking fails

  • TWEAK: Introduce a UPDRAFTPLUS_REMOTESEND_DEFAULT_CHUNK_BYTES constant allowing the over-riding of the remote-send (Migrator) starting chunk size in wp-config.php (expert users)

  • TWEAK: Add CSS classes to dashboard updates notices, so that people can hide them more easily if they wish

  • TWEAK: If gzopen() is disabled, then test binzip without trying to use PclZip to verify the results

  • TWEAK: Add work-around for PHP bug https://bugs.php.net/bug.php?id=62852

Download this release

Release Info

Developer DavidAnderson
Plugin Icon 128x128 UpdraftPlus WordPress Backup Plugin
Version 1.11.9
Comparing to
See all releases

Code changes from version 1.11.8 to 1.11.9

backup.php CHANGED
@@ -885,17 +885,21 @@ class UpdraftPlus_Backup {
885
  $possible_backups = $updraftplus->get_backupable_file_entities(true);
886
 
887
  // Was there a check-in last time? If not, then reduce the amount of data attempted
888
- if ($job_status != 'finished' && $updraftplus->current_resumption >= 2 && $updraftplus->current_resumption<=10) {
889
- $maxzipbatch = $updraftplus->jobdata_get('maxzipbatch', 26214400);
890
- if ((int)$maxzipbatch < 1) $maxzipbatch = 26214400;
891
 
892
  # NOTYET: Possible amendment to original algorithm; not just no check-in, but if the check in was very early (can happen if we get a very early checkin for some trivial operation, then attempt something too big)
 
893
 
 
 
894
  if (!empty($updraftplus->no_checkin_last_time) || !$updraftplus->newresumption_scheduled) {
895
  // Apr 2015: !$updraftplus->newresumption_scheduled added after seeing a log where there was no activity on resumption 9, and extra resumption 10 then tried the same operation.
896
  if ($updraftplus->current_resumption - $updraftplus->last_successful_resumption > 2 || !$updraftplus->newresumption_scheduled) {
897
  $this->try_split = true;
898
- } else {
 
 
 
899
  $new_maxzipbatch = max(floor($maxzipbatch * 0.75), 20971520);
900
  if ($new_maxzipbatch < $maxzipbatch) {
901
  $updraftplus->log("No check-in was detected on the previous run - as a result, we are reducing the batch amount (old=$maxzipbatch, new=$new_maxzipbatch)");
@@ -1913,6 +1917,7 @@ class UpdraftPlus_Backup {
1913
  if (filesize($examine_zip) > 50*1048576) {
1914
  # We could, as a future enhancement, save this back to the job data, if we see a case that needs it
1915
  $this->zip_split_every = max((int)$this->zip_split_every/2, UPDRAFTPLUS_SPLIT_MIN*1048576, filesize($examine_zip));
 
1916
  $updraftplus->log("No check-in on last two runs; bumping index and reducing zip split for this job to: ".round($this->zip_split_every/1048576, 1)." Mb");
1917
  $do_bump_index = true;
1918
  }
885
  $possible_backups = $updraftplus->get_backupable_file_entities(true);
886
 
887
  // Was there a check-in last time? If not, then reduce the amount of data attempted
888
+ if ($job_status != 'finished' && $updraftplus->current_resumption >= 2) {
 
 
889
 
890
  # NOTYET: Possible amendment to original algorithm; not just no check-in, but if the check in was very early (can happen if we get a very early checkin for some trivial operation, then attempt something too big)
891
+
892
 
893
+ // 03-Sep-2015 - came across a case (HS#2052) where there apparently was a check-in 'last time', but no resumption was scheduled because the 'useful_checkin' jobdata was *not* last time - which must indicate dying at a very unfortunate/unlikely point in the code. As a result, the split was not auto-reduced. Consequently, we've added !$updraftplus->newresumption_scheduled as a condition on the first check here (it was already on the second), as if no resumption is scheduled then whatever checkin there was last time was only partial. This was on GoDaddy, for which a number of curious I/O event combinations have been seen in recent months - their platform appears to have some odd behaviour when PHP is killed off.
894
+ // 04-Sep-2015 - move the '$updraftplus->current_resumption<=10' check to the inner loop (instead of applying to this whole section), as I see no reason for that restriction (case seen in HS#2064 where it was required on resumption 15)
895
  if (!empty($updraftplus->no_checkin_last_time) || !$updraftplus->newresumption_scheduled) {
896
  // Apr 2015: !$updraftplus->newresumption_scheduled added after seeing a log where there was no activity on resumption 9, and extra resumption 10 then tried the same operation.
897
  if ($updraftplus->current_resumption - $updraftplus->last_successful_resumption > 2 || !$updraftplus->newresumption_scheduled) {
898
  $this->try_split = true;
899
+ } elseif ($updraftplus->current_resumption<=10) {
900
+ $maxzipbatch = $updraftplus->jobdata_get('maxzipbatch', 26214400);
901
+ if ((int)$maxzipbatch < 1) $maxzipbatch = 26214400;
902
+
903
  $new_maxzipbatch = max(floor($maxzipbatch * 0.75), 20971520);
904
  if ($new_maxzipbatch < $maxzipbatch) {
905
  $updraftplus->log("No check-in was detected on the previous run - as a result, we are reducing the batch amount (old=$maxzipbatch, new=$new_maxzipbatch)");
1917
  if (filesize($examine_zip) > 50*1048576) {
1918
  # We could, as a future enhancement, save this back to the job data, if we see a case that needs it
1919
  $this->zip_split_every = max((int)$this->zip_split_every/2, UPDRAFTPLUS_SPLIT_MIN*1048576, filesize($examine_zip));
1920
+ $updraftplus->jobdata_set('split_every', (int)($this->zip_split_every/1048576));
1921
  $updraftplus->log("No check-in on last two runs; bumping index and reducing zip split for this job to: ".round($this->zip_split_every/1048576, 1)." Mb");
1922
  $do_bump_index = true;
1923
  }
includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php CHANGED
@@ -49,7 +49,7 @@ abstract class Dropbox_ConsumerAbstract
49
  $this->getAccessToken();
50
  } catch(Exception $e) {
51
  $excep_class = get_class($e);
52
- // 04-Sep-2015 - Dropbox started throwing a 404, which caused a Dropbox_BadRequestException which previously wasn't being caught
53
  if ('Dropbox_BadRequestException' == $excep_class || 'Dropbox_Exception' == $excep_class) {
54
  global $updraftplus;
55
  $updraftplus->log($e->getMessage().' - need to reauthenticate this site with Dropbox (if this fails, then you can also try wiping your settings from the Expert Settings section)');
49
  $this->getAccessToken();
50
  } catch(Exception $e) {
51
  $excep_class = get_class($e);
52
+ // 04-Sep-2015 - Dropbox started throwing a 400, which caused a Dropbox_BadRequestException which previously wasn't being caught
53
  if ('Dropbox_BadRequestException' == $excep_class || 'Dropbox_Exception' == $excep_class) {
54
  global $updraftplus;
55
  $updraftplus->log($e->getMessage().' - need to reauthenticate this site with Dropbox (if this fails, then you can also try wiping your settings from the Expert Settings section)');
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: Backup with UpdraftPlus, DavidAnderson
3
  Tags: backup, backups, restore, amazon backup, s3 backup, dropbox backup, google drive backup, rackspace cloud files, rackspace backup, dreamhost, dreamobjects backup, ftp backup, webdav backup, google cloud storage, onedrive, microsoft one drive, back up, multisite, restoration, sftp backup, ftps, scp backup, migrate, duplicate, copy, mysql backup, database backup, db backups, website backup, wordpress backup, full backup, openstack backup, sicherung
4
  Requires at least: 3.2
5
  Tested up to: 4.3
6
- Stable tag: 1.11.8
7
  Author URI: https://updraftplus.com
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
@@ -1635,4 +1635,4 @@ We recognise and thank the following for code and/or libraries used and/or modif
1635
 
1636
 
1637
  == Upgrade Notice ==
1638
- * 1.11.8 : Fix for undocumented change at Dropbox.Com that began preventing authorising new WP sites, plus a few others
3
  Tags: backup, backups, restore, amazon backup, s3 backup, dropbox backup, google drive backup, rackspace cloud files, rackspace backup, dreamhost, dreamobjects backup, ftp backup, webdav backup, google cloud storage, onedrive, microsoft one drive, back up, multisite, restoration, sftp backup, ftps, scp backup, migrate, duplicate, copy, mysql backup, database backup, db backups, website backup, wordpress backup, full backup, openstack backup, sicherung
4
  Requires at least: 3.2
5
  Tested up to: 4.3
6
+ Stable tag: 1.11.9
7
  Author URI: https://updraftplus.com
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
1635
 
1636
 
1637
  == Upgrade Notice ==
1638
+ * 1.11.9 : Fix for undocumented change at Dropbox.Com that began preventing authorising new WP sites, plus a few others
updraftplus.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: UpdraftPlus - Backup/Restore
4
  Plugin URI: https://updraftplus.com
5
  Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
6
  Author: UpdraftPlus.Com, DavidAnderson
7
- Version: 1.11.8
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
10
  Text Domain: updraftplus
4
  Plugin URI: https://updraftplus.com
5
  Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
6
  Author: UpdraftPlus.Com, DavidAnderson
7
+ Version: 1.11.9
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
10
  Text Domain: updraftplus