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](https://github.com/backuppc/backuppc-xs/releases/tag/0.62)) and rsync-bpc ([3.0.9.15](https://github.com/backuppc/rsync-bpc/releases/tag/3.0.9.15), [3.1.2.2](https://github.com/backuppc/rsync-bpc/releases/tag/3.1.2.2) or [3.1.3beta0](https://github.com/backuppc/rsync-bpc/releases/tag/3.1.3beta1)) 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