ProxSave v0.13.4
🧰 More granular collectors, clearer end-of-run summaries, and safer restore UX refinements
This release tightens operational clarity and configurability across backup and restore workflows. It adds issue capture with end-of-run summaries, introduces finer PBS collection toggles with clearer logging, improves PVE manifest/cluster handling, prunes deprecated env keys during upgrades, and refines restore interaction and network rollback UX for more reliable operation on constrained terminals (IPMI/serial). It also improves notifier ergonomics with automatic email recipient detection and bumps the Go toolchain.
- End-of-run issue capture and summary reporting:
- Logger now captures WARNING/ERROR/CRITICAL lines as sanitized single-line “issue entries” for later reporting.
- Added thread-safe accessors for warning/error counts and collected issue lines.
- Final-run summaries can now print the captured issue lines to surface root causes quickly.
- Granular PBS collection toggles + clearer logs:
- Added fine-grained PBS flags to independently enable/disable subcomponents (S3 endpoints, node config, ACME accounts/plugins, metric servers, traffic control, PBS network config).
- Collector/orchestrator logic now respects these flags (exclude files, skip commands/snapshots when disabled), with clearer per-file status messages via disable hints.
- Updated docs, tests, and env templates to reflect the new options.
- Improved PVE manifest logging and cluster handling:
populatePVEManifestnow always initializes the manifest and uses structured logging options for consistent, descriptive output.- Better “not found” accounting and richer record descriptions (including disable hints) for PVE config items.
- Refined cluster logic to separate BACKUP_CLUSTER_CONFIG gating from node/cluster-specific actions; improved copy/skip logging and tuned log levels for firewall, VZDump, and Ceph detection.
- Added a template note explaining that enabled-but-unconfigured features may emit warnings and can be disabled via
BACKUP_*flags.
- Config/upgrade cleanup: prune deprecated keys and fully populate results:
- Removed
BASE_DIRandCRON_*from generatedbackup.env(BASE_DIR is auto-detected; cron is managed via crontab). - Config upgrade now prunes deprecated keys (
BASE_DIR,CRON_SCHEDULE,CRON_HOUR,CRON_MINUTE), emits a warning, and avoids rewriting unless missing keys were added or deprecated lines were removed. - Even when no content changes occur,
UpgradeResultis now fully populated (MissingKeys, ExtraKeys, CaseConflictKeys, PreservedValues, Warnings) for consistent caller behavior.
- Removed
- Network parsing and rollback UI improvements:
- Network snapshot IP extraction now robustly returns the primary address with CIDR, handles whitespace/tokenization safely, and prefers IPv4 when available (with unit tests for IPv4/IPv6/CIDR and missing snapshots).
- Added
suppressPVEChecksfor cluster restores to skip PVE-specific health checks and adjust network health options. - Restore UI messaging improved with observed/original IP context and reconnect-host guidance.
applyNetworkWithRollbackWithUInow returns a constructedNetworkApplyNotCommittedErrorfor richer downstream reporting.
- Prompt UX reliability on constrained terminals:
- Removed live-updating countdown prompts in CLI/TUI and replaced them with a single-line deadline display (HH:MM:SS + total seconds).
- Simplified input handling to use
ReadLineWithContextdirectly, avoiding carriage-return update issues on IPMI/serial consoles while preserving timeout/cancel behavior.
- Email notifier: recipient auto-detection:
- Implemented automatic recipient discovery for
root@pamacross Proxmox platforms:- Try
pveshfirst, fall back topveum/proxmox-backup-manager, and finally parseuser.cfgfrom PVE/PBS locations.
- Try
- Added helpers for redaction and truncated diagnostics, improved debug logging, expanded tests, and updated CONFIGURATION/TROUBLESHOOTING docs with quick verification steps.
- Implemented automatic recipient discovery for
- Maintenance and tooling:
- Cleaned up duplicated parse comments above
Config.parse. - Bumped Go toolchain to 1.25.7.
- Cleaned up duplicated parse comments above
Overall: more configurable backups (especially PBS), clearer and more actionable run summaries, cleaner env upgrades with deprecated-key pruning, and a more robust restore/operator experience—especially on real-world consoles and clustered restores.