15 versions
Wp Staging Pro history.
Every release of Wp Staging Pro is archived here with its changelog, file size, and security scan result. Use the archive to roll back to a stable release or audit what changed between updates.
15 of 15 releases scanned clean
v6.18.0Latest
October 21, 20264.0 MBScanned
Other
- Enh: Apply security hardening. Updating is strongly recommended. #7051
- Enh: Back up large databases much faster. #7011
- Plus 40 more fixes. #7163
- WP STAGING | PRO Backup & Cloning | Full Changelog:
- [https://wp-staging.com/wp-staging-pro-changelog/](https://wp-staging.com/wp-staging-pro-changelog/)
Fixed
- A backup restore no longer stops when the database is briefly unreachable. #5561
- Backup plans keep their own schedule when edited, so saving one unchanged no longer makes it run hourly. (Pro) #6473
- Create staging sites inside wp-content when the site root is not writable. #6846
- Keep live media files intact when updating or pushing a Next-Gen staging site with symlinked uploads. #7017
- Large backups uploaded to Dropbox no longer stay at 99%. (Pro) #6986
- Long backup names and notes in Japanese, Chinese, Cyrillic or emoji no longer break the backup. #7014
- Stop a push when its safety backup fails, instead of pushing without a restore point. (Pro) #6903
October 10, 20263.8 MBScanned
Added
- Add secure transfer sessions for backup downloads. Backups are no longer offered as permanent public URLs. Instead Download Backup and Share Backup Link create a short-lived, tokenized transfer link on click that the webserver serves statically, so PHP never streams the backup and large downloads can not run into PHP timeouts. #5449
- Protect the permanent backup directory against direct HTTP access on Apache and IIS, and add a backup folder security self-test with a small, expandable notice that says what to ask the hosting provider when the folder is still reachable. #5449
Other
- Enh: Advertise the Pro auto login feature below the button that opens a new staging site in the free version. #6360
- Enh: Ask OneDrive for a whole page of entries when listing backups, instead of leaving Microsoft Graph on its default of 200 per request. (Pro) #5913
- Enh: Limit "Create Blank WP Site" to the Business plan and above. (Pro) #6725
- Enh: Show the ten newest remote backups first and keep the rest behind a "Show more" button, so a large remote backup folder does not slow the backup list down. (Pro) #5913
Fixed
- A backup no longer fails when a theme, plugin or media file has a modification date before 1970 or after 2106. #6582
- A second cancellation that starts while one is still running now waits for it instead of stopping it silently. #6623
- Background jobs could fail to find their queue table on sites that use SQLite. #6756
- Clone the subsite that source-blog-id names in the WP-CLI staging-site-create command instead of the current blog. (Pro) #6268
- Correct the .htaccess rewrite base for multisite network clones. (Pro) #6137
- Delete the Remote Sync settings when WP Staging Pro is uninstalled. (Pro) #6764
- Finish deleting a split backup once every part was deleted, instead of ending the request without a reply. (Pro) #6784
- Finish the remote backup list when one of several storages answers with an error, instead of leaving the loading indicator running and the "No remote Backups found" message out of date. (Pro) #5913
- Hash the whole backup once instead of twice when a remote upload checks a file already on the remote storage. (Pro) #6498
- Include Remote Sync logs and timestamps in bundled downloads. (Pro) #6640
- Keep bundled log downloads inside the 14-day retention window instead of including logs of any age. #6713
- Keep every job log entry on one line, so a line break in an error message can no longer forge log entries. #6758
- Keep passwords out of corrupted staging sites reports and remove temporary report files. #6131
- Keep storage access tokens out of the request error that reaches the job log and the debug log. (Pro) #6631
- Keep the live site's database prefix while listing a push's tables, so the rest of that request no longer reads or writes the staging site's tables. (Pro) #6772
- Keep the run day and the missed-run record of a backup plan when only its retention is changed. (Pro) #6479
- Keep the staging creation screen open after pressing Stop instead of reporting the job as cancelled from another page or opening a status error popup. #6455
- Let the Delete wpstg-restore.php button remove the restore tool without a Developer or Agency license. (Pro) #6706
- Make wp wpstg status report running, finished and failed jobs correctly. (Pro) #6787
- Name the failed backup in upload failure reports. (Pro) #6551
- Offer the staging site's login page instead of a session-expired error when the license is not active. (Pro) #6708
- Open the backup explorer on backups with many files instead of failing with an HTTP 500 memory error. #6667
- Post every failed scheduled backup upload to Slack, a repeated one at most once per hour, and send Slack error reports even with error emails off. (Pro) #6551
- Preserve clone settings when continuing past the database grant warning. (Pro) #6712
- Preserve production wpstg_queue and wpstg_settings during Legacy Push. (Pro) #6693
- Purge the LiteSpeed page cache after a restore, also when the restore replaced or deactivated the LiteSpeed Cache plugin. #6779
- Read every page of the backup listing on Google Drive, OneDrive and the S3 storages, so the backup list and retention see every stored backup. (Pro) #5913
- Reading and checking plugin settings could hang or come back empty on sites that use SQLite. #6751
- Refuse a subsite backup whose blog ID names no subsite of the current network, or names one that is archived, suspended or deleted. #6403
- Remote Sync push no longer logs a setTmpDatabasePrefix() TypeError on every queue tick. (Pro) #6773
- Repair a missing queue column when the stored schema version is current. #6693
- Report a backup file that reached the server's file size limit as such, with what to do about it, instead of as a full disk. #6862
- Retry a scheduled backup report email that could not be sent. #6551
- Retry opening the Google Drive upload session after a network error instead of cancelling
September 24, 20263.7 MBScanned
Added
- Enable multipart backups with compression. (Pro) #3423
- Show whether each staging site still opens, with a diagnose dialog and a re-check button when it does not. #5645
Other
- Enh: Add database table and file-part metadata to new backups using backup format 2.1.1. #5571
- Enh: Offer WP Staging Pro on the Free first run once the first backup or staging site is ready, and link Pro pricing from the task selector. #6203
- Enh: Provision only the WordPress sites a CI job actually uses so E2E rounds spend less time setting up. #6330
- Enh: Remove duplicated markup and request code behind the backup, staging and command line screens. #6136
- Enh: Replace scheduled backup plans with inline collapsible section on the backup tab. #2093
- Enh: Rework the staging-creation screen into one understandable process with persistent stages, an activity indicator and on-demand diagnostics. #6205
- Enh: Run an E2E round on Blacksmith when it would be second in the queue for our own runners. #6331
- Enh: Share one copy of the database tasks used by backup restore, push and staging. #6134
- Enh: Show the reworked staging process screen when updating or resetting a staging site. #6218
Fixed
- Build the log stream REST URL from the host and scheme of each request, so a running job no longer reports an error on sites served under several domains or over both HTTP and HTTPS. #6233
- Count immediate scheduled backups and keep success open on Escape. #6434
- Disable the backup modal when updating a staging site. #6401
- Encrypt Google Drive OAuth tokens in the database. #6246
- Give WP STAGING's navigation back on the screen that reports the first staging site or backup, instead of holding the screen until the first run is dismissed. #6381
- Give a new staging site the database credentials in wp-config.php when the live site's wp-config.php is a symlink, as on Bitnami, or loads its credentials from another file. #6374
- Honor the unit-test resource-threshold opt-out in legacy jobs. #6198
- Keep MoveHandlerTest reliable on Windows permission checks. #6199
- Keep WP STAGING's Backup & Migration page reachable during the first run, instead of showing the success screen there as well. #6381
- Keep WP STAGING's own submenu on screen throughout the first run, and end the first run when one of its entries is picked. #6381
- Keep a backup the remote refused to delete in the retention list. (Pro) #6338
- Keep damaged staging site data intact while a staging site is deleted, so the repair notice still has something to repair. #5892
- Keep delete-guard case-alias tests independent of request timeouts. #6125
- Keep deselected tables when deleting a staging site. #6193
- Keep the live site's license active after a Next-Gen push. (Pro) #6429
- Keep the notification badge beside the WP STAGING menu label. #6400
- Keep the separate administrator account after a Next-Gen update or reset of a staging site. (Pro) #6388
- Keep the staging database credentials in wp-config.php after a Next-Gen reset or update of a staging site that uses an external database. (Pro) #6352
- Let the staging site creation screen be closed with Escape or a click beside it once its job has finished. #6381
- Let the unit test suite run again; FinalizeMultipartDatabaseTaskTest stopped it loading on every PHP version. #6265
- Match CPU Load Priority defaults and restore the inline layout. #6109
- Prevent Free feedback assets from loading on the front end. #5580
- Prevent TypeError when reading backup DTO fields before they are set. #5636
- Prevent invalid WordPress Home or Site URLs from crashing WP Admin. #6221
- Prevent the empty-object warning when plugin information requests fail. (Pro) #3043
- Regenerate Elementor CSS so layouts survive pushing staging to live. (Pro) #6090
- Regenerate the English translation template so it matches the strings in the free backup modal. #6306
- Regenerate the translation template so static_checks passes again. #6322
- Remote Sync pull gets stuck waiting after the source site has finished preparing the backup. (Pro) #5218
- Report a backup plan as overdue only when a run it was due to make did not happen, instead of judging the WordPress cron events, take the last run of a plan created before WP STAGING recorded its runs from the backups it produced, and stop the free version reporting backup plans created with WP Staging Pro as overdue. #6347
- Report a finished event when a Next-Gen staging job ends, and record a staging job stopped by its requirements check as a requirement failure instead of as a finished job. #6275
- Report a stable error code with a failed job, so failure causes can be counted across languages. #6276
- Report the static checks of the fast-tests run in the pull request description too. #6324
- Restore tables with long names across multiple requests. #5828
- Restore the staging site list automatically when its stored data is damaged, instead of clearing it and asking y
September 15, 20263.6 MBScanned
Added
- Add parallel part upload and merge support for Remote Sync Push. (Pro) #5246
Fixed
- Block IPv6 and DNS-rebinding bypasses of the backup download SSRF filter. #5991
- Enable the Start Upload button when a storage is selected in the Upload Backup to Cloud popup. #6064
- Generate job IDs with a secure random source so log stream tokens cannot be guessed. #5991
- Include schemes in copied backup links and CLI restore commands. #5435
- Let the subsites of a multisite use the WP Staging Pro licence activated in the network admin. #6162
- Preserve native Element.prototype.closest and only polyfill it when missing. #6004
- Prevent staging prefix reuse from destroying another staging site. #6146
- Redact the installation root inside failed-move warnings. #6108
- Refuse an invalid database table prefix when a staging site is saved, so pushing or resetting it cannot fail on it later. #6095
- Reject invalid cloud download filenames before writing to the backups folder. (Pro) #5462
- Remove every trailing issue reference from a changelog line before it appears in the newsfeed. #6171
- Render the staging delete modal when the staging database is unreachable. #6181
- Reopen the Upload Backup to Cloud popup after connecting a new cloud storage. #6064
- Report the latest log line, not the whole log, when a job responds before it has logged anything. #6017
- Stop logging a throttled request as an error during a healthy job. #6077
- Stop the backup schedule cron event from flooding the error log when WordPress cannot save the cron option, and prevent copied network schedules from running on other sites without disabling cross-site backup plans. #6173
- Stop the backups folder running scripts on Apache and IIS. #5462
- Stop the fatal error in the network admin when WP STAGING Free and WP STAGING Pro are both active on the main site. #6152
- Stop the scheduled-backup menu badge and cron warning from reporting a schedule row copied to a multisite subsite as overdue. #6161
Other
- Dev: Keep the release changelog intact when the prepare phase runs more than once. #6126
- Dev: Post the WordPress.org release notes in every release run instead of leaving them as an optional follow-up. #6169
- Dev: Say which environment an E2E pass ran in, so a green job no longer ends on an all-skipped summary. #6096
- Dev: Write a release announcement covering Free and Pro once both versions are published, so the team is told what shipped. #5916
- WP STAGING | PRO Backup & Cloning | Full Changelog:
- [https://wp-staging.com/wp-staging-pro-changelog/](https://wp-staging.com/wp-staging-pro-changelog/)
September 11, 20263.6 MBScanned
Added
- Back up a staging site automatically before you update it, so an update that goes wrong can be undone. (Pro) #1873
- Repair a damaged backup from the command line. Everything still readable is written into new backup files you can restore. (Pro) #2255
Other
- Enh: Describe the command line tool by what it does for Developer and Agency plans: pull a live site to your computer with one command. #6031
- Enh: Never delay an update on a staging site. A staging site is where updates are meant to be tried out. #6028
- Enh: Plugin updates now start the moment you click update. The recovery backup runs behind them and a panel in the corner reports it. #6028
- Enh: Rename the free plugin on WordPress.org so people searching for a backup plugin find it. #5205
- Enh: Run backups and cloud uploads through the same background engine, so a long job is less likely to be interrupted. #5950
- Enh: Switch Update Protection off in one click from that panel. A backup the updates are waiting on is cancelled with it. #6028
- UX: Make WP Staging Desktop easy to find on the Staging screen. Developer and Agency plans get a link beside the local site action, every other plan a discovery card. The label under the local site button reads "CLI" where that link sits next to it. #6046
- Dev: A
Fixed
- A restore no longer breaks sites whose plugins link database tables to one another. #5244
- Block backups and restores on PHP versions we have not tested yet, starting with PHP 8.6. #5494
- Create and push a staging site faster on tables whose rows hold a lot of data. #5986
- Delete only the tables that belong to the staging site when it lives in its own database. #6088
- Delete the temporary plugin folders a restore leaves behind once they pile up, instead of letting them fill the disk. #1598
- Ignore tampered entries in the active plugin and login session lists while pushing. (Pro) #5411
- Keep cloud storage credentials out of System Info and the log files, and check the storage settings before they are saved. #6001
- Keep the licence section and other status messages visible when the Disable WP Notification plugin is active. #5880
- Keep the list of plugins a push has to restore even when no plugin is active on the staging site. (Pro) #5411
- Name the actual folder paths in the error a restore shows when it cannot move files, on every host. #5943
- Name the operation that is actually running when Remote Sync is blocked, instead of always saying a sync is already in progress. #5456
- Never delete a table of the live site during database cleanup, and handle table names that contain special characters. #6005
- Never delete a table of your live site when a staging site is deleted or its creation is cancelled. #6088
- Offer to carry on with a restore when the database refuses a table that has two automatic timestamp columns (MySQL error 1293), instead of stopping. #2063
- Replace the site address in every row of a table when creating or pushing a staging site, including when the database search and replace limit is set low. #5986
- Report a background job that failed on PHP 8, including a failure on the source site during a Remote Sync pull. #5967
- Report a finished backup as finished on PHP 7.0 to 7.3, so the staging site update waiting for it can carry on. #6118
- Save the FTP/SFTP settings when an SSH key is already stored. (Pro) #5920
- Show an unexpected server response as plain text, so markup inside it cannot run in the WordPress admin. #5990
- Show what is wrong with cloud storage settings in the page itself, where the message stays readable, instead of in a browser tooltip. (Pro) #5039
- Start a backup from the Remote Sync window without having to close it first. (Pro) #5063
- Stop a cancelled staging job writing an error into the browser console. #6011 #5613
- Stop a fatal error on the staging site when the login form cannot start up. #6079
- Stop an error when the progress window is closed while a job is still reporting into it. #6049
- Stop backup, restore and Remote Sync logs repeating every line, which duplicated entries and made the log files far larger than they should be. #5330
- Switch the database's foreign key checks back on after deleting tables, even when the previous setting could not be read. #6019
- Update the Start Upload button as soon as a cloud storage is selected. (Pro) #5950
- Use the correct table prefix when pushing with the Classic engine, keep the Desktop link inside its banner, and allow a backup to be cancelled only once preparation has finished. #6061
- WP Staging Free now says the daily backup runs at 12:00 midnight, not noon. #6018
- Wait as long as the cloud storage asks for when it limits the upload rate, instead of failing the upload. (Pro) #6038
- Write settings and user data safely to the database when pushing, so an unusual value cannot change the query it is written with. (Pro) #5411
Improved
- Show the background option only when a backup is being created. #6085
September 7, 20263.5 MBScanned
Other
- Enh: Redesign backup creation modal with Full Site / Custom Backup. #4924
- Ux: Calculate the estimated backup size automatically when the backup window opens, and again whenever the selection changes. #5899
- Dev: Allow Playwright to use a worktree's runtime URL. #5948
- Dev: Announce each release in the WordPress.org support forum as a step of the release procedure. #5944
- Dev: Assign every new pull request to its author. #5902
- Dev: Diagnose a failed CI run before re-running it, and treat a *-failed label beside ready-for-review as a test to fix. #5904
- Dev: Keep PR titles aligned with the issue they answer by pointing create-pr and work-on-issue at the pr-issue-titles skill. #5968
- Dev: Keep the code review and simplifier passes running under Claude Code 2.1.219, and ship the post-push CI hook with the repository instead of one developer's home directory. #5930
- Dev: Make code reviews blocking-only and give non-blocking findings somewhere to go. #5911
- Dev: Point the review-pr skill at review-own-diff for the merge-base rule instead of restating it. #5933
- Dev: Print a compact summary while tests pass and the full report only when one fails. #5980
- Dev: Run PHP 8.5 fast tests only in the full matrix. #5894
- Dev: Set the naming standard for methods and variables, and stop the review skills from dropping names that misdescribe what they name. #5974
- Dev: Skip the reviewer request on rene-hermenau's own skill and infrastructure PRs; every other author still gets one. #5972
- Dev: Stop a cancelled fast-test run from overwriting the verdict of the run that replaced it. #5988
- Dev: Stop the Remote Sync tests putting their own license back on the remote site, which made a push look as if it had overwritten the license there. #5979
- Dev: Stop the restore requirements test faking multisite on a single site, which crashed the whole single-site unit suite. #5952
- Dev: Stop the review-pr skill from reviewing a pull request another reviewer was already asked to review. #5936
- WP STAGING | PRO Backup & Cloning
Fixed
- Close the placeholder tab when magic login fails. (Pro) #5553
- Editing a backup schedule no longer reverts to the old time after a later re-cron. (Pro) #5616
- End the Update Protection wait when the backup it started finishes, instead of leaving the popup stuck on a backup that already completed. #5909
- Fail a restore loudly when a shortened table name is missing instead of writing broken SQL. #5634
- Harden the staging site email reminder - its disable link is now authorised by a secret unique to that staging site, and secret tokens are compared in constant time. #5813
- Include a reply-to address and site context in the corrupted staging sites report email. (Pro) #5893
- Keep the restore alive when a preserved option is stored in a shape its sanitize callback rejects. #5857
- Log which folders a backup restore deletes before it deletes them. #4418
- Pad the random suffix of a shortened table name leftwards, so two different draws no longer collide. #5634
- Preserve each subsite's domain and active plugins in network clones. (Pro) #5977
- Prevent a critical error when opening WP Staging pages on hosting setups where another plugin conflicts with the optimizer. #5404
- Prevent the staging login form from being processed on production sites, and improve compatibility with login security plugins. #5794
- Reactivate every WP STAGING plugin after a restore, so Pro is not left disabled by its missing free plugin. #5857
- Remember a failed magic login availability check for a minute. (Pro) #5553
- Remove the competitor backup plugin notice that could get stuck on screen. #5923
- Render process log messages as text so stored markup cannot run script in wp-admin. #5884
- Require the Wasabi custom region to be filled in before the storage settings can be saved. (Pro) #5918
- Restore the 15 second timeout of the magic login availability check. (Pro) #5553
- Run a backup explorer search typed while the file list is still loading, instead of ignoring it. #6029
- Safely handle wpstg_data_excl_rows filter values in Next-Gen cloning. #5845
- Send the WordPress.com upgrade link to the localized pricing page with campaign tracking. #5939
- Send the upgrade links shown when a backup cannot be restored to the pricing page in your own language. #5941
- Show every backup stored on Dropbox, not only the first ones, so the backup list and the automatic clean-up of old backups both see all of them. (Pro) #5910
- Show the memory exhaustion help in the process log as readable text with a link. #5884
- Switching SFTP to FTPS no longer leaves the password field blurred and unclickable. #5919
- Translate the hosting provider exclusion notice, the temporary login error, the reminder disable message, the admin footer links and the backup modal's cloud storage description, which were shown in English on non-English sites. #5929
- Treat a 503 from the staging site as unavailable, not rate-limited. (Pro) #5553
September 1, 20263.5 MBScanned
Added
- Add notification badge to admin sidebar when a scheduled backup fails or is missed #1579
Other
- Enh: Create staging sites with the Next-Gen engine again, now that the table prefix corruption that had it switched off is fixed. #5355
- Dev: Add PHP 8.5 to the fast tests suite. #5497
- Dev: Add a browsable, testable worktree. #5875
- Dev: Describe in the release docs what a rollback restores and what it leaves behind. #5840
- Dev: Extend work-on-issue and defer human review requests. #5865
- Dev: Extract the self-review rule into a review-own-diff skill the other skills invoke, and prove any deletion a review agent proposes against the merge-base. #5866
- Dev: Fail the guardrails when a file the standalone restorer bundles relies on a top-level import. #5818
- Dev: Prove the rest_route staging bypass over HTTP instead of against a stub of WordPress core. #5878
- Dev: Record in the PR workflow that Copilot reviews first and is answered before a human is asked. #5842
- Dev: Remove the ready-to-merge label when a review finds blocking issues. #5890
- Dev: Report any new direct read of the wpstg_settings option, so no reader can assume its stored shape unnoticed. #5835
- Dev: Run the release suite's cloud storage stage three PHP versions at a time instead of one, within the providers' documented rate limits. #5848
- Dev: Stop an unrelated label from cancelling the fast-tests run it was added beside. #5820
- Dev: Stop the fast tests label claiming a full pass on a two-version run. #5872
- WP STAGING | PRO Backup & Cloning | Full Changelog:
- [https://wp-staging.com/wp-staging-pro-changelog/](https://wp-staging.com/wp-staging-pro-changelog/)
Fixed
- Always store the WP STAGING settings as an array, so a stored object can no longer break saving, restoring or pushing. #5863
- Cancel only the Remote Sync pull the request verified, never a job that replaced it. #5797
- Clean up the temporary files and tables of a cancelled onboarding backup. #5796
- End a background cancellation that cannot be prepared cleanly instead of with a PHP error. #5797
- End a remote storage upload the provider refuses instead of retrying it on every request. #5822
- Generate temporary-login link IDs server-side with a secure random generator and throttle the login-link path, so links can no longer be guessed from a predictable timestamp or brute-forced. #5810
- Preserve WordPress metadata keys when cloning with the Next-Gen engine. #5354
- Prevent duplicate processing when running consecutive staging site pushes. (Pro) #5364
- Reject cloud storage OAuth callbacks that were not started from the plugin. #5809
- Reject nested legacy object payloads during search-replace and stop a rest_route parameter from bypassing the staging site login form. #5625
- Report MySQL as the database engine in usage analytics instead of leaving it undefined. #5508
- Report a pCloud upload that the remote refused as failed instead of finished. #5822
- Require administrator rights to complete Google Drive API authentication, so a low-privileged user can no longer trigger the OAuth token exchange. #5812
- Retry a backup upload the storage provider refused for rate limiting instead of failing it, and stop reporting a throttled Google Drive as a full one. #5848
- Safely handle custom excluded option names during Next-Gen cloning. #5354
- Show the backup creation offer in Free and Pro staging modals. #5775
- Stop BackgroundLogger showing a false "Something went wrong" error for background jobs that already finished successfully. #5777
- Stop a superseded push setup response from replacing the open push modal. #5874
- Stop the backup finalize step from writing an unsigned, corrupted backup after an interrupted request. #5374
- Stop the browser console error guard from failing E2E tests on console noise it does not own. #5853
- Stop the corner update-protection modal from swallowing clicks on the rest of the page. #5882
v6.11.1Unavailable
August 26, 20263.5 MBScanned
Added
- Show backup prompt before updating plugins, themes, or WordPress core. The recovery backup then runs in the background, and further updates queue behind it instead of asking again. #4028
Other
- Enh: Allow the free version to back up other folders in the WordPress root directory. #5532
- Enh: Log the source and the destination table name while copying database tables, so the clone log no longer reads as if it copies staging tables. #5536
- Enh: Record a generic analytics event when an upgrade CTA is clicked, so the plugin side of the upgrade funnel can be compared with the website arrivals it produces. #5640
- Enh: Record a stable error code alongside the translated message so failure causes can be counted reliably. #5510
- Enh: Record whether a site still has WP STAGING, by noting in the anonymous usage data when the plugin is switched on or off, together with the reason given when switching it off. #5586
- Enh: Show the selected table count against the site prefix total when creating a staging site, so a plugin-heavy site no longer looks like it copies every database table. #5536
- Enh: Show the task-selector first run to every new single-site WP STAGING Free installation. #5646
Fixed
- A backup request left over from a staging site that never finished no longer blocks the backup offer on the next staging site you create. #5618
- A backup schedule saved during the very minute it is set for now waits for its next occurrence, instead of being registered for a time that has just passed. #5617
- A backup that was still waiting or running when the first-run setup finished now starts and is reported as completed. #5577
- Cancel the backup scheduled after a staging site when that staging site creation is cancelled. #5737
- Convert a raw byte count to megabytes so the backup speed index is no longer always zero. #5590
- Drop the plugin dependencies from the shipped autoload classmap, which listed them at paths the build deletes. #5693
- Fail the restore when a database table rename fails, instead of reporting success on a half-swapped database. #5756
- Harden Classic staging row-exclusion filter values before SQL use. #5790
- Hide the "Create a Staging Site" onboarding card and post-backup offer on WordPress.com-hosted sites, which do not support staging. #5709
- Leave the hosting provider's own must-use plugin files out of the staging site when creating, updating and resetting it. #5643
- Pass a string to esc_attr in the onboarding capability icon. #5562
- Preserve unrelated subsite tables and user metadata during network site restores. (Pro) #5653
- Prevent an error when opening Push Changes with legacy settings. (Pro) #5829
- Provision a fresh test environment again when the WordPress template is a mounted folder. #5802
- Push summary now reflects the configured file-size limit instead of always showing 8 MB. #5560
- Refuse a second start that arrives while another request is already initializing a job, instead of letting both overwrite each other. #5516
- Reject non-stdClass serialized objects in the Pro search-replace routine to prevent PHP object injection, and add a sniff requiring an allowed_classes option on unserialize(). #5668
- Report a temporary or backup table that could not be dropped during cleanup, instead of logging it as deleted. #5756
- Report smart exclusions as switched off in WP Staging Free, where they never run, instead of on with nothing excluded. #5635
- Restore each multisite subsite with its own URLs instead of always the main site. #5633
- Restore the light icon when dark mode requests a dark variant that does not exist. #5739
- Retry a table drop that a lock blocked, and give the lock a bounded wait instead of holding the request open. #5756
- Scheduled backups are now included in the usage statistics, which previously only counted backups started by hand. #5507
- Show a notice instead of a critical error when the selected backup items contain no files. #5515
- Show the backup creation button in the Next-Gen staging site creation process modal and make the Pro Next-Gen engine release a queued backup once the staging site is created. #5776
- Skip the commit-lookup guardrail when the API does not answer, rather than failing it. #5673
- Stop a restore before it imports the database when tables of an earlier restore could not be removed. #5756
- Stop emitting a deprecation notice on PHP 8.4 and 8.5 for parameters that accept null. #5758
- Stop renaming a backup created on Windows from reporting it as damaged. #5768
- Stop sending Remote Sync analytics events before the job finishes, which left most syncs recorded without an outcome. #5504
- Stop the Network Admin staging page from getting stuck on unresolved analytics consent. #5628
- Stop the release publish phases from losing a successful prepare run. #5779
- Type the database rows WordPress 7.1 now describes precisely, so static analysis passes again. #5754
- Write one line terminator in t
v6.9.2Unavailable
July 10, 20263.7 MBScanned
Other
- Enh: Add accessible labels to Pro upgrade badges and buttons. #5337
- Enh: Improve the first-time staging experience by removing the redundant "Create Staging Site" button, sharing a single CTA between the listing and empty state. #5266
- Enh: Route every in-plugin upgrade link to the wp-staging.com pricing table, localized to the current admin language (de, it, es, fr, pt, pl, ja), with unique UTM tags so each click is identifiable in analytics. #5337
- Enh: Standardize Pro badge wording across the plugin — small locked controls now read "Pro", section badges "Available in Pro", and the upsell button "Upgrade to Pro". #5337
- Enh: Suppress the dismissed CLI notice server-side instead of via localStorage, so it no longer briefly flashes before being hidden. #5266
- Enh: Turn the Pro feature badges in the Create Staging Site modal and other upgrade prompts into links to the pricing table. #5337
- Dev: Avoid lowering PHP memory limit when loading the restore tool as a library. (Pro) #5345
- Dev: Streamline the release pipeline's test phase to avoid a long-running idle CI job that wasted runner time on every release. #5142
- WP STAGING | PRO Backup & Cloning | Full Changelog:
- [https://wp-staging.com/wp-staging-pro-changelog/](https://wp-staging.com/wp-staging-pro-changelog/)
Fixed
- 404 error when accessing a staging site created with a name containing spaces or special characters. #5321
- A backup no longer fails when it hits a file outside the standard WordPress folders. The file is skipped and noted in the log instead of aborting the whole backup. #5325
- Allow staging site names up to 100 characters while keeping the generated directory name capped at 16 characters. #5321
- Broken auto login to the staging site when the staging site name contains spaces or special characters. #5321
- Fatal error on the staging site caused by an invalid destination path when the site name contains spaces or special characters. #5321
- Improve remote backup downloads when the remote file size cannot be detected. (Pro) #5222
- Prevent backup restore from writing files outside the restore folder. #5299
- Prevent site fatal error when plugin files are partially updated or missing during an upgrade. #5309
- Prevent the loading bar from staying visible after a successful backup extraction, and improve the “Show logs” button styling. #5306
- Prevent unsafe push when staging and production WordPress versions are incompatible. (Pro) #5286
- Remove the security alerts popup from the welcome page. #5336
- Sanitize the staging site directory name and URL so spaces and special characters no longer produce a broken path. #5321
- Stop remote cloud upload immediately when user cancels instead of continuing in background. (Pro) #3891
- Temporarily disable the Next-Gen staging engine to prevent staging-site data corruption (postmeta keys). Users are automatically reverted to the Classic engine and warned when they may have staging sites created with the Next-Gen engine. #5346
- Temporary folders left by the restore tool are no longer included in backups when "Backup Other WP Root Folders" is enabled. (Pro) #5158
Improved
- Refresh backup content icons and improve their light and dark mode styling. #5315
June 25, 20263.7 MBScanned
Added
- Added the Next-Gen engine for creating, updating, resetting and pushing staging sites. It is up to 80% faster and more resilient against memory and timeout errors, while running in isolation to protect the live site. #5122
- Zero performance impact on your live site — WP Staging now runs invisibly to frontend visitors, even during active staging operations. #602
- Database restores are dramatically faster on large backups — multi-gigabyte sites restore in a fraction of the time previously needed. #3020
- Major redesign of the staging workflows. The Create, Update, Reset, Push and Delete screens now use a cleaner, more consistent interface with live summaries, clearer table and folder selection, safer confirmation steps, improved advanced options and a unified two-column layout across all staging actions. #5122
- Add offline asynchronous license registration for firewall-restricted sites. (Pro) #5146
- Add option to preserve current user during remote sync pull job. #4934
- Remote Sync now has its own independent API version, so sites running different plugin releases stay compatible during pulls and pushes. #5132
- Backup file format upgraded to 2.1.0, laying the groundwork for per-file encryption and split backups in upcoming releases. All existing backups remain fully restorable — no migration needed. #5134
- Snappier WordPress admin — admin scripts moved out of the critical render path with event delegation for noticeably faster page loads. #5024
- A "WP Staging — Tips & Guides" widget on your WordPress dashboard with hand-picked links to docs and tutorials, so you can get more out of the plugin without leaving wp-admin. #5162
Other
- Enh: Improved the staging creation experience in both Free and Pro by making default behavior clearer, showing what will be copied or skipped, grouping advanced settings more logically and removing wording that could make the free version feel unsafe. #5122
- Enh: Log the missing-compatible-primary-key table message as a notice instead of a warning, since the table is locked automatically and no user action is required. #5015
- Enh: Make the "skipped search & replace on large row" log clearer — report binary-data rows as a notice that needs no action and keep a reworded warning for large text rows, without dumping the raw query. #5015
Fixed
- "Set Default" links for Destination Path and Target Hostname in Advanced Settings restored. #5055
- "Unlock Remote Sync" button now links to the correct checkout URL when the license is expired. (Pro) #5067
- "Unselect All" button now matches the other database table action buttons in dark mode. #5143
- Analytics consent modal styling fixed in dark mode; raster logo replaced with a scalable SVG. #5068
- Background restore and backup failures now show a clearer error message with actionable guidance, instead of a generic failure notice. #4606
- Backup download URL now reflects custom directory set via wpstg.backup.directory filter. #5212
- Backup queue self-heals when the worker's loopback HTTP trigger is silently dropped by Cloudflare, restrictive firewalls, or cURL-blocked hosts — jobs no longer stall after the first task. #5118
- Clean up stale Remote Sync .wpstgtmp files left behind by crashed pulls on the initiator and, via a once-daily safety net, on both initiator and source sites. (Pro) #5101
- Clear stale option caches after direct database option updates. #5173
- Correct the dark-mode SweetAlert success icon — the masking wedges rendered as a white disc behind the checkmark on the dark popup. #5232
- Do not run the new-administrator-account task when the option is disabled, which previously logged a misleading "missing email or password" warning. #5015
- Do not show the "what's new" update modal to brand-new users on their first visit; it now only appears for existing users after an update. #5263
- Enforce TLS certificate verification for restore tool requests. (Pro) #5175
- Improve next-gen staging site creation and reset with clearer details and more reliable handling of site names that already exist. #5258
- Keep background job live log buttons working after reopening the logs modal. #5203
- Keep the "Staging" and "Backup & Migration" menu labels untranslated so community translations can't rename them. #5267
- Live backup logs now stream end-to-end on the same host — the live log UI no longer freezes around 100 events while the backup itself completes normally. #5118
- Live log UI no longer drops legitimate repeat lines (e.g. retried steps with refreshed progress numbers). #5118
- Load the bundled translation before WordPress.org language packs in the free plugin so local translations win. #5267
- Logs selector dropdown styling improved in dark mode. #5055
- Missing top margin on the WordPress Playground warning callout (staging listing page) added. #5149
- Multipart database-only backup no longer fails when the database is larger than the configured split size. #2624
- Reduce CPU usage a
Why archive
Sometimes the latest release isn't the one you need. The archive lets you pin Wp Staging Pro to a known-good version, or roll back while a bug is investigated. Every release stays scanned and reachable.