WP STAGING Changelog Archive

See latest changelog

3.1.0 Release October 25, 2023

  • New: Compatible up to WordPress 6.3.2
  • New: Exclude GoDaddy mu-plugin by default when creating a staging site. #2744
  • New: Add modal to opt-in for diagnostic monitoring after first installation. #2391
  • New: An active installation of the free core plugin will be mandatory for pro version 5.1.0 and later. #2612
  • Enh: Added information into system info logs to indicate whether the site is a single site or a multi-site. #2790
  • Enh: Show notice that permalinks won’t work on WP Engine sites. #2142
  • Enh: Add Contact Us button to the main menu bar. #2763
  • Enh: Update license updater and fix a small error that can lead to broken API requests. #2817
  • Enh: Remove type strictness from optimizer plugin functions which are used with wp hooks to avoid conflict with other plugins. #2830
  • Fix: Backup uploading to FTP fails if ftpclient is used and ssl enabled. #2750
  • Fix: Staging login doesn’t work if Wordfence Activated option exists in the database but there is no Wordfence plugin active. #2812
  • Fix: Magic login link does not work if only the free version is active on the staging site. This requires updating WP Staging Free and Pro plugin on staging site. #2781
  • Fix: Custom WP content paths inside ABSPATH were not correctly cloned for newly created staging site. This could led to missing images and languages. #2740
  • Fix: When editing staging sites database connection, don’t make live sites database prefix mandatory when staging site uses an external database. #2768
  • Fix: Deprecated warning in login form can prevent login to staging site. #2804
  • Fix: Upgrade routine was not working for wpstg_queue table for adding response field in the table for FREE version. #2828
  • Fix: During the file extraction of backup restore, file_put_contents is more consistent and faster than touch. Can prevent a site from being broken after backup restore due to possible bug in php 8.1.22. #2807
  • Dev: Add setup for e2e testing of wordpress.com support. #2739

3.0.6 Release September 29, 2023

  • Fix: There could be a fatal error after plugin activation on multisites if a plugin uses the filter site_option_active_sitewide_plugins. #2785
  • Fix: Theme Twenty Twenty Three has a bug that leads to corrupt staging sites. The transient _transient_wp_core_block_css_files breaks the css after migrating or creating a new staging site. This transient will be deleted on a freshly created staging site. Related: https://wordpress.org/support/topic/wordpress-block-styles-not-loading-in-frontend/ #2778
  • Dev: Add make command to check class method return type hints #2769

3.0.5 Release September 25, 2023

  • New: Compatible up to WordPress 6.3.1
  • New: Add support for Wordfence 2FA authentication in the WP Staging login form. #2253
  • New: Add two new filters to allow updating active plugins on staging site after cloning and on live site after pushing. wpstg.cloning.update_active_plugins and wpstg_pushing_update_active_plugins. #2409
  • Enh: Added real time elapsed time counter and restructured new staging process modals. Fixes an issue where log files are mixed up in the log window after canceling a staging process. #2651
  • Enh: Enable “Email Error Report Sending” as default in WP STAGING | PRO during initial plugin installation #2722
  • Enh: Wrap WP Staging hooks in custom methods to make WP Staging plugin(s) less exploitable. #2748
  • Fix: Php error ‘cross-device link’ can lead to backup restoring failing on Microsoft Azure servers. #2548
  • Fix: Drop-in plugins like object-cache.php and advanced-cache.php were not excluded by default during cloning. #2746
  • Fix: Exclude wp-content/wp-staging-sites directory during CLONING and BACKUP and also keep this directory during Backup Restore #2765
  • Fix: The delete confirmation modal shows a wrong staging site name when there is more than one staging site. #2741
  • Fix: Exclude All in One Security Plugin (AIOS) from being disabled by wp staging optimizer during staging or backup operations when AIOS has the post prefix option enabled as this will make wp staging unusable. #2672
  • Fix: After backup creation and backup restoring, the log entries in the success modal get purged and are not visible anymore. #2719
  • Fix: Make the batch renaming process for tables (in both RESTORE and PUSH) more robust and less error prone. #2772
  • Dev: Fix inverse usage of TaskResponseDto::isRunning #2643

3.0.4 Release September 7, 2023

  • New: Allow the usage of wildcards characters in the push filter ‘wpstg_preserved_options’. #2546
  • New: Exclude multiple database values from copying to a staging site table through the ‘wpstg.cloning.database.queryRows’ filter. #2545
  • New: You can add the new constant WPSTAGING_DEV_SITE into wp-config.php that determines if site is a staging/dev site or regular one. #2556
  • Fix: Cannot upload single backup files larger than 25GB on SFTP Storage. #2539
  • Enh: Removed console logs and clean up code. #2561
  • Enh: Rename logfile to wpstg-bundled-logs.txt while downloading and sending report to support team. #2593
  • Enh: Improve admin notice if cron jobs do not work. #2723
  • Fix: Fatal error due to foreign key constraints on tmp or bak tables when cleaning WP Staging tmp and bak tables before Pushing a staging site to live. #2728
  • Fix: Fatal error during backup restore if site has a drop in plugin like db.php or object-cache.php due to incorrect checking the checksum of the drop in plugin file. #2715
  • Fix: Add new constant WPSTG_MEMORY_EXHAUST_FIX, that can prevent memory exhausted errors during backup creation. #2551
  • Fix: A custom UPLOADS folder outside wp-content was not pre-selected and copied during cloning process and tustom UPLOADS folder was not copied during pushing a staging site as well. #2736
  • Fix: Improve admin notice when a pro backup is restored with the free version on another domain, host or server. #2697
  • Tweak: Adjust the requirements for restoring backup by making it dependant on backup structure instead of plugin version. #2717
  • Dev: Bump AWS PHP SDK package to latest version #2295
  • Dev: Remove PHP 5.6 compatibility code #2714
  • Dev: Reduce file size of the free plugin by removing unused backup cloud storages libraries from vendor packages. #2710
  • Dev: Add e2e tests for admin notices for backup and staging #2652
  • Dev: Delete tests output dir content while running make reset and ./wpstg build:webdriver-rebuild-dist #2726

3.0.3 Release August 28, 2023

  • New: Add dropbox cloud storage backup provider. #1881
  • New: Add support for custom domain based multisites. Network sites will be created in a subdomain. E.g.If the main site is “example.com” and the staging site destination url is “staging.example.com” then the live network site example.org will be cloned to staging.example.org and the network site example.net will be cloned to staging.example.net automatically. #2600
  • New: Add more options to wp cli backup backup-create command #2468
  • New: Add new contact us modal for free version to be able to provide better support to free users. #2246
  • New: Create staging site as default into ‘example.com/wp-content/wp-staging-sites/staging-site- name’ if root folder is not writable. #2438
  • Enh: Revise warnings in the symlink modal tooltip and improve the HTML syntax structure #2668
  • Enh: Transform the ‘click here’ hyperlink into a button on the staging site to enable staging site cloning #2664
  • Enh: Show admin notice on staging site if symlink option has been used to create it #2667
  • Enh: Added target URL when transferring staging site to live site #2362
  • Fix: Show admin notice on all pages on live or staging site if current site uses wpstgtmp_ or wpstgbak_ table prefixes as live table. #2666
  • Fix: Canceling the New CLONING process would delete all tables of production site if advanced settings were used to provide custom prefix for staging site with same database and host as production site. #2665
  • Fix: WP Staging backup folder gets deleted during restore on Windows OS. This can lead to an interuption and fatal error of the backup restore. #2690
  • Fix: Improve condition whether a table belongs to current site table during PUSH when cleaning temporary tables. #2686
  • Fix: If database tables prefix contains underscore like wp_12345, the sql backup part in multiparts backup is detected as separate backup. #2656
  • Fix: Having residual tables with wpstgbak_ prefix can leads to unsuccessful PUSH and backup RESTORE. Unless the current site prefix is wpstgbak_, these tables are now removed before starting RESTORE and PUSH #2576
  • Fix: Added style enhancement of changing the cursor to a pointer when interacting with the ‘Contact Us’ button #2662
  • Fix: Copied generated login link contains inline css style. #2654

3.0.2 Release August 21, 2023

  • New: Support for WordPress 6.3
  • New: Add more options to wp cli backup-create command #2668
  • Enh: Increase log file storing time to 14 days. #2625
  • Enh: Add admin notice to explain the new backup feature in free version #2524
  • Enh: Enhance free version backup modal UI #2608
  • Enh: Don’t allow saving empty table prefix for a staging site when using the edit button #2572
  • Fix: Use DTO instead of separate file for managing index sizes while creating backup to avoid filesystem lock. #2640
  • Fix: Backup creation fails on PHP 8 because unable to get primary key for table. #2629
  • Fix: Stop backup restore if no sql query is found to be executed but the backup contains a database to be restored #2560
  • Fix: Show admin notice if there is no WordPress table prefix in the database #2586
  • Dev: Add changelog entries in dedicated files #2623
  • Dev: No changelog needed on release branches #2763

3.0.1 Release August 8, 2023

  • New: Make UI more consistent and use same success and processing modals for staging site creation as for backup creation #2221
  • Fix: Rating banner can not be dismissed #2632
  • Fix: Multipart backup scheduled to be sent to google drive does not send all parts #2516
  • Fix: Could not backup tables that contain multiple primary keys (composite keys) #2616
  • Fix: Stop backup restore and add better logging if sql file is not readable during backup restore #2560
  • Fix: New delete modal does not show all tables on sites with many db tables due to CSS issue #2221
  • Fix: Resolved conflict with plugin “Admin and Site Enhancements” #2513
  • Fix: Prevent UI issue and word wrapping on line that says: “No staging site found” on MacOS on Chrome #2552
  • Fix: Prevent word wrapping on line that says: “No staging site found” on MacOS on Chrome #2552
  • Fix: The feedback form on plugin deactivation does not send any data. #2638
  • Dev: Undefined method interfaceDatabaseClient::fetchAll() in phpstan #2622
  • Dev: e2e tests fail on multi sites #2631

3.0.0 Release July 26, 2023

  • New: Drop support for php 5.6. Minimum php version is 7.0 #2579
  • New: Flywheel hosting compatibility. Create staging sites and create backups on hosting providers where the WordPress core is located outside the public dir. #2372
  • New: Add system info to backup log file #2309
  • Enh: Check if sftp backup directory path is writeable while testing remote connection #2506
  • Enh: Add a tooltip to inform that backups will be created only for the current site and do not contain other sites, like staging websites #2483
  • Enh: Allow the user to click on “Copy” to copy the generated login link #2443
  • Enh: Improved code to be compatible with PHPstan level 3 rules #2461
  • Enh: Changed the order of login link expiry to day, min, sec #2380
  • Enh: Update back button color to make clear it is an active button #2512
  • Enh: Display the size of backup index parts in the list of backups #1678
  • Enh: Show the “Push Changes” button always in WP STAGING PRO and disable it until the license is activated #2466
  • Fix: WP CLI command wp wpstg backup-status did not work as expected #2467
  • Fix: Unselect folders starting with wp-admin* and wp-includes* when creating a new staging site #2340
  • Fix: Show the “primary key” warning only on WP STAGING admin page #2477
  • Fix: Multisite related constants missing during network clone when the original wp-config.php is not valid defaul multisite configuration file #2504
  • Fix: Restoring a backup fails because redis/memcache not configured on the destination site. This disables object cache if object-cache.php is not identical on backup and restoring site #2517
  • Fix: Php error ‘Undefined constant DOMAIN_CURRENT_SITE’ #2512
  • Fix: Microsoft IIS 7.5 with php 8.1.9 produces unexpected time format when using microtime() resulting in fatal error “division by zero” while creating a backup #2571
  • Fix: www prefix is set in domain property of subsite would result into repeating www prefix during network clone #2544
  • Fix: Don’t escape MySQL binary and blob data during cloning as this results into invalid data #2565
  • Tweak: Small visual glitches on tooltip in upload backup modal #2496
  • Dev: Improved usage of $status variable in backup and cloning #2332
  • Dev: This PR does a comprehensive pass on the codebase to verify that authorization checks are being done on callbacks that takes user input. #2531

2.16.0 Release June 19, 2023

  • New: Bring the premium high-performance pro backup feature into the basic version to allow creating a periodic backup of the WordPress website including backup restoring. #1979 #2487
  • Enh: Display Google Drive account info permanently on the settings page. Remove the option to customize the Google drive redirect uri. #2399
  • Enh: New styled back button #2444
  • Fix: Database tables renaming is now done in multiple requests instead of a single request for both PUSH and RESTORE. This allow easily rename hugh number of tables on slow server without worrying about increasing PHP Script timeout limit #2392
  • Fix: On backup restore keep or remove the staging site mode depending upon the current site state. E.g. Restoring a backup of a staging site on a live site will remove the staging site mode #2392
  • Fix: Small JS errors related to the backup sidebar menu when clicking tabs on the main navigation #1979
  • Fix: Backup restore can fail if backup has different access token than current site #2481
  • Fix: Several php 8.x warnings on staging site push operation in wpstg debug log #2472
  • Fix: When cloning into external database NULLs were converted to empty strings in the staging site #2448
  • Fix: Backup created with free version can show a warning if it is restored with pro version #2497
  • Dev: Update google webdriver driver test credentials #2450

2.15.0 Release May 26, 2023

  • New: Compatible up to WordPress 6.2.2
  • 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: Feature to disable WP Cron on the staging site #2314
  • 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
  • New: Support SSL connection to external databases #2264
  • New: Allow WP-CLI to work on the staging site #2280
  • New: Button to unselect all staging site tables before cloning #2355
  • 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
  • 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
  • Enh: Improves the look of the update notice #2294
  • 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
  • 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: Remove double `www` prefix if network is cloned to a `www` prefixed hostname but subsite already has `www` prefix #2284
  • Dev: Check if the Issue or PR Number exist in the changelog #2394
  • 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: 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
  • Dev: Write wp staging debug logs into global debug.log #2346

2.14.1 Release May 7, 2023

Fix: Remove custom global exception handler to avoid conflicts with other plugins #2424

2.14.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

2.13.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
  • 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: 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
  • Enh: Database restore 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
  • 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 in UI to be more consistent #2099
  • Enh: Show link to docs article in warning 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: 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 backup 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 backup 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 backup files could not be deleted #2222
  • Fix: Prevents a rare edge case where scheduled backup are continuous started over by implementing a better clean up routing #2231
  • Fix: Prevent fatal error on setting page due to using double semicolon(‘::’) to call static method from variable. Affects old php versions only. #2166
  • Fix: Old automated local backup were not deleted and thus no new automated backup 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
  • Fix: Attach log files to report mail #2156
  • Dev: Revert all usage of isWritable and isExecutable #2232
  • 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: Broken test _04PushCest after implementing #2199 #2216
  • 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

2.13.0 Release January 31, 2023

  • New: Button to edit backup schedules #2042
  • Enh: Add filter `wpstg_login_form_logo` to change logo image on login page for staging site #2076
  • Enh: Clarify that maximum backup retention limit on the create backup modal is only for local hosted backup files #2085
  • Enh: If issue is reported via email using the REPORT ISSUE button, send the license key #2087
  • Enh: Show Google Drive backup account information on the plugin’s Google Drive backup settings page #2091
  • 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: Remove backend/views/notices/poll.php and all related code #2107
  • Enh: Hide license key for privacy reasons when plugin is used by agencies on client websites #2118
  • Enh: Add a cancel button to stop the pushing process #2101
  • 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: Added upload_path in system info #2024
  • 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: 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: Downgrade phpcs composer modules to fix xss tests #2105
  • Dev: Write the version of the plugin into the header of wpstg.js when creating the dist package with make dev_dist #2095

2.12.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

2.11.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

2.10.0 Release October 29, 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: Support restore and conversion of domain based subsite to subdirectory based subsite #1872
  • 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. #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
  • Enh: Add option to not ask for license key activation on local development sites #1913
  • Enh: Add better log messages for non working cron jobs #1907
  • Fix: Fix issues when restoring multisites backup if network subsites have different domains. #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: Prevent a rare situation where the database is copied slowly with only one row per request #1951
  • 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
  • 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: 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
  • Dev: Update DI52 version to 3.0 for performance gain #1934

2.9.20 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

2.9.19 Release September 08, 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

2.9.18 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

2.9.17 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

2.9.16 Release July 28, 2022

  • 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: 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: 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

2.9.15 Release July 14, 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 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: 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: 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 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

2.9.14 Release June 13, 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 in backup restore #1741

2.9.13 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.9.12 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

2.9.11 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

2.9.10 Release May 04, 2022

  • Fix: Fatal error on missing Backup Scheduler class in Free version #1688
  • Fix: Fix recursive scanning if there is symlink in root directory linking to root directory itself #1688

2.9.9 Release May 03, 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
  • 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: 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
  • 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 queue action at a time. This make sure another action doesn’t conflict with the action in process. Also fix the wpstg_queue backup 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

2.9.8 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

2.9.7 Release March 30, 2022

  • New: Support up to WordPress 5.9.2
  • New: Feature to upload backups to Google Drive (PRO) #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 (PRO) #1588
  • Enh: Improve backup schedules error reporting by showing cron related notice on backups page and sending schedules error report mails (PRO) #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 (PRO) #1608
  • Enh: Exclude .htaccess from root directory only during cloning process #1616
  • Enh: Don’t backup table wp_wpstg_queue table (PRO Version) #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 (PRO) #1567
  • Fix: Backup error “OutOfRangeException” was never caught when insert query exceeds max allowed packet size (PRO) #1570
  • Fix: Add backup logic to check extended query string size against max allowed packet size which otherwise leads to a fatal error (PRO) #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 (PRO) #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. (PRO) #1629

2.9.6 Release March 1, 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

2.9.5 * New: Create backups and restore of multisites (PRO) #1458 * Fix: Force AnalyticsSender to convert wpstg_settings to array before usage #1559 * Fix: Cloning 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

2.9.4 * 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 that is used in backup listing view * Dev: Update db_version in SQL dumps to match WordPress 5.9 db version #1539 * Dev: Add command to get db_version from database

2.9.3 Release January 12th 2020 * 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

2.9.2
* Hotfix: Fix CLONE PUSH BACKUP on Medium and High CPU Load on WP STAGING 2.9.1. Improve Performance of database backup #1492

2.9.1
* New: If cpu load setting is low make use of the file copy limit for pushing / backup process to increase copy speed #1485
* Enh: Add warning notice if WP_CRON_DISABLED is set to true as backup BG Processing depends upon it #1467
* Fix: Add own implementation of get_current_network_id() for backward compatibility when creating backup #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 when creating backup #1444
* Fix: Make FileObject::seek behave exactly as SplFileObject::seek from PHP < 8.0 when creating backup #1480
* Fix: Search Replace now works for Visual Composer / WP Bakery encoded pages on cloning backup creation #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 for showing backup creation #1487
* Tweak: Retain WP STAGING ( backup ) options during push #1417
* Tweak: Make PHP 5.6 minimum supported PHP version for backup #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 backup fast tests #1450
* Dev: Cancel pending or running github actions backup fast tests if there is a new push on the same PR #1486
* Dev: Fix Queue working in PHP 8 and Add PHP 8 unit tests in fast tests #1450
* Dev: Cancel pending or running github actions fast tests if there is a new push on the same PR #1486

2.9.0 
* New: Compatible up to WordPress 5.8.2
* 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

2.8.9
* New: Show a summary of selected tables and plugins in the backup push selection
* New: Ask user to allow sending non-personalized usage information for improving the backup & staginguser experience
* New: Adding improved and dedicated WP STAGING debug log for backup and staging.
* New: Better support for custom ( backup ) tables without a wp core table prefix. Allow cloning / backup of custom tables that do not begin with a WP table prefix to an external database #1304
* New: Now you can create a staging / backup environment for your entire multisite network #1263
* New: Add new logic for showing update notification for PRO version, compatible to staged rollout releases #1308
* New: Show warning notice about not changing wp-content or uploads dir path on staging / backup site #1313
* Tweak: Disable the notice about not messing with uploads or wp-content directories in backup site #1385
* Tweak: Lower memory consumption on backup creation #1301
* Tweak: Fix open staging / backup site button and text #1321
* Tweak: Layout of database comparison modal #1332
* Tweak: Make staging / upgrade site upgrade routine run always #1358
* Fix: Feedback modal not opened after disabling the backup plugin #1373
* Fix: Prevent cloning error by enclosing table name with backticks in CLONE / BACKUP and PUSH jobs #1388
* Fix: Duplicate primary key error that could occur on Push a backup / staging site #1322
* Fix: Dont rename themes/plugins with tmp prefix during push of staging / backup site if content cleaning option is enabled #1305
* Fix: No search & replace of wp option db_version if table prefix is db_, during CLONE / BACKUP / PUSH #1307
* Fix: Avoid upgrade error if wp option wpstg_staging_sites is empty or not an array not an array #1331
* Fix: Show an error if table can not be copied for any reason on cloning / backup process #1302
* Fix: CSS issue vertical center align finish label after push #1311
* Fix: Use WordPress local timezone when logging for clone and backups #1323
* Fix: Better support for custom plugin directories on the staging / backup site #1314
* Fix: Not all cloning / backup settings are cleaned during uninstall #1325
* Fix: Staging / backup site does not have orange admin bar after cloning #1329
* Fix: Warning if array key offset does not exist on search & replace of a backup #1334
* Fix: Disable WordFence plugin on the staging /backup site to prevent by renaming .user.ini to .user.ini.bak #1338
* Fix: Prevent empty database prefix in staging / backup site options if site is cloned to external database #1340
* Fix: List of staging / backup sites contains duplicate entries if staging sites were initially created with wp staging free 2.8.6, then upgraded to pro 4.0.3 and pro 4.0.5 #1349
* Fix: Show error and stop cloning / backup process if unable to create staging / backup site destination folder #1348
* Fix: Fix issue about checking rest url on backup / staging site #1354
* Fix: Fix exclude condition for tables during PUSH of a staging / backup site #1364
* Fix: Fix PUSH process when no table is selected #1387
* Fix: Enclose table name with backticks during quering in CLONE / BAKUP and PUSH jobs #1388

2.8.8
* New: Compatible up to WordPress 5.8.1
* Enh: Refactor the wp_login action hook to work with different parameter count than the one in WordPress Core #1223
* Enh: Sort new staging backup sites in descending order by creation time #1226
* Enh: Warn if creating a backup in PHP 32 bit version #1231
* Enh: Update the backup upload success message #1221
* Enh: Show a notice if there is a new WP STAGING free version of the backup plugin #1250
* Enh: Rename db option wpstg_existing_clones_beta to wpstg_staging_sites #1211
* Enh: Update the warning message shown when the delete process of the staging backup site fails #1257
* Enh: Allow use of REST API on staging backup sites without login #1287
* Enh: Add new EDD software licensing updater for the pro version of the WP STAGING backup plugin #1294
* Fix: New pro version does not recognize staging backup sites created with older free version #1293
* Fix: Fix a rare issue that could happen when creating a new staging backup site or restoring a backup when there is a row with primary key with value zero #1271
* Fix: Try to repair MyISAM table if it’s corrupt when creating a Backup #1222
* Fix: Fix an issue on backup creation that would cause a database export to loop when encountering a table with negative integers or zeros as a primary key value #1251
* Fix: Lock specific tables while exporting a backup, to prevent a rare duplicated row issue #1245
* Fix: If the memory exhausts during a database export using the Backup feature, lower the memory usage/speed of the export and try again automatically #1230
* Fix: Prevent failure of adding database to backup from causing a loop #1231
* Fix: Fix issue when old backup clones from version 1.1.6 or lower replaces the existing clones from later version when upgrading from FREE to PRO version #1233
* Fix: Fix inconsistent Unselect All Tables button’s action #1243
* Fix: Replace undefined date with proper formatted date during backups for some warning and critical messages #1244
* Fix: Split file scanning of wp-content into scanning of plugins, themes, uploads and other directories to reduce timeout issues #1247
* Fix: Rename .user.ini to .user.ini.bak after cloning to reduce fatal errors on staging backup site. Also show a notice. #1255
* Fix: Skip scanning the root directory if all other directories are unselected before starting a backup staging site #1256
* Fix: Show correct insufficient space message instead of permission error if unable to copy or create a backup site due to insufficient space #1283
* Fix: Fix showing of error when unable to count tables rows and wrap table name when fetching rows during backup #1285
* Fix: Remove custom error handler that could cause errors due to notices being thrown #1292
* Fix: Fix an error that would occur when PHP lacked permission to get the size of a directory when pushing a staging backup site to production #1295
* Dev: Set the version of Selenium containers to 3.141.59-20210713 to avoid issues with broken latest version of selenium #1234

Release 2.8.7 | August 30th 2021

* Enh: Refactor our wp_login action hook to work with custom calls to this action with different parameter count than the one in WordPress Core #1223
* Enh: Sort new staging sites in descending order by creation time #1226
* Enh: Warn if creating a backup in PHP 32 bits #1231
* Enh: Update the backups upload success message #1221
* Enh: Show a notice for outdated wp staging on free version of plugin #1250
* Enh: Refactor wpstg_existing_clones_beta in db option to wpstg_staging_sites #1211
* Enh: Update the message shown when the entire delete of the staging site fails #1257
* Fix: Fix a rare issue that could happen when creating a new staging site or restoring a backup when there is a row with primary key with value zero #1271
* Fix: Try to repair MyISAM table if it’s corrupt when creating a Backup #1222
* Fix: FIx an issue on backup creation that would cause a database export to loop when encountering a table with negative integers or zeros as a primary key value #1251
* Fix: Lock specific tables while exporting a backup, to prevent a rare duplicated row issue #1245
* Fix: If the memory exhausts during a database export using the Backup feature, we now lower the memory usage/speed of the export and try again automatically #1230
* Fix: Prevent failure of adding database to backup from causing a loop #1231
* Fix: Fix issue when old clones from version 1.1.6 or lower replaces the existing clones from later version when upgrading from FREE to PRO version #1233
* Fix: Fix inconsistent Unselect All Tables button’s action #1243
* Fix: Replace undefined date with proper formatted date during backups log for some warning and critical messages #1244
* Fix: Split scanning of wp-content into scanning of plugins, themes, uploads and other directories to reduce timeout issues #1247
* Fix: Rename .user.ini to .user.ini.bak after cloning into staging site reduce fatal errors on your staging site. Also show a notice about this #1255
* Fix: Skip scanning the root directory if all other directories are are unselected #1256
* Dev: fix the version of Selenium containers to 3.141.59-20210713 to avoid issues with broken latest version #1234

Release 2.8.6 | August 02th 2021

* New: Support WordPress 5.8
* New: Show notice if uploads dir is outside WP Root #1138
* Enh: Refactor our wp_login action hook to work with custom calls to this action with different parameter count than the one in WordPress Core #1223
* Enh: 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: Decouple clone name and clone ID for better usage #1158
* 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: 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 if there are special MySQL SQL statements such as DEFINER #1139
* Fix: Fix issue where graphical tab triangle was inconsistent by using css based tab triangle #1148
* Fix: Reduce time to query INFORMATION_SCHEMA table on some shared hosts from ~10s to one millisecond #1154
* 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: 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 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

Release 2.8.5 | July 06th 2021

* Enh: Preview of the new backup & migration feature in WP STAGING | PRO
* 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
* Enh: Schedule the uploads backup to be deleted after one week if that option was selected during push #980
* Enh: Allow copying of only that symlink whose source is a directory #979
* Enh: Show notice only to user who can manage_options if wp_options table is missing primary key #1009
* Enh: Delete Optimizer Plugin on WP Staging plugins deactivate instead of uninstall #1096
* 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: Replace the deprecated of calling a non-static method in daily version check hooks #1092
* Fix: Try catch all instance of directory iterators #1101
* Fix: Handle error properly for Filesystem::delete() method #974
* Fix: Remove loading wpstg scripts as ESM to allow loading them as asynchronous #1007
* Fix: Properly handle exception while cleaning themes and plugins bak and tmp directories #1017
* Fix: Delete the clone even if in any case a corrupted delete job cache file existed for delete job #1033
* Fix: No cloning/pushing logs were written to file. Now fixed. #1040
* Fix: Wrap wp_doing_ajax in a adapter and use that adapter to call it to make it usable in WP < 4.7 #1047
* Fix: Fix typo and wrap up text in i18n for src/Backend/views/clone/ajax/start.php #1051
* Fix: Fix missing clone options warning during scanning process for old clones for UPDATE and RESET #1058
* Fix: Make isExcludedDirectories condition works for relative directories path too
* Fix: Set donation link to redirect to WP Staging pricing page #1080
* Dev: Add a shortcut to allow to use the DI container as a Service Locator easier under some circumstances #1039
* Dev: Add trait to allow for easier use of the `uopz` extension in tests #1053
* Dev: Replace const related tests logic with UOPZ for better readability and control #1079

= 2.8.4 =
* Feat: Compatible up to WordPress 5.7.2
* Enh: Preserve directories/tables selection and excludes rules for RESET and UPDATE process #809
* Enh: If any wpstg process is running allow to stop that process within RESET modal #942
* Fix: Fix multisite subsite capabilities on the staging site #852
* Fix: Properly resets the properties between Cloning tasks #896
* Fix: Avoid PHP warning when building version of missing asset file #929
* Fix: Make RESET modal show error message within modal on failed response instead of browser logs #942
* Fix: Replace wpstgGetCloneSettings() in mail-settings.php with CloneOption::get() #956
* Fix: Little typo changed effect to affect #963
* Fix: Made node_modules dir to be only excluded from WP Staging’s Plugins #963
* Fix: Fix UPDATE and RESET for old wpstg clones which are without appended underscore db prefix #958

= 2.8.3 =
* Enh: Add Shutdownable interface to replace usages of __destruct in the code #729
* Enh: Refactor on how the plugin keeps track of a request running time #766
* Fix: Replace deprecated jQuery click method #730
* Fix: Fix overlapping of sweetalert confirmation on push with sidebar #742
* Fix: Exclude wp staging content folder during staging #741
* Fix: Add sanitizing for path to fix comparing for Windows paths #751
* Fix: _cerber_files tables are excluded and could not be copied Fix #770
* Fix: Replaced jQuery assignment with an IIFE wrapper #761
* Dev: Update php-scoper and other development dependencies #744
* Dev: Build javascript when building the distributable version of the plugin #750
* Dev: Internal helper CLI command to order the changelog notes according to type #749
* Dev: Refactor Job(s) implementation to use the Resources Trait #765
* Dev: Add internal documentation to versioning and hotfixes #780

Release 2.8.2 – March 03th 2021

* Feat: Compatible up to WP 5.7
* Feat: Check database connection in clone data edit #650
* Feat: Exclude .wp-staging-cloneable file from cloning and update #718
* Feat: Show notice if a user is using an outdated version of WP Staging Hooks plugin #716
* Feat: Add single disabled items notice with better message #717
* Feat: Add options to enable/disable staging sites cloning from UI #722
* Enh: Use included directories instead of excluded directories to increase cloning speed #671
* Enh: Stringify directories array var in $_POST to reduce $_POST size during cloning #671
* Enh: Replace relative paths exclude to absolute and wildcard paths exclude during cloning #671
* Enh: Detect snapshot tables using regex #694
* Enh: Enable disable save button in clone data edit during database connection #700
* Enh: Improve exclude filters for Push process #720
* Enh: Move Backend/public/img to assets/img #719
* Enh: Unify Single and Multisite Classes #713
* Enh: Keep other staging behavior when the staging site is cloneable #722
* Fix: Lost password link generation in staging sites #697
* Fix: Fix cloning on multisite for PHP 5 #725
* Fix: Skip symlink scanning during directory scan #736
* Dev: Internal refactoring of database backup to avoid long-lived branch #624
* Dev: Enforced changelog entries in CI #695
* Dev: Refactored webdriver tests to make them faster #656
* Dev: Refactor how the automated test workflows are generated. Add new webdriver test before release with default settings #712
* Enh: Refactor search and replace jobs to use memory and time-consumption aware trait #702
* Dev: Increased default file batch limits for faster development environment and CI #706
* Dev: Renamed all code and UI references of Snapshot to Backup #715
* Dev: Add helper to manage clone settings #717
* Dev: Internal code refactoring, renaming classes for better readability #721
* Dev: Add infrastructure support for wp-cli and background processing #728

= 2.8.1 =
* Feat: Show creator user name of staging site
* Enh: Show notice if sending mails are disabled
* Enh: Show message and stop execution if php version is lower than 5.5
* Enh: Abort cloning process if table already exists in external database
* Fix: Can not update database credentials in staging sites wp-config.php under rare circumstances
* Fix: During the update process if options table was not selected it didn’t get skipped
* Fix: Error if WP is lower than 4.6
* Fix: Can not delete entire staging site on error
* Fix: Activating pro version does not properly disable free version

= 2.8.0 =
* Fix: Latest supported WP version is not reflected on wordpress.org plugin repo
* Enh: Show confirmation popup if user tries to send another support request within an hour

= 2.7.9 =
* New: Compatible up to WordPress 5.6
* Fix: Uninstall function can throw fatal error
* Fix: Do not write sensitive information into debug.log if debug mode is active
* Fix: Update notification shown even if there is no more recent version
* Dev: Memory exhausted during tests
* Dev: Prefix composer vendor libraries with PHP-Scoper
* Dev: Add more unit and webdriver tests to improve QA
* Enh: Change authentication to a combination of nonces and access tokens
* Enh: Improve tests performance
* Enh: Add tests for database export and restore

= 2.7.8 =
* New: Add special admin notice if the plugin is not tested with the latest WordPress version
* New: Compatible up to WordPress 5.5.2
* New: Allow deleting of orphaned staging site entries if staging site was deleted manually before

* Fix: Activation hook is not fired after first time installation and wpstg optimizer and cron tasks are not set up
* Fix: Staging site does not work if database password contains dollar sign in password
* Fix: Prevent fatal error when the plugin is activated, but there is no permission to create folder wp-content/uploads/wp-staging or wp-content/uploads/wp-staging/logs.

* Dev: Add new DI container implementation
* Dev: Add composer 2

= 2.7.7 =
* Fix: Fatal error on activation in pro version (Syntax error)

= 2.7.6 =
* New: Compatible up to WordPress 5.5.1
* New: Add WP_ENVIRONMENT_TYPE constant for staging site
* New: Better and wider test coverage
* New: Implementing of automated CI tests
* New: Huge code base refactor for cleaner code
* New: Updated authentication mechanism for ajax requests
* New: Show welcome video message
* New: Show message asking for admin credentials on login form
* New: Move WP STAGING menu down below the menu Plugins
* New: Selected tables are highlighted with a blue background color
* Fix: Show access denied message if a non but existing user tries to access the staging site
* Fix: Remove wp_logout() in staging site login form to prevent multiple login log entries with plugin WP Activity Log
* Fix: Wrong german translations
* Fix: Cloning fails if there is no underscore in table prefix

= 2.7.5 =
* New: Compatible up to WordPress 5.4.2
* Fix: Remove beta notice
* Fix: Error if views are cloned
* Fix: Fatal error if WordPress is older than 4.5
* Fix: Merge pro/free version
* Fix: Step switching logic does not work properly
* Fix: Fix progress bar when certains steps are skipped
* Fix: Change german translation for REPORT ISSUE

= 2.7.4 =
SKIP VERSION

= 2.7.3 =
* New: Compatible up to WordPress 5.4.1
* New: Allow filtering of staging site title
* Fix: Since WordPress WP 5.4 cloning fails if WordPress is installed in subfolder
* Fix: Loading icon not shown when disk space is checked
* Fix: Can not copy tables if prefix is capitalized & has no underscore

= 2.7.2 =
* New: Compatible up to WordPress 5.4
* Fix: Fatal error on WordPress 4.6 and older

= 2.7.1 =
* HotFix: Prefix hotfix failed

= 2.7.0 =
* HotFix: Fix fatal error in step 6 after updating to WordPress 5.4

= 2.6.9 =
* Fix: Can not login to staging site under certain circumstances
* Fix: Use user selected language setting instead global site based one
* Fix: Fatal Error: curl_version() not defined in SystemInfo.php
* New: Refactored structure for easier maintenance
* New: Core support for WP Staging snapshots
* New: Implementing of UnitTests

= 2.6.8 =
* Fix: If the server is windows it will result in missing files after cloning and can lead to fatal errors of the staging site

= 2.6.7 =
* Fix: Update function adds duplicate string to internal urls like https://example.com/staging/staging/wp-content/*
* New: Support for WP 5.3.2

= 2.6.6 =
* Fix: Fatal error: Cannot redeclare wpstgpro_overwrite_nonce() and wpstg_overwrite_nonce() after activating pro version on top of this free one
* Fix: wpdb->prepare() warning after initial cloning

= 2.6.5 Date 12/18/2019 =
* New: Support for WordPress 5.3.1
* New: Refactoring code base and remove app folder
* New: Add French language files
* New: Add WP Staging logo to login form
* New: Set 24 hours expiration date to process lock
* New: Add link URL to the staging site title
* Fix: Fatal error: Invalid serialization data for DateTime object #91
* Fix: Add missing string language location
* Fix: Function fnmatch() not available in all systems
* Fix: Warning in staging site after initial cloning in db row rewrite_rules
* Fix: Wrong staging site is selected when delete function is executed and there are more than 10 staging sites

= 2.6.4 =
* Fix: Broken image folder with duplicate leading slash after cloning

= 2.6.3 =
* New: Allow wildcards for excluding files
* New: Add hook “wpstg_clone_action_staging” to execute code on staging site after cloning
* Tweak: Improved support for custom uploads folder if the user customized the UPLOADS constant or upload_path in DB
* Fix: Better compatibility with Windows IIS server
* Fix: External links are broken after cloning if ABSPATH is equal to /www/
* Fix: use an alternative method for file_put_contents as it is not supported on all systems due to file permission issues
* Fix: Redundant and duplicated update comments in wp-config.php in the staging site

= 2.6.2 =
* Fix: Do not show warning “Preparing Data Step3: Failed to update rewrite_rules in wpstg0_options”
* Fix: Change error “Table wpstgtmp_options does not exist” to warning
* New: Add arguments for hook wpstg_cloning_complete
* New: Setup server environment variables per process and not globally (e.g. set_time_limit)
* New: Add support for custom uploads folder if user customized UPLOADS constant or upload_path in DB

= 2.6.1 =
* New: Improve styling of the login form. Thanks to Andy Kennan (Screaming Frog)
* New: Add ‘password lost’ button to login form
* New: Change welcome page CTA
* New: Add feedback option when the plugin is disabled
* Fix: PDO instances can not be serialized or unserialized
* Fix: Can not update staging site db table if there are constraints in it

= 2.6.0 =
* New: Compatible up to WordPress 5.2.2
* New: Performance improvement for directory iterator using fewer server resources
* New: Add filter wpstg_folder_permission to set custom folder permission like 0755, allows to overwrite FS_CHMOD_DIR if it has been defined.
* Fix: Error conditions in class Data do not compare type strict (== vs. ==) resulting in interruption of the cloning process
* Fix: Excluded folders under wp-content level are not taken into account on Microsoft IIS servers

= 2.5.9 Released 05/16/2019 =
* New: Update for WP 5.2.1
* New: Better corporate identity and more friendly UI colors for staging sites listings and button
* New: Better warning notices before updating process is executed
* New: Add tooltips for explaining navigation buttons
* New: Check if UPLOAD constant is defined and use this value for uploads folder destination
* New: Show notice if the user tries to clone a staging website.
* Fix: Staging sites listing entries appeared on the cloned website.
* Fix: Do not search & replace through “__PHP_Incomplete_Class_Name” definitions
* Fix: Prevent wordfence firewall rule interrupting the clone deletion method
* Fix: Excluded wp staging directory from deleting process is ignored and will be deleted either way
* Fix: Strip whitespaces in cloning site internal names

= 2.5.8 =
* Fix: Remove admin notice that wp staging is not compatible with latest wp version

= 2.5.7 =
* Fix: Fatal Error: Remove previous implemented action to not search & replace over incomplete classes. This lead to high memory consumption and error 500 in step 2 of the cloning

= 2.5.6 =
* New: Compatible to WordPress 5.2
* New: Allow adding file .wp-staging to root of the website to determine if it’s a staging or production website
* New: Add extended data about a staging site in list overview of staging sites
* New: Show unfinished or interrupted clones and allow deletion of them
* Tweak: Move admin notices templates to views/notices
* Fix: Rating notice appears again after using review later button
* Fix: Can not find staging site when staging site has been created with an old version of wp staging
* Fix: Do not search & replace over incomplete classes in the database to prevent warnings

= 2.5.5 =
* Fix: Fatal error, undefined function wpstg_validate_data()

= 2.5.4 =
* Fix: WordFence firewall rule ‘local file inclusion’ blocks wp staging initial starting cloning sequence
* Fix: Values of form Extra directories to copy are ignored

= 2.5.3 =
* Fix: Disable the WP-Spamshield Plugin on staging site because it prevents login to the staging site
* Fix: Lower the memory consumption when the cloning scan process is started
* New: Show PHP user in system info log

= 2.5.2 =
* New: Tested up to WordPress 5.1.1

= 2.5.1 =
* Fix: WP Staging > Tools > System Info does not open
* New: Open system info log file directly via wp staging > tools

= 2.5.0 =
* Fix: Do not exclude db.php if it is not located in the wp-content folder
* Fix: Select All button for db tables not working properly
* New: Add Filter to exclude certain tables from search & replace operation
* New: Show PHP user in system info
* New: Check if there is already one process running before executing the cloning process
* New: Support up to WordPress 5.1

= 2.4.9 =
* New: Add new DB table selection manager
* Fix: Better warning notices before updating a staging site
* Fix: Stop delete process if staging site has been deleted manually before
* Fix: Log file folder does not have correct permission 0755
* Fix: Continue cloning if siteurl & home in wp_options could not be changed
* Tweak: Better warning for update method
* Tweak: DB tables and file verification opened as default option
* Tweak: Skip rows larger than 5MB for search & replace operations to keep memory consumption low
* Tweak: clean up search & replace method
* Tweak: Better FAQ

= 2.4.8 =
* Fix: Prevent throwing an error when table prefix of table usermeta can not be changed
* Fix: WP Staging does not run with old WordPress version 3.2
* Fix: Do not show rating box on posts and pages editor
* New: Support WordPress 5.0.3
* New: Add FAQ to footer

= 2.4.7 =
* New: Support WordPress 5.0.2

= 2.4.6 =
* Fix: Can not login to staging site . Changed minimum user capability to ‘manage_options’ instead ‘administrator’

= 2.4.5 =
* New: Compatible up to WordPress 5.0.1 Gutenberg
* New: Show WP version of staging site in the sysinfo log
* Fix: Make sure optimizer must-use plugin is updated as well after updating the main plugin
* Fix: Plugin can not be uninstalled if WP Staging Pro is activated
* Fix: Prevent error $this not in object context in install.php

= 2.4.4 =
* Fix: Security, prevent downloading wp staging log files by third party users from uploads folder
* New: Compatible up to WordPress 5.0 Gutenberg

= 2.4.3 =
* Fix: Updating staging site does not exclude Windows IIS configuration file web.config and can lead to server error
* Fix: Redirect to the correct url after log in to staging site
* Fix: Supports HTML entities in links created by WP Backery Page Builder Plugin
* New: Support for custom and non-default wp-content and uploads folder
* New: Option to show again the rating notice in a week

= 2.4.2 =
* Fix: Error 500 on some systems when files are collected and plugin iterates through the directories

= 2.4.1 =
* Fix: Error notice if user tries to update staging site located in another database
* Fix: Search & Replace adds staging site subfolder multiple times to replaced string when staging site is updated
* Fix: Missing ajax delay setting

= 2.4.0 =
* New: Compatible to WP 5.0.0 Gutenberg
* New: Increase file scanning process performance
* New: Preview for external database cloning
* New: Add delay between requests setting to prevent timeouts on rate limited servers
* New: Try again automatically cloning process if ajax request has been killed due to server ressource limit error

* Fix: Error when removing heartbeat api
* Fix: remove ? parameter from staging site
* Fix: Do not load theme while WP Staging is running. Prevents processing interruption if there are fatal errors in the theme
* Fix: When cloning has been canceled page needs to be reloaded before beeing able to clone again
* Fix: Under rare circumstances plugins are disabled when wp staging runs.
* Fix: Prevent error 503 (firewall/performance timeout) by adding post parameter to the ajax url
* Fix: Adding automatic resume function to the ajax processing to prevent cloning and pushing interruptions due to hitting server ressource or network glitches.
* Fix: Selected folders are not excluded under Windows IIS server
* Fix: Windows IIS server compatibilility issues resolved

= 2.3.9 =

Release Date October 16th 2018

* New: Support for wp-config.php located in one level up of the root folder for multisites
* New: Allow exclusion of custom options from wp_options from beeing pushed
* New: Make sure Optimizer is installed and activated
* New: Show date of site creation/update in list of staging sites
* Tweak: Better looking UI elements
* Fix: Requirements Check not working as intended

= 2.3.8 =
* Tweak: Lowering default performance settings for more reliability during cloning
* New: Set WP_CACHE to false in wp-config.php after cloning to prevent log in issues to staging site
* New: Compatibility mode to skip certain tables from third party plugins from beeing searched & replaced
* Fix: Do not clone db.php, object-cache.php and advanced-cache.php
* Fix: Show error message if ajax requests fail for any reason

= 2.3.7 =
* New: Increase cloning performance
* New: Show admin notice if php version and wordpress version do not meet requirements.
* New: Show error if there is not enough free diskspace
* New: Add resume function in case the cloning process interrupts
* New: Add italian translation
* New: Better looking admin notices
* Fix: Different scheme of siteurl and home leads to non available staging site. Show admin notice to ask user to fix that first before creating a staging site
* Fix: WP Staging welcome screen shown when any plugin is activated
* Fix: Lower default settings to 10000, cpu load low. File copy limit to 50

= 2.3.6 =
* Fix: Add version number to css and js files to prevent caching issues
* Fix: Wrong text domain in a few language strings
* Fix: Optimizer mu-plugin not installed all the time
* Fix: Language files not loaded correctly
* Fix: Remove heartbeat check only on wp staging admin pages
* Fix: WordPress custom upload path variable upload_path could be wrong after cloning
* Fix: Increase maximum memory consumption

= 2.3.5 =

Release Date: August 21st, 2018

* New: Enable Optimizer as default option
* New: Add filter to exclude strings from search & replace, docs: https://wp-staging.com/docs/actions-and-filters/
* New: Add filter to change search & replace parameters
* New: Add language files and change text domain to slug of the plugin
* New: Disable heartbeat api and user login check for wp staging processing
* New: Add issue reporting form
* New: Check if clone subfolder already exists before creating clone
* Fix: Changing file copy limit not working

= 2.3.4 =
* New: Compatible up to WordPress 4.9.8
* New: Support for Windows Azure cloud servers
* Fix: Missing http(s) scheme after cloning multisites results in not working clones

= 2.3.3 =
* New: Compatible up to WordPress 4.9.8
* New: Better error reporting
* New: Detect if wp-config.php has been moved one folder level up
* New: Login options not needed any more – removed
* Fix: Remove term ‘Error’ from login page

= 2.3.2 =
* Fix: Do not search & replace mail addresses

= 2.3.1 =
* Fix: Creating a new clone resets the custom wp staging user settings. E.g. ignores authentication setting
* Fix: Search & replace path not correct if scheme http/https is not identical in wp-config and db wp_options
* New: Setting to specify the maximum allowed file size to copy

= 2.3.0 =
* Security: Do not allow to create a new staging site into a subfolder which already exists
* New: Option to allow adjustment of the allowed maximum size of files that are going to be copied while cloning.
* New: Add multisite informations in system info log
* New: Option to allow adjustment of the allowed maximum size of files that are going to be copied while cloning.
* New: Use the new progress bar for clone updating process
* Fix: Progress bar for step ‘database’ is not filling up to 100%
* Fix: If cloning update process is interupted it may happen that staging site is not available any longer. (Updating the clone does not copy index.php to staging site again)
* Fix: Progress bar not shown as intented for clone updating process
* Fix: Can not open upload folder in file selection menu
* Fix: Undefined object $this->tables
* Fix: wp-config.php not copied when previous clone updating process has been failed
* Fix: Parameter must be an array or an object that implements Callable
* Fix: Skip search & replace for objects where key is null
* Fix: Search & Replace not working if serialized object contains __PHP_Incomplete_Class_Name
* Tweaks: remove term “error” from several log entries
* Tweak: Remove certain debugging notices from the default log window

= 2.2.9 =
* Fix: Missing trailingslash results to wrong absolute paths in database after Search & Replace operation

= 2.2.8 =
* New: Add filter ‘wpstg_filter_options_replace’ to exclude certain tables from updating while cloning
* New: Exclude tables for plugin wp_mail_smtp
* New: Support for custom upload folder. For instance, if upload folder has been renamed and removed outsite wp-content folder
* New: Add datetime timestamp internally to clone. (Used in WP Staging pro)
* New: Add filter ‘wpstg_fiter_search_replace_rows’ to exclude certain tables from search & replace
* New: Supports search & replace for revslider image slider and several visual editors which are using non default serialized data
* New: Add new setting which allow to specify the search & replace processing query limit
* New: Compatible to WordPress 4.9.6

= 2.2.7 =
* Fix: Serialize replace is not working properly for serialized strings
* Fix: WP_SITEURL & WP_HOME not replaced if constant contains php generated string

= 2.2.6 =
* Fix: If WPML is used the live site is not reachable
* Fix: Can not disable optimizer
* Fix: Stop cloning if wp_usermeta or wp_options can not be adapted
* Fix: All methods should be private in class SearchReplace
* Fix: PHP 7.2 is not countable warning
* Fix: PHP 7.2 can not replace data in objects when object is incomplete (__PHP_Incomplete_Class_Name)
* New: Use fully custom login form to prevent access denied issues on sites where access to wp-login.php is denied or redirection plugins are used
* New: Link to support section

= 2.2.5 =
* New: Compatible to WP 4.9.5
* New: Allow to select and copy extra folders that are on the root level
* New: Use fully custom login form to prevent access denied issues on sites where access to wp-login.php is denied or redirection plugins are used
* Fix: Incorrect login path to staging site if WordPress is installed in subdirectory
* Fix: Login url is wrong if WP is installed in subfolder
* Fix: If PHP 5.6.34 is used, the cloning process could be unfinished due to use of private member in protected class
* Tweak: Only wp root folders are pre selected before cloning is starting
* Tweak: Change WP_HOME or WP_SITEURL constants of staging site if they are defined in wp-config.php

= 2.2.4 =
* New: Replace even hardcoded links and server path by using search & replace through all staging site database tables
* New: New and improved progress bar with elapsed time
* Fix: Cancel cloning does not clean up unused tables and leads to duplicate tables
* Tweak: Wordings in rating admin notice
* Tweak: Better error messages
* Tweak: Open staging site in same window from login request
* Fix: Set meta noindex for staging site to make it non indexable for search engines

= 2.2.3 =
* Fix: Change default login link to wp-admin
* Fix: Unneccessary duplicates of wpstg tables in db

= 2.2.2 =
* Fix: Undefined property: stdClass::$loginSlug

= 2.2.1 =
* New: Option to set Custom Login Link if there is one
* New: Set meta noindex for staging site to make it non indexable for search engines
* New: Better multiple folder selection. Allows to unselect a parent folder without collapsing all child folders
* New: Sorted list of folders to copy
* Fix: Can not login to staging site if plugin All In One WP Security & Firewall is used
* Fix: Staging site not reachable because permalinks are not disabled under certain conditions

= 2.2.0 =
* Fix: Old staging site is not listed and pushing is not working properly if plugin is updated from wp staging version 1.6 and lower

= 2.1.9 =
* New: Performance improvement increase db query limit to 5000
* New: Detect automatically if WordPress is installed in sub folder
* Tweak: Tested up to WP 4.9.4
* Fix: Updating from an old version 1.1.6 < to latest version deletes the staging sites listing table
* Fix: Reduce memory size of the logging window to prevent browser timeouts
* Fix: Can not copy db table if table name contains the db prefix multiple times
* Fix: Some excluded folders are not ignored during copy process
* Fix: mod_security is causing script termination
* Fix: Skip directory listings for symlinks

= 2.1.8 =
* Fix: Increase the max memory consumption

= 2.1.7 =
* Tweak: Return more human readable error notices
* Fix: Cloning process stops due to file permission issue
* Fix: Exclude WP Super Cache from copying process because of bug in WP Super Cache, see https://github.com/Automattic/wp-super-cache/issues/505

= 2.1.6 =
* New: increased speed for cloning process by factor 5, using new method of file agregation
* New: Skip files larger than 8MB
* Fix: Additional checks to ensure that the root path is never deleted
* New: Compatible up to WP 4.9.1

= 2.1.5 =
* Fix. Change link to support
* Fix: Missing files in clone site if copy file limit is higher than 1

= 2.1.4 =
* Fix: Link to the staging site is missing a slash if WordPress is installed in subdir
* Tweak: Allow file copy limit 1 to prevent copy timeouts

= 2.1.3 =
* New: Add more details to tools->system info log for better debugging
* New: Add buttons to select all default wp tables with one click
* New: Show used db table in list of staging sites
* Fix: Delete staging site not possible if db prefix is same as one of the live site
* Fix: Edit/Update clone function is duplicating tables.
* Fix: Other staging site can be overwritten when Edit/Update clone function is executed
* Fix: Several improvements to improve reliability and prevent timeouts and fatal errors during cloning

= 2.1.2 =
* Fix: Remove LOCK_EX parameter in file_put_contents(). LOCK_EX is not working on several systems which results in cloning process timeouts
* Fix: Huge Performance improvement in copying process by removing duplicate file entries in the cache file. This also prevents weird timeout issues on some hosted websites
* Fix: Error 500 when debug mode is activated
* Fix: Limit maximum execution time to 30 seconds
* Fix: Sanitize Clone Names and Keys to fix “clone not found” issue in upgrade routine
* Fix: Do not clone the plugin wps-hide-login
* Fix: Staging sites can not be deleted if they are very big
* Fix: Link to staging site is undefined
* Tweak: Better admin message for asking for a review
* Tweak: Remove table wpstg_rmpermalinks_executed when plugin is uninstalled
* New: New setting to specify the maximum amount of files copied within one ajax call to fix godaddy and bluehost ajax 404 errors. Default 10 per batch

= 2.1.1 =
* New: Add link to tutorial explaining the process of pushing modification to the live site

= 2.1.0 =
* New: Exclude unneccessary files from cloning process: .tmp, .log, .htaccess, .git, .gitignore, desktop.ini, .DS_Store, .svn
* New: More details for debugging in Tools->System Info
* Fix: Check if tables in staging site exists before attempting to modify them
* Fix: WordPress in sub directories were not opening
* Fix: Nonce check not working if nonce life time is filtered by another plugin WP Bug: https://core.trac.wordpress.org/ticket/41617#comment:1
* Fix: Access to staging site not working, if WP_SITEURL and WP_HOME is defined in wp-config.php
* Tweak: Exclude wp-content/cache folder from copying process

= 2.0.9 =
* Skip Version

= 2.0.8 =
* Fix: After update from wpstg 1.6.x to 2.x previous settings were not imported resulting in cancelation of cloning process. Still not fixed in 2.0.7

= 2.0.7 =
* Fix: After update from wpstg 1.6.x to 2.x previous settings were not imported resulting in cancelation of cloning process

= 2.0.6 =
* Fix: Cancel Cloning button not working
* Fix: Limit max execution time to a maximum of 30sec to prevent high memory consumption and script timeouts

= 2.0.5 =
* New: Major version – Complete rewrite of the code base
* New: Batch processing allows to clone even huge sites without any timeouts
* New: Preparation for WP QUADS PRO with ability to copy file changes back to live site
* New: Bypass (broken) third party plugins during wp staging related ajax requests to prevent processing errors. Use a mu plugin for this.

= 1.1.6 =
* New: Add download link to WP Staging Beta Version 2.0.1

= 1.1.5 =
* Fix: Admin notice is throwing a false positive write permission error
* New: Move log folder to wp-content/uploads/wp-staging/logs
* New: Tested up to WP 4.7.3

= 1.1.4 =
* Fix: Fatal error Unsupported operand types

= 1.1.3 =
* New: Tested up to wp 4.7.2
* Fix: Arrows in drop down for folder selection are distorted
* Tweak: Show working log as default to make debugging easier

= 1.1.2 =
* Fix: Settings are not deleted when plugin is removed
* Fix: Staging site is available for non administrators

= 1.1.1 =
* Fix: Change rating url

= 1.1.0 =
* New: Tested up to WP 4.6
* New: Create a poll and ask what feature is most required

= 1.0.9 =
* Fix: Undefined WPSTG() warning
* Fix: Change compatibility version to wp 4.5.3

= 1.0.8 =
* Tested up to WP 4.5.2

= 1.0.7 =
* Fix: Activation hook is not fired and staging site is not working properly
* Performance: Increase default query copy limit to 1000

= 1.0.6 =
* Fix: Uninstalling plugin throwing error
* Fix: Error permission admin notice although permission issues are correct

= 1.0.5 =
* New: Tested up to WP 4.5
* Fix: Download system log not working
* Fix: Click on Optimizer “Select all | none | invert” links leads to jumping
* Tweak: Make clear that unselecting a checkbox will exlude table or file from copy process
* Tweak: Remove unnecessary text
* Tweak: Change beta notice in dashboard. WP Staging is stable
* Tweak: Change twitter handle to @wpstg

= 1.0.3 =
* Fix: Missing const MASHFS_VERSION
* Fix: Remove error “table XY has been created, BUT inserting rows failed.”
* Fix: Not tested up to 4.4.2 message shown although it’s tested up to WP 4.4.2
* New: Disable either free or pro version and does not allow to have both version enabled at the same time

= 1.0.2 =
* Tweak: Change setting description of uninstall option
* Tweak: Lower tags in readme.txt

= 1.0.1 =
* New: Orange colored admin bar on staging site for better visualization and comparision between production live site and staging site
* Tweak: Remove contact link on multisite notification

= 1.0.0 =
* Fix: Do not follow symlinks during file copy process
* Fix: css error
* Fix: Show “not-compatible” notice only when blog version is higher than plugin tested version.
* Fix: undefined var $size
* Fix: Check if $path is null before writing to remaining_files.json
* Fix: $db_helper undefined message
* Fix: Skip non utf8 encoded files during copying process

= 0.9.9 =
* Fix: Use back ticks for table names to prevent copy errors when table names are containing hyphens or similar special characters
* New: Load option to reduce cpu load and to lower the risk of killed ajax calls because of security flooding mechanism (Prevent 405 errors: not allowed)
* Tweak: Load non minified js file when WPSTG debug mode is enabled

= 0.9.8 =
* New: Tested up to WP 4.4
* New: New debug mode in settings
* Tweak: Check if url’s in staging’s wp-config.php needs a replacement and do so.
* Fix: Prevent fatal error and end of copying process. Make sure files are writable before trying to copy them

= 0.9.7 =
* Fix: Change backend link to https://wordpress.org/plugins/wp-staging/ when using an outdated version of the plugin
* New: Tested up to WP 4.3.1

= 0.9.6 =
* New: Show notice when there is not enough disk space for a clone
* Fix: PHP Error on 32bit systems: “disk_free_space(): Value too large for defined data type”
* Fix: Copying process of larges files gets interupted sometimes due undefined variable
* Fix: Define width and height for the system info export formular
* Fix: Cannot redeclare deleteDirectory()

= 0.9.5 =
* Fix: Option for cloning sites which are moved into a subdirectory was not working on several systems
* New: WordPress Migration tested up to WP 4.3

= 0.9.4 =
* Fix: Large files are copied partly
* Fix: js error xhr.statusText not defined
* New: Option for cloning sites which are moved into a subdirectory. Read more: https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
* New: Create an alternative copy method for large files
* New: Add new author WP-Staging to the readme.txt and to the wordpress repository

= 0.9.3 =
* Fix: Rating container is not shown because of wrong wordpress option name
* Tweak: Change color of the rating links

= 0.9.2 =
* Fix: A conflict with the plugin WP Migrate DB (Pro)
* Fix: Limit the staging name to maximum of 16 characters for migration process

= 0.9.1 =
* Fix: Change search and replace function for table wp_options when running migration. This prevented on some sites the moving of serialized theme data

= 0.9 =
* New: Release