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

Release Notes

Warning

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

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

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

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

Unreleased

Breaking Changes

  • If you are relying on the fact that Bareos doesn’t try to reconnect automatically on a database drop, you now have to specify it explicitly in the Catalog configuration with a Reconnect = no directive. PR #860
  • when setting an IPv6 address using the [DIR|SD|FD] Addresses directive, now bareos only listens on IPv6 instead of both IPv4 and IPv6 on dual-stack. If you were using the [DIR|SD|FD] Addresses directive to create a dual-stack socket that would listen on both IPv6 AND IPv4, it will not work that way anymore. You should now also explicitly specify the IPv4 address in the directive PR #882

Fixed

  • docs: Adapted the documentation of the VMware plugin due to update to VDDK 7 PR #844
  • 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
  • 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
  • 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 a date function that leads to errors on the 31st day of a month PR #782
  • fix possible read/write problems when using droplet with https PR #765
  • fix “configure add” handling of quoted strings PR #764
  • fix config-dump systemtest PR #736
  • fix systemtests daemon control scripts PR #762
  • 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
  • Issue #1329: If CommandACL limits any command, no messages can be read but “you have messages” is displayed. PR #763
  • fix gfapi-fd: avoid possible crash on second glfs_close() call PR #792
  • docs: declare shell scripts code blocks as “sh” instead of “shell-session” PR #802
  • Issue #1205: PHP 7.3 issue with compact() in HeadLink.php PR #829
  • reorder acquire on migrate/copy to avoid possible deadlock PR #828
  • 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
  • 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
  • Issue #1232: bareos logrotate errors, reintroduce su directive in logrotate PR #918
  • fix scheduler running disabled jobs after executing the disable command PR #924
  • 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

Added

  • 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
  • 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
  • added choice for the drive number in the truncate command PR #823
  • systemtests for S3 functionalities (droplet, libcloud) now use https PR #765
  • added reload commands to systemd service PR #694
  • Build the package bareos-filedaemon-postgresql-python-plugin also for Debian, Ubuntu and UCS (deb packages) PR #723.
  • added an informative debugmessage when a dynamic backend cannot be loaded PR #740
  • support for shorter date formats, where shorter dates are compensated with lowest value possible to make a full date PR #707
  • added external repo bareos-contrib as subtree PR #752
  • add “copy button” to code snippets in documentation for easy copying PR #802
  • added multicolumn prompt selection for selection of more than 20 items PR #731
  • 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
  • added option to delete selected storage in bconsole if it is orphaned PR #912
  • docs: BareosSecurityIssues add remark about new systemd service (non forking) logged information into systemd-journal
  • docs: BareosSecurityIssues add remark about new systemd service (non forking) logged information into systemd-journal PR #927

Changed

  • systemtest python-bareos: split tests in separate files PR #944
  • core: systemd service: change daemon type from forking to simple and start daemons in foreground PR #824
  • systemtests: define variable BackupDirectory globally PR #780
  • systemtests: run all systemstests with set -o pipefail PR #780
  • core: cleanup systemd service dependencies: Requires network.target, but start after the network-online.target PR #700
  • 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
  • Fixed broken link in https://docs.bareos.org/IntroductionAndTutorial/WhatIsBareos.html documentation page
  • 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
  • Enable c++17 support PR #741
  • 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
  • postgresql filedaemon plugin: switched from psycopg2 to pg8000, dropped support for python2.
  • 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
  • docs: Describe how to get debugging info when using the VMware plugin PR #921
  • 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
  • Disable autotosectionlabel plugin in documentation and add required labels PR #942
  • 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

Deprecated

Removed

  • Remove regression tests (regress/ directory). Tests still relevant tests have been migrated into systemtests PR #780
  • 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.
  • Removed outdated support for platforms Alpha, BSDi, Gentoo, Irix and Mandrake.
  • Removed language support files for the core daemons, as these files are outdated and not used at all.
  • 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 support for IPv4-only build. IPv6 now is required for building bareos. PR #913
  • 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

Security

Documentation

  • 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