- Reverts a change to how the home path is calculated as it caused issues on installs where wp-config.php was stored outside of web root. Props to @mikelittle for the bug report.
- Bump minimum WP requirement to 3.7.3, the latest security release on the 3.7 branch.
- Fix an issues that could cause schedule times to fail to account for timezone differences.
- Add a nonce check to the schedule settings.
- Fix a possible JS warning when removing an exclude rule.
- Our unit tests now run in PHP 5.2 again.
- It's now possible to choose the time and day that your schedule will run on.
- Introduces several new unit tests around schedule timings.
- Fixes a bug that could cause the hourly schedule to run constantly.
- Improved the layout of the Constants help panel.
- If the backup root directory is unreadable then the plugin will no longer function.
- Update the backups table match the standard WordPress table styles.
- Improved styling for the settings dialogue.
- Improved styling for the Server Info help tab.
- /s/back ups/backups.
- Remove Deprecated call to
- Updated French translation.
- Update the
WP CLI command to use the new method for registering command.
- Reload the schedules when re-setting up the default schedules so they show up straight away.
- Only show the estimated total schedule size when editing an existing schedule.
- Stop stripping 0 from the minutes on hourly backups so that backups at 10 (& 20, etc.) past the hour correctly show.
- Disable buttons whilst ajax requests are running.
- Move spinners outside the buttons as they didn't look very good inside.
- Improve the detection of the home path on multisite installs which have WordPress in a subdirectory.
- Track the time that the running backup is started and display how long a backup has been running for.
- Fix an issue that meant it wasn't possible to run multiple manual backups at the same time.
- Many other minor improvements.
- BackUpWordPress now requires WordPress 3.7.1 as a minimum.
- Remove some old back-compat code that was required because we supported older WP versions.
- It's now possible to change the email address that notification emails are sent from using the
- The spinner is now retina!
- Close the PHP Session before starting the backup process to work around the 1 request per session issue. Backup status will now work on sites which happen to call
max_execution_time and the BackUpWordPress Plugin version back to support. * Include the users real name in support requests
- Stop passing
$_SERVER with support requests as it can contain things like
.htaccess passwords on some server configurations.
- Improve the display of the server info in the enable support popup.
- New screenshots
wp_safe_redirect for internal redirects.
wp_is_writable instead of
- In WordPress Multisite the backups admin page is now located in Network admin instead of the wp-admin of the main site.
- Fixed an issue with the new intercom support integration that could cause loading the backups page to timeout
- Fixed 3 stray PHP warnings.
- BackUpWordPress will now always be loaded before any BackUpWordPress Extensions.
- Fixed an issue that could cause a long modal (excludes) to show underneath the WP admin bar.
- Add missing colorbox images
- Support for new premium extensions for storing backups in a variety of online services.
- Exclude the WP DB Manager backups and WP Super Cache cache directories by default.
- We now use Intercom to offer support directly from within the plugin, opt-in of course.
- More i18n fixes / improvements.
- We no longer show download links if your backups directory isn't web accessible.
- Fix a bug that caused the plugin activation and deactivation hooks from firing.
- Correctly handle
MYSQL TIMESTAMP columns in database dumps.
zip are now correctly recognised on SmartOS.
- Schedule names are now translatable.
- Avoid having to re-calculate the filesize when a schedules type is set.
- Compatibility with WordPress 3.8
- Fix a PHP strict error.
- Save and close as separate buttons.
- Fix bug that caused multiple notification emails.
- Fixes typo in database option name.
- Updated translations.
- Improve PHP docblocks.
- Make schedules class a singleton.
- Exclude popular backup plugin folders by default.
- Exclude version control folders by default.
- Fix broken localisation.
wp_safe_redirect instead of
wp_redirect for internal form submissions
- Replace Fancybox with Colorbox as Fancybox 2 isn't GPL compatible.
- Use the correct
HMBKP_ATTACHMENT_MAX_FILESIZE constant consistently in the help section.
- Correct filename for some mis-named translation files.
- Show the total estimated disk space a schedule could take up (max backups * estimated site size).
- Fix a typo (your -> you're).
- Use the new time Constants and define backwords compatible ones for > than 3.5.
- Play nice with custom cron intervals.
- Main plugin file is now
backupwordpress.php for consistency.
- Add Paul De Wouters (
pauldewouters) as a contributor, welcome Paul!
- Don't remove non-backup files from custom backup paths.
- Fix a regression where setting a custom path which didn't exist could cause you to lose existing backups.
- When moving paths only move backup files.
- Make some untranslatable strings translatable.
- Don't allow a single schedule to run in multiple threads at once, should finally fix edge case issues where some load balancer / proxies were causing multiple backups per run.
- Only highlight the
HMBKP_SCHEDULE_TIME constant in help if it's not the default value.
- Remove help text for deprecated
- Default to allways specificing
--single-transaction when using
mysqldump to backup the database, can be disabled by setting the
- Silence a
PHP Warning if
mysql_pconnect has been disabled.
- Ensure dot directories
.. are always skipped when looping the filesystem.
- Work around a warning in the latest version of MySQL when using the
-p flag with
- Fix issues on IIS that could cause the root directory to be incorrectly calculated.
- Fix an issue on IIS that could cause the download backup url to be incorrect.
- Fix an issue on IIS that could mean your existing backups are lost when moving backup directory.
- Avoid a
PHP FATAL ERROR if the
mysql_set_charset doesn't exist.
- All unit tests now pass under IIS on Windows.
- Prefix the backup directory with
backupwordpress- so that it's easier to identify.
- Re-calculate the backup directory name on plugin update and move backups.
- Fix some issues with how
HMBKP_SECURE_KEY was generated.
- Fix a fatal error on PHP 5.2, sorry! (again.)
- Fix a parse error, sorry!
- Fix a fatal error when uninstalling.
- Updated translations for Brazilian, French, Danish, Spanish, Czech, Slovakian, Polish, Italian, German, Latvian, Hebrew, Chinese & Dutch.
- Fix a possible notice when using the plugin on a server without internet access.
- Don't show the wp-cron error message when
WP_USE_ALTERNATE_CRON is defined as true.
- Ability to override the max attachment size for email notifications using the new
- Nonce some ajax request.
- Silence warnings created if
escapeshellarg are disabled.
- Handle situations where the mysql port is set to something wierd.
- Fallback to
mysql_connect on system that disable
- You can now force the
--single-transaction param when using
mysqldump by defining
- Unit tests for
- Silence possible PHP Warnings when unlinking files.
- Stop storing a list of unreadable files in the backup warnings as it's too memory intensive.
- Revert the custom
RecursiveDirectoryIterator as it caused an infinite loop on some servers.
- Show all errors and warnings in the popup shown when a manual backup completes.
- Write the .backup_error and .backup_warning files everytime an error or warning happens instead of waiting until the end of the backups process.
- Fix a couple of
PHP E_STRICT notices.
- Catch more errors during the manual backup process and expose them to the user.
- Don't repeatedly try to create the backups directory in the
uploads isn't writable.
- Show the correct path in the warning message when the backups path can't be created.
- Include any user defined auth keys and salts when generating the HMBKP_SECURE_KEY.
- Stop relying on the built in WordPress schedules as other plugins can mess with them.
- Delete old backups everytime the backups page is viewed in an attempt to ensure old backups are always cleaned up.
- Improve modals on small screens and mobile devices.
- Use the retina spinner on retina screens.
- Update buttons to the new 3.5 style.
- Fix a possible fatal error caused when a symlink points to a location that is outside an
- Fix an issue that could cause backups using PclZip with a custom backups path to fail.
- Security hardening by improving escaping, sanitizitation and validation.
- Increase the timeout on the ajax cron check, should fix issues with cron errors showing on slow sites.
- Only clear the cached backup filesize if the backup type changes.
- Add unit tests for all the schedule recurrences.
- Fix an issue which could cause weekly and monthly schedules to fail.
- Add an
uninstall.php file which removes all BackUpWordPress data and options.
- Catch a possible fatal error in
- Fix an issue that could cause mysqldump errors to be ignored thus causing the backup process to use an incomplete mysqldump file.
- Fix a regression in
2.1.2 that broke previewing and adding new exclude rules.
- Fix an issue that could stop the settings panel from closing on save on servers which return
'0' for ajax requests.
- Fix an issue that could cause the backup root to be set to
/ on sites with
home set to different domains.
- The mysqldump fallback function will now be used if
mysqldump produces an empty file.
- Fix a possible PHP
NOTICE on Apache servers.
- Fix a possible fatal error when a backup schedule is instantiated outside of wp-admin.
- Don't use functions from misc.php as loading it too early can cause fatal errors.
- Don't hardcode an English string in the JS, use the translated string instead.
- Properly skip dot files, should fix fatal errors on systems with
- Don't call
apache_mod_loaded as it caused wierd DNS issue on some sites, use
global $is_apache instead.
- Fix a possible double full stop at the end of the schedule sentence.
- Minor code cleanup.
- Stop blocking people with
safe_mode = On from using the plugin, instead just show a warning.
- Fix possible fatal error when setting schedule to monthly.
- Fix issues with download backup not working on some shared hosts.
- Fix issuses with download backup not working on sites with strange characters in the site name.
- Fix a bug could cause the update actions to fire on initial activation.
- Improved reliability when changing backup paths, now with Unit Tests.
- Generate the lists of excluded, included and unreadable files in a more memory efficient way, no more fatal errors on sites with lots of files.
- Bring back .htaccess protection of the backups directory on
Apache servers with
- Prepend a random string to the backups directory to make it harder to brute force guess.
- Fall back to storing the backups directoy in
WP_CONTENT_DIR isn't writable.
- Attempt to catch
E_ERROR level errors (Fatal errors) that happen during the backup process and offer to email them to support.
- Provide more granular status messages during the backup process.
- Show a spinner next to the schedule link when a backup is running on a schedule which you are not currently viewing.
- Improve the feedback when removing an exclude rule.
- Fix an issue that could cause an exclude rule to be marked as default when it in-fact isn't, thus not letting it be deleted.
- Add a line encouraging people to rate the plugin if they like it.
- Change the support line to point to the FAQ before recommending they contact support.
- Fix the link to the "How to Restore" post in the FAQ.
- Some string changes for translators, 18 changed strings.
- Fix possible warning on plugin activation if the sites cron option is empty.
- Don't show the version warning in the help for Constants as that comes from the current version.
- Re-setup the cron schedules if they get deleted somehow.
- Delete all BackUpWordPress cron entries when the plugin is deactivated.
- Introduce the
HMBKP_SCHEDULE_TIME constant to allow control over the time schedules run.
- Make sure the schedule times and times of previous backups are shown in local time.
- Fix a bug that could cause the legacy backup schedule to be created on every update, not just when going from 1.x to 2.x.
- Improve the usefulness of the
wp-cron.php response code check.
- Use the built in
site_format function for human readable filesizes instead of defining our own function.
- Revert the change to the way the plugin url and path were calculated as it caused regressions on some systems.
- Fix issues with scheduled backups not firing in some cases.
- Better compatibility when the WP Remote plugin is active alongside BackUpWordPress.
- Catch and display more WP Cron errors.
- BackUpWordPress now fails to activate on WordPress 3.3.2 and below.
- Other minor fixes and improvements.
- Only send backup failed emails if the backup actually failed.
- Turn off the generic "memory limit probably hit" message as it was showing for too many people.
- Fix a possible notice when the backup running filename is blank.
- Include the
wp_error response in the cron check.
- Fix fatal error on PHP 5.2.
- Ability to have multiple schedules with separate settings & excludes per schedule.
- Ability to manage exclude rules and see exactly which files are included and excluded.
- Fix an issue with sites with an
- Backups should now be much more reliable in low memory environments.
- Lots of other minor improvements and bug fixes.
- Updated and improved translations across the board - props @elektronikLexikon.
- German translation - props @elektronikLexikon.
- New Basque translation - props Unai ZC.
- New Dutch translation - Anno De Vries.
- New Italian translation.
- Better support for when WordPress is installed in a sub directory - props @mattheu
- Fix issue with backups being listed in reverse chronological order.
- Fix issue with newest backup being deleted when you hit your max backups limit.
- It's now possible to have backups sent to multiple email address's by entering them as a comma separated list.
- Fix a bug which broke the ability to override the
mysqldump path with
echo rather than
pwd when testing
shell_exec as it's supported cross platform.
- Updated Spanish translation.
- Fix a minor spelling mistake.
- Speed up the manage backups page by caching the FAQ data for 24 hours.
- Fix backup path issue with case sensitive filesystems.
- Fix an issue with emailing backups that could cause the backup file to not be attached.
- Fix an issue that could cause the backup to be marked as running for ever if emailing the backup
- Never show the running backup in the list of backups.
- Show an error backup email failed to send.
- Fix possible notice when deleting a backup file which doesn't exist.
- Fix possible notice on older versions of
PHP which don't define
- BackUpWordPress should now work when
- Don't show warning message as they cause to much panic.
- Move previous methods errors to warnings in fallback methods.
.htaccess rewrite rules in if
- Add link to new restore help article to FAQ.
- Fix issue that could cause "not using latest stable version" message to show when you were in-fact using the latest version.
- Bug fix in
zip command check that could cause an incorrect
zip path to be used.
- Detect and pass
MySQL port to
- Don't fail archive verification for errors in previous archive methods.
- Improved detection of the
- Fix issues when
- Remove reliance on
SECURE_AUTH_KEY as it's often not defined.
error() for issues reported by
- Fix download zip on Windows when
ABSPATH contains a trailing forward slash.
- Send backup email after backup completes so that fatal errors in email code don't stop the backup from completing.
- Add missing / to
- Catch and display errors during
PHP errors as backup warnings not errors.
- Only show warning message for
PHP errors in BackUpWordPress files.
- Ability to dismiss the error / warning messages.
- Disable use of
PclZip for full archive checking for now as it causes memory issues on some large sites.
- Don't delete "number of backups" setting on update.
- Better handling of multibyte characters in archive and database dump filenames.
- Mark backup as running and increase callback timeout to
500 when firing backup via ajax.
- Don't send backup email if backup failed.
- Filter out duplicate exclude rules.
- Fix fatal error on PHP =< 5.3
- Fixes issue with backups dir being included in backups on some Windows Servers.
- Consistent handling of symlinks across all archive methods (they are followed).
- Use .htaccess rewrite cond authentication to allow for secure http downloads of backup files.
- Track errors and warnings that happen during backup and expose them through admin.
- Fire manual backups using ajax instead of wp-cron,
HMBKP_DISABLE_MANUAL_BACKUP_CRON is no longer needed and has been removed.
- Ability to cancel a running backup.
- Zip files are now integrity checked after every backup.
- More robust handling of failed / corrupt zips, backup process now fallsback through the various zip methods until one works.
mysql_query instead of the depreciated
- Better handling of unreadable files in ZipArchive and the backup size calculation.
- Support for wp-cli, usage:
wp backup [--files_only] [--database_only] [--path<dir>] [--root<dir>] [--zip_command_path=<path>] [--mysqldump_command_path=<path>]
- Better detection of
- Don't delete user settings on update / deactivate.
zip is not available, still falls back to
PclZip if neither
ZipArchive are installed.
- Better exclude rule parsing, fixes lots of edge cases, excludes now pass all 52 unit tests.
- Improved the speed of the backup size calculation.
- Re-written core backup engine should be more robust especially in edge case scenarios.
- 48 unit tests for the core backup engine, yay for unit tests.
- Remove some extraneous status information from the admin interface.
- Rename Advanced Options to Settings
HMBKP_CAPABILITY to allow the default
add_menu_page capability to be changed.
- Suppress possible filemtime warnings in some edge cases.
- 3.3 compatability.
- Set proper charset of MySQL backup, props valericus.
- Fix some inconsistencies between the estimated backup size and actual backup size when excluding files.
- 1.4 was incorrectly marked as beta.
- Most options can now be set on the backups page, all options can still be set by defining them as
- Russian translation, props valericus.
- All dates are now translatable.
- Fixed some strings which weren't translatable.
- New Constant
HMBKP_DISABLE_MANUAL_BACKUP_CRON which enable you to disable the use of
wp_cron for manual backups.
- Manual backups now work if
DISABLE_WP_CRON is defined as
- Spanish translation
- Bump PHP version check to 5.2.4
- Fallback to PHP mysqldump if shell_exec fails for any reason.
- Silently ignore unreadable files / folders
- Make sure binary data is properly exported when doing a mysqldump
- Use 303 instead of 302 when redirecting in the admin.
set_time_limit inside a loop
- Use WordPress 3.2 style buttons
- Don't pass an empty password to mysqldump
- Check for PHP version. Deactivate plugin if running on PHP version 4.
- Re-written back up engine, no longer copies everything to a tmp folder before zipping which should improve speed and reliability.
- Support for excluding files and folders, define
HMBKP_EXCLUDE with a comma separated list of files and folders to exclude, supports wildcards
*, path fragments and absolute paths.
- Full support for moving the backups directory, if you define a new backups directory then your existing backups will be moved to it.
- Work around issues caused by low MySQL
- Add FAQ to readme.txt.
- Pull FAQ into the contextual help tab on the backups page.
- Block activation on old versions of WordPress.
- Stop guessing compressed backup file size, instead just show size of site uncompressed.
- Fix bug in
safe_mode detection which could cause
Off to act like
- Better name for the database dump file.
- Better name for the backup files.
- Improve styling for advanced options.
- Show examples for all advanced options.
- Language improvements.
- Layout tweaks.
- Show live backup status in the back up now button when a back up is running.
- Show free disk space after total used by backups.
- Several langauge changes.
- Work around the 1 cron every 60 seconds limit.
- Store backup status in a 2 hour transient as a last ditch attempt to work around the "stuck on backup running" issue.
- Show a warning and disable backups when PHP is in Safe Mode, may try to work round issues and re-enable in the future.
- Highlight defined
- Show defaults for all
- Show a warning if both
HMBKP_DATABASE_ONLY are defined at the same time.
- Make sure options added in 1.1.4 are cleared on de-activate.
mysqldump on Windows if it's available.
- New option to have each backup emailed to you on completion. Props @matheu for the contribution.
- Improved windows server support.
- Fix a rare issue where database backups could fail when using the mysqldump PHP fallback if
mysql.max_links is set to 2 or less.
- Don't suppress
mysql_connect errors in the mysqldump PHP fallback.
- One time highlight of the most recent completed backup when viewing the manage backups page after a successful backup.
- Fix a spelling error in the
shell_exec disabled message.
- Store the BackUpWordPress version as a
Constant rather than a
(float) the BackUpWordPress version number, fixes issues with minor versions numbers being truncated.
- Minor PHPDoc improvements.
- Attempt to re-connect if database connection hits a timeout while a backup is running, should fix issues with the "Back Up Now" button continuing to spin even though the backup is completed.
- When using
PCLZIP as the zip fallback don't store the files with absolute paths. Should fix issues unzipping the file archives using "Compressed (zipped) Folders" on Windows XP.
- Fix a bug that stopped
HMBKP_DISABLE_AUTOMATIC_BACKUP from working.
- Fix a possible
max_execution_timeout fatal error when attempting to calculate the path to
- Clear the running backup status and reset the calculated filesize on update.
- Show a link to the manage backups page in the plugin description.
- Other general fixes.
- Remove the logging facility as it provided little benefit and complicated the code, your existing logs will be deleted on update.
- Expose the various
Constants that can be defined to change advanced settings.
- Added the ability to disable the automatic backups completely
define( 'HMBKP_DISABLE_AUTOMATIC_BACKUP', true );.
- Added the ability to switch to file only or database only backups
define( 'HMBKP_FILES_ONLY', true ); Or
define( 'HMBKP_DATABASE_ONLY', true );.
- Added the ability to define how many old backups should be kept
define( 'HMBKP_MAX_BACKUPS', 20 );
- Added the ability to define the time that the daily backup should run
define( 'HMBKP_DAILY_SCHEDULE_TIME', '16:30' );
- Tweaks to the backups page layout.
- General bug fixes and improvements.
- Don't ajax load estimated backup size if it's already been calculated.
- Fix time in backup complete log message.
- Don't mark backup as running until cron has been called, will fix issues with backup showing as running even if cron never fired.
- Show number of backups saved message.
- Add a link to the backups page to the plugin action links.
Don't throw PHP Warnings when
shell_exec is disabled
Minor bug fix release.
filesize() warnings when calculating backup size.
- Plugin should now work when symlinked.
- Remove all options on deactivate, you should now be able to deactivate then activate to fix issues with settings etc. becoming corrupt.
- Call setup_defaults for users who update from backupwordpress 0.4.5 so they get new settings.
- Don't ajax ping running backup status quite so often.
1.0.1 & 1.0.2
Fix some silly 1.0 bugs
1.0 represents a total rewrite & rethink of the BackUpWordPress plugin with a focus on making it "Just Work". The management and development of the plugin has been taken over by Human Made Limited the chaps behind WP Remote
Version 0.4.5 and previous were developed by wpdprx