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

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

Fixed

  • plugins: fix error_string construction PR #2294

Changed

Documentation

  • Add historic data to CHANGELOG.md PR #2437

22.1.7 - 2025-04-14

Fixed

  • fix include-ordering on FreeBSD that could cause build issues PR #1974

  • deb control files: depend on python3-bareos PR #1968

  • windows: fix readlink buffer size issue PR #2163

  • alist: fix race condition while iterating PR #2190

Documentation

  • docs: improve debuginfo install description (fix issue #1943) PR #1986

Changed

  • bareosfd_test.py: allow a delta of 1.1 PR #2033

  • macos: update build environment PR #2075

  • webui: use TemporaryDir as userdatadir in Selenium test PR #2197

22.1.6 - 2024-09-10

Changed

  • matrix remove obsolete SUSE PR #1907

  • Use only MinGW VSS PR #1897

  • cats: scripts add option –no-psqlrc to psql PR #1927

Fixed

  • webui: fixing selenium tests PR #1925

  • python-bareos: fix backslash usage in regex PR #1931

  • filed: fix python plugin crash on python <3.10 PR #1916

  • python-bareos: add missing dirname variable PR #1848

  • create_bareos_database: fix db_name not being double quoted PR #1870

Security

Documentation

22.1.5 - 2024-06-04

Changed

Fixed

  • stored: fix authentication race condition / deadlock PR #1736

  • cats: fixes BigSqlQuery header fetching PR #1750

  • stored: fix wrong file counting in migrate and copy jobs with autoxflate PR #1754

  • Fix missing DLL in windows packaging PR #1818

22.1.4 - 2024-02-28

Changed

  • pkglists: update SUSE to have vmware packages PR #1634

  • Improve FreeBSD build PR #1644

  • core: sql_* add leading space to sql construct PR #1658

  • core: add build patch for sprintf in macos builds PR #1652

  • Disable automated package-tests for SLES 12 PR #1676

  • Improve FreeBSD dependencies PR #1681

  • macOS build workflow (for Bareos-22) PR #1691

Fixed

  • bareos-config: fix output of deploy_config PR #1674

  • filed: fix vss during client initiated connections PR #1667

  • webui: Backup Unit Report fixes PR #1699

  • windows: fix calculation of “job_metadata.xml” object size PR #1704

  • stored: fix storage daemon crash if passive client is unreachable, create better session keys PR #1701

  • core: fix various data races (connection_pool/heartbeat_thread) PR #1712

  • core: Fix compile errors on GCC 14 PR #1714

22.1.3 - 2023-12-13

Changed

  • macOS: fix linking problem for macOS >= 14 PR #1621

Documentation

  • filedaemon: remove ovirt plugin PR #1627

22.1.2 - 2023-11-21

Changed

  • github actions: update/fix publish to PyPI workflows PR #1585

  • github actions: PyPi: install setuptools PR #1590

Fixed

  • catreq.cc: suppress missing batch con warning PR #1584

  • autoxflate: fix autoxflate on replication PR #1594

22.1.1 - 2023-10-23

Documentation

  • docs: Windows add Antivirus section PR #1485

Changed

  • packaging: cleanup SUSE webui dependencies PR #1494

  • VMware Plugin: improve snapshot cleanup PR #1492

  • build: adapt matrix and pkglist for changes to CI PR #1497

  • bsmtp: make mailhost and port message info a debug message PR #1509

  • dird: cats: abort purge when there are no eligible jobids PR #1513

  • dird: show current and allowed console connections PR #1517

  • backport fixes fastlz: remove unaligned memory accesses PR #1519

  • dird: add prev and new jobid variables PR #1518

  • build: switch from FreeBSD 13.1 to 13.2 PR #1525

  • plugin-fd: allow fd plugins to (re-)set since-time and disable/re-enable timestamp/accurate checks PR #1534

  • VMware Plugin: Fix transformer issues PR #1555

  • build: introduce fedora38 PR #1564

  • daemons: set CLI11 error exit code to 41 and bareos config parsing error exit code to 42 PR #1557

  • tools: fix tools not starting up on windows PR #1560

  • VMware Plugin: Fix backup and recreating VMs with PCI passthrough for GPU PR #1567

  • dird: list jobs: add level keyword and accept a list of job levels PR #1561

  • packaging: debian fix dependencies PR #1574

  • filed: fix possible data-loss when excluding hardlinks PR #1558

Fixed

  • stored: fix incoherent meta data when concurrently writing to the same volume PR #1514

  • cats: fix for integer overflow issue when using offset in llist PR #1568

Security

  • webui: upgrade bootstrap to version 3.4.1 PR #1551

22.1.0 - 2023-06-13

Changed

  • ua_restore: enable restore from archive PR #1420

  • dird: keep copy and migration control/administrative jobs PR #1436

  • scripts: config-lib improve get_local_hostname fallback PR #1438

  • dird: allow to disable TLS-PSK downgrades PR #1428

  • build: switch to FreeBSD 12.4 PR #1442

  • file checksums: add new signature algorithm xxh128 PR #1394

  • webui: make restore merge options configurable PR #1446

  • packaging: systemd unit: set a limit of restart PR #1465

  • daemons: update network handling when IP protocols unavailable PR #1463

  • build: remove openSUSE 15.3 and Univention 5.0 from test matrix PR #1470

  • VMware Plugin: Backup and Restore of VMs using multiple datastores PR #1478

  • build: add Debian 12 PR #1482

Fixed

  • filed: fix off-by-one error when resizing acl buffer PR #1480

  • Improve handling of catalog requests that try to reduce VolFiles, VolBlocks and VolBytes PR #1475

  • Consolidate: fix for consolidate job’s client name not being correctly shown PR #1481

  • backport config lib improve create sd user PR #1483

  • bsmtp bls bextract: fixes for command line parsing PR #1457

  • core: fixes for gcc-13 support PR #1430

  • build: fix for gcc 13.1.1 PR #1461

  • stored: remove warning for maximum block size for tapes PR #1423

Documentation

  • doc: improvements webui, plugins, virtualfull chapters PR #1427

  • docs: replace gzip by lz4 and md5/sha1 by xxh128 PR #1458

22.0.3 - 2023-03-24

Changed

  • bsmtp: fix and update code change cli parsing to cli11 PR #1376

  • FreeBSD: build cleanup PR #1380

  • introduce php-cs-fixer and apply PSR-12 guidelines PR #1405

  • berrno_test.cc: accept both 271E and 273E PR #1408

  • Sanitizers: add ASAN options to avoid crashes PR #1411

Fixed

  • filed: avoid reading from ephemeral buffer PR #1384

  • restore: fix failed restores showing Restore ok with warning PR #1388

  • vmware_cbt_tool.py: pyVmomi 8.x compatibility PR #1391

  • checkpoints: fix performance drop on big volume restores PR #1393

  • VMware Plugin: fix restore to different vmname PR #1397

  • dird: Fix problem with reoccuring files in always incremental PR #1416

Documentation

  • docs: catalog maintenance improvements PR #1399

22.0.2 - 2023-02-07

Changed

  • VMware Plugin: introduce pyVmomi 8.x compatibility PR #1358

  • build: replace sprintf by snprintf due to upgraded MacOS compiler, change linking of googletest PR #1362

  • systemtests: rename virtualfull -> virtualfull-basic ,bareos -> bareos-basic, bconsole -> bconsole-basic PR #1363

  • webui: enable sorting on version column PR #1368

Fixed

  • stored: fix crashes of storage tools when autoxflate plugin is loaded PR #1369

  • storage daemon: fix crash on volume swap PR #1360

22.0.1 - 2023-01-02

Changed

  • cats: fix issue where startfile field gets wrongly updated PR #1347

22.0.0 - 2022-12-21

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 the make_catalog_backup.pl perl script 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 now require two minus signs (--) instead of one (-) :

    • -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. Instead, please 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

  • Bareos 22 uses the VMware VDDK 8.0.0 for the VMware Plugin. PR #1295. VDDK 8.0.0 supports vSphere 8 and is backward compatible with vSphere 6.7 and 7. vSphere 6.5 is not supported anymore.

  • Bareos 22 bareos-webui now uses php_fpm instead of mod_php. PR #1287. Update should run smoothly, for details check the “Installing Bareos Webui” chapter in the docs.

Added

  • The bareos repositories now contain add_bareos_repositories.sh which will setup the corresponding repository automatically

  • VMware Plugin: Save VM configuration and recreate VM before restore PR #1295

  • python plugins: enable direct I/O in core instead of calling python for read and write PR #1297

  • NDMP_BAREOS: add support for autoxflate plugin PR #1013

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

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

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

  • 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

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

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

  • webui: introduce themes PR #1281

  • 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

  • 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 #1456

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

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

  • catalog: update fileset text in fileset record PR #1300

  • stored: emit warnings for Maximum Concurrent Jobs in device configs PR #1282

  • webui: extend restore to handle plugin options PR #1276

  • webui: introduce subscription backup unit report PR #1280

Fixed

  • webui: fix job timeline x-axis UTC timestamp issue PR #1283

  • dird: fix possible crash in tls context on configuration reload PR #1249

  • dird: RunScript fixes PR #1217

  • fix file count mismatch on restores that use recycled volumes PR #1330

    • 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

  • 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

  • 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

  • dird: fix crash in .jobstatus PR #1278

  • testfind: remove unnecessary libraries and fix systemtest PR #1250

  • stored: systemtests: docs: checkpoints improvements PR #1277

  • winbareos.nsi: fix working directory in configure.sed PR #1288

  • core: BareosDb::FindLastJobStartTimeForJobAndClient: take into account Running job Issue #1466

  • backup.cc: fail backup when Write Bootstrap to pipe fails PR #1296

  • webui: fix pool link in job details formatter Issue #1489

  • webui: patch zf2 to eliminate a php warning caused by zend-stdlib PR #1305

  • dird: fix director resource not showing when using show director or the --xc director cli option PR #1315

  • webui: add timeline chart by jobs PR #1059

  • bareos-fd-postgres: properly close database connection PR #1326

  • filed: fix handling of STREAM_ACL_PLUGIN during restore PR #1308

  • dird: fix tls protocol shown and document TLS Protocol & ciphers restriction PR #1319

  • dird: fix for crash when starting rescheduled jobs PR #1327

  • VMware Plugin: fix restore of backups taken before version 22 PR #1337

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

  • 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

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

  • dird: Virtual Full will now terminate if one of 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

  • dird: 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

  • dird: cats: remove copy and migration jobs with no data from catalog PR #1262

  • build: enable compiling on ARM PR #1270

  • core and webui: adapt binary info messages to new wording PR #1298

  • build: enable -Wextra warning level and apply required changes PR #1261

  • lib: make foreach_res() reload-safe PR #1279

  • build: prepare Bareos for an upgrade to the C++20 standard PR #1271

  • stored: refactor the SD’s backend interface PR #1272

  • core: use distinct names for JobControlRecordPrivate PR #1307

  • webui-selenium-test: use options instead of chrome_options PR #1306

  • systemtests: improve webui testing PR #1313

  • dird: prohibit PAM usage with user ACL and Profiles in consoles PR #1318

  • webui: cleanup webui source tree PR #1314

  • dird: do device reservation as late as possible, i.e. after run before job scripts PR #1273

  • ndmp_tape.cc: do not log current rctx->rec in joblog PR #1324

  • dird: stored: set statistics collection as deprecated PR #1320

  • webui: switch from mod_php to php-fpm PR #1287

  • dird: status subscription: extend output PR #1312

  • build: unify and merge builds where possible PR #1309

  • python plugins: give python3 plugins priority over python2 plugins in packages PR #1332

  • btraceback: make the gdb script processing failsafe PR #1334

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

  • systemtests: wait for mariadb shutdown PR #1048

  • tests: simplify test coverage analysis PR #1010

  • tests: skip mysql tests if root PR #1197

  • webui: adapt links to new URLs after website relaunch. PR #1275

Deprecated

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

  • marked config directive Compatible as deprecated PR #1284

  • deprecated Maximum Connections directive from all daemons and removed all uses in code. Directive has no effect anymore PR #1285

  • deprecate python2 plugins PR #1331

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 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

  • add new VSS troubleshooting instruction to Windows chapter PR #1317

  • update installation and renew update chapters PR #1329

  • add chapter about Bareos Binary Release Policy PR #1333

  • add chapter for mariabackup db plugin PR #1016

21.0.0 - 2021-12-21

  • 300+ PRs

  • 1.000+ commits since Bareos 20

  • 30 contributors

  • 72.170 line added

  • 318.812 lines removed

Breaking Changes

  • Bareos now automatically reconnects to the catalog database after the connection was lost. To keep the old behaviour, set Reconnect = no in your Catalog resource. PR #860

  • Bareos now listens on IPv4 and IPv6 by default. If you currently use [DIR|SD|FD] Address or [DIR|SD|FD] Address, you may need to update your configuration to get the same behaviour as before. PR #882

  • Support for MySQL and SQLite catalog backends has been removed. Switch to PostgreSQL via bareos-dbcopy on Bareos 20 before upgrading. PR #949

  • Bareos no longer supports Bacula tape formats <= 10 (Bacula <= 1.26 which was released 2002). PR #1019

  • Deprecated configuration directives have been removed. If you have any configuration settings deprecated in Bareos 20, you will need to remove these before upgrading. PR #938

Fixed

  • Issue #1374 Include zero-file incremental backups in always-incremental consolidation PR #995

  • Issue #847: fix for CVE-2017-14610 PID files that could be exploited on certain systems PR #928

  • Issue #1194: when doing an accurate incremental backup, if there is a database error, a full backup is done instead of reporting the error PR #810

  • fix a bug in VMware plugin where VMDK Files were created with wrong size when using the option localvmdk=yes PR #826

  • fix a bug where the restore browser would not recognize globbing wildcards in paths PR #801

  • Issue #1329: If CommandACL limits any command, no messages can be read but “you have messages” is displayed. PR #763

  • fix lost byte in ChunkedDevice PR #910

  • fix director crash on “update slots” when there is a parsing issue with the autochanger or tape devices PR #919

  • Fix occassional “NULL volume name” error when non-busy, but blocked drive is unloaded PR #973

  • reorder acquire on migrate/copy to avoid possible deadlock PR #828

  • fix scheduler running disabled jobs after executing the disable command PR #924

  • fix shutdown of the Storage Daemon backends, especially call UnlockDoor on tape devices PR #809

  • fix possible deadlock in storage backend on Solaris and FreeBSD PR #809

  • fix possible read/write problems when using droplet with https PR #765

  • fix “configure add” handling of quoted strings PR #764

  • fix invalid file descriptor issue in the libcloud plugin PR #702

  • fix crash when loading both python-fd and python3-fd plugins PR #730

  • fix parallel python plugin jobs PR #729

  • fix oVirt plugin problem with config file PR #729

  • Issue #1316: storage daemon loses a configured device instance PR #739

  • fix python-bareos for Python < 2.7.13 PR #748

  • fixed bug when user could enter wrong dates such as 2000-66-100 55:55:89 without being denied PR #707

  • fix volume-pruning to be reliable on all test platforms PR #761

  • fix memory leak in python module constants PR #778

  • fix systemtests: reduce the number of broken tests PR #771

  • fix gfapi-fd: avoid possible crash on second glfs_close() call PR #792

  • Issue #1205: PHP 7.3 issue with compact() in HeadLink.php PR #829

  • fix drive parameter handling on big endian architectures PR #850

  • Issue #1324: Infinite loop when trying to log in with invalid account PR #840

  • Issue #579: Unable to connect to the director from webui via ipv6 PR #868

  • Issue #1300: some job status are not categorized properly PR #874

  • Issue #871: UI will not load complete PR #880

  • Issue #1020: Can not restore a client with spaces in its name PR #893

  • Issue #971: Error building tree for filenames with backslashes PR #892

  • Issue #1251: Error when displaying pool detail PR #903

  • Issue #1369: webui tries to load a nonexistent file PR #900

  • Issue #1232: bareos logrotate errors, reintroduce su directive in logrotate PR #918

  • Issue #1334: After deleting storage from the configuration, it still persists in the catalog db PR #912

  • Issue #1191: The web interface runs under any login and password PR #936

  • Adapt Python DIR and SD plugin Baseclasses to the modernized Python plugin API PR #923

  • Fixed all compiler warnings (on our default warning level) PR #948

  • Log LDAP info error (e.g. expired SSL cert error) PR #956

  • Adapt percona-xtrabackup test to work on updated test environment PR #982

  • fix crash in “status scheduler” command when job->client is unset PR #965

  • webui: fix a layout corner case where top navbar is hiding navtabs PR #1022

  • webui: client details now can be displayed for client names containing dots PR #1023

  • Fixed issue with error messages not showing up properly on windows systems PR #959

  • Fixed libdroplet xattr.h include issue by using sys/xattr.h PR #985

  • Fixed crash on bconsole when using autcomplete with tab PR #969

  • Fix PostgreSQL create database script PR #981

  • Unify level use with set client_min_message instruction in SQL update scripts PR #981

  • dird: avoid crash in job listing when “current” and “count” are both specified at the same time PR #1026

  • Fixed issue with llist jobs last current enable that would not display correct data PR #1025

  • fix a bug in a date function that leads to errors on the 31st day of a month PR #782

  • fix config-dump systemtest PR #736

  • fix systemtests daemon control scripts PR #762

Added

  • plugin: added mariabackup python plugin, added systemtest for mariabackup and updated systemtest for percona-xtrabackup PR #967

  • Build the package bareos-filedaemon-postgresql-python-plugin also for Debian, Ubuntu and UCS (deb packages) PR #723.

  • add reload commands to systemd service PR #694

  • add multicolumn prompt selection for selection of more than 20 items PR #731

  • add choice for the drive number in the truncate command PR #823

  • support for shorter date formats, where shorter dates are compensated with lowest value possible to make a full date PR #707

  • added option to delete selected storage in bconsole if it is orphaned PR #912

  • webui: add inchanger column to volume tables PR #998

  • webui and console: add job duration column in job listings PR #1007

  • console: prune command gained support to prune multiple volumes at once PR #966

  • webui: introduce a job timeline chart PR #1017

  • add support for Universal Linux Client PR #1019

  • systemtests: make database credentials configurable PR #950

  • systemtests: allows multiple subtests per systemtest PR #857

  • systemtests: replaced the six reload-* tests by one test PR #857

  • systemtests: replaced fileset-multiple-include-blocks and fileset-multiple-options-blocks by fileset-multiple-blocks test PR #857

  • systemtests: add systemtests fileset-multiple-include-blocks, fileset-multiple-options-blocks, quota-softquota, sparse-file, truncate-command and block-size, (migrated from regress/) PR #780

  • add bvfs and dbcheck tests to python-bareos systemtest PR #780

  • systemtests for NDMP functionalities PR #822

  • systemtests for S3 functionalities (droplet, libcloud) now use https PR #765

  • add an informative debugmessage when a dynamic backend cannot be loaded PR #740

  • add external repo bareos-contrib as subtree PR #752

  • add script devtools/dist-tarball.sh to produce the same tarball from a cloned repo everywhere PR #861

  • packages: Build also for openSUSE Leap 15.3 PR #870

  • systemtest:bareos test now also runs on btrfs filesystem PR #907

  • packages: Build also for Fedora_34 PR #869

  • packages: Build also for Debian_11 PR #914

  • packages: Build also for SLE_15_SP3 PR #952

  • add job name in End Job Session output in bls tool PR #916

  • added check for orphaned storages in dbcheck PR #912

  • contrib: Add Python DIR plugin for prometheus metrics PR #911

  • bench: added a benchmarks tool with google-benchmark, with an initial benchmark for the restore command PR #883

  • database: Add index on jobmedia mediaid,jobid PR #958

  • contrib: Add Python FD Plugin for OpenVZ container PR #908

  • packages: Build also for Fedora_35 PR #972

  • cmake: check for chflags() function and enable FreeBSD File Flags support PR #963

  • packages: Build EL_8 packages instead of CentOS_8 for RHEL 8 derivates (Alma, Rocky, CentOS Stream)PR #992

  • webui: provide a notification that NDMP restores are NOT supported by webui PR #1020

  • systemtests: add a test for the jobs last status table in webui PR #1024

Changed

  • core: systemd service: change daemon type from forking to simple and start daemons in foreground PR #824

  • debian: unify daemon (Dir,SD,FD) start behavior with RPM based distributions. Don’t start any daemon after installation. Enable all daemons. Only restart FD after upgrade (before: FD has been started after installation, No daemon have been restarted on upgrade) PR #1019

  • core: cleanup systemd service dependencies: Requires network.target, but start after the network-online.target PR #700

  • Enable c++17 support PR #741

  • postgresql filedaemon plugin: switched from psycopg2 to pg8000, dropped support for python2.

  • reconnecting to the database is now automatic per default without the need to specify it in the catalog PR #860

  • bareos is now set to listen to both IPv6 and IPv4 by default, instead of needing to specify it via a directive PR #882

  • bareos is now able to create IPv6 addresses with the DirAddress directive PR #882

  • show more details about subscriptions and units data with status subscriptions PR #989

  • webui: optimize bvfs update cache calls PR #999

  • replace complicated memory pool allocator with plain malloc() PR #997

  • systemtest python-bareos: split tests in separate files PR #944

  • systemtests: define variable BackupDirectory globally PR #780

  • systemtests: run all systemstests with set -o pipefail PR #780

  • core: Make the jansson library mandatory when compiling the Bareos Director PR #793

  • repaired or added all header guards in libdroplet PR #765

  • When using Python > 3.7 the postgres and libcloud plugins will cancel the job and write an error message PR #769

  • bstrncpy: workaround when used with overlapping strings PR #736

  • Disabled test “statefile” for big endian, use temporary state files for all other architectures PR #757

  • Package bareos-database-postgresql: add recommendation for package dbconfig-pgsql.

  • Adapt the init scripts for some platform to not refer to a specific (outdated) configuration file, but to use the default config file instead.

  • scripts: cleaned up code for postgresql db creation PR #709

  • Change Copy Job behaviour regarding Archive Jobs PR #717

  • py2lug-fd-ovirt systemtest: use ovirt-plugin.ini config file PR #729

  • Ctest now runs in scripted mode. PR #742

  • storage daemon: class Device: rename dev_name to archive_device_string (as the value stored here is the value of the “Archive Device” directive) PR #744

  • webui: Localization updated PR #776

  • running cmake for the core-directory only is now forbidden PR #767

  • dird: ignore duplicate job checking on virtual fulls started by consolidation PR #552

  • buildsystem: switch to cross build chain of Fedora 34 PR #819

  • FreeBSD: adapt pkglists for FreeBSD 13.0 PR #819

  • Fedora34: do not build mysql db backend, adapt pkglist PR #819

  • bscan and bareos systemtests: also test bextract and bls binaries, use autoxflate plugin and FSType fileset options PR #790

  • Windows release package now ships source code as optional component, so there is no need for a debug-package anymore PR #858

  • version information was moved from core/cmake/ and webui/cmake/ directories into the toplevel cmake/ directory PR #861

  • add chromedriver options to improve reliability of selenium tests PR #920

  • webui: improve log message keyword highlighting PR #937

  • webui: change retention/expiration column to only show retention on volume tables PR #943

  • webui: introduce confirmation dialog on rerun and cancel job actions PR #951

  • Allow release command to be used in scripts PR #961

  • webui: format total jobs and total files language-sensitive PR #996

  • webui: update localization PR #1018

Deprecated

  • Deprecated directives PR #928

    • Director

      • Director resource

        • Pid Directory

      • Catalog resource

        • Db Driver

    • Storage Daemon

      • Storage resource

        • Pid Directory

    • File Daemon

      • Client resource

        • Pid Directory

Removed

  • Remove MySQL and SQLite catalog backends PR #949

  • Remove deprecated directives PR #938

    • Director

      • Director resource

        • Omit Defaults

        • Sub Sys Directory

      • Storage resource

        • Sdd Port

      • Pool resource

        • Use Volume Once

      • Job resource

        • Write Part After Job

        • Alias Differential Max Wait Time for Differential Max Runtime

        • Alias Full Max Wait Time for Full Max Runtime

        • Alias Incremental Max Wait Time for Incremental Max Runtime

        • Alias Plugin Options for Fd Plugin Options

      • Client resource

        • Alias Allow Client Connect for Connection From Client To Director

    • Storage Daemon

      • Device resource

        • Free Space Command

        • Maximum Part Size

        • Write Part Command

        • Maximum Volume Size

      • Storage resource

        • Sub Sys Directory

    • File Daemon

      • Client resource

        • Sub Sys Directory

  • Debian: Old SysV init scripts have been removed. Bareos daemons are controlled by systemd PR #1019

  • Removed language support files for the core daemons, as these files are outdated and not used at all.

  • core: remove deprecated config directive dbdriver from all config files, templates and from automatic configuration during install PR #1027

  • Remove regression tests (regress/ directory). Tests still relevant tests have been migrated into systemtests PR #780

  • Removed support for IPv4-only build. IPv6 now is required for building bareos. PR #913

  • Removed package lists for platforms no longer built: Fedora_30.x86_64, RHEL_6.x86_64, SLE_12_SP4.x86_64, openSUSE_Leap_15.0.x86_64, openSUSE_Leap_15.1.x86_64.

  • Removed outdated support for platforms Alpha, BSDi, Gentoo, Irix and Mandrake.

  • Removed outdated configuration files (example files).

  • Removed package bareos-devel.

  • Removed package bareos-regress and bareos-regress-config. The package bareos-regress has not been build for a long time.

  • Removed unused script breload.

  • Removed some workaround for Ubuntu 8.04.

Security

  • CVE-2017-14610: PID files are now created before dropping privileges and before the parent process exits. PR #928

Documentation

  • add documentation about Unified Linux Client PR #1028

  • added “Hardware Sizing” chapter PR #926

  • Improve data-type subsubsection in CustomizingTheConfiguration. Add a special Sphinx directive for them (config:datatype) PR #1008

  • add “copy button” to code snippets in documentation for easy copying PR #802

  • Restore error “could not hard link” documented: what is the cause and how it can be avoided or solved. PR #759

  • Developer guide: add small chapter about c++ exceptions. PR #777

  • Fix links to configuration directives and issue warnings on dangling links PR #1008

  • Adapted the documentation of the VMware plugin due to update to VDDK 7 PR #844

  • declare shell scripts code blocks as “sh” instead of “shell-session” PR #802

  • BareosSecurityIssues add remark about new systemd service (non forking) logged information into systemd-journal PR #927

  • check if configuration directives are defined as CamelCase in core. Otherwise building the documentation will fail with an error PR #1008

  • Describe how to get debugging info when using the VMware plugin PR #921

  • Disable autotosectionlabel plugin in documentation and add required labels PR #942

  • update documentation of config data types PR #962

  • Fixed broken link in https://docs.bareos.org/IntroductionAndTutorial/WhatIsBareos.html documentation page

20.0.0 - 2020-12-16

Fixed

  • Fix memory corruption in storage daemon PR #616

  • Issue #1039: Can not login in webui PR #591

  • Improve the behaviour of some console commands PR #604

  • Several improvements to the LDAP Plugin for filedaemon PR #595

  • Avoid duplicate actions after submission of an action followed by a page refresh in the webui PR #594

  • Fix several droplet timeout problems to enable connection retries PR #561

  • Close connection pool sockets properly (client initiated connections) PR #562

  • Check user ACL for status configuration PR #570

  • Allow backup/restore of cephfs mounts PR #554

  • Fix percona xtrabackup get last_lsn value PR #551

  • Prevent director daemon crash by adding a nullptr-guard to CreateAttributesRecord() PR #566

  • Enable testing of deprecated databases (MySQL and SQLite) PR #573

  • Fix heartbeat thread shutdown race condition PR #565

  • Fix build problems for several distributions PR #569

  • Prevent from unique key violations on .bvfs_update PR #545

  • Fix “make install” and add “make uninstall” when building from source PR #556

  • Issue #1257: Prune volume command may crash the director PR #546

  • Remove compiler warnings PR #543

  • python-plugins: improve statp handling in localfileset plugin PR #530

  • Fix some issues in the tray-monitor configuration PR #539

  • Avoid a memory double-free in a spool function of the storage daemon PR #535

  • Issue #1246: oVirt plugin fails to restore to local disk with KeyError PR #534

  • Huge source code cleanup to reduce compiler warnings and increase readability PR #479

  • Fix bscan handling of restore object data PR #516

  • Adapt Python Bareos version number according to PEP-440 PR #521

  • Fixed JobDetails joblog messages order PR #509

  • Huge source code cleanup of storagedaemon Device backend PR #498

  • Issue #1227: Fix fadvise bug PR #496

  • Improve webui frontend login dialog PR #505

  • Fixed the use of a specified since time for the run command PR #503

  • Fixed that the status scheduler command shows jobs for disabled clients PR #499

  • Allow Python FD Plugins to set since time PR #504

  • Fixed a bug when backup a VM by using VM id PR #415

  • Fixed that droplet is waiting forever if flushing a file fails: PR #468

  • Issue #1220: default drive index not set to 0: PR #472

  • Fixed a segmentation fault caused by deprecated OpenSSL functions PR #453

  • Issue #1211: Bareos director and bareos fd crash when regexwhere is specified PR #451

  • Always Incremental: Address early prune problem when vol retentions are too small PR #423

  • Issue #1206: Form field restore job is not populated after client selection PR #438

  • Issue #1192: Authorization key rejected by Storage daemon since upgrading director and storage daemons PR #431

  • Allow path lengths of a messages resource to be longer that 128 bytes PR #433

  • Issue #1190: Schedules without a client will not be run

  • Fixed a bug where hourly schedules fail on the general rule without a day PR #422

  • Issue #1175: bareos crashes with invalid character in ACL PR #410

  • Issue #1184: Using syslog or an invalid message type crashes a daemon PR #414

  • Issue #1176: Upgrade 18.2.5 to 19.2.5 failed while upgrading MySQL database PR #409

  • Issue #1174: Reversed sort order on the restore client selection PR #411

  • Fixed errors in client only build PR #413

  • Fixed checksum algorithm regarding byte order PR #412

  • Avoid a race condition in job name creation PR #385

  • Issue #1281: Director crashes on memory access violation in CloseMemoryPool() and is_regex()

Added

  • Add console command setdevice PR #686

  • Add support for Fedora 33 PR #643

  • Add development tools for changelog-handling PR #617

  • Added documentation and background information for the new python 3 plugin support PR #599

  • Added the libcloud filedaemon plugin to backup S3 buckets

  • Allow terabytes, tebibytes, petabytes, pebibytes, exabytes and exbibytes unit symbols when specifying sizes PR #600

  • Add technology preview for a REST API to configure and manage Bareos PR #587

  • Add some configuration warnings to the storagedaemon PR #583

  • Add python3 support for filedaemon, storagedaemon and director plugins PR #572

  • Use configurable OpenSSL “Protocol” parameter PR #575

  • Extend bconsole show command to support JSON output format (API 2) PR #574

  • Allow multiline quoted strings in the configuration PR #578

  • Print toolchain details during cmake run PR #567

  • Build libdroplet as submodule and use systemtest test PR #560

  • Run systemtests during build, build packages from source root directory PR #559

  • Add pkglists to documentation for all OS we build for PR #557

  • Merge VMware plugin code into core subdirectories, add system test PR #544

  • The VMware plugin now allows to use an optional config file to specify plugin options PR #544

  • Removed the dependency to pyvmomi from rpm and deb packages PR #667

  • Add next pool selection to custom job run form in the webui PR #518

  • In job reports display who triggered a job (scheduler, user, ..) PR #532

  • Added VirtualFull option for manual defined Jobs PR #508

  • Add support for Arch and Manjaro Linux PR #513

  • Document Verify VolumeToCatalog limitation PR #507

  • Document drawbacks for job intermixing PR #506

  • Add postgres-backup filedaemon plugin with incremental backups and point in time restore PR #502

  • Write job- and file-choice to audit log on restore PR #493

  • Add infrastructure for configuration warnings PR #492

  • Add logging parameters to gfapi backend PR #455

  • Add a security policy (SECURITY.md) to the project PR #463

  • Pre-fill restore form element “replace” according to selected restore job in the webui: PR #456

  • Add documentation for a critical bscan limitation: PR #460

  • Pre-fill restore location form element according to selected restore job in webui PR #454

  • Add more logging messages to NDMP interface PR #448

  • Add start and finish time in the webui-joblist PR #429

  • Add a database upgrade test PR #406

  • Add recommendation for PHP 7 to documentation PR #420

  • Add encryption signature test PR #404

  • Add percona extra backup PR #386

  • Add test for client initiated backup PR #383

Changed

  • Release-notes / changelog have been moved to CHANGELOG.md PR #613

  • Bareos now requires at least CMake 3.12 to build

  • Updated many localization files PR #609

  • Display archived jobs on list backups command PR #581

  • Use a configurable VDI timeout when requesting the MSSQL config PR #571

  • Improved the formatting of job log entries in the webui PR #525

  • Cleanup unused images PR #538

  • Use precise file names for public and private key files to make documentation clear PR #537

  • Significantly speed-up bareos-dbcopy PR #524

  • Publish PythonBareos to PyPI.org using Github Actions PR #514

  • Updated documentation for tests PR #497

  • Display numeric values of UID and GID in addition to user and group name in webui PR #488

  • Display file permissions in restore dialog of webui PR #477

  • Improve warnings on Maximum Block Size of the droplet backend: PR #476

  • Improve the selection of a specific file version restore in the webui: PR #471

  • Only allow configuration maximum concurrent jobs of 0 or 1 when using droplet: PR #465

  • Improve filtering on webui-jobs-bootstrap-table PR #444

  • Allow systemtests to run on installed packaged PR #400

  • Allow systemtests to be run in parallel PR #392

  • Disable systemtests on non compatible systems PR #387

  • Update ovirt plugin documentation PR #384

  • Improve ovirt plugin

Deprecated

  • Using MySQL as a catalog backend is now deprecated PR #564

  • Using Rados as a storage backend is now deprecated PR #672

  • With full Python 3 support, using Python 2 is now considered deprecated

  • Plugin bareos-fd-ldap is deprecated, because it requires Python 2

Removed

  • Remove support for creating MySQL / SQLite catalogs PR #563

Security