Release 9.0.0

I am pleased to announce that we have just released Bacula version 9.0.0.

This is a major new release with major new features, many bugs fixed, many smaller new features, and a major rewrite of the Storage Daemon to be class based with drivers that can be dynamically loaded as needed, as well as a backport of much of the most current Bacula Enterprise version. In fact, there are so many new features that I have not myself had a chance to test them (e.g. the new Tray Monitor that includes client (user) initiated backups — even from remote laptops.

This new version requires a database update, so during the update process please be sure that the update_bacula_tables script is executed.

I would like to thank Bacula Systems for providing the bug fixes and new features. Since the development process in Bacula Systems is going faster (more programmers), we can expect even more features in future releases.

In addition to releasing the files to Source Forge as usual, the source files are also available on www.bacula.org and the up to date source code is also available for cloning from the git repository at git.bacula.org in the branch named Branch-9.0. Please note that we have a new 4096 bit Bacula Distribution Verification Public Key, which you can find in the Downloads menu.

Bacula Systems has begun building binaries for the community version 9.0.0, but I have not completed the documentation on how to install them, so binaries will be released over the next few weeks. Currently we have binaries for a limited number of distros, but over time, we intend to build binaries for all the major distros.

For your convenience, I have included much of the ReleaseNotes below. For the details, please see the ReleaseNotes that are in the source distribution.

Thank you for using Bacula.

Kern

=====================================================================

Release Notes for Bacula 9.0.0

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 documented 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 b
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 content
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 prio
– 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
– Modify the “setbandwidth” limit parameter to accept speed input. ex: limit
– 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