Backuppc v4.4.0 Release Notes

Release Date: 2020-06-20 // almost 4 years ago
  • 🚀 This release contains several new features and some bug fixes. New features include:

    • any full/filled backup can be marked for keeping, which prevents any expiry or deletion
    • ⬆️ any backup can be annotated with a comment (eg, "prior to upgrade of xyz")
    • ➕ added metrics CGI (thanks to @jooola) that replaces RSS and adds Prometheus support
    • 👍 tar XferMethod now supports xattrs and acls
    • 👍 rsync XferMethod now correctly supports xattrs on directories and symlinks
    • 🔧 nightly pool scanning now verifies the md5 digests of a configurable fraction of pool files
    • 👀 code runs through perltidy so format is now uniform (thanks to @jooola, with help from @shancock9 and @moisseev)

    🆕 New versions of BackupPC::XS (0.62) and rsync-bpc (3.0.9.15, 3.1.2.2 or 3.1.3beta0) are required.

    🚀 Thanks to Jeff Kosowsky for extensive testing and debugging for this release, particularly around xattrs.

    Here are the more detailed changes:

    • 🔀 Merged pull requests #325, #326, #329, #330, #334, #336, #337, #338, #342, #343, #344, #345, #347, #348, #349
    • ⬆️ Filled/Full backups can now be marked as "keep", which excludes them from any expiry/deletion. Also, a backup-specific comment can be added to any backup to capture any important information about that backup (eg, "pre-upgrade of xyz").
    • ➕ Added metrics CGI, which adds Prometheus support and replaces RSS, by @joola (#344, #347)
    • 👍 Tar XferMethod now supports xattrs and acls; xattrs sbould be compatible with rsync XferMethod, but acls are not
    • Sort open directories to top when browsing backup tree
    • 👍 Format code using perltidy, and included in pre-commit flow, by @joola (#334, #337, #342, #343, #345). Thanks to @joola and @shancock9 (perltidy author) for significant effort and support, plus improvements in perltidy, to make this happen.
    • ➕ Added $Conf{PoolNightlyDigestCheckPercent}, which checks the md5 digest of this fraction of the pool files each night.
    • $Conf{ClientShareName2Path} is saved in backups file and the share to client path mapping is now displayed when you browse a backup so you know the actual client backup path for each share, if different from the share name
    • ⚡️ configure.pl now checks the per-host config.pl in a V3 upgrade to warn the user if $Conf{RsyncClientCmd} or $Conf{RsyncClientRestoreCmd} are used for that host, so that the new settings $Conf{RsyncSshArgs} and $Conf{RsyncClientPath} can be manually updated.
    • 🛠 Fixed host mutex handling for dhcp hosts; shifted initial mutex requests to client programs
    • ⚡️ Updated webui icon, logo and favicon, by @moisseev (#325, #326, #329, #330)
    • ➕ Added $Conf{RsyncRestoreArgsExtra} for host-specific restore settings
    • Language files are now all use utf8 charsets
    • ⬆️ Bumped required version of BackupPC::XS to 0.62 and rsync-bpc to 3.0.9.15.
    • Ping failure message only written to stdout only if verbose
    • 🚚 BackupPC_backupDelete removes partial v3 backup in HOST/new; fixes #324 reported by @thalueng
    • BackupPC_backupDelete adds -f option to over keep, if set
    • BackupPC_nightly: change -f to -F when running BackupPC_refCountUpdate during fsck
    • 👍 Better formatting of eval cmd result in cmdSystemOrEvalLong()
    • ✂ Remove zero count entries in per-backup and per-host poolCnt files
    • ➕ Add a fake version parameter to the CSS URL to overcome caching
    • 🛠 Fixed ALRM typo in BackupPC_dump, by @rhansen (#348)
    • 🛠 Fixed command name in error message in BackupPC_archive, by @rhansen (#349)
    • lib/BackupPC/Xfer/Rsync.pm skips adding --iconv option when $conf->{ClientCharset} is utf8 or empty, to avoid a long-standing rsync bug
    • ⚠ lib/BackupPC/Xfer/Rsync.pm provides a more informative warning when the client rsync exits with an IO error, and also includes the IO error in the xferErr count
    • lib/BackupPC/Xfer/Smb.pm recognizes NT_STATUS_LOGON_FAILURE error
    • 👀 Increase text length in config editor fields, by @moisseev (#336)
    • Typo fix in config.pl, by @cure (#338)
    • 📚 Minor documentation updates, removing old SourceForge links

Previous changes from v4.3.2

  • 🚀 This release contains several bug fixes and a few minor features:

    • 🔀 Merged pull requests #278, #281, #289, #295, #297, #307, #308, #311, #312, #313, #314.
    • ➕ Added per-host read/write exclusivity to worker programs, so command-line programs don't collide with backups or other operations; reported by @hamster65 (issue #299)
    • ➕ Added $Conf{RsyncIncrArgsExtra} (issue #284)
    • ➕ Added $Conf{ClientShareName2Path}, which allows mapping of share names/path to real paths on the client (eg, to backup a snapshot that's in a different directory to the share name path)
    • Fixed v3 digest calculation in bin/BackupPC_backupDuplicate and bin/BackupPC_migrateV3toV4; reported by @palmtop (issue #291)
    • 👌 Improved handling of BackupPC_nightly running for more than 24 hours: drop next queued run, and provide better log messages; reported by @guestisp (issue #303)
    • 👌 Improved error checking on $Conf{BackupPCNightlyPeriod}, and update $Info->{NightlyPhase} if it's larger than $Conf{BackupPCNightlyPeriod}; reported by @guestisp (issue #304)
    • 🛠 Fixed warnings in bin/BackupPC, submitted by @moisseev (#278)
    • ⚡️ Avoid rrd updates using the same time stamp, submitted by @moisseev (#311, issue #305)
    • ✂ Removed unused counting of renamed files, submitted by @moisseev (#281)
    • 📜 Make tar xfer output parsing compatible with FreeBSD tar, submitted by @haarp (#289)
    • 🛠 Fix daemon stdin open to read mode, submitted by @moisseev (#308)
    • Hosts config editor table layout CGI fix, submitted by @steven-de-wit (#297)
    • 🛠 Fixes to French translation, submitted by @pjoubert- (#295)
    • 🛠 Fixes to Italian translation, submitted by @guestisp (#314)
    • ⚡️ Updated comments for Apache 2.4 config in httpd/src/BackupPC.conf, submitted by @NotAProfessionalDeveloper (#307)
    • 📚 Documentation update for SCGI prerequisite, submitted by @guestisp (#312)
    • 📚 Documentation update for nginx config, submitted by @guestisp (#313)