Release Notes
This information is also available as CHANGELOG.md in the corresponding branch of the Bareos GitHub project
Note
See Bareos Binary Release Policy for more information about available versions.
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Breaking changes
Bareos 25 disables SSL on the PostgreSQL connection, as we have observed strange issues with SSL enabled.Issue #1965
Bareos 25 and later will not modify or extend existing configuration directories on package updates PR #2338
Note: on FreeBSD unmodified configuration changes from Bareos <= 24 will get removed and replaced by the new default configuration of the current package.Glusterfs FD plugin and SD backend is deprecated and will get removed in 26. ### Storage -> Device
Countbehavior changes
If the Count directive is specified with a value > 1,
duplicated devices will be created starting from serial-number 0000 up to Count.
The 0000 device is automatically assigned ‘Autoselect=No’.
Additionally, an autochanger resource is created with the name of the device the Count directive is specified for.
The duplicated devices will be assigned to this autochanger unless they are used in another autochanger already.
See explanations and example in documentation https://docs.bareos.org/TasksAndConcepts/VolumeManagement.html#concurrent-disk-jobs
Configuring a disk Autochanger
If you want to run multiple jobs in parallel to the same disk storage,
you can now simply specify the count directive in the (Storage -> Device) configuration
to the number you’ve specified in MaximumConcurrentJobs (Director -> Storage).
If you want to migrate from your manually configured disk autochanger to simply using the count directive:
remove the disk autochanger resource
have a storage device with a specified
countdirective (with value >1)wherever you used the disk autochanger name before, use the name of the device from step 2.
Removed
Fixed
cats: fix version.map.in PR #2064
webui: fix for PHP < 7.3 PR #2067
cmake: fix MARIADB_MYSQL_INSTALL_DB_SCRIPT usage PR #2040
Fix building ndmjob program PR #2079
bareos-config-libs: double quote dbconfig values PR #2111
freebsd: automate creation of pkg-plist.database-postgresql PR #2102
plugin: postgresql use integer for savepkt.object_index PR #2132
bconsole: enable app icon on windows PR #2105
windows: fix readlink buffer size issue PR #2153
Fix btape fill-test problem PR #2018
cmake: add cmake_parse_arguments policy CMP0174 PR #2169
VMware plugin: fix check_mac_address() for vm.config not present PR #2059
scheduler: ‘last’ keyword doesn’t allow job to be visible in status dir PR #2120
fix autodeflate messages and refactor setup method PR #2121
stored: fix crash when using jit reservation with no matching device; fix reservation error PR #2141
Fix 32bit compilation PR #2175
config: fix issues with config directive aliases PR #2159
cleanup: fix multi-config tests PR #2202
mssqlvdi-fd: add support for filestream backups PR #2072
cmake: fix not including BareosTargetTools in systemtests, needed for get_target_output_dir PR #2232
fix MaximumConcurrentJobs in docs and defaultsconfig PR #2225
cli-test: fix test on freebsd PR #2241
core: refactor config parser; fix ktls configuration; fix crashes/ub PR #2222
contrib add support for mariadb 11+ PR #2215
mariabackup: reset self.mycnf to string type PR #2252
dird: fix bugs in DateTime PR #2260
config: fix Director -> Director resource PR #2259
mtx-changer: make mandatory test mt-st versus cpio-mt PR #2256
packaging: set all
*.conf.examplesas %config(noreplace) PR #2268disable bareosfd-python3-module-test on FreeBSD PR #2278
postgresql: require non-ssl connection PR #2272
fix problems with msvc 19.44 PR #2287
plugins: fix error_string construction PR #2273
dplcompat: fix unsupported size-suffixes on chunksize PR #2240
gRPC: add fixes to enable building on SUSE PR #2250
fix admin job issues PR #2283
truncate: fix return status bug PR #2300
stored: add new volume status ‘Unlabeled’ PR #2207
doc: add views & functions to developer catalog service chapter PR #2328
systemtests: add config-default test PR #2332
VMware Plugin: Adapt to pyVmomi 9 PR #2341
VMWare Plugin: Fix VirtualSerialPort, NVRAM timeouts configurable PR #2344
doc: storage backend add note about static build PR #2350
fix next-pool overrides by job PR #2279
stored: fix race condition PR #2359
dird: fix nextvol crash PR #2335
grpc: fix missing some early events PR #2333
grpc: fix extra / for directories PR #2373
packaging: add setcap/getcap requirements PR #2347
scsicrypto: don’t expose kek in job log PR #2386
RPM: fix restarting bareos-fd on upgrades from bareos <= 24 PR #2395
dird: fix mark crash PR #2401
Fix droplet build PR #2412
Fix some spelling issues PR #2403
debian: remove dbc_debug to avoid username/password leakage PR #2417
uniformized variables PR #2391
plugin: postgresql do testing with wal compress on PR #2408
cmake: fix traymonitor startup on windows PR #2423
Documentation
docs: fix grpc-fd plugin call PR #2068
docs: add devtools documentation PR #2149
docs rear: update to rear >= 2.8 PR #2220
docs: Python plugin dependencies installation PR #2315
docs: update disaster recovery chapter PR #2310
Update dir-director-MaximumConcurrentJobs.rst.inc with a warning about MaximumConcurrentJobs modification on running Directors PR #2394
doc: don’t alter configuration on package updates PR #2392
docs: introduce 3rd party plugin (Yuzuy Qumulo) PR #2418
Add historic data to CHANGELOG.md PR #2434
Added
Changed
plugins: Fix typo in postgresql plugin PR #2066
Sync EvpDigest between OpenSSL <1.1 and 1.1+ PR #2086
winbareos-native.nsi: do not package python3 plugins PR #2076
logrotate: add mtx-changer debug log config PR #2039
cmake: add cmake check whether tirpc is installed PR #2109
bconsole: require only one password in the configuration PR #2116
openssl: unify ssl error logging PR #2078
Inherit RunScript elements between JobDef resources PR #2097
python-bareos: Add missing dh-python build dep PR #2130
stored: list all devices if device is invalid/missing PR #2122
Refactor some Xattr and Acl internals PR #1893
debian: Add missing build dependencies PR #2128
systemtests: fail if daemons have config warnings PR #2144
contrib: check_chunk.py improve README.md instructions PR #2147
build: add support for el10 PR #2106
VMware Plugin: Fix CBT query handling PR #2152
increase accepted warnings for windows PR #2191
webui: use TemporaryDir as userdatadir in Selenium test PR #2194
ndmp: remove ndmp backup level limit PR #2188
reduce test-matrix PR #2192
bareos-fd: add option for grpc fallback PR #2104
Make tests optional PR #2180
windows: single-config/single-output directory PR #2211
webui: use WEB_UI path in apache bareos-webui.conf file PR #2201
config: update directives and error out on bconsole config warnings PR #2217
config: add virtual file changer example + documentation PR #2090
stored: fix sd volume limit PR #2264
various cmake improvements PR #2176
packaging: use GCC 14 for RHEL 8/9 PR #2275
setgid on configdirs PR #2270
Replace Bsnprintf() implementation and add format attributes PR #1697
cmake: disable lto when linking gtests PR #2286
VMware Plugin: Fix for virtual USB devices PR #2213
build: add Fedora 42 PR #2263
python: fix traceback generation PR #2303
build: add Debian 13 PR #2290
bareos-check-sources: add shell_format plugin PR #2267
Build FreeBSD for major versions 14 / 13 (instead of minor releases) PR #2117
matrix: test the Debian ULC packages for OpenSSL 1.1 on Debian 11 instead of Debian 10 PR #2321
ndmp-bareos: Introduce incremental loop, restore 2nd file explicitly PR #2269
systemtest: always incremental add one job with one removed file PR #2329
webui: add summary subscription report PR #2340
set environment vars in bpipe fd plugin PR #2205
systemtest: speed up always-incremental with sleep 0.25 PR #2358
cats: fix missing locks PR #2331
storage: improve tapealert plugin PR #2370
correct backend init command in PyPI instructions (fixes #2380) PR #2381
debian: Do not make dbconfig sql files executable PR #2404
systemtests: speed up testing PR #2376
webui: migrate from ZF2 to Laminas PR #2385
don’t alter configuration on ULC package updates PR #2399
stored: implicitly create autochanger from device with count > 1 PR #2198
plugins: introduce hyper-v backup PR #2284
defaultconfig: introduce automatic diskchanger PR #2427
plugin: change prefix @hyper-v@ -> @HYPER-V PR #2431
plugins: introduce windows disaster recovery imager (barri) PR #2285
24.0.0 - 2024-12-16
Breaking changes
Support for base jobs is phased out. You can still restore jobs that use a base job, but you cannot create new backups using a base job anymore. Bareos 25 might remove restore-support for this, too.
When running
bconsoleas superuser, critical local commands@input@output@teeand@execare disabledBareos will no longer write PRE_LABEL labels on empty media, but instead write normal labels.
Added
Add dedupable backend PR #1663
Add droplet compatible storage backend PR #1790
Add just in time reservation: reserve/acquire a device on first incoming write data PR #1715
Add new grpc plugin allowing to run python plugins in own process PR #1993
Add support for WORM media PR #1958
Add openssl 3 ulc PR #1683
Changed
github actions: PyPi: install setuptools PR #1589
restore: add fileregex parameter PR #1587
scripts: force cd / for all PostgreSQL scripts PR #1607
Improve python plugin configuration PR #1605
macOS: fix linking problem for macOS >= 14 PR #1592
dird: remove optimize_for_size/optimize_for_speed PR #1612
build: introduce Fedora 39 PR #1614
libcloud: modularize systemtest PR #1609
filedaemon: remove ovirt plugin PR #1617
vadp-dumper: fix multithreaded backup/restore issues PR #1593
VMware Plugin: Run bareos_vadp_dumper with optimized parameters to increase backup performance PR #1630
pkglists: update SUSE to have vmware packages PR #1632
backup report: show negative compression PR #1598
core: add build patch for
sprintfin macos builds PR #1636python-bareos: use socket.create_connection() to allow AF_INET6 PR #1646
Improve FreeBSD build PR #1538
core: sql_* add leading space to sql construct PR #1656
plugins: postgresql fix missing pg_backup_stop() call PR #1655
filed: fix vss during client initiated connections PR #1665
bareos-config: fix output of deploy_config PR #1672
Disable automated package-tests for SLES 12 PR #1671
Make BareosDirPluginPrometheusExporter.py work with python3 PR #1647
Improve FreeBSD dependencies PR #1670
python-bareos: integrate usage of config files PR #1678
cmake: cleanup PR #1661
bnet-server-tcp: split socket creation from listening for unittests PR #1649
webui: Backup Unit Report fixes PR #1696
windows: fix calculation of “job_metadata.xml” object size PR #1695
stored: fix storage daemon crash if passive client is unreachable, create better session keys PR #1688
bareos-triggerjob: fix parameter handling PR #1708
fvec: add mmap based vector PR #1662
core: fix various data races (connection_pool/heartbeat_thread) PR #1685
filed: skip stripped top level directories PR #1686
jcr: fix some compiler warnings PR #1648
build: Fix debugsource RPM package generation PR #1713
Bugfix: Clean up error handling in LDAP plugin, fix dependencies PR #1717
crypto_wrap: replace aes wrap with openssl aes wrap algorithm PR #1718
dbcheck: fix dbcheck crash if password is not set in catalog resource PR #1710
Require python3 explicit PR #1719
cmake: put generated files into CMAKE_BINARY_DIR PR #1707
increase warning level on C/C++ compiler PR #1689
VMware Plugin: Backup and Restore NVRAM PR #1727
doc: add backtick around .? description PR #1752
PR template: remove backport hints PR #1762
python-bareos: use TLS-PSK from core ssl module (available since Python >= 3.13) PR #1756
[percona-xtrabackup] prevent High memory usage for no reason (IO_CLOSE) PR #1724
docs: improve handling of ResourceItem descriptions PR #1761
pr-tool: give hint about commit headline length limits PR #1763
stored: fix some sd error messages; add additional check during restore; split up always-incremental-consolidate test PR #1722
Generate LICENSE.txt from LICENSE.template PR #1753
Allow cross-building for Windows on newer compiler PR #1772
cats: fix subscription view missing mariabackup plugin PR #1767
contrib: add reschedule_job_as_full.sh PR #1786
replace https://bugs.bareos.org by https://github.com/bareos/bareos/issues/ PR #1808
tools: remove perl in mtx changer PR #1740
bsmtp: add fixes to be more rfc compliant PR #1795
pr-tool: update LICENSE.txt PR #1773
tools: add dedup estimation tool
bdedupestimatePR #1654pr-tool: add backport tool PR #1639
Build FreeBSD 13.3 and 14.0 PR #1765
Build ULC and EL_9 for aarch64 PR #1821
webui: fix and improve update check PR #1809
python-bareos: fix description PR #1840
contrib: fix reschedule_job_as_full.sh PR #1853
pull-request-template: add milestone check to reviewers list PR #1868
contrib: add pure python statefile parser PR #1789
Use only MinGW VSS PR #1847
VMware Plugin: Adapt to Python 3.12 PR #1850
freebsd: fix build issues with ports tree 2024Q3 PR #1883
Improve PythonFdWrapper class PR #1846
windows: build natively with msvc compiler PR #1744
alist: fix race condition while iterating PR #1859
build: enable building for Fedora40 and Ubuntu 24.04 PR #1815
ULC: build the universal linux client also for rpm based OS. PR #1824
consolidate: disable vfull duplicate job check PR #1739
dird: disallow running always incremental virtual full jobs with empty jobid list PR #1738
msgchan: fix deadlock PR #1858
VMware Plugin: Add option restore_allow_disks_mismatch PR #1876
matrix remove obsolete SUSE PR #1888
cats: scripts add option –no-psqlrc to psql PR #1900
filed: fix python plugin crash on python <3.10 PR #1889
vadp-dumper: fix out of bounds read PR #1908
webui: fixing selenium tests PR #1885
plugins: adjust plugin info formatting PR #1919
python-bareos: fix backslash usage in regex PR #1917
Libcloud Accurate File Backup PR #1903
cats: add missing database locks PR #1787
webui: properly set focus to input box after each command PR #1936
bscrypto: fix and update code, and move CLI parsing to cli11, add systemtests PR #1734
docs: add ADR infrastructure and first ADRs PR #1945
nsi installers: remove postgresql backend PR #1914
systemtests: fix plugin postgresql testrunner-* PR #1947
webui: fix handling deleted clients in restore browser PR #1933
console.cc: forbid @exec etc. as privileged user PR #1950
github actions python-bareos: add workflow_dispatch PR #1966
FreeBSD: fix sed inplace usage, use bin/sh as shebang for script, pkg make director dependent of database-postgresql PR #1961
dir: fix DbLocker usage PR #1953
debian: fix dedupable backend names PR #1977
external packages: use CPM packages instead of third-party directory PR #1963
scripts: remove unmaintained bareos-explorer PR #1990
build: add support for Fedora 41 PR #1996
filed: detect integer overflow during backup PR #1952
dedupable device: fix example files PR #2029
bareosfd_test.py: allow a delta of 1.1 PR #2031
mssql TearDownVdiDevice(): enhance error reporting PR #2008
macos: update build environment PR #2035
NDMP_NATIVE: enable full restore, eject tape before unload, enable update of NDMP environment PR #1862
vmware: upgrade vmware vix disklib to version 8.0.3
plugins: Fix typo in postgresql plugin PR #2071
Removed
Documentation
docs: improvements for droplet, jobdefs PR #1581
docs: fix Pool explanation for migration jobs PR #1728
github: introduce template for issues PR #1716
docs: improve pluginAPI docs PR #1805
Fix mistake in VolumeManagement.rst PR #1829
docs: improve Restoring a Bareos Server section PR #1878
Update ReaR documentation PR #1871
docs: improve debuginfo install description (fix issue #1943) PR #1980
docs: add debian howto start daemons instructions PR #1998
docs: move bareos-devel to github discussion PR #1989
docs: fixed typo in the filedaemon service name PR #2027
docs: add worm support paragraph PR #2037
docs: fix grpc-fd plugin call PR #2069
Fixed
core: fix some overlooked issues in msvc merge PR #1912
dird: fix
purge oldest volumePR #1628Fix continuation on colons in plugin baseclass PR #1637
plugins: fix cancel handling crash PR #1595
Fix bareos_tasks plugin for pgsql PR #1659
core: Fix compile errors on GCC 14 PR #1687
stored: fix authentication race condition / deadlock PR #1732
Fix warning about missing delcandidates table in director PR #1721
stored: fix not counting files correctly in mac jobs when autoxflate is enabled PR #1745
cats: fixes BigSqlQuery header fetching PR #1746
Fix issue #1780 libpng icc profil PR #1788
Fix missing DLL in windows packaging PR #1807
VMware Plugin: Adapt to older urllib3 versions PR #1810
fix various memory leaks PR #1723
fix sql error on bad virtualfull; detect parsing errors with strtod PR #1725
windows: fix some crashes, change handling of invalid paths; lex: add better error detection; accurate: fix out of bounds writes PR #1793
create_bareos_database: fix
db_namenot being double quoted PR #1865fix warnings on FreeBSD 13.3 compiler PR #1881
dir: fix crash on purge with job without client PR #1857
fix runtime status PR #1872
Fix multiple ACL handling bugs PR #1875
fix #1775 plugin: fd mariabackup add support mariadb 11+ PR #1835
deb control files: depend on python3-bareos PR #1956
fix include-ordering on FreeBSD that could cause build issues PR #1972
stored: fix volume size mismatch PR #1992
add Honor No Dump Flag to config output PR #1994
JSON API: make sure, strings are valid UTF8 PR #1922
dird: fix mark command not accepting full windows paths PR #1938
stored: explicitly flush after labeling PR #2022
bareos-version-from-git: fix output for wip tags PR #2019
lib: add source_location; fix test crash PR #2006
plugins: postgresql add support for PostgreSQL 17 + improvements PR #2004
cats: fix version.map.in PR #2065
webui: fix for PHP < 7.3 PR #2070
23.0.0 - 2023-12-13
Breaking changes
Automatic downgrades to cleartext connections are now disabled by default. Connecting to Bareos filedaemon < 18.2 is not possible anymore - even if configured with TLS certificates. Please update your clients. Only if you absolutely cannot update a client you can configure
TLS Enable = noexplicitly. However, this is inherently insecure.The old catalog backup script
make_catalog_backup.plhas been removed. Its replacementmake_catalog_backupwas already the default. If you didn’t already update your BackupCatalog job, now is the time to do so.Support for Windows x86 (32Bit) has been removed.
Support for Python 2 has been removed.
The following deprecated configuration options have been removed, make sure to update your configuration accordingly:
Director daemon
Pid DirectoryMaximum Connections
File daemon
Pid DirectoryCompatibleMaximum Connections
Storage daemon
Pid DirectoryCompatibleMaximum Connections
The following configuration defaults have changed:
Director daemon
Hard Links = no(wasyes) in FileSet->Include->OptionsTLS Require = yes(wasno)
Storage daemon
Maximum Concurrent Jobs = 1(was0) in DeviceMaximum Block Size = 1048576(was0) in DeviceTLS Require = yes(wasno)
File daemon
TLS Require = yes(wasno)
The PostgreSQL plugin got a complete rewrite, the minimal changes are:
module_name=bareos-fd-postgresqldb_host=wal_archive_dir=
Added
file checksums: add new signature algorithm xxh128 PR #1359
stored: buffer fd messages PR #1539
filed: parallel compression/reading/sending PR #1533
cats: postgresql introduce pl/sql lstat_decode() function PR #1466
bareos-fd-plugin: new python PostgreSQL PR #1541
Improve python plugin configuration PR #1619
tls: add tls v1.3 configuration option PR #1577
restore: add fileregex parameter PR #1618
webui: add machine-readable copyright file PR #1419
webui: add config resource graph to analytics (experimental) PR #1412
build: add Debian 12 PR #1477
build: add Fedora 38 PR #1563
build: add Fedora 39 PR #1615
devtools: add
pr-toolto automate PR review and merge PR #935
Changed
VMware Plugin: introduce pyVmomi 8.x compatibility PR #1352
VMware Plugin: Backup and Restore of VMs using multiple datastores PR #1473
VMware Plugin: improve snapshot cleanup PR #1484
webui: enable sorting on version column PR #1365
webui: create internal api module PR #1447
webui: make restore merge options configurable PR #1445
webui: update German translation PR #1437
webui: update localization PR #1414
webui: improve localization process PR #1429
webui: re-add show update status for clients PR #1371
webui: upgrade bootstrap to version 3.4.1 PR #1550
tray-monitor: build against Qt6 when present PR #1011
dird: skip disabled clients in status command PR #1367
ua_restore: Add additional client info for restore report PR #1374
ua_restore: enable restore from archive PR #1372
dird: enable default options in
filesetconfig when no options are explicitly specified PR #1357dird: cats: adapt
purgecommand to delete jobs with specific jobstatus and/or from specific pool PR #1349dird: allow to disable TLS-PSK downgrades PR #1398
dird: keep copy and migration control/administrative jobs PR #1421
dird: deprecate client
Autoprune,JobRetention, andFileRetentionPR #1425dird: cats: abort purge when there are no eligible jobids PR #1512
dird: show current and allowed console connections PR #1487
dird: add prev and new jobid variables PR #1499
dird:
list jobs: addlevelkeyword and accept a list of job levels PR #1548consolidate: make virtualfull jobs spawned by consolidate job inherit same priority and max concurrent jobs PR #1530
database: improve subscription view PR #1542
update
Maximum Concurrent Jobsdefault value to 1 PR #1426stored: change default block size to 1 MiB PR #1396
stored: add AccessMode SD->Device directive to reserve devices exclusively for reading or writing PR #1464
stored: automatically increment tape block size in case the buffer is too small PR #1496
vss: remove dependency on live system during backup PR #1452
bsmtp: make mailhost and port message info a debug message PR #1507
improve default configuration PR #1508
ua_restore: change restore argument handling PR #1516
plugins: switch python-ldap plugin to python3 PR #1522
python-fd: allow fd plugins to (re-)set since-time and disable/re-enable timestamp/accurate checks PR #1505
python-bareos: add missing
dirnamevariable PR #1460python-bareos: add timeout setting when connecting to the director. PR #1583
python: adapt for new Python module versions PR #1546
Python Plugins: Avoid pop(0) performance impact PR #1351
config: deprecate
LabelTypeandCheckLabelsPR #1521daemons: set CLI11 error exit code to
41and bareos config parsing error exit code to42PR #1515require TLS by default PR #1529
database: media table: use bigint instead of integer PR #1579
configuration: deprecate base jobs PR #1580
Enable automatic cpu-dependent dispatch for xxHash PR #1601
packaging: systemd unit: set a limit of restart PR #1450
Allow to use the third-party libraries of the OS instead of the bundled ones PR #1441
scripts: config-lib improve get_local_hostname fallback PR #1402
cleanup: remove some unused functions and shrink number of includes in bareos.h PR #1433
rename gettext macro PR #1588
build: replace sprintf by snprintf due to upgraded MacOS compiler, change linking of googletest PR #1361
introduce php-cs-fixer and apply PSR-12 guidelines PR #1403
berrno_test.cc: accept both 271E and 273E PR #1407
Sanitizers: add ASAN options to avoid crashes PR #1410
packaging: cleanup SUSE webui dependencies PR #1493
build: adapt matrix and pkglist for changes to CI PR #1490
build: switch from FreeBSD 13.1 to 13.2 PR #1524
build: switch to FreeBSD 12.4 PR #1440
FreeBSD: build cleanup PR #1336
testfind: reuse filedaemon logic PR #1234
core: make resource/configuration locking safer PR #1325
systemtests:
rename virtualfull->virtualfull-basic,bareos->bareos-basic,bconsole->bconsole-basicPR #1339improvements to pr-tool PR #1389
pr-tool: handling POEditor commits and optional github ci tests PR #1434
pr-tool: Add options to be used in CI runs PR #1488
bareos-check-sources: ignore bootstrap*.css PR #1556
utils: add a thread-safe single-producer/single-consumer queue PR #1504
devtools: Update python dependencies PR #1531
scripts: force cd / for all PostgreSQL scripts PR #1608
dird: remove optimize_for_size/optimize_for_speed PR #1613
macOS: fix linking problem for macOS >= 14 PR #1620
filedaemon: remove ovirt plugin PR #1626
vadp-dumper: fix multithreaded backup/restore issues PR #1623
VMware Plugin: Run bareos_vadp_dumper with optimized parameters to increase backup performance PR #1631
Removed
cats: remove remains of deprecated databases PR #1377
dird: filed: stored: remove deprecated
maximumconnectionsoption from configuration PR #1340filed: stored: remove deprecated
compatibleoption from configuration PR #1341daemons: remove deprecated
Pid Directoryconfig option PR #1426core: remove deprecated make_catalog_backup.pl PR #1378
build: remove python2 support PR #1520
build: disable building for Windows 32-bit PR #1582
build: remove openSUSE 15.3 and Univention 5.0 from test matrix PR #1469
cats: remove dynamic catalog backends PR #1392
remove no longer used pkglists PR #1335
Remove unnecessary loader/module split in Python modules for the FD PR #1602
webui: remove some development leftovers and artefacts PR #1422
Fixed
VMware Plugin: Fix backup and recreating VMs with PCI passthrough for GPU PR #1565
VMware Plugin: Fix transformer issues PR #1532
VMware Plugin: fix restore to different vmname PR #1390
vmware_cbt_tool.py: pyVmomi 8.x compatibility PR #1386
stored: fix support for non-tape block-addressed devices PR #1554
stored: remove warning for maximum block size for tapes PR #1375
stored: fix crashes of storage tools when autoxflate plugin is loaded PR #1348
storage daemon: fix crash on volume swap PR #1356
status storage: fix wrong data displayed about waiting jobs PR #1476
stored: fix blocksize warning PR #1503
stored: fix incoherent meta data when concurrently writing to the same volume PR #1495
daemons: update network handling when IP protocols unavailable PR #1454
autoxflate: fix autoxflate on replication PR #1576
core: fix schema public with PostgreSQL 15 PR #1449
cats: fix issue where
startfilefield gets wrongly updated PR #1346cats: fix for integer overflow issue when using
offsetinllistPR #1547catreq.cc: suppress missing batch con warning PR #1578
postgresql plugin: read config parameters from cluster PR #1599
cats: fix creates, grants and drops postgresql PR #1502
Improve handling of catalog requests that try to reduce VolFiles, VolBlocks and VolBytes PR #1431
dird: fix expected file count error during bsr build PR #1511
tools: fix tools not starting up on windows PR #1549
bsmtp: fix and update code, and change CLI parsing to CLI11 PR #1316
restore: fix failed restores showing
Restore ok with warningPR #1387json generation: Fix some leaks and an integer overflow PR #1130
bsmtp bls bextract: fixes for command line parsing PR #1455
checkpoints: fix performance drop on big volume restores PR #1345
Fix problem with reoccuring files in always incremental PR #1395
Consolidate: fix for consolidate job’s client name not being correctly shown PR #1474
filed: fix possible data-loss when excluding hardlinks PR #1506
filed: avoid reading from ephemeral buffer PR #1373
filed: fix off-by-one error when resizing acl buffer PR #1479
core: fixes for gcc-13 support PR #1424
build: fix for gcc 13.1.1 PR #1459
Fix gcc warnings in ndmjob program PR #1343
packaging: debian fix dependencies PR #1573
github actions: update/fix publish to PyPI workflows PR #1572
github actions: PyPi: install setuptools PR #1604
scripts: config-lib improve setup_sd_user PR #1448
dird: fix
purge oldest volumePR #1629
Documentation
add explanation about binary version numbers PR #1354
docs: improve bareos-webui documentation PR #1366
docs: catalog maintenance improvements PR #1379
doc: improve plugin, webui, virtualfull chapters PR #1401
docs: move and update localization documentation PR #1415
check-sources: update check-sources ignores PR #1439
docs: replace GZIP compression by LZ4 and MD5/SHA1 signature by XXH128 PR #1453
docs: Windows add Antivirus section PR #1468
doc: renew tutorial, suggest passive client, restructure heartbeat interval PR #1543
docs: improvements for droplet, jobdefs, concurrents jobs for restore PR #1611
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.plperl script in favor of an improvedmake_catalog_backupshell script. There is a compatibility-wrapper, but that only supports simple cases. If you applied changes toBackupCatalogJob, you should immediately migrate to usemake_catalog_backup. See catalog documentation PR #1081Bareos changed the way its binaries parse CLI arguments. Four existing options now require two minus signs (
--) instead of one (-) :-xc->--xcto export all configuration at once.-xc[resource[=<name>]]->--xc [resource [ressource-name]]to export a specific resource.-xs->--xsto export configuration JSON schema.-dt->--dtto 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.shwhich will setup the corresponding repository automaticallyVMware 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_rawioin your bareos config dir and will configure the required cap_sys_rawio capabilities PR #1057webui: 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
jobtypeparameter to(l)list jobsPR #1149contrib: 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 = vfatin LinuxAll.conf for UEFI partition PR #1236bareos 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=yesrequires an API connection to vCenter PR #1219python 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
dbconfigcreate the Bareos catalog also withLC_COLLATE='C'andLC_CTYPE='C'. The create_bareos_database script did always do so. Requiresdbconfig >= 2.0.21PR #1031fix wrong
packages_dirin restapi workflow, so restapi packages will be released to PyPI PR #1033core cats: Add
IF EXISTSindrop tablestatements fix for bug #1409 (Allow usage of ExitOnFatal) PR #1035sql_get.cc: fix error logging in
GetJobRecord()for jobname PR #1042webui: fix empty job timeline issue if
date.timezoneis not set inphp.iniPR #1051Fix 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
TypeErrorif node.data is null PR #1087core cats: Add
DROP VIEWSinstruction indrop_bareos_tablescript PR #1092Don’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/update2171_2192and2192_2210files PR #1147Fix director connects to client while
Connection From Director To Clientis disabled. PR #1099cats: make
.bvfs_updateand.bvfs_versionstake archive jobs into consideration PR #1152Fix
always-incremental-consolidatesystemtest sporadic fails, and rename it. PR #1154packaging: 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 #1171dir: miscalculation when using
always incremental keep numberPR #1159Windows 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
bcopywhen using certain cli arguments PR #1211webui: 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
.jobstatusPR #1278testfind: 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 Bootstrapto pipe fails PR #1296webui: 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 directoror the--xc directorcli option PR #1315webui: add timeline chart by jobs PR #1059
bareos-fd-postgres: properly close database connection PR #1326
filed: fix handling of
STREAM_ACL_PLUGINduring restore PR #1308dird: 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_jobidsandbuildSubtree()call PR #1050git: set merge strategy for CHANGELOG.md to union PR #1062
stored: enable labeling of tapes in drives even if
autoselect=noPR #1021dir, stored: start statistics threads only if needed PR #1040
gitignore: cleanup
.gitignorefiles PR #1067webui: 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 jobtotalsthat write data to volumes PR #1135jstreegrid: remove handling of IE < 8 using navigator interface to avoid warnings in chrome PR #1140
dird:
bvfs_updatenow usesunordered_mapinstead ofhtablefor the pathid cache PR #1138cats: 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_driversupport PR #1081bconsole: 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 #1193console: 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 jobsdoesn’t ask for jobtypes anymore, and prunes all jobtypes except Archives (A) PR #1215dird: 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
-Wextrawarning level and apply required changes PR #1261lib: make
foreach_res()reload-safe PR #1279build: 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
optionsinstead ofchrome_optionsPR #1306systemtests: 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_phptophp-fpmPR #1287dird: 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.plis now a shell wrapper script which will be removed in version 23.marked config directive
Compatibleas deprecated PR #1284deprecated
Maximum Connectionsdirective from all daemons and removed all uses in code. Directive has no effect anymore PR #1285deprecate python2 plugins PR #1331
Removed
Security
webui: update jquery from v3.2.0 to v3.6.0 PR #1083
dird: check authorization on PAM login PR #1115 CVE-2022-24755
dird: fix memory leak on failed PAM login PR #1115 CVE-2022-24756
webui: update moment.js to version 2.29.2 PR #1155 CVE-2022-24785
webui is NOT affected
webui does NOT use the npm server
webui does NOT use a user-provided locale string to directly switch moment locale
webui: Fix URL rewrite vulnerability in zend-http component PR #1213 No known CVE
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.rstfile into one file per section PR #1054split the very long
Plugins.rstfile into one file per Bareos plugin PR #1046rework SD plugin scsicrypto linux
sg_io ioctlsubsection forcap_sys_rawioPR #1057improve 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_safestatus to False PR #1037fix 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
FIPSsection PR #1181add instruction to run sphinx linkcheck before release PR #1218
FreeBSD install create
/usr/local/etc/pkg/reposdirectory PR #1227remove deprecated rados & ceph references from documentation PR #1216
improve Wild(*) section with links to example PR #1228
add example to selection
type = sql queryPR #1229dir-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
sha256andsha512parameter PR #1230improve 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.shPR #1238update Pull Request workflow description PR #1243
docs: improve operating system table PR #1254
add FAQ entry about howto upgrade from
Bareos < 20with Bareos Python packages installed PR #1260describe usage of the
add_bareos_repositories.shscript PR #1248Appendix/Bareos Programs improvements PR #1255
obsolete comments removed PR #1268
fix bsmtp
get-usage.shcall PR #1267add 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
mariabackupdb 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 = noin your Catalog resource. PR #860Bareos now listens on IPv4 and IPv6 by default. If you currently use
[DIR|SD|FD] Addressor[DIR|SD|FD] Address, you may need to update your configuration to get the same behaviour as before. PR #882Support for MySQL and SQLite catalog backends has been removed. Switch to PostgreSQL via
bareos-dbcopyon Bareos 20 before upgrading. PR #949Bareos 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=yesPR #826fix 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 enablethat would not display correct data PR #1025fix 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
reloadcommands to systemd service PR #694add 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 #780add 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
DirAddressdirective PR #882show more details about subscriptions and units data with
status subscriptionsPR #989webui: 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 pipefailPR #780core: 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
releasecommand to be used in scripts PR #961webui: 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 DefaultsSub Sys Directory
Storage resource
Sdd Port
Pool resource
Use Volume Once
Job resource
Write Part After JobAlias
Differential Max Wait TimeforDifferential Max RuntimeAlias
Full Max Wait TimeforFull Max RuntimeAlias
Incremental Max Wait TimeforIncremental Max RuntimeAlias
Plugin OptionsforFd Plugin Options
Client resource
Alias
Allow Client ConnectforConnection From Client To Director
Storage Daemon
Device resource
Free Space CommandMaximum Part SizeWrite Part CommandMaximum 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
dbdriverfrom all config files, templates and from automatic configuration during install PR #1027Remove regression tests (
regress/directory). Tests still relevant tests have been migrated into systemtests PR #780Removed 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 #1008add “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 #463Pre-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
Removed
Remove support for creating MySQL / SQLite catalogs PR #563
Security
Do not accept cram challenge if own hostname is used PR #536 CVE-2020-4042
Issue #1210: Heap overflow in director when running a verify job against a malicious filedaemon CVE-2020-11061