What’s New
How are you doing today? Are you getting enough sleep?๐ Drinking enough water?๐ฅ Eating some fruits๐ here and there? Changelogs are fantastic but We we also wanted to use this space to remind you to be kind to yourself and those around you. Thatโs all. Have a great day and enjoy the latest updates: ๐
4.9.0 Release May 25, 2023
- New: Compatible up to WordPress 6.2.2
- New: Feature to disable WP Cron jobs on the staging site #2314
- New: Button to unselect all staging site tables before cloning #2355
- New: Add two-way encryption for backup storage credentials stored in the database. Read https://wp-staging.com/docs/wp-staging-encryption-setup/ #2310
- New: Show selected plugins and themes count before cloning #2339
- Enh: Beautify backup and staging log file format #2393
- Enh: Append debug log to download system information #2441
- Enh: Improved code to be compatible with PHPstan level 1 rules #2348
- Enh: Improved code to be compatible with PHPstan level 2 rules #2419 #2459
- Enh: Check if the option_name field contains the primary key before cloning #2386
- Enh: Display the staging site name on generate login link screen #2432
- Fix: Inaccurate performance values “queries per second” for backup restore #2327
- Fix: Backup download URLs now support mixed http/https scheme #2376
- Fix: Deprecation notice on PHP 8.2 / 8.1 #2389
- Fix: Write the correct version number in wpstg.js when creating a free dist package #2431
- Fix: Correct use of printf and gettext #2313
- Fix: On backup creation MySQL Error 1118 row size too large error can appear #2422
- Fix: Fix line-break issue during files-index validation when validating a backup on Windows OS that was created on Linux OS and vice versa #2402
- Fix: Add Query Compatibility fix when restoring a database backup created on MariaDB with PAGE_COMPRESSED=`ON` on MySQL database #2401
- Fix: PHP 8.1 warnings on backup creation due to using null value on wp_normalize_path #2453
- Fix: Added method to handle sending email in free version with attachments #2417
- Dev: Check if the Issue or PR Number exist in the changelog #2394
4.8.1 Release May 9, 2023
- Fix: Remove custom global exception handler to avoid conflicts with other plugins #2424
4.8.0 Release May 5, 2023
- New: Pro feature to allow generation of magic login links to staging site. Go to “Actions > Share Login Link”. This requires updating WP Staging Pro plugin on staging site #2204
- New: Pro feature to sync active admin account. Go to “Actions > Sync User Account” to synchronize active admin user account with staging site #2183
- New: Support SSL connection to external databases #2264
- New: Allow WP-CLI to work on the staging site #2280
- Enh: Refresh UI and add new animated loader icon to show backup progress #2292 #2349
- Enh: Refresh UI and format system information page #2333
- Enh: Refresh UI an add button to open staging site after updating staging site #2358
- Enh: Refresh UI. Show more clear cron message and take into account that WP_CRON could be disabled if external backup cron is used #2378
- Enh: Improve backup email error report and show more clear messages when a backup fail #2383
- Enh: Display a message when the backup or restore process stops due to lack of server memory #2210
- Enh: Combine wp staging logs and system info logs #2224
- Enh: Show admin notice when optimizer mu-plugin is disabled to improve reliability of backup creation #2301
- Enh: Run backup validation checks again after deleting a backup #2286
- Enh: Toggle triangle icon on multi part backup click #2308
- Enh: Make more clear where to enter the license key #2404
- Enh: Allow uploads directory outside ABSPATH by using the filter `wpstg.backup.directory` #2359
- Fix: Selecting a child folder automatically selects the parent folder. #2317
- Fix: Toggle correctly the side bar navigation depending if staging or backup tab is active #2261
- Fix: Excluding sub-directories on backup did not work with using the filter ‘wpstg.backup.exclude.directories’ #2291
- Fix: Database permission warning did not disappear due to escaped database name #2234
- Fix: Remove sanitize_url() deprecated notice #2306
- Fix: Could not download system info #2323
- Fix: Catch runtime exception when checking for valid backups during invalid file index notice #2312
- Fix: Use correct html element id to fix js console error #2344
- Fix: Last backup duration was always 0 min, 0 sec. It is now fixed #2383
- Fix: Retry adding the backup file index up to 3 times if adding the backup file index fails #2383
- Fix: Login redirect loop on wp-admin #2385
- Fix: Add custom exception handler #2346
- Dev: DRY webdriver tests #2276
- Dev: Decouple PRO feature from WPStaging\Backup namespace and move them into WPStaging\Pro\Backup namespace #2296 #2336 #2356
- Dev: Fix issues running basic webdriver tests on Github CI #2319
- Dev: Add timeout to Github actions #2324
- Dev: Write wp staging debug logs into global debug.log #2346
4.7.2 Release March 31, 2023
- New: Compatible up to WordPress 6.2
- Enh: Improves the look of the update notice #2294
- Fix: Remove double
www
prefix if network is cloned to awww
prefixed hostname but subsite already haswww
prefix #2284 - Dev: Add more unit tests to increase reliability of the backup plugin #2273
- Dev: Refactor backup terms
Export
toBackup
andImport
toRestore
for consistency #2265 - Dev: Move src/Pro/Backup to src/Backup as a first step to allow basic Backup feature to be added in Free version of WP Staging #2287 #2297
4.7.1 Release March 24, 2023
- New: Add filter
wpstg.restore.tmp_database_prefix
to use custom temporary database prefix used during backup restore. Using this filter is useful in cases when (1) there are already tables with default WP Staging temp prefix (wpstgtmp_), or (2) restore fails because of 64 characters table name length limit for database identifiers #2217 - New: Add filter
wpstg.backup.directory
to save backups in a custom location #2247 - Enh: Improve message if there is not enough free disk space while creating a backup #2193
- Enh: Add better logging for backup creation #2257
- Enh: Improve the error message on the front-end when the backup directory is not available #2130
- Enh: Show in knowledgebase block only articles of plugins that are actually installed on users website #2176
- Enh: Show specific error message on backup listing page if backup is corrupted
- Enh: Refactoring of admin notice for better performance #1573
- Fix: Improper use of the Translation function #2259 #2260
- Fix: Prevent fatal errors on rare edge cases where a file lock can not be released #2254
- Fix: Clear wpstg_* scheduled hooks on plugin deactivation #2256
- Fix: Images URLs are now correctly formed when a backup is restored from
http
tohttps
and vice versa #2111 - Fix: Allow
+
character in PuTTY SFTP key format, fixing the issue where PuTTY generated keys are not working #2155 - Fix: Improper use of the translation function #2260
- Fix: Sometimes a warning can appear indicating the backup file would be broken and contains a broken backup file index although the backup file is 100% intact #2269
4.7.0 Release March 13, 2023
- New: Major change of the User Interface #2197 #2208
- New: Add an option to send an email error report. You can enable this option in the settings and use a separate email to receive error reports #2205
- Enh: Show a notice if site contains backup(s) with invalid files-index #2205
- Enh: Add a retry mechanism to backup restore if a backup restore fails due to 404, 429 or 503 errors #2094
- Enh: Clean up log files and don’t show necessary information #2124
- Enh: Show notice how to enable permalinks depending on whether the server is Apache or another. #2143
- Enh: Explain what to enter in the ‘version’ field of Generic S3 provider #2172
- Enh: Show notice how to fix cron issue when using Litespeed server #2170 #2226
- Enh: Better notification message when there are no files to backup #2175
- Enh: Take sub folder into account when testing location for Google Drive Storage #2197
- Enh: Include the current date and time in the database filename when the backup is a “Multipart Backup” #2126
- Fix: Staging site database tables can not be pushed if staging site settings contain different table prefixes #2151
- Fix: Support adding “+” sign in the name of the backup folder by FTP, the name of backup and in the name of clone #2160
- Fix: Check if WP_ENVIRONMENT_TYPE is already defined before adding it to wp-config.php. (Solve conflict with local flywheel). #2165
- Fix: Oldest multipart backups were not deleted during remote upload #2129
- Fix: Prevent fatal error on push when there is no theme installed on production site #2185
- Fix: Continue database restore by using shorter name for identifiers name exceeding maximum allowed characters #2114
- Fix: Add a check to prevent warning undefined variable: jobId #2196
- Fix: Better error handling if folder or file is not writeable #2190
- Fix: Handle errors for PHP 8.x during Database Restore Task when max_packet_size is bigger than the actual sql result #2125
- Fix: Convert utf8mb4 to utf8 when restoring database in MySQL < 5.7 to prevent MySQL Error 1071 because MySQL < 5.7 has max key length of 767 bytes. By converting utfmb4 to utf8 it reduces the size by 1/4 and allows restoring a backup. #2203
- Fix: Restore of backup blocked due to incorrect permission check #2228
- Fix: WP Staging log files could not be deleted #2222
- Fix: Prevents a rare edge case where scheduled backups are continuous started over by implementing a better clean up routing #2231
- Fix: Unable to upload backup files to more than one remote storage in single backup job #2245
- Fix: Fetch google drive backup files in ascending order by time to fix a backup retention issue for google drive #2245
- Dev: Revert all usage of isWritable and isExecutable #2232
- Dev: Broken test _04PushCest after implementing #2199 #2216 #2238
4.6.1 Release February 9, 2023
- Enh: Database recovery enhancement to increase the execution time for executing an ajax triggered SQL query when query execution fails for a certain number of retries on weak servers #2117
- Fix: Prevent fatal error on setting page due to using double semicolon(‘::’) to call static method from variable. Affects old php versions only. #2166
4.6.0 Release January 31, 2023
- New: Button to edit backup schedules #2042 #2135
- New: Show Google Drive backup account information on the plugin’s Google Drive backup settings page #2091
- New: Add a cancel button to stop the pushing process #2101
- Enh: Hide license key for privacy reasons, for instance when plugin is used by agencies on client websites #2118
- Enh: Add filter `wpstg_login_form_logo` to allow custom change of the logo image on login page to staging site #2076
- Enh: Clarification that the maximum retention period for backup in the “Create backup” modal only applies to locally hosted backup files #2085
- Enh: If issue is reported via using the REPORT ISSUE button, send the license key with the submitted message #2087
- Enh: Change some words to be more consistent #2099
- Enh: Add link to docs article into error message if license key can not be activated #2100
- Enh: Cleanup and remove backend/views/notices/poll.php and all related code #2107
- Fix: Old automated local backups were not deleted and thus no new automated backups were created #2141
- Fix: Improve detection if WordPress is installed in subdirectory. If home URL and site URL are different the cloned staging site URLs are sometimes incorrect. #2068
- Fix: Ensure that functions in wp-staging-optimizer.php are declared only one time #2079
- Fix: Remove some php’s deprecation warnings for php 8.x #2078
- Fix: Remove error in search & replace of serialized data due to strict types during staging PUSH on PHP 8.1 and higher version. #2065
- Fix: Remove warning “Undefined index: networkClone in single-overview.php line: 54” #2097
- Dev: Write the version of the plugin into the header of wpstg.js when creating the dist package with make dev_dist #2095
- Dev: Downgrade phpcs library to fix xss tests #2105
- Dev: Show upload_path in system info #2024 #2147
- Dev: Write the version of the plugin into the header of wpstg.js when creating the dist package with make dev_dist #2095
4.5.0 Release January 05, 2023
- New: Optional feature to split backup files by type (plugins, media, themes) and maximum file size. Use filter `wpstg.backup.isMultipartBackup` to activate this option. Use `wpstg.backup.maxMultipartBackupSize` filter to adjust maximum file size for split backup, default is 2GB #1804
- New: Add filter `wpstg.remoteStorages.chunkSize` (in bytes) to change chunk size of backups upload to remote storages #2047
- New: Add filter `wpstg.remoteStorages.delayBetweenRequests` (in milliseconds) to add delay between requests to upload chunks to remote storages #1997
- New: Add filter `wpstg.backup.tables.non-prefixed` to allow backup and restore of non WordPress prefixed tables #2018
- New: Add option to download backup log files via ACTIONS > Log File #2025
- New: Send mail report if unable to upload backup to remote storage(s) during automated backup #2025
- Enh: Dont show recommendation message on using the same MySQL/MariaDB version while restoring if already the same MySQL/MariaDB version #1997
- Enh: Preserve remote storages options during clone update. #2004
- Fix: Store taskQueue in jobDataDto instead of a separate file #1997
- Fix: Added upload_path in system info #2024
- Fix: BINARY and NULL were not correctly search replaced if restoring the backup on the same site #2043
- Fix: Correct database server type and MySQL/MariaDB version in System Info Tab #2043
- Fix: Exclude filters in the UI for the staging site now allow adding dot `.` for extension, file and folder exclusion rules #2053
- Fix: Issue during cleaning of other files in wp-content directory when actual uploads directory is not direct child of wp-content directory #2041
- Fix: UPLOAD path was not correctly search replaced if source and destination site had a different relative upload path #2041
- Fix: Importing a multisite backup with domains as network sites created wrong URLs for network sites if backup is restored into a multisite where network sites are subdirectories #2038
- Fix: Allow database creation during push if multisite and mainsite #2032
- Fix: Preserve scheduled backup plans during push #2032
- Fix: Stop uploading backup to remote storage(s) after failure on certain amount of retries #2025
- Fix: Dont copy google drive option during new or reset clone. This will make sure both sites will have different Refresh token. So revoking refresh token on one site doesn’t break uploading process for the other #2004
- Fix: Fix php warning when null is passed as argument to trim function #2059
- Fix: Improve admin notice when JETPACK_STAGING_MODE is active on staging site #2014
- Dev: Bump minimatch from 3.0.4 to 3.0.8 in /src/assets #2007
- Dev: Make extra_hosts section in docker DRY #2070
- Dev: Split webdriver tests to speed up running and allow parallel execution of them #2057
- Dev: Improve login page authentication message #2058 #2072
4.4.0 Release November 11, 2022
- New: Compatible up to WordPress 6.1.1
- New: Add support for uploading backups to DigitalOcean Spaces, Wasabi and other S3 compatible storages #1966
- Enh: Allow backup upload to Amazon S3 when bucket has Lock Object and retention enabled #1973
- Enh: Show warning if test connection to backup storage provider fails during save settings #1965
- Enh: Show warning if there are more than 4 overdue backup cron jobs #1986
- Enh: Show message if unable to pre-scan directories before cloning #1993
- Fix: Under rare circumstances a fatal error is thrown during backup if scheduled time is NULL
- Fix: `SSL` and `Passive` checkboxes were not considered during FTP backup storage test connection #1965
- Fix: Fatal error when set_time_limit() has been disabled by the hosting provider #1977
- Fix: Preserve backup cloud storage provider settings when pushing and improve Google Drive backup authentication #1999
- Dev: Deprecated heredoc syntax for variables. Fix unit tests for php 8.2RC #1975
4.3.2 Release November 3, 2022
- New: Compatible up to WordPress 6.1
- Fix: Could not delete oldest backup from (S)FTP cloud storage provider if FTP location was set in FTP settings #1953
4.3.1 Release October 28, 2022
- New: Option to disable local storage space and upload backup(s) only to remote storage spaces #1935
- Enh: Huge improve of backup restoring performance by factor 2-3. #1951
- Enh: Huge improve of backup creating performance on slow database servers. #1951
- Enh: Add extra search & replace rule for elementor generated data #1902
- Enh: Add dropdown to select bucket region for S3 backups instead of typing it in manually. Improve Amazon S3 settings page #1943
- Enh: Skip search & replace if restoring a backup on the same site #1949
- Enh: Add extra search & replace rule for elementor generated data #1949
- Fix: Prevent a rare situation where the database is copied slowly with only one row per request #1951
- Fix: Table selection ignored when creating a new staging site #1946
- Fix: Could not properly restore network sites when a multisite backup was restored on a new WordPress that had a different table prefix than the source website #1948
- Dev: Update DI52 version to 3.0 for performance gain #1934
4.3.0 Release October 17, 2022
- New: Compatible up to WordPress 6.0.3
- New: Show loader icon while saving settings or testing backup remote storages connections #1925
- New: Show settings last saved time for backup remote storages SFTP, Amazon S3 and Google Drive #1925
- New: Show last update and install date for WP STAGING|PRO plugin in System Info #1928
- New: Show selected themes and plugins for UPDATE and RESET clone jobs #1926
- New: Fix issues when restoring multisites backup if network subsites have different domains. It now support restore or conversion of domain based subsite to subdirectory based subsite #1872
- Enh: Add search replace filter for database backup restore #1872
- Enh: Allow access of staging site by using user email addresses beside usernames #1928
- Fix: Adjusted multiple SplFileObject methods (due to unconsistent behaviour of these methods across multiple PHP versions) to support PHP 8.0 > 8.0.19, PHP 8.1 > 8.1.6 and upcoming PHP 8.2 #1903
- Fix: Deleting the oldest remote backup from SFTP, Amazon S3 and Google Drive fails sometimes #1890
- Fix: No update notification visible in wp staging user interface when there is a new pro version available #1894
- Fix: Clean up code #1871
- Fix: Unable to create backup if there are files in WP STAGING cache folder that can not be deleted like .nfs* files. #1859
- Fix: Analytics reporting does not contain the list of installed plugins #1896
- Fix: If an Amazon S3 api key contained + character, it turned into space character when saving in database #1912
- Fix: Always store the names of installed plugins, mu-plugins and themes in backup metadata #1906
- Fix: When restoring database with large amount of tables on PHP > 8.0.1 some tables doesn’t get created due unconsistent behaviour of FileObject library across PHP versions. #1872
- Fix: Undefined var message in the log files if SSL connection could not be established due to outdated TLS on client server #1913
- Fix: While creating a single staging site out of a network site, the folders (uploads/sites/ID) from other network sites weren’t excluded and contained in the staging site #1922
- Fix: Selecting parent folder does not automatically select its subfolders for UPDATE and RESET clone jobs. #1926
- Fix: Amazon S3 only supports a maximum of 10,000 chunks for uploading a single backup file. With previous 5MB chunk size, backup uploads to S3 failed if they are bigger than 50 GB. Now backup chunk size is adjusted according to the size of the backup file by making sure total chunks are less than 10,000 #1924
- Tweak: Add option to not ask for license key activation on local development sites #1913
- Tweak: Add better log messages for non working cron jobs #1907
- Dev: Add testing suite to run unit tests against multiple PHP versions #1903
- Dev: Add sass/scss support for compiling css #1925
- Dev: Add Xdebug support for PHP 8.1, use custom php.ini in PHP 8.0 and PHP 8.1 #1928
4.2.14 Release September 17, 2022
- Fix: Error when pushing a staging site and all folders are unselected #1883
4.2.13 Release September 15, 2022
- Fix: Prevent internal error when clicking on Test Connection link on SFTP remote storage backup settings page. #1869
- Fix: Properly catch runtime Exception during Backup Create and Backup Restore #1833
- Fix: Connection to external database is broken if the password has special characters #1862
- Fix: Can not login to staging site if special characters are used in password due to improper sanitization #1877
- Tweak: Improve visual design of the upgrade screen
- Tweak: Better error logging if backup could not be uploaded to sftp and if path does not exist on SFTP remote server. #1869
- Dev: XDebug support for docker PHP image v.8.x #1867
4.2.12 Release September 07, 2022
- New: Compatible up to WordPres 6.0.2
- Security: Further improve sanitization and escaping of variables to prevent potential XSS attacks with high privileges #1836
- Enh: Show better response from remote when license can not be activated #1818
- Fix: Fatal error Uncaught TypeError on google drive backup upload settings page under rare circumstances when site is translated #1849
- Fix: Fatal error on Windows OS when pushing a staging site and activating the backup option. It deletes the WP Staging content directory including its cache files file during files copying process, resulting in a failed push #1851
4.2.11 Release August 16, 2022
- Fix: Does not sanitise and escape some of its backup settings, which could allow high privilege users such as admin to perform Stored Cross-Site Scripting attacks (XSS) even when the unfiltered_html capability is disallowed (for example in multisite setup) #1825
4.2.10 Release July 31, 2022
- Fix: Important update! Deselecting all tables does not lead to exclusion of tables as expected, but leads to selection of all tables. Thus all tables are copied and possibly overwritten instead of deselected. Applies to new cloning, UPDATE and RESET of a staging page. That can lead to data loss in the staging site. An update is strongly recommended! The problem appeared for the first time in version 4.2.8. #1814
- Fix: Can not upload backup file to google drive if the google api returns incorrect value for available storage size (negative value). This sometimes happens for Google workspace accounts and does not affect all users. #1799
- Fix: Plugin wps-hide-login could not be excluded during cloning process, preventing users from log in to the staging site #1812
4.2.9 Release July 28 2022
- New: Support WordPress 6.0.1
- Enh: Some shared hosting servers like DreamHost doesn’t allow sending large data through URL which resulted in interval server error 500 when fetching the backup list. We changed the way of sending data now through request body which allow listing backups on such shared hosting servers #1788
- Enh: Improve workflow to support tables with long name exceeding the 64 characters MySQL limit when a tmp prefix during restore is added. Those tables are now temporarily renamed to temporary short names during the restore process and after successful restore renamed back to their original names #1784
- Fix: Restoring a backup, site language is not properly imported, resulting in switching the imported site back to site default language. Reason: Language files are imported before importing other files during backup restore. This led to cleaning the restored language files while cleaning other files. Now language directory is skipped during the cleaning of existing “other” files #1794
- Fix: Check/Uncheck of the plugins and themes checkbox in the PUSH UI didn’t affect the children checkboxes. This issue is fixed and children checkboxes are properly toggled #1797
- Fix: If all tables were excluded during PUSH, it was treated as if all tables were selected. Now tables selection is properly handled during the PUSH #1797
4.2.8 Release July 14, 2022
- Support up to WordPress 6.0.1
- Fix: On some servers, autoloader tries to load Composer\InstalledVersions although this doesn’t exist. We fix this by only loading classes that exist #1801
4.2.7 Release July 5, 2022
- New: Add sFTP support to upload backup files automatically via (s)FTP to a remote server or NAS system #1677
- Enh: Cloning/Push stops if folder name contains backslash character (\) on Linux OS #1744
- Enh: Don’t copy or update wp-config.php if the staging site is updated by using the UPDATE button #1747
- Enh: Restoring a backup from a staging site that uses the meta tag noindex, causes the imported site to also not be indexed. In the worst case, this can result in a production site not being indexable after restoring a backup. This update ensures that the index meta value of the imported site is preserved when a backup is restored. #1777
- Enh: If Jetpack plugin is active, use the special Jetpack Staging Mode by adding the constant JETPACK_STAGING_MODE to wp-config.php of the staging site #1780
- Fix: Fatal error if php curl() module is missing and backup is uploaded to Google Drive or Amazon S3 #1769
- Fix: Fatal error on cloning due to strict standard issue in DbRowsGeneratorTrait when the user has E_STRICT or E_DEPRECATED constants active in PHP #1772
- Fix: Fatal error on plugin activation if there is no write permission on the backup files. Happens only on updating from a very old version to latest one and the backup metadata update routine is fired #1776
- Dev: Add automated test for scheduled backup plans #1764
4.2.6 Release June 10, 2022
- Fix: Certain default plugins like wps-hide are not excluded anymore during cloning #1742
- Fix: Scheduled backup not always executed #1754
- Fix: Backup folder is deleted during backup restore on Windows OS #1737
- Fix: On backup restore retry deleting an item again in next request instead of re adding it at the end of queue, if item isn’t completely deleted in current request #1758
- Enh: Refactor normalizePath() #1751
- Enh: Optimize table selection to reduce POST characters. Send either selected tables or excluded tables whichever is smaller along to reduce the POST size for cloning and pushing #1727
- Enh: Allow automatic update of WP STAGING | PRO on the staging site. It can still be disabled using the filter wpstg.notices.disable.plugin-update-notice #1749
- Enh: Add filter wpstg.backup.restore.extended-search-replace. The extended search replace allow properly replacing to destination URL for some plugins like rev-sliders #1741
4.2.5 Release June 1, 2022
- New: Support up to WordPress 6.0
- Fix: Don’t load mbstring polyfill file at all if iconv extension isn’t loaded #1734
- Enh: Increasing Backup Filescanner Performance. Lower backup directory and file scanner request time #1714
- Enh: Rename cancel button of backup schedules modal make it more responsive #1714
4.2.4 Release May 20, 2022
- Fix: If there is a damaged backup in backup folder, automated backup does not work any longer #1707
- Fix: Support UNC paths like //servername/path Unix or \\servername\path DOS/Windows #1698
- Fix: Remove prefixed vendor namespace from the Normalizer class in the idn-intl polyfill #1720
- Fix: Handle SSL related errors and catch other exceptions while making remote request to refresh Google token #1718
- Fix: Backup does not restore theme if theme does not have a style.css #1719
- Fix: Missing exception in Backup Extractor.php #1724
- Enh: List damaged backup files in the UI and mark them #1710
- Enh: Remove message “backup metadata not found” in debug log #1710
- Enh: Clean up debug messages #1722
- Enh: Add missing escaping of POST output #1705
4.2.3 Release May 12, 2022
- New: Add Amazon S3 as backup cloud storage option for backup upload #1665
- Fix: Fatal error due to missing BackupScheduler class in Free version #1688
- Fix: Can not recursive scan file system if there is a symlink in root directory linking to the root directory itself. #1688
- Fix: Can not download backup files. Incorrect backup download link if wp-content folder is symlinked to another folder outside the wp root folder #1697
- Fix: Error on downloading backup in IIS due to section in parent web.config that overwrites the WP STAGING generated web.config in backup folder #1699
- Fix: PHP Fatal error while cloning if php iconv extension is not active. Continue cloning even if punycode related code doesn’t work due to missing extensions #1702
- Enh: Remove duplicated mbstring class #1702
4.2.2 Release May 03, 2022
- New: Add multiple filters to keep existing media files, plugins, themes and mu-plugins after backup restore #1617
- New: Clean existing files during backup restore which are not in backup #1617
- Fix: Cloning does not work if php mb module is not installed #1669
- Fix: Catch fatal error happening on backup upgrade routine #1663
- Fix: Only process one backup queue action at a time. This make sure another action doesn’t conflict with the backup action in process. Also fix the wpstg_queue backup processing table growing problem #1652
- Enh: Save log file name instead of complete task response in wp_wpstg_queue table. This reduces the size of backup queue table #1623
- Enh: Stop the backup job on critical errors during scheduled backup #1623
- Dev: Test for cleaning up files before backup restore fails on second run #1681
4.2.1 Release April 11, 2022
- New: Support up to WordPress 5.9.3
- New: Added upgrade routine for backup created with version 4.1.9 and 4.2.0 to fix backup metadata info #1647
- Fix: Backup creation is blocked by mod_security if access tokens contain 0x string #1651
- Fix: Unable to upload backup created with version 4.1.9 and 4.2.0 using WP Staging Backup Uploader #1647
- Fix: Unable to import multisite backup when restoring backup into domain other than it was created on #1644
- Fix: If there is an mysql error on copying a single row, it can lead to a interrupt of the whole clone job due to a browser memory exhaust error because whole sql query is written into html log element . #1654
4.2.0 Release March 31, 2022
- Fix: Fatal error if another plugin uses the same google library as WP STAGING uses for the backup storage provider #1641
4.1.9 Release March 30th 2022
- New: Support up to WordPress 5.9.2
- New: Feature to upload backups to Google Drive #1453
- New: Add filter wpstg.frontend.showLoginForm to force disable login form for the staging / backup site access #1577
- New: Option to schedule a backup without creating one #1588
- Enh: Improve backup schedules error reporting by showing cron related notice on backups page and sending schedules error report mails #1588
- Enh: Improve subdirectory WordPress install detection by adding support for idn(internationalized domain names) #1564
- Enh: Change backup lock process mechanism from using database to file based lock #1561
- Enh: Make files & folders exclude filters work on WordPress root directory #1606
- Enh: Remove old database only backup before PUSH process #1608
- Enh: Exclude .htaccess from root directory only during cloning process #1616
- Enh: Don’t backup table wp_wpstg_queue table #1624
- Update: Bump minimist from 1.2.5 to 1.2.6 in /tests/js #1627
- Update: Bump postcss from 8.2.10 to 8.2.13 in /src/assets #1547
- Update: Bump mustache/mustache from 2.13.0 to 2.14.1 #1543
- Update: Bump nanoid from 3.1.22 to 3.3.1 in /src/assets #1626
- Fix: Correctly set multisite subsites urls with www prefix when cloning and restoring a backup #1567
- Fix: Backup error “OutOfRangeException” was never caught when insert query exceeds max allowed packet size #1570
- Fix: Add backup logic to check extended query string size against max allowed packet size which otherwise leads to a fatal error #1570
- Fix: Handle critical error if WP STAGINGS settings get corrupted. Give option to restore default settings #1602
- Fix: Recreate cron jobs of existing backup plans when adding a new backup schedules #1588
- Fix: Enqueue a failed task/item again and set the queue’s offset to the end of file #1609
- Fix: Stop cloning if destination directory/clone name already exists #1607
- Fix: Continue cloning process even if copying a table failed #1578
- Fix: Don’t remove freemius options if entire multisite is cloned. Prevents a fatal error. #1629
4.1.8 Release March 1st 2022
- New: Support up to WordPress 5.9.1
- New: Add filter wpstg.frontend.showLoginForm to allow third party plugin disabling login form for the staging site #1577
- New: Add labels to distinguish between network and single site clones on multisite
- Fix: Handle issue when showing staging sites in System Info #1560
- Fix: Fix Rows Generator for zero or negative values for Primary Key Index #1584
- Fix: Set option “Keep permalinks” on the staging site when updating a staging site if “keep permalinks” is active on the production site initially #1562
- Fix: Updating an existing multisite clone converted the clone to a single site #1565 #1589
4.1.7 Release February 14th 2022
- New: Create backups and restore of multisites #1458
- Fix: Force AnalyticsSender to convert wpstg_settings to array before usage #1559
- Fix: Backup Search & Replace does not work with new primary key conditional query #1556
- Fix: Fix labels on backup sites #1551
- Fix: Backup restore can not unserialize escaped serialized strings #1554
4.1.6 Release January 26th 2022
- New: Support for WordPress 5.9
- New: Add filter to change the cache folder for creating & restoring backups #1528
- New: Huge performance improvement for search & replace in cloning / pushing / backup process #1522
- Fix: Call to undefined function human_readable_duration() on backup creation if WP is older than 5.1 #1527 #1525 #1535
- Dev: Add unit tests for Times class
- Dev: Update db_version in SQL dumps to match WordPress 5.9 db version #1539
- Dev: Add command to get db_version from database
4.1.5 Release January 12th 2022
- New: Add support for WordPress 5.8.3
- New: Add filter for excluding files during cloning / backup #1494
- New: Add filter for overwriting max execution for database backup restore #1512
- New: Add filter to allow overwriting of the maximum allowed request time to make sure backup restore works for huge files. (19.000.000M database rows) #1510
- Fix: If cloning a multisite subsite into external database, it does not clone / backup wp_users and wp_usermeta #1515
- Fix: Skip tmp single file plugin during backup PUSH copy process #1491
- Fix: Preserve table selection during PUSH and UPDATE even when all backup tables unselected #1488
- Fix: Make sure maximum memory consumption during cloning or backup is never higher than 256MB #1502
- Fix: Use custom implementation of wp_timezone() for backward compatibility to WordPress older than 5.3 #1505
- Fix: Override FileObject::fgets to make them behave exactly from SplFileObject of PHP < 8.0.1 #1506
4.1.4 Release December 29th 2021
* Hotfix: Fix CLONE PUSH BACKUP on Medium and High CPU Load on WP STAGING PRO 4.1.3. Improve Performance of database backup #1492
4.1.3 Release December 27th 2021
* New: If cpu load setting is low make use of the file copy limit for pushing process to increase copy speed #1485
* Enh: Add warning notice if WP_CRON_DISABLED is set to true as BG Processing depends upon it #1467
* Fix: Make FileObject::seek behave exactly as SplFileObject::seek from PHP < 8.0 #1480
* Fix: Search Replace now works for Visual Composer / WP Bakery encoded pages #1442
* Fix: Adjust CSS of the “Backup in Progress” element #1466
* Fix: Clarify email sending tooltip description #1469
* Fix: Adjust CSS of the loader icon #1487
* Dev: Cancel pending or running github actions fast tests if there is a new push on the same PR #1486
4.1.2 Release December 14th 2021
* New: Create fully customizable scheduled backup plans that will constantly create backups of your site. Including backup rotation to manage disk space. #1219 #1461
* Fix: Add own implementation of get_current_network_id() for backward compatibility #1438
* Fix: Updating or resetting staging / backup site skips all WordPress core folders #1435
* Fix: Prevent 504 Gateway Timeout issue during Backup restore by force a low CPU LOAD (i.e. 10s) #1420
* Fix: Wrong directory path is displayed when update/reset a staging / backup site #1447
* Fix: Override SplFileObject::seek to make it consistent across all PHP version including PHP 8 #1444
* Tweak: Retain WP STAGING ( backup ) options during push #1417
* Tweak: Make PHP 5.6 minimum supported PHP version #1448
* Tweak: Set WordPress 4.4 as minimum required WordPress version #1449
* Dev: Fix Queue working in PHP 8 and Add PHP 8 unit tests in fast tests #1450
4.1.1 Release November 19th 2021
* Fix: Update notice is shown even when using latest version #1398
* Fix: Backup & cloning 100% compatible with PHP 8.0.12 #1281
* Fix: Skip search replace on backup & cloning query if it’s size exceed preg functions limit #1404
* Fix: Skip inserting backup & cloning query if it exceeds mysql max_allowed_package. Show warning to user #1405
* Fix: Make db option wpstg_staging_sites always return an array #1413
* Fix: Fix dependency injection for backup notices class. Solve conflict with TranslatePress #1416
* Tweak: Use php version number as tag for php docker container #1407
* Tweak: Improve symlink tooltip text #1411
* Tweak: Refactor WP STAGING Pro to WP STAGING | PRO in notices #1409
* Tweak: Remove 16 characters limitation for the backup & CLONE NAME and keep it for CLONE DIRECTORY #1412
4.1.0 Release November 1st 2021
* New: Show a summary of selected tables and plugins in the push selection
* Fix: WP Staging’s variable not declared on plugins page #1373
* Fix: Fix PUSH process when no table is selected #1387
* Fix: Enclose table name with backticks during quering in CLONE and PUSH jobs #1388
4.0.9 Release October 25th 2021
* New: Ask user to allow sending non-personalized usage information for improving the user experience
* Fix: Feedback modal not opened after disabling a plugin #1373
* Fix: Prevent cloning error by enclosing table name with backticks in CLONE and PUSH jobs #1388
* Tweak: Disable the notice about not messing with uploads or wp-content directories #1385
4.0.8 Release October 25th 2021
* New: Ask user to allow sending non-personalized usage information for improving the user experience
* New: Adding improved dedicated WP STAGING debug log.
* Fix: Feedback modal not opened after disabling a plugin #1373
* Fix: Prevent cloning error by enclosing table name with backticks in CLONE and PUSH jobs #1388
* Tweak: Disable the notice about not messing with uploads or wp-content directories #1385
4.0.8 Release October 19th 2021
* Fix: Push from staging site in the external database can fail if there are many tables to replace due to exceeding the maximum allowed number of external database connections #1379
* Enh: Added buttons to ease the process of selecting tables during the PUSH process. #1377
4.0.7 Release October 12th 2021
* Tweak: Make staging site upgrade routine run always #1358
* Fix: Fix issue about checking rest url #1354
* Fix: Fix exclude condition for tables during PUSH #1364