{"id":19007798,"date":"2026-08-31T18:53:09","date_gmt":"2026-08-31T18:53:09","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/release-notes-for-wp-staging-4-11-2\/"},"modified":"2026-08-31T18:53:09","modified_gmt":"2026-08-31T18:53:09","slug":"release-notes-for-wp-staging-4-11-2","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/release-notes-for-wp-staging-4-11-2\/","title":{"rendered":"Release Notes for WP Staging 4.11.2"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>WP Staging 4.11.2 is out.<\/strong> Focused on stability and user experience.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Highlights<\/strong><\/p>\n\n\n\n<ul>\n<li>Staging sites are created with the Next-Gen engine again, now that the table prefix corruption that had it switched off is fixed.<\/li>\n\n\n\n<li>A badge appears in the admin sidebar when a scheduled backup fails or is missed.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Fixes<\/strong><\/p>\n\n\n\n<ul>\n<li>Always store the WP STAGING settings as an array, so a stored object can no longer break saving, restoring or pushing.<\/li>\n\n\n\n<li>Cancel only the Remote Sync pull the request verified, never a job that replaced it.<\/li>\n\n\n\n<li>Clean up the temporary files and tables of a cancelled onboarding backup.<\/li>\n\n\n\n<li>End a background cancellation that cannot be prepared cleanly instead of with a PHP error.<\/li>\n\n\n\n<li>End a remote storage upload the provider refuses instead of retrying it on every request.<\/li>\n\n\n\n<li>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.<\/li>\n\n\n\n<li>Preserve WordPress metadata keys when cloning with the Next-Gen engine.<\/li>\n\n\n\n<li>Reject cloud storage OAuth callbacks that were not started from the plugin.<\/li>\n\n\n\n<li>Reject nested legacy object payloads during search-replace and stop a rest_route parameter from bypassing the staging site login form.<\/li>\n\n\n\n<li>Report MySQL as the database engine in usage analytics instead of leaving it undefined.<\/li>\n\n\n\n<li>Report a pCloud upload that the remote refused as failed instead of finished.<\/li>\n\n\n\n<li>Require administrator rights to complete Google Drive API authentication, so a low-privileged user can no longer trigger the OAuth token exchange.<\/li>\n\n\n\n<li>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.<\/li>\n\n\n\n<li>Safely handle custom excluded option names during Next-Gen cloning.<\/li>\n\n\n\n<li>Show the backup creation offer in the staging modals.<\/li>\n\n\n\n<li>Stop BackgroundLogger showing a false Something went wrong error for background jobs that already finished successfully.<\/li>\n\n\n\n<li>Stop a superseded push setup response from replacing the open push modal.<\/li>\n\n\n\n<li>Stop the backup finalize step from writing an unsigned, corrupted backup after an interrupted request.<\/li>\n\n\n\n<li>Stop the corner update-protection modal from swallowing clicks on the rest of the page.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Full changelog: https:\/\/wp-staging.com\/wp-staging-changelog\/<\/p>\n","protected":false},"template":"","class_list":["post-19007798","topic","type-topic","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19007798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19007798\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=19007798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}