SV MySQL Backup Changelog

Full release history for the self-hosted MySQL backup application.

Back to Product Page View Pricing

SV MySQL Backup v1.4.36

Published 14 Aug 2026 16:12

Current Release
  • Automated package publish

SV MySQL Backup v1.4.35

Published 14 Aug 2026 15:36

  • Automated package publish

SV MySQL Backup v1.4.34

Published 14 Aug 2026 11:59

  • Automated package publish

SV MySQL Backup v1.4.33

Published 14 Aug 2026 11:10

  • Automated package publish

SV MySQL Backup v1.4.32

Published 14 Aug 2026 10:24

  • Automated package publish

SV MySQL Backup v1.4.31

Published 14 Aug 2026 10:14

  • Automated package publish

SV MySQL Backup v1.4.30

Published 14 Aug 2026 09:52

  • v1.4.30: H16 least-privilege MySQL + background job queue. (1) Fresh installs now provision TWO accounts: svmb_backup (read-only: SELECT/SHOW VIEW/SHOW DATABASES/PROCESS/LOCK TABLES/EVENT/TRIGGER) for dumps, and svmb_backup_restore (full) used ONLY by restore + crashed-table repair. Upgrades migrate the existing profile into the restore slot unchanged. (2) Background job queue: web-triggered backups/restores are enqueued into job_queue and executed by bin/job-worker.php via a new every-minute cron (sv-mysql-backup-queue)
  • UI polls /api/jobs/<id> and refreshes on completion. CLI schedule runs stay synchronous.

SV MySQL Backup v1.4.29

Published 14 Aug 2026 09:40

  • v1.4.29: Review roadmap batch 2. (1) Staging restore with atomic RENAME swap — failed imports never touch the live target
  • new DB names supported. (2) Signed license responses (HMAC resp_sig with resp_ts) verified by the app. (3) H5: Secure cookies now ON whenever TLS termination is enabled (loopback backend), with SVMB_COOKIE_SECURE override. (4) H15: umask 0027 in init/run-backup, storage+SQLite 0640/0750. (5) H17: init passwords via env not argv. (6) H18: mktemp for init json/err. (7) H19: test-update.sh rewritten as safe dry-run validator that NEVER executes the installer. (8) Server-side pagination for backup history (limit/offset/q/sort/dir/failed).

SV MySQL Backup v1.4.28

Published 14 Aug 2026 09:20

  • v1.4.28: Security hardening from deep code review. C1: /api/auth/status no longer discloses the admin bearer token to anonymous callers. C2: update chain pinned to HTTPS (no cross-host redirects), watchdog uses mktemp + https-only. C3: downloaded restore artifacts now verified against the upload-time SHA-256 before restore. C4: uninstall enables TLS verification, refuses silent no-license bypass, removes leftover crons/sudoers/user. H1: HTML login form now throttled. H2: bulk-delete \ undefined fixed. H3: SMTP encryption whitelist. H4: settings encryption fails closed. H9: CommandRunner concurrent pipe drain + timeout. H10: flock-based run lock, set_time_limit/ignore_user_abort. H11: posix_kill guarded. H12: --column-statistics=0 for MySQL 8 clients. H13: REPAIR TABLE identifiers quoted. H14: cron fields validated, log path quoted. H20: XSS sinks escaped. H22: license key via header. Plus SQLite busy_timeout+WAL and UTC cutoffs.

SV MySQL Backup v1.4.27

Published 14 Aug 2026 05:38

  • v1.4.27: Watchdog self-heal system. bin/svmb-watchdog.sh checks the portal every 30 min (root cron, registered by install.sh) for a CRITICAL minimum version and self-updates via the official installer when behind. Normal releases never force updates. Includes SVMB_WATCHDOG_DRY_RUN test mode.

SV MySQL Backup v1.4.26

Published 14 Aug 2026 05:25

  • v1.4.26: Auto-update self-heal. Servers that enabled auto-update before v1.4.25 have the setting saved but no cron file (old code never wrote it). autoUpdateStatus() now auto-repairs the cron job when the License panel is opened — after this update, every server will schedule its own future updates automatically.

SV MySQL Backup v1.4.25

Published 14 Aug 2026 05:24

  • v1.4.25: (1) Restore safety UI — dropdown now has Restore

SV MySQL Backup v1.4.24

Published 14 Aug 2026 04:35

  • v1.4.24: CRITICAL FIX — custom-target restore safety. Dumps made with --databases embed CREATE DATABASE/USE statements pointing at the ORIGINAL database. Restoring to a different target database redirected the import into the ORIGINAL database, wiping it and leaving the target empty. RestoreService now strips CREATE DATABASE and USE statements from the dump stream when a custom target is selected, so every statement applies to the target named on the CLI.

SV MySQL Backup v1.4.23

Published 04 Aug 2026 20:00

  • v1.4.23: S3 multipart upload support. Files over 100 MB are now split into 50 MB parts and uploaded via S3 multipart API — essential for Backblaze B2 (5 GB single-PUT limit) and any S3 destination with large backups. Includes: auto-initiate, part upload with 3 retries + backoff, XML-based completion, abort-on-failure cleanup. Files up to 100 MB still use single PUT for speed. Also fixed signedS3Request to handle query parameters correctly for multipart operations.

SV MySQL Backup v1.4.22

Published 03 Aug 2026 19:09

  • v1.4.22: Auto-repair crashed MySQL tables during backup. When mysqldump fails because a table is marked

SV MySQL Backup v1.4.21

Published 03 Aug 2026 18:52

  • v1.4.21: Fix all shell scripts — changed #!/usr/bin/env bash to #!/bin/bash. Imunify360 and other security tools can strip execute permissions from /usr/bin/env, which breaks manage-cron.sh (cron schedule updates), start-server.sh (service), install.sh, and apply-update.sh. Also updated SystemService installer validation to accept both shebang forms.

SV MySQL Backup v1.4.20

Published 03 Aug 2026 13:29

  • v1.4.20: Add Stop Backup button. When a backup is running, a Stop

SV MySQL Backup v1.4.19

Published 28 Jul 2026 20:20

  • v1.4.19: Expose real backup failure reasons in UI and email. Fixed: (1) Email now includes actual error message from backup output for failed DBs (e.g. disk full, permission denied). (2) UI adds Details button on failed rows to expand/collapse the real error. (3) DB write operations wrapped in try-catch to survive disk-full scenarios and log to stderr/journald. (4) CSS styling for error detail panel.

SV MySQL Backup v1.4.18

Published 22 Jul 2026 20:35

  • v1.4.18: Fix fresh Ubuntu 22.04 install - MySQL 8.0 auth_socket compatibility. Installer now creates svmb_backup user for both localhost (socket) AND 127.0.0.1 (TCP), and uses 127.0.0.1 in profile when no socket detected. No more no

SV MySQL Backup v1.4.17

Published 22 Jul 2026 19:56

  • v1.4.17: Fix MySQL Monitor cron write - delegates to manage-cron.sh via sudo instead of direct filesystem write (app runs as non-root). Added monitor-enable/monitor-disable actions to manage-cron.sh.

SV MySQL Backup v1.4.16

Published 22 Jul 2026 16:58

  • v1.4.16: New MySQL Monitor panel - auto-detect MySQL service stops and restart via cron. Watches systemd mysql service every minute. Blocks on cPanel servers (cPanel manages MySQL internally).

SV MySQL Backup v1.4.15

Published 21 Jul 2026 09:19

  • v1.4.15: Fix phpMyAdmin password change for passwords containing # (treated as comment in MySQL option files). Now passes password via MYSQL_PWD env var instead of defaults file.

SV MySQL Backup v1.4.14

Published 21 Jul 2026 08:37

  • v1.4.14: Fix phpMyAdmin password change - now connects as root directly (with current password) to execute ALTER USER, avoiding SYSTEM_USER privilege error when app uses non-root MySQL profile.

SV MySQL Backup v1.4.13

Published 21 Jul 2026 08:30

  • v1.4.13: New phpMyAdmin Password panel - change MySQL root@localhost password from app UI. Auto-updates app MySQL profile if it connects as root. Built for hack recovery scenarios.

SV MySQL Backup v1.4.12

Published 15 Jul 2026 19:59

  • v1.4.12: Fix remote backup deletion - treat FTP 550 as idempotent success, always clean local records regardless of remote state, auto-remove empty date folders after all files deleted.

SV MySQL Backup v1.4.11

Published 15 Jul 2026 19:23

  • v1.4.11: Critical fix - grep -c pattern starting with -- treated as option by shell, causing false footer-marker failures on every backup. Added -e flag to grep commands in inspectDumpArtifact.

SV MySQL Backup v1.4.10

Published 15 Jul 2026 14:07

  • v1.4.10: Full multi-PHP release (7.4/8.1/8.2/8.3) - fix all 11 audit bugs including remote cleanup, FTPS fallback, 1MB test probe, dump_verified column, shell integrity check, stderr error detection, gzip error detail, clean restore, parameterised SQL, mtime cleanup.

SV MySQL Backup v1.4.8

Published 15 Jul 2026 12:49

  • v1.4.8: FTPS data-channel TLS fallback: auto-retry with control-channel-only TLS when storage providers (Hetzner Storage Box) reject full FTPS uploads with 550 after data transfer completes.

SV MySQL Backup v1.4.7

Published 15 Jul 2026 11:44

  • v1.4.7: Backup/restore hardening: dump integrity checks, restore eligibility enforcement, UI restore guardrails, and restore pipeline safety.

SV MySQL Backup v1.4.6

Published 15 Jul 2026 08:29

  • v1.4.6: Prevent partial mysqldump backups being marked completed by using pipefail and explicit mysqldump error detection

SV MySQL Backup v1.4.5

Published 15 Jul 2026 08:11

  • v1.4.5: Fix remote restore download writing to STDOUT by forcing curl write callback to local artifact file
  • keeps EPSV/PASV fallback

SV MySQL Backup v1.4.4

Published 15 Jul 2026 07:58

  • v1.4.4: Fix remote restore download by adding FTP EPSV->PASV fallback and handling valid status_code=0 transfers

SV MySQL Backup v1.4.3

Published 15 Jul 2026 07:46

  • v1.4.3: Enable CURLOPT_FTP_USE_EPSV for better FTP passive-mode NAT traversal on downloads

SV MySQL Backup v1.4.2

Published 15 Jul 2026 07:30

  • v1.4.2: Add download transfer verification — check CURLINFO_SIZE_DOWNLOAD after FTP download
  • reject 0-byte downloads with clear error about blocked data connection

SV MySQL Backup v1.4.1

Published 15 Jul 2026 07:14

  • v1.4.1: Verify upload actually transferred bytes (CURLINFO_SIZE_UPLOAD)
  • reject uploads with 0 bytes transferred
  • check local file is non-empty before upload
  • specific error when FTP data connection is blocked

SV MySQL Backup v1.4.0

Published 15 Jul 2026 07:07

  • v1.4.0: Restore error messages now show specific reasons (e.g. download failed: Access denied 530) instead of generic message
  • create tmp dir before downloading artifact

SV MySQL Backup v1.3.9

Published 15 Jul 2026 06:51

  • v1.3.9: Fix restore - record failed attempts in restore_runs table (was silently returning without DB record)
  • fix UI showing success class for failed restores

SV MySQL Backup v1.3.8

Published 10 Jul 2026 20:15

  • v1.3.8: Fix getcwd error - CommandRunner now runs all subprocesses from / to prevent mysql/mysqldump failures when app directory is deleted during updates

SV MySQL Backup v1.3.7

Published 08 Jul 2026 20:22

  • v1.3.7: After retry succeeds auto-delete the old failed row
  • 500ms delay before reload to ensure DB write is flushed
  • new successful backup appears at top of list

SV MySQL Backup v1.3.6

Published 08 Jul 2026 20:15

  • v1.3.6: Checkbox selection on backup rows
  • Retry Selected button for bulk retry of failed backups
  • Bulk Delete uses checkbox selection directly
  • Failed only filter toggle
  • deleteByIds API endpoint

SV MySQL Backup v1.3.5

Published 08 Jul 2026 19:59

  • v1.3.5: Fix sortable headers — add missing id=backupTable on table element (selector #backupTable thead was matching nothing)

SV MySQL Backup v1.3.4

Published 08 Jul 2026 19:41

  • v1.3.4: Retry button on failed backup rows
  • sortable backup table headers (ID Created Database Status Size) with asc/desc arrow indicators

SV MySQL Backup v1.3.3

Published 08 Jul 2026 19:29

  • v1.3.3: CRITICAL — fix broken in-app update
  • removed buggy verification wrapper (file_put_contents was missing)
  • back to simple direct apply-update.sh approach that worked reliably before v1.2.98
  • all servers must CLI update once to bridge

SV MySQL Backup v1.3.2

Published 08 Jul 2026 19:25

  • v1.3.2: Increase history API default limit from 500 to 3000 records
  • chunk upload batch queries to stay under SQLite 999 variable limit
  • fixes GUI showing only 1-2 days when 300+ databases are backed up daily

SV MySQL Backup v1.3.1

Published 05 Jul 2026 11:14

  • v1.3.1: CRITICAL FIX — file_put_contents was missing, verification script never written to disk
  • update appeared to succeed but did nothing
  • rewrite verification script with proper logging to /var/log/sv-mysql-backup-update.log
  • remove set -e for fault tolerance

SV MySQL Backup v1.3.0

Published 30 Jun 2026 15:55

  • v1.3.0: Modal dialogs no longer close on backdrop click or Escape key — destination and schedule modals only close via explicit Close/Cancel button clicks

SV MySQL Backup v1.2.99

Published 27 Jun 2026 21:05

  • v1.2.99: Fix TLS service staying dead after main service restart — Restart=always with StartLimit crash-loop protection instead of Restart=on-failure which does not restart on clean stops

SV MySQL Backup v1.2.98

Published 25 Jun 2026 18:40

  • v1.2.98: Self-healing update with backup+verify+rollback
  • validate installer is a real shell script before running
  • tar backup of current version
  • post-update VERSION check
  • auto-rollback if version did not change
  • add test-update.sh dry-run script

SV MySQL Backup v1.2.97

Published 25 Jun 2026 18:16

  • v1.2.97: Double cd / fix - both runUpdate() PHP method and portal wrapper script now cd to / before running installer to prevent tar getcwd crash on in-app updates from any version

SV MySQL Backup v1.2.96

Published 25 Jun 2026 18:04

  • v1.2.96: Fix in-app update getcwd crash - apply-update.sh now cd to / before launching installer to prevent tar from failing when app directory is deleted mid-update

SV MySQL Backup v1.2.95

Published 25 Jun 2026 17:59

  • v1.2.95: Preserve existing MySQL profile during updates - skip re-provisioning entirely when a working profile exists

SV MySQL Backup v1.2.94

Published 25 Jun 2026 17:41

  • v1.2.94: Persist timezone to env file (SVMB_TIMEZONE) on save so app picks it up on next request
  • previously only applied via timedatectl but detectTimezone() was reading stale file values

SV MySQL Backup v1.2.93

Published 25 Jun 2026 15:26

  • v1.2.93: Test bump — verify in-app update mechanism end-to-end

SV MySQL Backup v1.2.92

Published 25 Jun 2026 15:23

  • v1.2.92: Fix in-app update download — use curl instead of file_get_contents() which fails when allow_url_fopen is disabled (common on cPanel)
  • include HTTP status and curl error in failure message

SV MySQL Backup v1.2.91

Published 25 Jun 2026 14:48

  • v1.2.91: Limit backup history API to 500 records (was unlimited — 2740 rows × N+1 queries caused memory/timeout)
  • batch-load uploads with single JOIN instead of one query per backup row

SV MySQL Backup v1.2.90

Published 25 Jun 2026 13:23

  • v1.2.90: Move update temp files to /var/tmp (CSF-safe)
  • implement performAutoUpdate() for cron-driven auto-update
  • use apply-update.sh sudo helper for in-app updates
  • add apply-update.sh to sudoers and installer chmod

SV MySQL Backup v1.2.89

Published 25 Jun 2026 03:06

  • v1.2.89: Fix cron service name — Ubuntu/Debian use cron not crond
  • detect correct service name in both ApiController (timezone save) and install.sh (sudoers rule)

SV MySQL Backup v1.2.88

Published 25 Jun 2026 02:54

  • v1.2.88: Add timezone dropdown in Settings (changes system time via timedatectl + restarts crond)
  • add update check/install section in License panel
  • add auto-update toggle with daily/weekly schedule in License panel
  • add timedatectl to sudoers for timezone changes

SV MySQL Backup v1.2.87

Published 25 Jun 2026 02:44

  • v1.2.87: Move retention cleanup BEFORE backup loop so old files are purged before space check runs
  • improve low-disk-space error message with backup directory path and actionable advice
  • log when local artifact is auto-deleted after successful upload

SV MySQL Backup v1.2.86

Published 24 Jun 2026 15:31

  • v1.2.86: Fix FTP destination bug — CURLOPT_PROTOCOLS was restricted to CURLPROTO_FTPS only, rejecting the ftp:// URL that curlRemoteUrl() constructs
  • now allows both FTP+FTPS while TLS upgrade is enforced via CURLOPT_USE_SSL

SV MySQL Backup v1.2.85

Published 24 Jun 2026 15:13

  • v1.2.85: Add curl FTP protocol availability check during install — warn if FTP is missing from libcurl (common on ondrej PPA builds)
  • suggest reinstall command and note SFTP/S3 are unaffected

SV MySQL Backup v1.2.84

Published 24 Jun 2026 14:57

  • v1.2.84: Fix stunnel config — remove illegal NO_TLSv1/NO_TLSv1.1 options incompatible with stunnel 5.63 + OpenSSL 3.0
  • sslVersion=TLSv1.2 already enforces protocol

SV MySQL Backup v1.2.83

Published 24 Jun 2026 14:46

  • v1.2.83: Fix php-sqlite3/php-curl package installation on ondrej PPA — use version-specific packages (php8.1-sqlite3) instead of generic meta-packages that resolve to wrong PHP version

SV MySQL Backup v1.2.82

Published 24 Jun 2026 14:38

  • v1.2.82: Detect alternative PHP versions on system when ionCube Loader is incompatible
  • provide specific update-alternatives commands to switch
  • auto-recovery for preflight crashes
  • verify Loader .so matches PHP version

SV MySQL Backup v1.2.81

Published 24 Jun 2026 13:46

  • v1.2.81: Auto-recovery when ionCube Loader crashes on decode — retry with opcache.enable_cli=0 and persist the fix
  • verify loaded Loader .so matches PHP version
  • attempt fresh Loader download from ioncube.com when existing Loader crashes
  • improved crash diagnostics in handle_init_failure

SV MySQL Backup v1.2.80

Published 24 Jun 2026 13:35

  • v1.2.80: Fix Ubuntu install segfault with ionCube pre-flight check
  • add missing PHP extension checks (openssl, pdo_mysql, json, mbstring)
  • improve init-app.php error handling with signal detection and diagnostics
  • fix manage-cron.sh CRON_TZ revert syntax

SV MySQL Backup v1.2.79

Published 23 Jun 2026 20:19

  • Automated package publish

SV MySQL Backup v1.2.78

Published 23 Jun 2026 20:09

  • Automated package publish

SV MySQL Backup v1.2.77

Published 23 Jun 2026 20:03

  • Automated package publish

SV MySQL Backup v1.2.76

Published 23 Jun 2026 19:53

  • Automated package publish

SV MySQL Backup v1.2.75

Published 23 Jun 2026 19:42

  • Automated package publish

SV MySQL Backup v1.2.74

Published 23 Jun 2026 19:36

  • Automated package publish

SV MySQL Backup v1.2.73

Published 23 Jun 2026 19:27

  • Automated package publish

SV MySQL Backup v1.2.72

Published 23 Jun 2026 18:51

  • Automated package publish

SV MySQL Backup v1.2.71

Published 23 Jun 2026 18:35

  • Automated package publish

SV MySQL Backup v1.2.70

Published 23 Jun 2026 18:27

  • Automated package publish

SV MySQL Backup v1.2.69

Published 23 Jun 2026 18:25

  • Automated package publish

SV MySQL Backup v1.2.68

Published 23 Jun 2026 18:23

  • Automated package publish

SV MySQL Backup v1.2.67

Published 23 Jun 2026 18:21

  • Automated package publish

SV MySQL Backup v1.2.66

Published 23 Jun 2026 18:15

  • Automated package publish

SV MySQL Backup v1.2.65

Published 23 Jun 2026 18:10

  • Automated package publish

SV MySQL Backup v1.2.64

Published 23 Jun 2026 18:08

  • Automated package publish

SV MySQL Backup v1.2.63

Published 23 Jun 2026 18:06

  • Automated package publish

SV MySQL Backup v1.2.62

Published 23 Jun 2026 18:01

  • Automated package publish

SV MySQL Backup v1.2.61

Published 23 Jun 2026 17:58

  • Automated package publish

SV MySQL Backup v1.2.60

Published 23 Jun 2026 17:56

  • Automated package publish

SV MySQL Backup v1.2.59

Published 23 Jun 2026 17:54

  • Automated package publish

SV MySQL Backup v1.2.58

Published 23 Jun 2026 17:52

  • Automated package publish

SV MySQL Backup v1.2.57

Published 23 Jun 2026 17:50

  • Automated package publish

SV MySQL Backup v1.2.56

Published 23 Jun 2026 17:49

  • Automated package publish

SV MySQL Backup v1.2.55

Published 23 Jun 2026 17:45

  • Automated package publish

SV MySQL Backup v1.2.54

Published 23 Jun 2026 17:37

  • Automated package publish

SV MySQL Backup v1.2.53

Published 23 Jun 2026 17:35

  • Automated package publish

SV MySQL Backup v1.2.52

Published 23 Jun 2026 17:28

  • Automated package publish

SV MySQL Backup v1.2.51

Published 23 Jun 2026 17:24

  • Automated package publish

SV MySQL Backup v1.2.50

Published 23 Jun 2026 17:19

  • Automated package publish

SV MySQL Backup v1.2.49

Published 23 Jun 2026 16:52

  • Automated package publish

SV MySQL Backup v1.2.48

Published 23 Jun 2026 16:47

  • Automated package publish

SV MySQL Backup v1.2.47

Published 23 Jun 2026 16:39

  • Automated package publish

SV MySQL Backup v1.2.46

Published 23 Jun 2026 16:36

  • Automated package publish

SV MySQL Backup v1.2.45

Published 23 Jun 2026 16:18

  • Automated package publish

SV MySQL Backup v1.2.44

Published 23 Jun 2026 16:18

  • Automated package publish

SV MySQL Backup v1.2.43

Published 23 Jun 2026 16:11

  • Automated package publish

SV MySQL Backup v1.2.42

Published 23 Jun 2026 15:52

  • Automated package publish

SV MySQL Backup v1.2.41

Published 23 Jun 2026 15:48

  • Automated package publish

SV MySQL Backup v1.2.40

Published 23 Jun 2026 15:30

  • Automated package publish

SV MySQL Backup v1.2.39

Published 23 Jun 2026 15:16

  • Automated package publish

SV MySQL Backup v1.2.38

Published 23 Jun 2026 15:09

  • Automated package publish

SV MySQL Backup v1.2.37

Published 23 Jun 2026 15:06

  • Automated package publish

SV MySQL Backup v1.2.36

Published 23 Jun 2026 14:59

  • Automated package publish

SV MySQL Backup v1.2.35

Published 23 Jun 2026 14:56

  • Automated package publish

SV MySQL Backup v1.2.34

Published 23 Jun 2026 14:30

  • Automated package publish

SV MySQL Backup v1.2.33

Published 23 Jun 2026 14:28

  • Automated package publish

SV MySQL Backup v1.2.32

Published 23 Jun 2026 14:06

  • Automated package publish

SV MySQL Backup v1.2.31

Published 22 Jun 2026 17:19

  • Automated package publish

SV MySQL Backup v1.2.30

Published 22 Jun 2026 16:52

  • Automated package publish

SV MySQL Backup v1.2.29

Published 03 Jun 2026 15:59

  • v1.2.29: Fix backup download filename in Edge browser - simplified Content-Disposition, removed empty download attribute

SV MySQL Backup v1.2.28

Published 03 Jun 2026 15:05

  • v1.2.28: App update & auto-update feature on license page

SV MySQL Backup v1.2.27

Published 03 Jun 2026 13:46

  • v1.2.27: After remote file deletion also remove the now-empty parent timestamp directory

SV MySQL Backup v1.2.26

Published 03 Jun 2026 13:35

  • v1.2.26: Fix remote delete timeout, always clean up local files even when remote delete fails, add checkbox multi-select delete

SV MySQL Backup v1.2.25

Published 03 Jun 2026 13:19

  • v1.2.25: Fix misleading upload target label, add upload mode help text

SV MySQL Backup v1.2.24

Published 03 Jun 2026 11:54

  • v1.2.24: Fix FTP protocol support for Hetzner Storage Box, fix destination form closing on backdrop click, improve path prefix field UX

SV MySQL Backup v1.2.23

Published 03 Jun 2026 11:13

  • v1.2.23: Fix CSRF token validation when accessing GUI via plain HTTP (session cookies now work without HTTPS)

SV MySQL Backup v1.2.22

Published 03 Jun 2026 11:06

  • v1.2.22: Fix installer to bind on 0.0.0.0 by default (remote reachability), suppress production-mode banner

SV MySQL Backup v1.2.21

Published 20 May 2026 07:48

  • v1.2.21: Improve installer firewall rule creation for CSF, UFW, firewalld, and iptables during non-interactive installs

SV MySQL Backup v1.2.20

Published 08 May 2026 09:47

  • v1.2.20: Fix UI freeze and timeout during large bulk deletion by employing a chunked processing loop

SV MySQL Backup v1.2.19

Published 08 May 2026 09:24

  • v1.2.19: Fix systemd TLS service dependency and StartLimit validation warning

SV MySQL Backup v1.2.18

Published 05 May 2026 12:21

  • v1.2.18: Automated package publish

SV MySQL Backup v1.2.17

Published 05 May 2026 12:15

  • v1.2.17: Automated package publish

SV MySQL Backup v1.2.16

Published 05 May 2026 11:43

  • v1.2.16: Automated package publish

SV MySQL Backup v1.2.15

Published 05 May 2026 11:25

  • v1.2.15: Automated package publish

SV MySQL Backup v1.2.14

Published 05 May 2026 11:12

  • v1.2.14: Automated package publish

SV MySQL Backup v1.2.13

Published 05 May 2026 10:57

  • v1.2.13: Automated package publish

SV MySQL Backup v1.2.12

Published 05 May 2026 10:45

  • v1.2.12: Automated package publish

SV MySQL Backup v1.2.11

Published 04 May 2026 20:00

  • v1.2.11: Fix uninstaller permissions and proxy complete uninstall verification via PHP cURL for cross-distribution strict firewall compatibility

SV MySQL Backup v1.2.10

Published 04 May 2026 18:42

  • v1.2.10: Fix PHP-CLI pathing for scripts running under sudo and crontab contexts in restricted environments like cPanel

SV MySQL Backup v1.2.8

Published 04 May 2026 18:31

  • v1.2.8: Fix strict sudoers path matching and execution string for uninstallation

SV MySQL Backup v1.2.6

Published 04 May 2026 18:20

  • v1.2.6: Update installer UX and fix licensing login link

SV MySQL Backup v1.2.4

Published 02 May 2026 11:11

  • v1.2.3: Remote uploads now grouped into a single datetime-stamped folder per run
  • all databases in one backup run share the same timestamp folder on the remote destination

SV MySQL Backup v1.1.3

Published 28 Apr 2026 12:19

  • v1.1.3: backup directory error messages now include the offending path and the recommended default so misconfigurations are easy to diagnose.

SV MySQL Backup v1.1.2

Published 28 Apr 2026 10:51

  • v1.1.2: new Log retention days setting (default 7, 0 = forever) prunes old backup_runs and restore_runs entries automatically after each backup so the Backup History list stops growing forever. Configurable from Settings.

SV MySQL Backup v1.1.1

Published 28 Apr 2026 10:40

  • v1.1.1: scheduler hotfix - manage-cron.sh now probes for a real PHP CLI binary (skipping php-cgi which lacks -r support) so cron writes succeed on cPanel hosts. Also fixes Array-to-string PHP warning during legacy schedule migration.

SV MySQL Backup v1.1.0

Published 28 Apr 2026 10:29

  • v1.1.0: multiple automated backup schedules. New schedule registry UI with Add/Edit/Toggle/Delete (limit 20). Each schedule has its own name, cron expression, database scope, and notes
  • cron file is rewritten atomically with one line per enabled schedule via the privileged sudo helper. New REST endpoints: GET/POST /api/schedules, GET/PUT/DELETE /api/schedules/{id}, POST /api/schedules/{id}/toggle, POST /api/schedules/preview. Backup runner records last_run_at and last_status per schedule via --schedule-id. Legacy single-schedule settings are auto-migrated on first boot
  • legacy /api/schedule alias retained for one release.

SV MySQL Backup v1.0.25

Published 28 Apr 2026 09:10

  • v1.0.25: scheduler human-readable summary now displays the cron time verbatim instead of mis-converting through UTC (fixes Daily at 8:05 PM appearing for a 14:35 schedule on IST hosts).

SV MySQL Backup v1.0.24

Published 28 Apr 2026 08:54

  • v1.0.24: fix intermittent installer step 1 failure (PHP extension X is required) caused by set -o pipefail + grep -q closing the pipe and killing PHP with SIGPIPE
  • php_has_extension() now uses extension_loaded() directly.

SV MySQL Backup v1.0.23

Published 28 Apr 2026 08:42

  • v1.0.23: fix scheduler Unable to write cron schedule — systemd unit now allows /etc/cron.d as ReadWriteDirectories so the sudo cron helper can write under ProtectSystem=full
  • uses legacy directive name for systemd 219 (CentOS 7) compatibility.

SV MySQL Backup v1.0.22

Published 28 Apr 2026 08:28

  • v1.0.22: critical router hardening (deny direct exec of /bin/*.php and exposure of /src, /install.sh, /systemd, etc.)
  • CLI-only guards on bin/*.php
  • systemd unit drops root to svmysqlbackup with sandbox (PrivateTmp, ProtectHome, ProtectSystem=full)
  • UninstallService portal call now TLS-pinned with bounded retry
  • auth token no longer mirrored to localStorage
  • S3/FTPS/SFTP TLS pinning + optional SFTP host-key fingerprint
  • display_errors disabled in HTTP responses
  • session save_path moved into storage tree.

SV MySQL Backup v1.0.21

Published 28 Apr 2026 07:09

  • v1.0.21: Imunify360 detection and integration. Multi-signal detection (agent CLI + version + systemd unit + config dirs + package db) avoids false +/-. Auto-adds /opt/sv-mysql-backup and /var/lib/sv-mysql-backup to malware-scan ignore list when agent is present. Validates each firewall rule after creation by re-reading csf.conf TCP_IN, ufw status, firewall-cmd --list-ports and iptables -S. New structured installer audit log (svmb-installer event=firewall-open/close/validate-ok/validate-failed/imunify-detected/imunify-malware-ignore-added) written to install log and journald via logger. Failures never abort the installer
  • warns + logs and continues. New Imunify360 line in install summary.

SV MySQL Backup v1.0.20

Published 28 Apr 2026 06:54

  • v1.0.20: HTTPS-only posture. PHP backend now binds to 127.0.0.1 only (was 0.0.0.0)
  • external clients reach the GUI strictly through stunnel TLS on 9468. Installer closes the legacy plaintext port 9467 on CSF/UFW/firewalld during upgrades. HSTS, X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy no-referrer, Permissions-Policy lockdown sent on every HTTP response. Auth/session cookies forced Secure when fronted by TLS terminator (SVMB_TLS_TERMINATED=1, default). New deploy/FIREWALL.md and deploy/redirect-http-to-https.conf with Imunify360 compatibility notes.

SV MySQL Backup v1.0.19

Published 28 Apr 2026 06:44

  • v1.0.19: license validation fails CLOSED. Removed fail-open code path that returned previous valid=true cache on portal error. New retry/backoff (3 attempts, 1/2/4s+jitter), strict TLS pin (HTTPS-only, verify_peer/host), bounded offline grace (default 24h, license_offline_grace_seconds=0 to disable). Structured audit log via error_log for verify-retry/verify-grace/verify-fail-closed/verify-denied/activate-* events
  • license_key and api_token are never logged.

SV MySQL Backup v1.0.18

Published 28 Apr 2026 06:38

  • v1.0.18: production-server posture - bootstrap warns when running under PHP cli-server SAPI
  • production_mode=2 hard-refuses
  • dashboard exposes php_sapi/is_dev_server
  • deploy/ folder ships nginx-reverse-proxy.conf, nginx-php-fpm.conf, apache-php-fpm.conf templates with security headers and rate limits

SV MySQL Backup v1.0.17

Published 28 Apr 2026 06:25

  • v1.0.17: prevent email header injection (CWE-93). New MailValidator: rejects CR/LF/NUL in addresses, subjects, display names
  • FILTER_VALIDATE_EMAIL on all addresses
  • 998-octet header line cap. Wired into SmtpMailer and BackupNotificationService sendmail path. Cryptographically random Message-ID.

SV MySQL Backup v1.0.16

Published 28 Apr 2026 06:14

  • v1.0.16: harden uninstall endpoints (rate-limit /api/uninstall/request-code on uninstall throttle scope, structured audit log of all uninstall attempts to system log via error_log
  • 6-digit code never logged)

SV MySQL Backup v1.0.15

Published 28 Apr 2026 05:20

  • v1.0.15: enforce strict TLS verification for SMTP (verify_peer + verify_peer_name)
  • pin TLSv1.2/1.3
  • auto-detect system CA bundle
  • add smtp_allow_insecure_tls/smtp_ca_bundle settings for audited opt-out
  • redact secrets from TLS error log lines

SV MySQL Backup v1.0.14

Published 28 Apr 2026 03:42

  • v1.0.14: encrypt secrets at rest (AES-256-GCM master key in /etc/sv-mysql-backup/secret.key, mode 0640)
  • mask passwords/license/access tokens in API responses
  • redact secrets from backup_runs.command_text/output_text and restore_runs.output_text

SV MySQL Backup v1.0.13

Published 28 Apr 2026 03:15

  • v1.0.13: scrollable sidebar so Logout button is reachable on small/non-maximized windows
  • remove tagline from sidebar info block

SV MySQL Backup v1.0.12

Published 28 Apr 2026 02:58

  • v1.0.12: session expiry (30min idle / 8h absolute, configurable)
  • fix Logout button cut off when sidebar overflows viewport

SV MySQL Backup v1.0.11

Published 28 Apr 2026 02:50

  • v1.0.11: brute-force protection on /api/auth/login and /api/uninstall/execute (per-IP rate limit + exponential backoff via auth_attempts table)
  • generic error message

SV MySQL Backup v1.0.10

Published 28 Apr 2026 02:16

  • v1.0.10: fix schedule apply (Request failed) - missing CommandRunner import in ScheduleService

SV MySQL Backup v1.0.9

Published 27 Apr 2026 17:51

  • v1.0.9 build 2: harden stunnel install on CentOS 7 with broken ius/remi repos

SV MySQL Backup v1.0.8

Published 27 Apr 2026 16:19

  • v1.0.8: package now ships ionCube-encoded src for PHP 7.4/8.1/8.2/8.3
  • installer auto-selects matching variant

SV MySQL Backup v1.0.7

Published 27 Apr 2026 16:10

  • v1.0.7: show install version banner
  • auto MySQL admin detection now correctly provisions service user (fixes profile field-shift bug + escapes regex quoting)
  • installer is safe to re-run in-place
  • restarts existing service to free port
  • surfaces real error messages on failure

SV MySQL Backup v1.0.6

Published 27 Apr 2026 15:34

  • v1.0.6: installer auto-detects MySQL admin auth (cPanel /root/.my.cnf, env vars, common sockets, interactive prompt) so the dedicated svmb_backup MySQL user is provisioned automatically without manual GUI configuration

SV MySQL Backup v1.0.5

Published 27 Apr 2026 13:21

  • v1.0.5: per-database sequential backup with low-space mode (delete local after upload), aggregated single email per run, new remote retention setting

SV MySQL Backup v1.0.4

Published 25 Mar 2026 11:28

  • Automated package publish

SV MySQL Backup v1.0.3

Published 24 Mar 2026 21:31

  • Added uninstall controls in the standalone app and portal client area, and require emailed verification codes during uninstall.

SV MySQL Backup v1.0.2

Published 24 Mar 2026 21:10

  • Release now ships with WHM-style yakpro-po obfuscation for the app source tree, while keeping install and runtime bootstrap files compatible. Also includes the uninstall flow improvement that attempts portal license deactivation automatically.

SV MySQL Backup v1.0.1

Published 24 Mar 2026 20:12

  • Improved uninstall flow: the uninstaller now attempts portal license deactivation automatically, clears cached local license data on success, and continues uninstall safely if the portal is unreachable.

SV MySQL Backup v1.0

Published 24 Mar 2026 17:29

  • SV MySQL Backup 1.0 production release. Standalone Linux backup app with web GUI, one-line install flow, automatic local MySQL discovery, manual backup and restore, scheduled backups, and SuperVision Portal license activation.

SV MySQL Backup v0.1.3-alpha

Published 23 Mar 2026 20:44

  • Formats license expiry date as DD/MM/YYYY in the MySQL backup app

SV MySQL Backup v0.1.2-alpha

Published 23 Mar 2026 20:35

  • Adds Expiry Date card to the MySQL backup license status panel

SV MySQL Backup v0.1.1-alpha

Published 23 Mar 2026 20:14

  • Immediate license revalidation after unsuspend
  • clears stale suspended cache in MySQL backup app

SV MySQL Backup v0.1.0-alpha

Published 21 Mar 2026 09:25

  • Automated package publish