SV BACKUP Changelog

Full release history for the WHM/cPanel backup plugin.

Back to Product Page View Pricing

SV BACKUP v2.4.88

Published 06 Jun 2026 23:30

Current Release
  • ionCube packaging integration for WHM plugin builds.

SV BACKUP v2.4.87

Published 06 Jun 2026 06:22

  • UX Polish, Auto-Protect & Mobile Responsive.
  • - IonCube-safe deploy: Updater uses packaged install.sh for encoded updates, ensuring loader + runtime selection.
  • - Transfer Files: single-folder rsync resync auto-promoted to bulk_folder/rsync_tree for fast operation.
  • - Transfer history: resync file counts (X of Y) displayed for standard sync_newer jobs.
  • - /sv_tmp retention: automatic cleanup of old data backups and rollback dirs (keep 3 each).
  • - Transfer Files: multi-selection bulk resync promotion, transfer queue serialization, daily /sv_tmp cleanup cron.
  • - SFTP directory check: existence verified from parent entry instead of listing large target directories (fixes 128 MB memory exhaustion).
  • - Transfer Files history: sortable headers and page-size selector with session persistence.
  • - Per-file upload memory fix: streaming RecursiveDirectoryIterator replaces in-memory task arrays.
  • - Custom logo support: logo replaced in sidebar header (cp_logo.png).
  • - Dashboard: Protected/7-Day Success/Active Chains cards link to related pages; Unprotected Accounts card opens modal with full account list.
  • - Auto-protect: cron checks hourly for new WHM accounts not in any schedule, adds them to first active full backup schedule (on by default).
  • - Verification display: badges now show truncated SHA-256 hash and verified file size.
  • - Filter bar: single-row layout (nowrap) on backups page.
  • - Topbar padding: 10px top/bottom with fixed 64px height.
  • - Mobile responsive sidebar: off-canvas drawer with hamburger toggle, backdrop overlay, auto-close on nav click, body scroll lock.
  • - Incremental size display: shows dash for zero-size rclone incrementals, real size from bytes_transferred when available.
  • - Force-stop improvement: kills by account name for orphaned batch subprocesses (pkgacct/pigz/rclone/tar).
  • - Installer optimization: data backup skips download_cache/ (14GB transient cache) — upgrades drop from ~18GB to ~3.5GB.
  • - License page: Change License button with prompt dialog; Deactivate License button fix.
  • - Mobile sidebar CSS refinements: logo max-height, sidebar header min-height, toggle button alignment.

SV BACKUP v2.4.67

Published 02 Jun 2026 18:36

  • Production Hardening & Verification.
  • - Upload verification: shared verifier for full + incremental archives, local SHA-256 storage, explicit verification level/status metadata.
  • - Local verification parity: local archives verified before job completion, checksum-verified delete manifests.
  • - Verification visibility: badges in backups table showing checksum vs size-only; verification_status and verification_level filters.
  • - Snapshot safety: no more silent truncation at 500000 files; throws explicit exception when limit exceeded.
  • - Snapshot prune expression fix: rtrim character-set bug causing invalid find -prune; exclusion follow-up fix for zero-file incremental snapshots.
  • - Snapshot diff heartbeat: worker heartbeat refreshed every 100 chunks during large snapshot reads; 56% progress update during delete manifest build.
  • - Backup cancellation: two-click force-stop flow, worker_state=cancelling tracking, worker tree termination.
  • - Restore: incremental DB snapshot/restore support, temp-workspace incremental apply helper, restore preflight checklist modal.
  • - Settings API hardening: require_valid_license for privileged actions.
  • - Dashboard: verification cards (unverified, size-only) in summary; verification health alerts in Needs Attention.
  • - Health alerting: typed-alert schema with alert_type + unique (alert_type, job_id); verification health scan integrated into cron cadence.
  • - Clean-db bootstrap: migrateSchema now adds verification columns idempotently.
  • - Dead code removal: download_chunk, confirm()-to-showConfirm() migration in restore/settings/license.
  • - Shared JS formatters centralized in app.js; per-page dupes removed.
  • - Responsive: restore filter controls, modal sizing on mobile.
  • - Production hardening pass: RcloneEngine data-loss guard, CR/LF strip, SFTP path sanitization, obscurePassword via proc_open, SV_BACKUP_WORK_DIR constant.

SV BACKUP v2.4.43

Published 29 May 2026 07:57

  • Batch Stability, Concurrency & UX Improvements.
  • - Bulk Folder Upload with rsync-tree promotion for fast single-directory transfers.
  • - SQLite lock retry: Database::executeStatement() retries on transient locked/busy errors; result set finalization prevents stale locks.
  • - Maximum concurrent backups enforcement centralized; pending jobs auto-queued when slots occupied.
  • - Batch worker singleton lock (flock on batch_worker.lock) prevents duplicate workers and pkgacct storms.
  • - Orphaned background job reconciliation: detects batch worker membership, account-specific pkgacct checks, immediate collapse of older running rows.
  • - Sequential batch recovery: auto-resume pending siblings when orphaned running job reconciled; manual Resume Pending Batch action on failed rows.
  • - Batch cancel/blind fix: cancelJob now auto-resumes remaining pending batch siblings; Retry exposed on cancelled rows.
  • - Stalled batch queue fix: retryBackupJob clears stale markers and resumes pending siblings; pending rows rendered as queued not running.
  • - Backups page live-refresh: polls visible active job IDs, refreshes table on any row state change.
  • - Dashboard improvements: fullscreen loader prevents perceived hangs; LicenseChecker reuses cached server_ip with local IP fallbacks.
  • - Updater SQLite lock hotfix: INSERT OR REPLACE for settings, no non-essential cache writes in checkForUpdate.
  • - Transfer Files polling: uncached GET requests with _ts param and no-cache headers.
  • - Transfer Files: JS constant fix (TRANSFER_RUNNING_REFRESH_MS), ionCube GUI activation fix with delayed WHM restart.
  • - Restore page: formatBytes local formatter fix, clearHistory uses Database::delete with retry.
  • - Memory optimization: S3 multipart upload streaming via php://temp, snapshot manifest streaming from popen(find).
  • - Recovery snapshot summary: header-only JSON parse to avoid OOM on large manifests.
  • - Stale backup recovery routed through reconcileOrphanedBackgroundJobs for batch-worker safety.

SV BACKUP v2.4.10

Published 22 May 2026 18:56

  • Disaster Recovery & Core Hardening.
  • - Disaster Recovery Phase 1: Portal-side recovery codes, request/verify API, app-side scan/queue flow, file-based DR snapshots, sequential restore batches.
  • - Disaster Recovery Phase 2: Sidecar-based discovery (.dr.json uploaded alongside backups), reusable CLI drill runner (cron/run_disaster_recovery_drill.php) with verify/scan/queue steps, JSON drill reports, --wait-restore polling.
  • - Secure token management for DR sessions and snapshots.
  • - Schedule timezone fixes: schedules interpreted in app timezone, not UTC; cron applies plugin timezone before getDueSchedules().
  • - Retention policies (Phase 4): schedule-level daily/weekly/monthly retention, chain-unit pruning, incremental chain ranking.
  • - Chain health (Phase 5): per-point parent_job_id validation, chain_health_message/chain_restorable enrichment, restore rejection for broken chains.
  • - Operational alerting (Phase 6): backup_health_alerts, chain health scanning on 30-minute cadence, notification preferences for health/capacity alerts.
  • - SMTP notifications wired for backup/restore terminal states and capacity alerts.
  • - Configurable auto-update time (settings.auto_update_time).
  • - Batch backup email aggregation: per-account emails suppressed, batch-start + summary emails via NotificationManager.
  • - Installer improvements: /sv_tmp dedicated temp root to avoid /tmp ENOSPC on small loop mounts; portal install.sh updated with SV_BACKUP_TEMP_ROOT.
  • - WHM menu fix: plugin.conf + AppConfig use url=/cgi/addon_whm_backup/index.php with target=_blank.
  • - IonCube update fix: Updater now rejects encoded packages when loader is missing, delegates to packaged install.sh for safe runtime selection.
  • - Plain-source bridge release (2.3.56) for ionCube regression recovery.
  • - Firewall whitelist: POST-based whitelist API, installer-time CSF/Imunify360/firewalld/cPHulk whitelisting.

SV BACKUP v2.3.28

Published 25 Mar 2026 14:49

  • Transfer Files & Schedule Improvements.
  • - Transfer Files: Remote SFTP browse, root resolution with ssh-keyscan key bootstrapping, OpenSSH sftp fallback for legacy curl/libssh2 servers.
  • - Hetzner Storage Box support: trailing newline stripping in destination config, StrictHostKeyChecking=accept-new fallback for older SSH clients.
  • - Schedule execution: selected-account schedules now route through batch queue, sorted by account size with proper unit parsing (G/T/M).
  • - Backup deletion: distinguishes remote cleanup failures from list removal; confirmation-required response when remote delete fails but object is inaccessible.
  • - WHM menu: target=_blank support for opening SV Backup in new tab via Jupiter nav patch.
  • - Backup cron: improved retry dispatch, no early exit when no schedules are due (still processes queued jobs).

SV BACKUP v2.3.18

Published 22 Feb 2026 15:53

  • Initial release of SV Backup for WHM/cPanel.
  • - Core backup engine: full backups via pkgacct, incremental via tar --newer-mtime, rsync-over-SSH, and file/database/email backup types.
  • - Multi-destination support: Local, S3/B2, FTP/FTPS, SFTP, and Rsync-over-SSH.
  • - WHM plugin integration with Jupiter theme sidebar navigation.
  • - License management with portal-based activation/verification/deactivation.
  • - Schedule management with cron-based execution, timezone-aware scheduling, live App/Server/UTC clocks.
  • - Backup list with status cards, filter bar, sortable columns, bulk selection, and live polling for running jobs.
  • - Restore page with point-in-time selection, preflight checklist, and restore history.
  • - Transfer Files with two-pane browser (local/remote), upload/download, and sync.
  • - Settings page with notifications, SMTP, compression, and concurrency controls.
  • - Activity log and basic dashboard with backup/restore stats.
  • - IonCube encoding with multi-PHP (8.1/8.2/8.3/8.4) runtime selection.
  • - Portal-based auto-update with rollback support.
  • - Database schema with automatic migration on upgrade.
  • - SQLite WAL mode for concurrent read/write.
  • - Firewall whitelist integration (CSF, Imunify360, firewalld, cPHulk).
  • - Account picker with "Select All" support (all=1 pagination fix).
  • - Rsync destination validation via dry-run handshake + SFTP fallback.
  • - FTP/FTPS transfer improvements: STAT fallback for directory listings, plain-FTP retry, certificate negotiation handling.
  • - SFTP verification fallback from HEAD probe to directory listing.
  • - cPanel backup staging directory (/sv_backup) with proper permissions.