Skip to content

Commit 86d7c69

Browse files
committed
release: bump version to v3.1.4
- Update VERSION in backupd.sh to 3.1.4 - Add v3.1.4 changelog with multi-distro support details - Update USAGE.md prerequisites (curl/wget, sha256sum, base64) - Update README.md requirements and add multi-distro feature This release adds comprehensive multi-distribution package manager support (apt, dnf, yum, pacman, apk, zypper) and wget fallback for systems without curl.
1 parent 732e32a commit 86d7c69

4 files changed

Lines changed: 52 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
---
99

10+
## [3.1.4] - 2026-01-09
11+
12+
### Added
13+
14+
- **Multi-distribution package manager support** — Automatic detection and installation of dependencies across 6 package managers
15+
- apt (Debian, Ubuntu, Mint, Pop!_OS, Kali, Raspbian)
16+
- dnf (Fedora, RHEL 8+, Rocky Linux, AlmaLinux, Amazon Linux)
17+
- yum (RHEL 7, CentOS 7, Oracle Linux)
18+
- pacman (Arch Linux, Manjaro, EndeavourOS, Artix)
19+
- apk (Alpine Linux)
20+
- zypper (openSUSE, SLES)
21+
22+
- **wget fallback support** — All HTTP operations now work with either curl or wget (BACKUPD-007)
23+
- `download_to_file()` helper with curl/wget fallback
24+
- `fetch_url()` helper with curl/wget fallback
25+
- Updated `curl_with_retry()` with wget fallback
26+
- Updated `check_network()` with wget fallback
27+
- Updated `get_latest_version()` with wget fallback
28+
29+
- **Explicit dependency checks** — Added sha256sum and base64 to required commands validation
30+
31+
### Improved
32+
33+
- **Unsupported distribution handling** — Graceful warnings with manual install instructions instead of failures (BACKUPD-005)
34+
- **Error messages** — Distro-appropriate install hints via `get_install_hint()` function (BACKUPD-006)
35+
- **bzip2 installation** — Now uses package manager abstraction for RHEL-family distros (BACKUPD-002)
36+
- **unzip installation** — Cross-distribution support via package manager abstraction (BACKUPD-004)
37+
- **argon2 installation** — Works across all 6 supported package managers (BACKUPD-003)
38+
- **systemd detection** — Improved messaging when systemd/systemctl not available
39+
40+
### Technical
41+
42+
- Added `detect_package_manager()` function with caching
43+
- Added `pkg_install()` abstraction for cross-distro package installation
44+
- Added `pkg_update()` with run-once semantics
45+
- Added `get_install_hint()` for user-friendly error messages
46+
- Removed hardcoded `apt-get` calls in favor of package manager abstraction
47+
48+
---
49+
1050
## [3.1.3] - 2026-01-09
1151

1252
### Fixed

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ This tool provides exactly that.
6262
- 🗄️ **Database Backups** — All MySQL/MariaDB databases, individually compressed and encrypted
6363
- 📁 **Web App File Backups** — Backs up any web application (WordPress, Laravel, Node.js, PHP, static sites)
6464
- 🖥️ **Multi-Panel Support** — Auto-detects Enhance, xCloud, RunCloud, Ploi, cPanel, Plesk, CloudPanel, CyberPanel, aaPanel, HestiaCP, Virtualmin
65+
- 🐧 **Multi-Distribution Support** — Works on Debian, Ubuntu, Fedora, RHEL, CentOS, Arch, Alpine, openSUSE and derivatives
6566
- 🔐 **Machine-Bound Encryption** — Credentials encrypted with AES-256, tied to your server
6667
- ☁️ **Cloud Storage** — Supports 40+ providers via rclone (S3, B2, Wasabi, Google Drive, etc.)
6768
-**Automated Scheduling** — Systemd timers with automatic retry and catch-up
@@ -100,13 +101,15 @@ curl -fsSL https://raw.githubusercontent.com/wnstify/backupd/develop/install.sh
100101

101102
| Requirement | Notes |
102103
|-------------|-------|
103-
| **OS** | Ubuntu 20.04+, Debian 10+ (or compatible) |
104+
| **OS** | Ubuntu, Debian, Fedora, RHEL, CentOS, Arch, Alpine, openSUSE (and derivatives) |
104105
| **Access** | Root or sudo |
105106
| **MySQL/MariaDB** | For database backups |
106-
| **systemd** | For scheduled backups |
107+
| **systemd** | For scheduled backups (optional, manual backups work without) |
108+
| **curl or wget** | At least one required for downloads |
107109
| **restic** | Auto-installed (backup engine with encryption + deduplication) |
108110
| **rclone** | Auto-installed (cloud storage transport) |
109111
| **argon2** | Auto-installed (modern encryption, falls back to PBKDF2 if unavailable) |
112+
| **bzip2, unzip** | Auto-installed (for extracting restic and rclone) |
110113

111114
---
112115

USAGE.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Usage Guide
22

3-
Complete usage documentation for **Backupd v3.1.3** by Backupd.
3+
Complete usage documentation for **Backupd v3.1.4** by Backupd.
44

55
> **Note:** v3.1.0 adds multi-job support for managing multiple backup configurations.
66
> v3.0.0 introduced restic as the backup engine, replacing GPG+tar+pigz.
@@ -57,13 +57,16 @@ The following will be **automatically installed** if missing:
5757
These packages are typically already available on most Linux systems:
5858
- `openssl` - credential encryption
5959
- `tar` - archive operations
60-
- `curl` - notifications
60+
- `curl` or `wget` - downloads and notifications (at least one required)
61+
- `sha256sum` - checksum verification
62+
- `base64` - encoding operations
6163

6264
### Verify prerequisites (optional)
6365

6466
```bash
6567
# Check tools (these are usually pre-installed)
66-
which openssl tar curl
68+
which openssl tar sha256sum base64
69+
which curl || which wget # At least one required
6770

6871
# After installation, verify auto-installed tools
6972
which restic rclone

backupd.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# ============================================================================
1616
set -euo pipefail
1717

18-
VERSION="3.1.3"
18+
VERSION="3.1.4"
1919
AUTHOR="Backupd"
2020
WEBSITE="https://backupd.io"
2121
INSTALL_DIR="/etc/backupd"

0 commit comments

Comments
 (0)