Version: 5.7.1 NULLED
* 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 a `www` prefixed hostname but subsite already has `www` prefix #2284
* Dev: Add more unit tests to increase reliability of the backup plugin #2273
* Dev: Refactor backup terms `Export` to `Backup` and `Import` to `Restore` 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
* 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` to `https` 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
#2267
* 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
* Enh: Clean up backend/views/notices/poll.php and all related unused 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
* 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
* 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
Fix: Error when pushing a staging site and all folders are selected #1883
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
* 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
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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Tweak: Show custom uploads folder in tooltip description and explain better that changing a symlink image will also change the image on the production site. #1495
Hotfix: Fix CLONE PUSH BACKUP on Medium and High CPU Load on WP STAGING PRO 4.1.3. Improve Performance of database backup #1492
* 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
* 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
* 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
* Fix: Push from staging site in external database can fail if there are many tables to replace due to exceeding maximum allowed number of external database connections #1379
* Enh: Added buttons to ease process of selecting tables during PUSH process. #1377
* 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
* New: Support for WordPress 5.8
* New: Show notice if uploads dir is outside WP Root #1138
* Enh: Show warning during restore if Backup was created on a server with PHP ini "short_open_tags", and restoring on a server with it disabled #1129
* Enh: Also show disabled permalink message in disabled items notice on the staging site and show a page builder (DIVI, Elementor etc) not working help link in wpstg page footer #1150
* Enh: Allow filtering the Backup directory using the `wpstg.backup.directory` filter #1167
* Enh: Decouple clone name and clone ID for better usage #1158
* Enh: Allow backups on the staging site #1172
* Enh: Show issue notice if backups is created on version >= 4.0.2 #1198
* Enh: Remove deprecated hooks call #1209
* Fix: Fix staging site when site has freemius script #1112
* Fix: Prefix 'wpstg' to sweetalerts Swal to avoid conflict with its other versions #1125
* Fix: Fix a bug in the backup export logic that would loop when encountering a file with non-empty contents that PHP would evaluate as false #1126
* Fix: Set default values for wpstg settings on plugin activate event if wpstg settings not already set #1135
* Fix: Fix the problem when unable to access the staging site because production site have different siteurl or home url and either one of them is having www. prefix #1136
* Fix: Restore a backup with VIEWs or TABLEs with special MySQL configurations such as DEFINER #1139
* Fix: Fix issue where tab triangle was inconsistent by using css based tab triangle #1148
* Fix: Fix issue where backup tmp folder cleaning process closes logs modal #1157
* Fix: Reduce time to query INFORMATION_SCHEMA on some shared hosts from ~10s to one millisecond #1154
* Fix: Fix a bug on backup creation that would not prefix the table name if a MySQL View is selecting data from another MySQL View #1155
* Fix: Fix a bug on backup restore that would fail when trying to create a MySQL View that selects data from another MySQL View that has not been created yet due to order of creation #1155
* Fix: Check available free disk space on large disks on 32-bit PHP #1179
* Fix: Fix a bug where a PHP memory_limit of -1 (Unlimited) would be interpreted as 64MB, now it's interpreted as 512MB #1178
* Fix: Fix download of .wpstg files on Bitnami/AWS Lightsail servers #1181
* Fix: Remove usages of `abstract static` methods that would violate `strict` PHP checks #1185
* Fix: Cloning a site resets the settings to the default ones #1183
* Fix: Fix a bug on backup creation that would prevent user from logging in after restoring a backup on a site with a different WPDb prefix #1169
* Fix: Allow backup restore with a warning if file count is different than expected, improve backup file count logic #1189
* Fix: Fix Clone RESET and Clone DELETE when unable to delete file due to permission error #1196
* Fix: Fix an issue when canceling a push confirm redirects to empty page #1206
* Fix: Add missing back button and hide cancel button after clone UPDATE and clone RESET #1207
* Fix: Fix Error in JS console related to registering of main-menu in page where it was not available #1205
* Dev: Add wrapper methods for deprecated hooks functions to support WordPress < 4.6 #1209
* Enh: Replace css based hover with pure js hoverintent for tooltips #1106
* Enh: Cleanup logs older than 7 days automatically #1116
* Enh: Update the version to check in Outdated WP Staging Hooks notice #1118
* Fix: Fixed conflict with Rank Math Seo PRO when Rank Math Seo PRO is activated network wide in multisites #1111
* Fix: Make Scan::hasFreeDiskSpace() return other info even if disk_free_space is unavailable #1093
* Fix: Fix an issue where MySQL views were not being deleted correctly during the database cleanup step of the backup export #1098