Release Notes for Bacula Community 9.0

Community

Release 9.0.8 28 May 2018

This is a minor release that fixes a couple of bugs and corrects some copyrights that were not totally correct.

  • Fix bug #2212 where restore jobid=nn file=xxx restores the files twice

  • Pull regression truncate-test from Branch-9.1

  • Apply patch from Wandlei Huttel to add Run Time and suffix to Restored bytes

  • Fix bug #2343 where truncate of explicit Volume name truncates non-purged volumes

  • Fix some file execute permissions. Fixes bug #2389

  • Fix license problems in Bug #2382

  • Apply patch from Leo to fix bug 2192

  • Fix bad placement of jcr->pool reference as pointed out by Martin Simmons

  • rpm: Add OpenSuse Leap 42.3

  • rpm: Update bacula.spec for Fedora 27

  • baculum: Fix SQL grouping error in restore wizard reported by Rasmus Linden

  • Update some old copyrights

  • baculum: Update Portuguese translations

  • Remove old Bacula Systems notices

Bugs fixed/closed since last release: 2212 2320 2349 2354 2379 2382 2383 2330 2054 2343 2369 2194 2359 2151 2366 2353 2381 2378

Release 9.0.7 18 Apr 2018

This is a significant release because it now has the Windows code reintegrated and updated to work with this version. Other than Baculum updates and the new Windows update, there is no significant change to the other code.

If you wish to use the Windows 9.0.7 File daemon binaries with your existing 9.0.x Bacula Director and Storage daemon it should work fine but has not been tested.

The 64 bit version of the Windows binaries has been installed and very quickly tested, as a consequence, please test it carefully before putting into production. There seem to be some minor installation errors that are probably related to .conf files. Also the Windows binaries do not yet contain the tray-monitor or the old Exchange plug. Both currently fail to build.

  • Remove NSIS debug

  • baculum: Fix opening configuration tabs bug reported by Heitor Faria

  • Restore win32 dir from Branch-5.2 and update it

  • Add Phil Stracchino’s fix for Qt5

  • baculum: Fix saving boolean values in schedule Run directive

  • rpm: Add Fedora26-64 platform

  • baculum: Add link to go back from job configuration window

  • Use correct SQL table encoding for Postgresql 10.x

  • baculum: Add listbox control and use it for base and device directives

  • baculum: Fix showing verify job fields in job run configuration window

  • baculum: Revert back volume pool name in volume list window

  • baculum: Fix error message about disabled bconsole

  • baculum: API endpoints code refactor

  • baculum: Add state, number, boolean and id validators

  • baculum: Return bconsole disabled error if bconsole support isn’t enabled

  • baculum: Remove unused api endpoints

  • baculum: Fix oauth2 client working in the web part

  • baculum: Fix auth setting radio buttons alignement

  • baculum: Enlarge interface height to 100%

  • baculum: Add more information to cURL error

  • baculum: New reworked restore wizard

  • baculum: Wizards view improvements

  • baculum: Add restore hardlinks support in api

  • baculum: Add strip_prefix, add_prefix, add_suffix and regex_where restore options to api restore

  • Port missing RestoreObject Plugin Config code from BEE.

  • baculum: Stop using hidden fields to store item identifiers

  • baculum: Fix redundant loading users portlet

  • baculum: Add required config fields asterisk mark

Bugs fixed/closed since last release: None

Release 9.0.6 19 Nov 2017

This is a bug fix and enhancement release. The two major enhancements are support for Qt5 in bat and the tray monitor, and support for OpenSSL-1.1. There were also a number of nice bug fixes. Thanks to the users who supplied patches for the enhancements and bug fixes. They are much appreciated.

  • Update AUTHORS for recent commits

  • Remove incorrecly placed openssl-compat.h

  • Add openssl-compat.h which went in wrong directory

  • baculum: Add removing single resource

  • baculum: Add module to check resource dependencies

  • baculum: Fix saving names with spaces inside schedule Run directive

  • baculum: Fix saving entire config by api request

  • Backout vol size tests in previous attempt to fix bug #2349

  • Fix compiler warning in previous patch

  • Apply patches from bugs #2325 and #2326 to fix FIFO bugs

  • Fix bug #2315 INTEGER misspelled in update_sqlite3_tables.in

  • Try to fix bug #2349 multiple recycle messages

  • Add support for items with comma in ini_store_alist_str()

  • Fix segfault after the reload of an incorrect configuration

  • Add temporary fix to avoid a deadlock after a reload command on an incorrect configuration

  • baculum: Throw 404 error if service not known

  • Fix race condition between setip and the access to CLIENT::address()

  • Fix #3284 about Client address not reloaded properly

  • baculum: Use home page url when an error is shown

  • Fix bug #2346 Dir blocks when max reloads reached

  • baculum: Send config to api server as json

  • Remove enterprise code that breaks Mac install – fixes bug #2351

  • Correct FS size calculation for FreeBSD, Solaris, and Windows

  • baculum: Enable Portuguese language support in makefile

  • baculum: Fix required directives in schedule resource configuration

  • baculum: Fix saving messages resource

  • baculum: Improve slow reloading config resource list

  • crypto: remove most of OpenSSL initcallbacks for 1.1

  • Update ACL/XATTR code and define new ACL/XATTR API for Plugins.

  • baculum: Fix numeric password setting bug reported by Heitor Faria

  • crypto: convert EVP_PKEY access and remainings bits for OpenSSL 1.1

  • crypto: convert EVP_MD_CTX + EVP_CIPHER_CTX to OpenSSL 1.1

  • crypto: Use DEFINE_STACK_OF()

  • crypto: Add a tiny OpenSSL compat level

  • crypto: remove support for ancient openssl

  • fix #3269 obey the user choice of “Are you sure you want to delete X JobIds

  • Add restore wizard to the tray monitor.

  • Preparation fixes: remove some warning

  • Add ASSERTD() to track NULL Volume name error

  • Add “noautoparent” restore command option to disable the automatic parent

directory selection

  • Make qt-console compatible to Qt5 (Qt4 still work)

Bugs fixed/closed since last release: 2315 2325 2346 2349 2351

Release 9.0.5 11 Sep 2017

This is an important bug fix release. In particular it fixes the cases where Bacula would print a very large number of error messages. Additional backported code from Bacula Enterprise is included as well as updates to the rpm scripts. A number of minor Baculum issues have also been corrected.

01 Nov 2017

  • Use if exists on dropping MAC table in postgres. Fixes bug #2314

  • Fix bdirjson display of Minutes. Fixes bug #2318

  • baculum: Set default language if no language set

  • baculum: Fix language setting in api

  • baculum: Update generated .mo files for api

  • baculum: Add missing texts to translations

  • baculum: Fix add to translation static texts on the api default page

  • baculum: Fix missing session start

  • Make verify job log same as other logs – fixes bug #2328

  • Take a more conservative approach for setting killable true

  • Add extra safety for readdir buffer

31 Oct 2017

  • Retab systemd/Makefile.in

  • Don’t require mount for @piddir@

  • Use Debian systemd start/stop scripts supplied by Sven Hartge

29 Oct 2017

  • Fix bug #2316 add CacheRetention to Pool

  • Skip tape ioctls on FreeBSD when using a FIFO fixes bug #2324

  • Fix bug #2338 to not truncate already truncated volumes

  • Remove some old C int code and use bool

28 Oct 2017

  • Remove unused lib/lz4.c.orig file

  • Update AUTHORS file

  • Mark Volume read-only only if no access rights or read-only partition

  • Add -P daemon option to supress creating PID file

  • Fix too big copy to test FD plugin_ctx

26 Oct 2017

  • Backport Enterprise code

23 Oct 2017

  • When read-only volume found mark it in catalog – fixes bug #2337

  • Make out of space on partition fatal

  • Fix bug 2323 – loop exit condition was backward and add error message

  • Add missing copy-plugin-confs for regress

  • Fix bug reported by jesper@schmitz.computer where bat hangs on FreeBSD

08 Oct 2017

  • baculum: Fix reading and writing schedule resource

15 Sep 2017

  • baculum: Fix undefined offset error during saving director config

  • baculum: Fix listing days of week in schedule setting

14 Sep 2017

  • baculum: Fix saving schedule run directive value

12 Sep 2017

  • rpm: Add missing script baculabackupreport and query.sql for Suse

  • rpm: Add missing libbacsd* file and tapealert script to Suse rpm spec file

  • rpm: Add missing libs bbconsjson, bdirjson and bsdjson to Suse rpm spec

file

  • rpm: Add aligned plugin rpm spec file for Suse

  • rpm: Add bacula-tray-monitor.desktop launcher in scripts directory

  • rpm: Add Suse Linux ES 12.1 platform

11 Sep 2017

  • rpm: Add bacula-tray-monitor.desktop file in script dir

Bugs fixed/closed since last release: 2314 2316 2318 2324 2328 2337 2338

Release 9.0.4 06 Sep 2017

This is a minor bug fix release. The main fix in this release is to allow SQLite3 to work.

Please note: SQLite3 has been depreciated for a long time. If the community will step forward (as it did in this case) and prepare the appropriate make_sqlite3_tables and update_sqlite3_tables files, we can continue to leave the SQLite3 code in Bacula. However, we strongly urge users to update to MySQL, MariaDB, and PostgreSQL, which are our supported SQL databases.

  • Update po files

  • Fix SQLite3 upgrade tables script fixes bug #2306

  • baculum: Fix language setting in config file

  • Upgrade to latest lz4.c to fix bug #2310 bus error on 64 bit Solaris

  • Recompile configure.in

  • Ensure systemd/bacula.conf is created by configure fixed bug #2307

  • Fix compiler warning noted in bug #2309

  • Fix SQLite3 Version bug #2305

  • Remove unused variable to elimiate compiler warning

  • Recompile configure.in

  • Fix #2925 Do not try to stop non backup jobs (virtualfull, copy, migration,

restore, etc…)

  • baculum: Fix broken symbolic links for lang files

  • don’t use add_event() when flag “l” is not set

  • core: bwlimit measure bandwidth

  • core: bwlimit handle backlog and allow burst

  • Do not purge running jobs in autoprune

Bugs fixed/closed since last release: 2305 2306 2307 2309 2310 2925

Release 9.0.3 08 Aug 2017

This is a minor bug fix release.

  • baculum: Fix access denied error on api install wizard page

  • baculum: Remove assigning to api host when user is deleted

  • baculum: Fix empty admin setting

  • baculum: Add ability to assign host to specific user

  • baculum: Fix bconsole test connection for new api host that works with new director

  • baculum: Fix sqlite db support

  • Fix bug #2301 Solaris Available space incorrectly reported by turning off the output for Solaris

  • Fix bug #2300 mount/unmount/release of single tape drive does not work

  • baculum: Fix bconsole connection test in config wizard

  • baculum: Fix writing config for schedule and message names with space

  • bpipe: Fix compiler warning

  • baculum: Fix drag & drop file version elements

  • baculum: Add fileset info endpoint and use it in restore wizard

  • baculum: Use client name instead of clientid and start using fileset to prepare restore tree

  • baculum: Remove fileset parameter from run restore

  • baculum: Fix lstat regex pattern

  • baculum: Get the most recent jobs by client and fileset or by clientid and filesetid

  • Fix: bug #3048: jobs are stuck in endless loop in reserve.c

  • Add total time to test.out file

  • baculum: Add restore job selection in restore job wizard

  • Enhance verify job report from bug 2249

Bugs fixed/closed since last release: 2300 2301 3048

Release 9.0.2 23 Jul 2017

This is a minor bug fix release, but a few of the bugs are important. The main items fixed are:

  • Postgresql should now work with Postgresql prior to 9.0 Note: the ssl connection feature added in 9.0 is not available on postgresql servers older than 9.0 (it needs the new connection API).

  • The issues with MariaDB (reconnect variable) are now fixed

  • The problem of the btape “test” command finding a wrong number of files in the append test was a bug. It is now fixed. It is unlikely that it affected anything but btape.

  • The bacula-tray-monitor.deskop script is released in the scripts directory.

  • We recommend that you build with libz and lzo library support (the developer packages must be installed when building, and the shared object libraries must be installed at run time). However we have modified the code so that Bacula should build and run with either or both libz or lzo absent.

  • Use Bacula in place of Libz variables so we can build with/without libz and lzo

  • Apply ideas from bug #2255 prettier status slots output

  • Configure and install bacula-tray-monitor.desktop

  • Fix btape test which counted files incorrectly on EOT

  • Fix bug #2296 where Bacula would not compile with postgres 8 or older

  • Fix bug #2294 Bacula does not build with MariaDB 10.2

  • baculum: Fix multiple directors support

  • baculum: Fix showing errors from the API

Bugs fixed/closed since last release: 2255 2294 2296

Release 9.0.1 12 Jul 2017

This is a minor bug fix release that mainly to include the new tray-monitor files that were omitted. The tray-monitor now builds and runs at least on Ubuntu Linux.

  • Remove two incorrect trailing commas in bsock.h

  • Fix bug #2293 bad big endian detection in lz4.c

  • Add new tray-monitor files that were omitted in the backport from Enterprise

  • bvfs: Do not insert deleted directories in PathVisibility table

  • Fix compilation for Debian Stretch with GCC 6.3

Bugs fixed/closed since last release: 2293

Release 9.0.0 02 Jul 2017

This is either the biggest Bacula release ever made or one of the biggest ones. Even without the new Aligned Volumes source code, which is substantial, there are over 400,000 lines of diff output between Release 7.4.7 and the release of 9.0.0

This is a major new release with a new version number. It has been very thoroughly tested, but as always, please backup any previous version and test this version prior to putting it into production.

For the most part the changes were contributed to the Bacula project by Bacula Systems SA and myself, but there were a number of other contributors that I thank.

Database Update

This version of Bacula requires a database update. So either you or the installation process must apply the update_bacula_tables script. As a precaution, please do a database dump or run your nightly database backup prior to running the update script.

Compatibility

As always, both the Community Director and Storage daemon(s) must be upgraded at the same time. Any File daemon running on the same machine as a Director or Storage daemon must be of the same version.

Older File Daemons should be compatible with the 9.0.0 Director and Storage daemons. There should be no need to upgrade older File Daemons.

Packagers

There are a good number of new binaries (e.g. bbconsjson, bdirjson, bfdjson, and bsdjson) to install; a new tapealert script file that should be installed; and some new shared objects (e.g. libbacsd). The dvd-handler script has been removed. Note also to run the update_bacula_tables script after having dumped the catalog to bring any existing catalog up to the new version needed for Bacula 9.0.0.

New Features

Please see the New Features chapter of the manual for documentation on the new features. The new features are currently only in the New Features chapter and have not yet been integrated into the main chapters of the manual.

New Features (summary)

  • Major rewrite of the Storage daemon to: put all drivers in class structures, provide better separation of core/driver code, add new drivers (aligned volumes, cloud), simplifies core code, allows loadable device drivers much like plugins but which are better integrated into the SD.

  • There are a number of new Bacula Systems whitepapers available on www.bacula.org, and a few more will be coming in the next few months.

  • New unique message id will be added to every message (designed but not yet implemented).

Core Features:

  • Implement a drive usage counter to do round robin drive assignment

  • Enhance functionality of TapeAlert

  • Implement a “Perpetual Virtual Full” feature that creates a Virtual Full backup that is updated every day

  • Increase Director’s default “Maximum Concurrent Jobs” setting from 1 to 20

  • Add “PluginDirectory” by default in bacula-sd.conf and bacula-fd.conf

  • Add support for terabytes in sizes. Submitted by Wanderlei Huttel.

  • Restore mtime & atime for symlinks

  • New “status network” command to test the connection and the bandwidth between a Client and a Storage Daemon

  • New Tape Alert tracking

  • Loadable SD device drivers

  • PostgeSQL SSL connections permitted

  • JobStatistics improved

  • DB update required

  • Autochanger improvements to group Devices

  • Improved .estimate command

  • Comm line compression

  • Separate bxxjson programs for Console, Dir, FD, SD to output .conf contents in Json for easier reading with programs

  • Read Only storage devices

Bconsole Features:

  • Add “ExpiresIn” field in list and llist media output

  • Add command to change the priority of a running job (update jobid=xxx priority=yyy)

  • Add level= and jobtype= parameters to the “list jobs” command

  • Add option to bconsole to list and select a specific Console

  • Add shortcut to RunScript console commands. Submitted by Wanderlei Huttel.

  • Display “IgnoreFileSetChanges” in show fileset command (#2107)

  • Display PrefixLinks in “show job” output

  • Display permission bits in .bvfs_decode

  • Display the Comment field in “llist job” command

  • Add “ActionOnPurge” field to “llist pool” command. Fix #2487

  • Add “long” keyword to list command, ie “list long job”. This is essentially an alias fo the “llist” command.

  • Modify the “setbandwidth” limit parameter to accept speed input. ex: limit=10kb/s

  • Modify the “setbandwidth” limit parameter so that the default is no longer kb/s but b/s.

  • Do not show disabled resources in selection list

  • Fix bconsole readline and “dumb” terminal handling of CTRL-C

  • Add the priority field to the .api 2 job listing output

  • Improved restricted consoles when accessing catalog.

Misc Features:

  • New Tray Monitor program

  • Client Initiated Backups

  • Many performance enhancements

  • Bandwidth limitation timing improved

  • Global resource variables are not lost during a reload command

  • Add -w option to btape to specify a working directory

  • Enhance bls -D/-F help message

  • The “list” command now filters the results using the current Console ACLs

  • The WhereACL is now verified after the restore menu

  • Skip verify-data-test if not running Linux

  • Skip lzo-test if lzo not in Bacula

  • Remove double define HAVE_LZO in config.h

  • Add documentation on baculabackupreport to delete_catalog_backup.in

  • Install baculabackupreport and ignore script without .in

  • Recompile configure.in

  • Add Bill’s baculabackupreport script

  • Update po files

  • Fix error in FreeBSD during maxtime-test

  • Fix #2853 About character substitution for “virtual full” job level in RunAfterJob

  • Attempt to fix timing problem with console-dotcmd-test on FreeBSD

  • Ensure we have a DIR connection in dequeue_messages

  • Add more debug to regress for FreeBSD failures

  • Fix #2940 Allow specific Director job code in WriteBootstrap directive

  • Fix pragma pack to allow lz4.c work on Solaris and other machines

  • baculum: Fix working logout button

  • A more correct fix for lz4.c on Solaris 10

  • Remove use of #pragma pack in lib/lz4.c for Solaris 10

  • Recompile configure from configure.in

  • Detect Solaris 10

  • Fix bug #2289 version 7.9 not compatible with old FDs – comm compression

  • Make getmsg.c compatible with old FDs

  • Use one MAX_BLOCK_SIZE and set to 20M

  • rpm: Add Fedora 25 build platform

  • Remove vestiges of crc32_bad – fixes Solaris build

  • Fix #2890 about segfault in .status command on Redhat 5 32bit

  • Add missing semi-colon in bsys.c

  • baculum: Fix incorrect table name error during restore start

  • Display the correct address in lockdump for db_lock()

  • Fix getmsg to handle additional forms of Progress messages

  • baculum: Fix double assets and runtime symbolic links in baculum-web deb package

  • baculum: Fix missing php-xml dependency in deb metafile

  • baculum: Improve errors handling in API restore pages

  • rpm: Remove libbacsd.la for both Red Hat and Suse

  • rpm: Add missing libs bbconsjson, bdirjson and bsdjson

  • rpm: Fix libstdc++ version in BAT spec file

  • Fix some problems noted by clang

  • baculum: Reorganize run job code

  • baculum: Reorganize estimate job code

  • baculum: Make get method definition not obligatory

  • Make file-span-vol-test portable

  • Attempt to fix deadlock in FreeBSD maxtime-test

  • Do not produce error if MySQL database exists in create_mysql_database

  • rpm: Add missing tapealert script

  • rpm: Add missing libbacsd

  • rpm: Remove dvd-handler script

  • Fix bvfs queries

  • Use FileId in place of Filename

  • Revert “Put FilenameId in .bvfs_lsfiles output”

  • Put FilenameId in .bvfs_lsfiles output

  • Add more debug in src/cats/bvfs.c

  • Fix bvfs_lsdirs and bvfs_lsfiles

  • baculum: Add Japanese language support in deb and rpm packages

  • Add DirectoryACL directive

  • baculum: New Baculum API and Baculum Web

  • Add forking info to LICENSE and LICENSE-FAQ

  • Minor improvement to error message

  • Fix race in steal_device_lock shown in truncate-concurrent-test

  • Apply Marcin’s fix for 6th week of the month

  • Add new truncate test

  • Retab Makefile.in in platforms/systemd.in

  • Fix compiler warning

  • Add FD backwards compatibility

  • Fix regression minor scripting problems

  • Fix #2807 about an issue with the show command when using incorrectly JobToVerify directive

  • Fix #2806 about the director service started before the database with systemd

  • Update Dart control files

  • Massive (70,000+ lines) backport of code from Bacula Enterprise 8.8. See next line …

  • Adapt update_bacula_tables scripts for catalog version 15

  • Allow to use Base directive in a JobDefs

  • Add more debug to the bpipe plugin

  • Enhance error message when packets are too big

  • Add ‘.storage unique’ bconsole command

  • Allow to use “.jobs type=!B” to display specific job type

  • Add lockdump storage daemon information

  • Fix #2698 Display loaded driver list in status storage output

  • Fix autochanger unload message that contains sometime an incorrect volume name

  • Fix issue with open_bpipe() function that may flush stdio buffer if the command is incorrect

  • Fix unload tape messages to print correct volume + improve output format

  • Fix unload/re-load same volume

  • Fix DIR get unexpected “Connection reset by peer” for FD

  • Fix #2548 about SQL connection leak with RunScript::Console commands

  • Fix #2588 about segfault in bdirjson with JobDefs/Base directive

  • Fix #2593 about incomplete jobs incorrectly rescheduled

  • Fix #2629 about pool argument not listed in the “help cloud” output

  • Fix #2632 about VolType not set correctly for Cloud volumes after a label problem

  • Fix #2640 about a reference to the source directory in query.sql file

  • Fix bug #2271 where poll interval causes tape mount message to repeat

  • Fix segfault in bdirjson with incorrect configuration files

Bugs fixed/closed since last release: 2271 2548 2563 2567 2588 2593 2602 2624 2625 2627 2629 2632 2638 2640 2646 2698 2520 2559 2561 2582 2806 2807 2890 2289 2890 2853 2940

Go back to: Bacula Community Release Notes.