Skip to content

Releases: PlusOne/dbbackup

v6.50.28: Extended Test Coverage (31.5% avg)

04 Mar 19:34

Choose a tag to compare

v6.50.28: Extended Test Coverage (31.5% avg)

Added

  • 7 additional test files covering cloud URI methods, engine version helpers, native restore modes, TOC serialization edge cases, fs pure functions, progress formatters, config validation
  • Coverage improvements: engine/native 13.4%→14.2%, fs 15.5%→20.0%, progress 37.5%→40.8%, config 67.0%→69.2%, cloud 31.8%→32.7%, engine 16.3%→17.4%
  • Overall average coverage: 18.5% → 31.5% across 53 packages

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Verify Downloads

sha256sum -c SHA256SUMS

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.28/dbbackup_linux_amd64
chmod +x dbbackup_linux_amd64 && sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.28/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64 && sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.27 — Unit Test Coverage Expansion

04 Mar 18:51

Choose a tag to compare

Unit Test Coverage Expansion

7 new test files (1,862 lines) covering pure/deterministic functions across 5 packages:

Package Before After
notify 22% 44.2%
dedup 5.4% 23.6%
pitr 13.5% 21.3%
performance 29.3% 36.6%
wal 9.5% 11.8%

All tests pass on Go 1.24.0 and PostgreSQL 18.2.

v6.50.24: Fix pipe race condition in globals backup, Enterprise section

25 Feb 12:57

Choose a tag to compare

v6.50.24: Fix pipe race condition in globals backup, Enterprise section

Fixed

  • Pipe race condition in globals backupcmd.Wait() closes the stdout pipe; if io.ReadAll() hasn't finished reading, it crashes with read |0: file already closed. Fixed by draining the pipe completely BEFORE calling Wait(). Affected both backupGlobals (PostgreSQL/pg_dumpall) and backupMySQLGlobals (mysqldump). Triggered on mysql01 where mysqldump exits quickly due to LOCK TABLES warning on ejabberd database.

Added

  • Enterprise & Consulting section in README — UUXO background, service offerings (backup strategy, DR planning, deployment, support contracts, training), contact info

Changed

  • License section clarified — Apache 2.0, explicitly free for everyone including enterprises

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Verify Downloads

sha256sum -c SHA256SUMS

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.24/dbbackup_linux_amd64
chmod +x dbbackup_linux_amd64 && sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.24/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64 && sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.23: SFTP cloud storage backend

25 Feb 11:37

Choose a tag to compare

v6.50.23: SFTP cloud storage backend

Added

  • internal/cloud/sftp.go (NEW) — SFTPBackend implementing cloud.Backend interface for remote backup-to-server via SSH/SFTP
    • Upload() — Streaming upload with auto-mkdir on remote, retry, bandwidth throttling, progress tracking
    • Download() — Streaming download with context cancellation, bandwidth throttling
    • List()sftp.ReadDir() with prefix filtering, skips directories
    • Delete()sftp.Remove() with path prefix
    • Exists() / GetSize()sftp.Stat() with os.IsNotExist() handling
    • Lazy SSH+SFTP connection (first operation triggers connect)
    • SSH auth chain: explicit key → default keys (~/.ssh/id_ed25519, id_rsa, id_ecdsa) → password
    • Host key verification via known_hosts or --sftp-insecure to skip
  • internal/cloud/sftp_test.go (NEW) — Unit tests: validation, buildFilePath, parseSFTPEndpoint, buildSSHAuthMethods, buildHostKeyCallback
  • CLI flags: --sftp-key (DBBACKUP_SFTP_KEY), --sftp-key-passphrase, --sftp-password, --sftp-known-hosts, --sftp-insecure on all cloud commands
  • URI schema: sftp://user@host:port/path (e.g., sftp://backup@nas.local/mnt/backups)
  • Config persistence: sftp_key, sftp_key_passphrase, sftp_password, sftp_known_hosts, sftp_insecure in [cloud] section of .dbbackup.conf

Changed

  • internal/cloud/interface.go — Added SFTPKeyPath, SFTPKeyPassphrase, SFTPPassword, SFTPKnownHostsPath, SFTPInsecure to Config; "sftp" case in NewBackend() factory; Validate() skips bucket requirement for sftp provider
  • internal/cloud/uri.gosftp:// in validProviders, IsCloudURI(), SFTP-specific parsing (user@host:port from URI userinfo+host, path as prefix)
  • internal/config/config.go — Added CloudSFTP* fields
  • internal/config/persist.goLocalConfig extended, load/save/apply for SFTP fields
  • cmd/cloud.go — SFTP flags, getCloudBackend() wiring, bucket validation skip for sftp
  • internal/backup/engine.gouploadToCloud() now passes HMAC and SFTP config fields to cloud.Config (was missing for both)

Notes

  • 7th cloud provider — purely additive, no breaking changes to existing S3/MinIO/B2/Azure/GCS/HMAC backends
  • Only requires SSH credentials — no S3/NFS/SMB infrastructure needed
  • Dependency added: github.com/pkg/sftp v1.13.10 (uses existing golang.org/x/crypto/ssh)

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Verify Downloads

sha256sum -c SHA256SUMS

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.23/dbbackup_linux_amd64
chmod +x dbbackup_linux_amd64 && sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.23/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64 && sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.22: Systemd catalog fix, Prometheus exporter fix, docs overhaul

25 Feb 10:37

Choose a tag to compare

v6.50.22: Systemd catalog fix, Prometheus exporter fix, docs overhaul

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Verify Downloads

sha256sum -c SHA256SUMS

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.22/dbbackup_linux_amd64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.22/SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing
chmod +x dbbackup_linux_amd64
sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.22/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64
sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.21: HMAC file server backend (Phase 1) — self-hosted cloud storage with HMAC-SHA256 auth

24 Feb 19:55

Choose a tag to compare

v6.50.21: HMAC file server backend (Phase 1) — self-hosted cloud storage with HMAC-SHA256 auth

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.21/dbbackup_linux_amd64
chmod +x dbbackup_linux_amd64
sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.21/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64
sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.20: Test coverage sprint: 155 new unit tests for database, backup, restore packages

24 Feb 19:36

Choose a tag to compare

v6.50.20: Test coverage sprint: 155 new unit tests for database, backup, restore packages

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.20/dbbackup_linux_amd64
chmod +x dbbackup_linux_amd64
sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.20/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64
sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.19: Tool validation consolidation, --engine flag, legacy cleanup

24 Feb 19:04

Choose a tag to compare

v6.50.19: Tool validation consolidation, --engine flag, legacy cleanup

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.19/dbbackup_linux_amd64
chmod +x dbbackup_linux_amd64
sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.19/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64
sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.18: MySQL PITR binlog filtering, pitr mysql-restore command, performance benchmarks

24 Feb 18:29

Choose a tag to compare

v6.50.18: MySQL PITR binlog filtering, pitr mysql-restore command, performance benchmarks

Downloads

Platform Architecture Binary
Linux x86_64 (Intel/AMD) dbbackup_linux_amd64
Linux x86_64 AVX2-optimized (2015+ CPU) dbbackup_linux_amd64_v3
Linux ARM64 dbbackup_linux_arm64
Linux ARMv7 dbbackup_linux_arm_armv7
macOS Intel dbbackup_darwin_amd64
macOS Apple Silicon (M1/M2) dbbackup_darwin_arm64

Installation

# Linux x86_64
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.18/dbbackup_linux_amd64
chmod +x dbbackup_linux_amd64
sudo mv dbbackup_linux_amd64 /usr/local/bin/dbbackup

# macOS Apple Silicon
curl -LO https://github.com/PlusOne/dbbackup/releases/download/v6.50.18/dbbackup_darwin_arm64
chmod +x dbbackup_darwin_arm64
sudo mv dbbackup_darwin_arm64 /usr/local/bin/dbbackup

v6.50.17: Refactor engine.go — split into 7 focused modules

24 Feb 15:04

Choose a tag to compare

Split internal/restore/engine.go (3,855 lines) into 7 focused files. Purely organizational refactoring — no functional changes, no renamed functions, no signature changes. Test coverage unchanged at 20.1%.

New files:

  • engine_util.go — Utility functions
  • engine_exec.go — Command execution, decompression pipeline
  • engine_tuning.go — PostgreSQL server tuning
  • engine_mysql.go — MySQL restore methods
  • engine_postgresql.go — PostgreSQL restore methods
  • engine_cluster.go — Cluster restore, globals, metadata