Warning: This document is for the development version of Bareos Documentation. The main version is bareos-21.

Release Notes

Warning

While all the source code is published on GitHub, the releases of packages on https://download.bareos.org/ is limited to the initial versions of a major release. Later maintenance releases are only published on https://download.bareos.com/.

This information is also available as CHANGELOG.md in the corresponding branch of the Bareos GitHub project

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and since Bareos version 20 this project adheres to Semantic Versioning.

Unreleased

Breaking Changes

  • when using PAM Bareos will now check authorization, too. If authorization is not configured, login will fail. See updated documentation on how to proceed PR #1115.

  • Bareos 22 removes perl make_catalog_backup.pl in favor of an improved make_catalog_backup shell script. There is a compatibility-wrapper, but that only supports simple cases. If you applied changes to BackupCatalog Job, you should immediately migrate to use make_catalog_backup. See catalog documentation PR #1081

  • Bareos changed the way its binaries parse CLI arguments. Four existing options changed as a result:

    • -xc -> --xc to export all configuration at once.

    • -xc[resource[=<name>]] -> --xc [resource [ressource-name]] to export a specific resource.

    • -xs -> --xs to export configuration JSON schema.

    • -dt -> --dt to print the debug timestamp. The rest of the options stay the same. PR #1187

  • Previously deprecated rados/ceph backend and cephfs plugin have been removed. Use the droplet backend to store into ceph via S3, and backup cephfs filesystems by backing up a mount point.

    • packages bareos-storage-ceph and bareos-filedaemon-ceph-plugin if previously installed need to be removed manually.

  • Bareos 22 removes bareos-webui support for RHEL 7 and CentOS 7

Added

  • dird: add command line feature to print specific resources PR #1153

  • Python plugins: add default module_path to search path PR #1038

  • dird: extend the list command to be able to query volumes and pools by ID PR #1041

  • docs: Add chapter for mariabackup db plugin PR #1016

  • ndmp: introduce workaround for isilon 9.1.0.0 ‘Invalid nlist.tape_offset -1’ error PR #1043

  • packaging: installation and upgrade will check for the presence of .enable-cap_sys_rawio in your bareos config dir and will configure the required cap_sys_rawio capabilities PR #1057

  • systemtests: wait for mariadb shutdown PR #1048

  • tests: simplify test coverage analysis PR #1010

  • webui: analytics module: show stored data per jobname in treemap PR #1082

  • webui: add pool column to volume lists PR #1120

  • dird: console: add jobtype parameter to (l)list jobs PR #1149

  • contrib: add support for building and packaging PR #768:

    • bareos-contrib-director-python-plugins

    • bareos-contrib-filedaemon-python-plugins

    • bareos-contrib-tools

  • tests: py3plug-fd-contrib-mysql_dump PR #768

  • tests: py*plug-fd-contrib-bareos_tasks_mysql PR #768

  • webui: introduce rerun of multiple jobs at once PR #1109

  • dird: console: add the ability to rerun multiple commas separated jobids PR #1170

  • build: Add support for Ubuntu 22.04, Fedora 36, EL 9, openSUSE 15.4 PR #1179

  • tests: skip mysql tests if root PR #1197

  • build: Add support for SLE_15_SP4 PR #1205

  • libcloud plugin: allow to configure the storage provider PR #1226

  • core/platform: Adding Bareos firewalld service xml files PR #1237

  • dird: Added FS Type = vfat in LinuxAll.conf for UEFI partition PR #1236

  • bareos tools: reintegrate testfind binary PR #1176

  • fd: add support for role switching on PostgreSQL add-on Issue #4607

  • build: switch from FreeBSD 13.0 to 13.1 PR #1253

  • stored: dird: added backup checkpoints that save backup metadata to the Catalog during the execution of the backup. PR #1074

  • stored: dird: add backup checkpoints that save backup metadata to the Catalog during the execution of the backup. PR #1074

  • build: run a build and test with sanitizers enabled PR #1244

Fixed

  • dird: RunScript fixes PR #1217

    • fix show command output for RunScript RunsOnClient

    • fix show verbose for RunScripts

    • execute console runscripts only on the Director

  • VMware file daemon plugin: fix restore with localvmdk=yes requires an API connection to vCenter PR #1219

  • python plugins: store architecture specific modules in sitearch (instead of sitelib) PR #698

  • debian: fix package dependencies for webui and Ceph PR #1183

  • Python plugins: fix handling of additional pluginoptions parameter PR #1177

  • NDMP_BAREOS: support autoxflate plugin PR #1013

  • debian: Let dbconfig create the Bareos catalog also with LC_COLLATE=’C’ and LC_CTYPE=’C’. The create_bareos_database script did always do so. Requires dbconfig >= 2.0.21 PR #1031

  • fix wrong packages_dir in restapi workflow, so restapi packages will be released to PyPI PR #1033

  • core cats: Add IF EXISTS in drop table statements fix for bug #1409 (Allow usage of ExitOnFatal) PR #1035

  • sql_get.cc: fix error logging in GetJobRecord() for jobname PR #1042

  • webui: fix empty job timeline issue if date.timezone is not set in php.ini PR #1051

  • Fix for wrong update message when updating all volumes from all pools with no existing volumes PR #1015

  • Fix context confusion in Director’s Python plugins PR #1047

  • Fix several cases of undefined behaviour, memory corruption and memory leaks PR #1060

  • webui: fix undefined array key warning PR #1098

  • webui: fix deprecated notice required param follows optional param PR #1097

  • webui: fix uncaught TypeError if node.data is null PR #1087

  • core cats: Add DROP VIEWS instruction in drop_bareos_table script PR #1092

  • Don’t keep volume open after acquiring a read-storage failed in migrate/copy/virtual full PR #1106

  • webui: show DIR message if ACL prevents a job rerun PR #1110

  • webui: fix restore file tree rendering PR #1127

  • dir: fix crash when there are no jobs to consolidate PR #1131

  • webui: get volume and pool params from query instead of route PR #1139

  • packaging: FreeBSD add missing ddl/update 2171_2192 and 2192_2210 files PR #1147

  • Fix director connects to client while Connection From Director To Client is disabled. PR #1099

  • cats: make .bvfs_update and .bvfs_versions take archive jobs into consideration PR #1152

  • Fix always-incremental-consolidate systemtest sporadic fails, and rename it. PR #1154

  • packaging: FreeBSD place all scripts into “normal” location /usr/local/lib/bareos/scripts PR #1163

  • Issue #1445 adding quotes to director name when using configure export. PR #1171

  • FreeBSD packages: add missing ddl/update 2171_2192 and 2192_2210 files PR #1147

  • Fix director connects to client while Connection From Director To Client is disabled. PR #1099

  • dir: miscalculation when using always incremental keep number PR #1159

  • Windows Installer: made ‘Director PotsgreSQL Backend Support’ checked by default if ‘Full PostgreSQL’ installation selected. PR #1185

  • SQL: queries: fix sql queries to handle negative job duration value PR #1198

  • dird: fix TLS-PSK credential not found error with very long job names PR #1204

  • dird: Add missing newline to job message for TLS handshake PR #1209

  • devtools/dist-tarball.sh: fix name if version contains “~pre” PR #1221

  • dird: fix odd-even weeks parsing bug in schedule PR #1210

  • bcopy: fix crash in bcopy when using certain cli arguments PR #1211

  • webui: fix password string length limitation Issue #1480

  • systemtest: fixed issues with systemtests not succeeding on first try PR #1186

  • btape: dumplabel only when label is valid PR #1266

Changed

  • contrib: rename Python modules to satisfy PEP8 PR #768

  • contrib: adapt to Python interface of Bareos >= 20 PR #768

  • Qmsg: in case of syslog logging use adapted log priority instead of always LOG_ERR PR #1134

  • webui: remove an unnecessary .bvfs_get_jobids and buildSubtree() call PR #1050

  • git: set merge strategy for CHANGELOG.md to union PR #1062

  • webui: add timeline chart by jobs PR #1059

  • stored: enable labeling of tapes in drives even if autoselect=no PR #1021

  • dir, stored: start statistics threads only if needed PR #1040

  • gitignore: cleanup .gitignore files PR #1067

  • webui: update jstree from v3.3.8 to v3.3.12 PR #1088

  • webui: update jstree-grid plugin PR #1089

  • Consolidation now purges candidate jobs with no files instead of ignoring them PR #1056

  • Virtual Full will now terminate if one if the input jobs had its files pruned PR #1070

  • webui: new login screen background and adapted logo to support Ukraine PR #1122

  • console: multicolumn output: fill columns first PR #1072

  • cats: include only jobtypes in list jobtotals that write data to volumes PR #1135

  • jstreegrid: remove handling of IE < 8 using navigator interface to avoid warnings in chrome PR #1140

  • bvfs_update now uses unordered_map instead of htable for the pathid cache PR #1138

  • cats: filtered zero file jobs list is now sorted PR #1172

  • dird: console: changed list jobs jobstatus argument to accept comma separated value PR #1169

  • cats: management scripts remove db_driver support PR #1081

  • bconsole: multiple identical successive commands are only added to history once PR #1162

  • build: Now use solaris 11.4-11.4.42.0.0.111.0 PR #1189

  • bconsole: removed commas from jobid attribute in list jobs and llist jobs outputs PR #1126

  • testing: matrix.yml: run multiple tests sequentially PR #1193

  • console: aborting job run if jobid doesn’t exist in catalog PR #1188

  • daemons: changed daemon CLI arguments parsing PR #1187

  • config parser: Refactor config reloading by using shared pointers instead of callbacks PR #1151

  • tests: remove unused config files PR #1247

  • dird: fix config reload and unit tests dependency issue PR #1161

  • pruning: prune jobs doesn’t ask for jobtypes anymore, and prunes all jobtypes except Archives (A) PR #1215

Deprecated

  • make_catalog_backup.pl is now a shell wrapper script which will be removed in version 23.

Removed

  • removed the -r run job option. PR #1206

  • removed ceph/rados backend and filedaemon plugin PR #1216

Security

Documentation

  • Univention Corporate Server (UCS) has no longer extended integration, just normal Linux integration PR #1242

  • cleanup update section PR #1054

  • clarifies MySQL catalog migration process PR #1054

  • split Howtos.rst file into one file per section PR #1054

  • split the very long Plugins.rst file into one file per Bareos plugin PR #1046

  • rework SD plugin scsicrypto linux sg_io ioctl subsection for cap_sys_rawio PR #1057

  • improve action Python plugin documentation, by removing File in Fileset example PR #1079

  • improve Mysql - PostgreSQL howto PR #1093 fixing Issue #1429

  • clarifies Sphinx bareos-extension parallel_read_safe status to False PR #1037

  • fix incorrect link in contrib PythonFdPlugin Issue #1450

  • clarifies CheckFileChanges option not intended to be used with plugin Issue #1452

  • fix broken links with sphinx linkcheck PR #1200

  • add Security FIPS section PR #1181

  • add instruction to run sphinx linkcheck before release PR #1218

  • FreeBSD install create /usr/local/etc/pkg/repos directory PR #1227

  • remove deprecated Rados & ceph references from documentation PR #1216

  • improve Wild(*) section with links to example PR #1228

  • add example to selection type = sql query PR #1229

  • dir-job-RescheduleTimes remove wrong default sentence PR #1225

  • update Appendix/HardwareSizing DB size with new numbers and formulas Issue #1477

  • add description to fileset signature sha256 and sha512 parameter PR #1230

  • improve troubleshooting and debugging chapter PR #1233

  • mssql: after PITR restore, a full backup is required PR #1235

  • mssql add a warning in case of pitr to run another backup full or diff afterwards PR #1235

  • docs: Added Developer FAQ section with first question. PR #1202

  • describe Debian installation based on add_bareos_repositories.sh PR #1238

  • update Pull Request workflow description PR #1243

  • docs: improve operating system table PR #1254

  • add FAQ entry about howto upgrade from Bareos < 20 with Bareos Python packages installed PR #1260

  • describe usage of the add_bareos_repositories.sh script PR #1248

  • Appendix/Bareos Programs improvements PR #1255

  • obsolete comments removed PR #1268

  • fix bsmtp get-usage.sh call PR #1267