• ResolvedPlugin Author Rene Hermenau

    (@renehermi)


    :rocket: *WP Staging Pro 6.9.0 / Free 4.9.0 is out!* 20% staged rollout. Note: 24 hours delay on wordpress.org due to their new deploy mechanism.

    This is the one we've been grinding on for months — and it shows. Huge, heartfelt thanks to everyone who poured time into it. We rebuilt the heart of the plugin, redesigned every staging screen, and hardened backup & restore end-to-end. Easily one of the biggest releases we've ever shipped. :blue_heart:

    :zap: *The headline: a brand-new Next-Gen staging engine.* We rewrote how staging sites are created, updated, reset, and pushed from the ground up. It's *up to 80% faster* — cloning that used to crawl now flies — and far more resilient against memory and timeout errors. It runs in full isolation, so your live site stays untouched even mid-operation. This was the bulk of the effort this cycle, and it changes the whole experience. (#5122)


    *Full changelog (6.9.0 / 4.9.0)*

    *New*
    :fire: *Next-Gen engine* for creating, updating, resetting and pushing staging sites — up to 80% faster and far more resilient against memory and timeout errors, running in isolation to protect the live site. (#5122)
    • *Major redesign of the staging workflows* — Create, Update, Reset, Push and Delete screens now share a cleaner, consistent interface with live summaries, clearer table and folder selection, safer confirmation steps, improved advanced options and a unified two-column layout. (#5122)
    • Zero performance impact on your live site — WP Staging 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)
    • Offline asynchronous license registration for firewall-restricted sites. (Pro) (#5146)
    • Option to preserve the current user during a Remote Sync pull job. (#4934)
    • Remote Sync now has its own independent API version, so sites on 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. 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. (#5162)

    *Enhancements*
    • Clearer staging creation in both Free and Pro — clearer default behavior, shows what gets copied or skipped, better-grouped advanced settings, and reworded copy so Free no longer feels unsafe. (#5122)
    • Missing-compatible-primary-key table message logged as a notice instead of a warning (table is locked automatically, no user action needed). (#5015)
    • Clearer "skipped search & replace on large row" log — binary-data rows reported as a no-action notice, large text rows as a reworded warning, without dumping the raw query. (#5015)

    *Fixes*
    • Restore now retries temporary server errors automatically and shows a clear status instead of appearing stuck. (#4909)
    • Restore respects server retry-after timing and handles other server errors more gracefully. (#5002)
    • Backup queue self-heals when the worker's loopback HTTP trigger is silently dropped by Cloudflare, firewalls, or cURL-blocked hosts — jobs no longer stall after the first task. (#5118)
    • Live backup logs now stream end-to-end on the same host — the live log UI no longer freezes around 100 events. (#5118)
    • Live log UI no longer drops legitimate repeat lines (e.g. retried steps with refreshed progress numbers). (#5118)
    • Background restore and backup failures now show a clearer, actionable error message instead of a generic notice. (#4606)
    • Improved next-gen staging site creation and reset, with more reliable handling of site names that already exist. (#5258)
    • Multipart database-only backup no longer fails when the database is larger than the configured split size. (#2624)
    • Restoring a large database backup split into multiple files no longer fails with a duplicate entry error. (#5219)
    • Backup download URL now reflects a custom directory set via the wpstg.backup.directory filter. (#5212)
    • Keep background job live log buttons working after reopening the logs modal. (#5203)
    • Clear stale option caches after direct database option updates. (#5173)
    • Remote Sync pulls on the source site are now properly cancelled and cleaned up when the initiator becomes unresponsive. (#4870)
    • Clean up stale Remote Sync .wpstgtmp files left behind by crashed pulls, with a once-daily safety net. (Pro) (#5101)
    • Throttle failed Remote Sync authentication attempts. (Pro) (#5171)
    • Enforce TLS certificate verification for restore tool requests. (Pro) (#5175)
    • "Unlock Remote Sync" button now links to the correct checkout URL when the license is expired. (Pro) (#5067)
    • Security checks for backup-file uploads strengthened. (#5160)
    • Reduce CPU usage after installing WP Staging and/or WP Staging Pro. (#4867)
    • Don't show the "what's new" update modal to brand-new users on first visit — it only appears for existing users after an update. (#5263)
    • Don't run the new-administrator-account task when disabled (previously logged a misleading "missing email or password" warning). (#5015)
    • Keep "Staging" and "Backup & Migration" menu labels untranslated so community translations can't rename them. (#5267)
    • Load the bundled translation before WordPress.org language packs in Free so local translations win. (#5267)
    • Translate 107 staging setup, delete and push UI strings that previously rendered in English across all 11 locales. (#5269)
    • Remove 42 orphaned translation entries no longer present in the source. (#5269)
    • Correct the dark-mode SweetAlert success icon. (#5232)
    • Analytics consent modal styling fixed in dark mode; raster logo replaced with a scalable SVG. (#5068)
    • Logs selector dropdown styling improved in dark mode. (#5055)
    • "Unselect All" button now matches the other database table action buttons in dark mode. (#5143)
    • "Set Default" links for Destination Path and Target Hostname in Advanced Settings restored. (#5055)
    • System info card layout no longer breaks when content exceeds the max allowed width. (#5055)
    • Missing top margin on the WordPress Playground warning callout added. (#5149)

    *UX*
    • Celebrate the first staging site and first backup with a brief confetti animation. (#5275)
    • Staging dashboard is now task-first — the large global Pro banner is replaced with a compact, dismissible "Upgrade to Pro" card (90-day per-admin snooze), a permanent "Compare Free vs Pro" footer card, and an improved empty state. (#5275)
    • Polished the staging-site delete confirmation modal. (#5055)
    • Review prompt is now success-based — shown inside staging/backup completion modals (never as loose dashboard text), with honest copy, Maybe Later / Don't Ask Again, and one shared progressive snooze (14, 30, 180 days). (#5275)
    • Refined the admin footer into a compact single line. (#5259)

    *Dev*
    • Add separate CI workflow for Remote Sync tests covering single-site and multisite. (#5155)
    • Add tooling to generate dark and light marketing screenshots for the main features. (#5231)
    • Derive Playwright PHP version checks from the selected test environment. (#5192)
    • Extend /release slash command with operator-critical pre-flight checks and cross-references. (#5186)
    • Finalize the refactored staging and push feature and prepare it for e2e testing. (#5015)
    • Network-dependent tests moved from the unit suite to the integration suite for better reliability. (#5165)
    • Replace amd64-only FTP Docker image with a multi-arch alternative to fix FTPS test failures on Apple Silicon. (#5034)
    • Storage identifier handling consolidated; remote-storage option-name migration now runs via a persistent feature flag so it executes exactly once. (#3081)
    • Release pipeline now detects when the deploy API on the release server is outdated, and several release-tooling/changelog fixes. (#5188, #5141, #5184, #5195, #5197)

You must be logged in to reply to this topic.