NewImprovedFixedSecurity

v2.9.9

Keep the Backups That Matter, and Back Up on More Than One Schedule

Any backup can now be kept out of auto delete until you let it go. A site can also take full backups on several schedules, such as daily and weekly. Object Cache Pro caching now lasts between page loads. This release also fixes billing, support tickets, Git deploys and more.

🔥 New Features

🆕 Keep a Backup from Auto Delete

Before, retention removed every backup once it was old enough, including the one you took before a big change.

Who it’s for: Anyone who keeps backups of a site.

  • Skip Delete: on the site’s Previous Backups page, choose Skip Delete in a backup’s menu, or tick several and click Skip Delete (n). Auto delete and retention leave it alone, in the list, on the server and in the bucket, until you choose Allow Delete.
  • Whole backups: the files archive and the database dump are kept together. On an incremental destination the whole set is kept, so it can always be restored. xCloud asks first, because the newer incremental backups of that destination stay too.
  • No accidents: a kept backup can’t be deleted until you allow delete again.

🆕 Back Up on More Than One Schedule

Who it’s for: Sites that need frequent backups and a longer view, without a second destination.

  • On Backup Settings, with the type set to Full and Automatic Backup on, Backup Schedules now takes any mix of Every 12 hours, Daily, Weekly and Monthly.
  • Every schedule saves to the same place, and you restore its backups the same way. Previous Backups shows the next run of each schedule.

Keep a backup from auto delete and run multiple backup schedules in xCloud

🆕 BetterShield Knows What xCloud Changed

xCloud now tells BetterShield 1.1.5 about the changes it makes on purpose, so they stop showing up as file tampering.

Who it’s for: Sites protected by BetterShield.

  • xCloud’s Magic Login and Edge Cache helper files are expected, including helpers that were on the site before BetterShield was installed.
  • Plugin and theme updates xCloud has to run with other plugins switched off are recorded as updates.
  • A new BetterShield install from xCloud sends routine alerts in the weekly summary.

🧑‍💻 For Developers: Public API and MCP

  • Keep a backup: PATCH /api/v1/sites/{uuid}/backups/{backupUuid} with {"skip_delete": true}, and GET /api/v1/sites/{uuid}/backups returns skip_delete on each backup. The MCP tool asks you to confirm.
  • Several schedules: read and write auto_backup_frequencies in a site’s backup settings.

🔒 Security

  • Updates Manager history is now visible only to team members who can run WordPress updates. Before, any signed-in member could read the update history, including logs for servers and sites they can’t open.
  • AI assistant: it refuses requests to run SSH-style commands, checks your approval again right before a destructive step runs, and only shows links xCloud built itself.

✨ Improvements

  • AI assistant: answers link to the right dashboard pages, and To-Do actions say what it could not check instead of guessing.
  • Dashboard: the Needs your attention card is more compact, and the To-Do count badge follows severity again.
  • SSH keys: search your keys by name or fingerprint, across every page.
  • Security updates To-Do: Retry no longer loops on packages the daily updater never installs, and fixed servers move to Done.
  • Cloning a private Git site: the clone sets up its deploy key on GitHub by itself, or asks you for it on the Confirm step, instead of doing nothing on Start.

🐞 Bug Fixes

  • Caching
    • Sites using Object Cache Pro no longer empty their whole object cache on every page load, so cached data and transients last between requests.
    • The Ask about caching button no longer covers the cache card or the Redis credentials.
  • Billing
    • Paying a manual invoice now settles its bills.
    • Inactive bills are no longer invoiced.
  • Support
    • A new support ticket shows as open right away and keeps the support access you granted.
  • Databases
    • MySQL Configuration says when MySQL is stopped instead of showing an empty form.
  • One Click Apps
    • Enable Ollama installs one Ollama site per server, even when clicked twice.
    • After a domain change, Mautic uses the new domain for its links.
  • Git deploys
    • A member without access to Git accounts is no longer told to connect one.
    • Native Laravel and PHP sites no longer get the Docker deploy script.
  • Tools
    • A failed Adminer or File Manager install no longer leaves its file on the site.
  • SSH keys
    • Page links no longer jump back a page.

Please note

  • Weekly and monthly backups follow your retention. All schedules of a destination keep their backups for the days set under Backup Retention. To keep one longer, set it to Skip Delete.
  • Kept backups use storage. A kept backup, and on an incremental destination every newer backup, stays until you choose Allow Delete.