- Release Notes for Bacula 1.38.10
-
- Bacula code: Total files = 423 Total lines = 139,479 (*.h *.c *.in)
-
-Warning for version 1.38.8 and greater:
-- The Windows FD no longer automatically folds the case
- in wild-card comparions. To get the same behavior as before,
- you must explicitly use "Ignore Case = yes" in your FileSet.
-- Backslashes are no longer permitted in File directives
- (typical error for Windows users), unless the string is
- enclosed in double quotes, in which case, the backslashes
- must be doubled.
-
-Major Changes for 1.38.10:
-- This is a primarily a bug fix release, with the following bugs being
- resolved #570, 609, 611, 613, 614, 617 as well as other bugs not
- reported in the bugs database. See below for details.
-- The bconsole "reload" command should now work properly in virtually
- all situations thanks to the efforts of a number of people (Eric,
- Christopher, and myself).
-- There is an untested fix to eliminate the scheduling problems (either
- no job run or the same job run twice) during sudden clock shifts (daylight
- savings time change).
-- The manual has been released under the GNU Free Documentation License (FDL).
- The major difference is that this removes the prior restriction on
- commercial reproduction of the manual.
-- Fixed a race condition (thanks to Christopher) on dual processor machines
- that caused jobs to block when starting with the SD.
-
-New features for 1.38.10:
-- None
-
-Fixes for 1.38.10:
-08Jun06
-- Modify setting ACLs to suppress error message if the file is a
- symbolic link since the file linked to may not yet be created,
- and symbolic links really should not have attributes ...
-06Jun06
-- Complete implementation of acl.c error message during restore.
- During backups, errors getting acls are silently ignored, as was
- previously the case.
-04Jun06
-- Modify configure.in to check for typeof().
-- Better detection of postgresql installation if pg_conf works.
-- Fix RescheduleTimes = 0 bug (should not reschedule).
-- Down port from 1.39: fixes for reload, autochanger error messages,
- scheduler fixes for reload and day light savings change,
-01Jun06
-- Implement partial error messages for src/filed/acl.c
-- Fix return code to fail when doing update barcodes and
- Pool resource is not found. This previously caused Volumes
- to be labeled as cleaning tapes.
-- Small updates to projects file.
-26May06
-- Prevent DVD code from rewriting label if the device cannot be
- opened read/write.
-- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
-- Update projects file.
-24May06
-- Applied patch posted by Jaime Ventura to bug #570 to correct failure
- of restarted jobs to complete (due to a destroyed pthreads conditional
- variable used by the message thread).
-- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
- set to zero.
-- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
-- Apply patch from Rudolf Cejka bug #614 to removed trailing
- colons in query.sql file.
-- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
- not to create orphans.
-- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
- in restore long listing.
-- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
- of incorrect MarkedId.
-- Apply patch from adioso bug #616 to correct text in manual (replace
- Director with File daemon).
-21May06
-- Move DIR "run" command to SD before starting the message thread
- as suggested by Cristopher Hull to avoid a race deadlock from
- two threads using the bsock structure.
-- Modify LICENSE to correct some problems pointed out by Debian.
-05May06
-- Correct EOF with no \n lex.c problem.
-- Add additional INFO messages if autochanger cannot be used.
-- Add Eric Bollengier's lex error handler fix, which corrects most
- of the reload problems.
-
-
-New features for 1.38.9:
-- A "Dir Status" button in the Gnome console.
-
-Fixes:
-This is mainly a bug fix release containing a collection of
- minor fixes for 1.38.8.
-- Added code to strip backslashes from Windows filenames during
- a restore.
-- Corrected Win32 License to use the correct LICENSE file.
-- Corrected the buffer count and bytes reported in the heap
- statistics.
-- Fix a number of incorrect strings marked for translation, when
- they should not be (e.g. commands).
-- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
- Patches supplied by user in bugs #608 and #599.
-- Use most recent of st_ctime and st_mtime in restore tree DIR
- listing. This fixes some problems with Win32 printing incorrect
- values.
-- Correct the clock shift comm time calculation between the DIR
- and the FD. It was added rather than subtracted.
-- Strip all backslashes in filenames to be restored on Win32
- machines -- the names should all be in Unix format, and if
- there are any backslashes it is most likely due to an improper
- FileSet definition, and the files will not otherwise be
- restorable.
-- Delete src/win32/License.txt
-- Modify installer to install LICENSE
-- Add back ua_label barcode fix from Rufolf Cejka.
-- Add 'Dir Status' button to the gnome console.
-- Display heap stats in Storage daemon without debug level.
-- Implement using pg_config for finding PostgreSQL files.
- Fixes bug #600. Patch supplied by user.
-- Remove -t option from mktemp in mtx_changer.in and use
- working directory. Fixes bug #578.
-- Update job start time after the any run before job so that
- files created by the script are only backed up once. Fixes
- bug #599.
-- Strip trailing newline only from filenames entered in
- the restore command when reading a file. This permits
- the user to enter filenames with trailing spaces. Fixes
- bug #549. The user supplied a patch that I modified slightly.
-- Use the most recent time (st_mtime, st_ctime) in the dir
- command in restore. This gives the user a better idea of what
- the newest file really is. This fixes bug #574. The fix
- was suggested by the user.
-- Remove the -f option from the chown in Makefile.in for more
- portability.
-- Change setting the group in Makefile.in to use chgrp for
- more portability.
-- Implement a Bacula read/write lock for Python rather
- than using the Python lock to avoid recursive problems.
-- Correct the uninstall directory names in filed/Makefile.in
- as reported by a user.
-
-
-New features for 1.38.8:
-- Regex, RegexFile, and RegexDir are now implemented in the
- Win32 FD. However, this is new experimental code that is
- largely untested. It may not work, it may cause memory
- leaks, or it may even crash the FD. Please test carefully
- before using.
-- On Linux/Unix systems there are two new programs, bregex
- and bwild that allow you to test regular expressions and
- wild-cards. These programs are installed with the other
- binaries. They are not available on Win32 systems.
-
-Fixes:
-- See below.
-
-New Features from pre-1.38.8 releases:
-- For autochanger get Scratch tape if in autochanger if
- no appendable Volumes are available.
-- New virtual disk autochanger. See scripts/disk-changer for
- documentation.
-- New optional Device resource directive in SD. 'Device Type =',
- which may have types: File, DVD, Tape, or FIFO. This can
- be useful for writing DVDs on FreeBSD where Bacula cannot
- correctly detect the DVD.
-- Faster restore tree building and uses less memory.
-- The command line keyword job (or jobname) now refers to the
- name of the job specified in the Job resource; jobid refers
- as before to the non-unique numeric jobid; and ujobid refers
- to the unique job identification that Bacula creates for each
- job.
-- The job report for Backups has a few more user friendly ways
- of displaying the information.
-- The wait command can now be made to wait for jobids.
-- New command line keywords are permitted in update volume. They
- are Inchanger=yes/no, slot=nn.
-- Add two new console commands: enable job=<job-name> and
- disable job=<job-name>. When a job is disabled, it will not
- be started by the scheduler. If you disable a job and restart
- Bacula or reload the .conf file, the job will be re-enabled.
-- Add a new Job resource directive "enable = yes|no".
-- There is a new program named regex in the tools directory that
- allows you to try regular expressions on your system.
-
-Major bug fixes:
-- Fix race condition in multiple-drive autochangers where
- both drives want the same Volume.
-- Do not allow opening default catalog for restricted console
- if it is not in ACL.
-- Writable FIFOs now work for restore.
-- ACLs are now checked in all dot commands.
-- Multiple drive autochangers and multiple different autochangers
- should now work correctly (no race conditions for Volume names,
- update slots use correct StorageId).
-- Fix bug where drive was always reserved if a restore job failed
- while in the reservation process.
-
-
-Minor bug fixes:
-- See below:
-
-Release 1.38.8 (14Apr06)
-14Apr06
-- Correct Makefile for Solaris /bin/sh
-- Correct mtx-changer.in for Solaris /bin/sh
-- Abort if a conf resource does not have a Name =
-12Apr06
-- Change the name of the regex program to bregex.
-- Add the bwild program to the tools directory. It is similar
- to the bregex program.
-- Implement create bregex.h and bregex.c in src/lib from the
- Python regexp program.
-- Use the new bregex.c to implement Regex expressions on Win32.
-11Apr06
-- Modify Makefile to change the permissions on Working Directory
- to 770 if the directory is created.
-- Do not fail the Makefile if changing the permissions or
- owner/group on WorkingDir fails.
-- Correct the old recycling algorithm so that Scratch Volumes
- are selected when looking for a Volume in the changer.
-- Correct a typo in the Verify SQL reported by Joe Park.
-10Apr06
-- Remove automatic case folding on Windows FDs. You must
- explictly use the 'Ignore Case = yes' option.
-- Remove the code added to 1.38.6 and 1.38.7 that pulls a
- scratch volume in an Autochanger early in the 'recycling'
- algorithm.
-08Apr06
-- Tweak license to include Microsoft restrictions.
-- Move mysql.reconnect to after real_connect(). Thanks to
- Frank Sweetser for the patch.
-- Disallow a backslash in a File = directive (Windows junk)
- unless the string is quoted.
-- Apply Eric's patch to ua_label.c so that daemon protocol
- is not translated.
-
-Release 1.38.7 (06Apr06) released 07Apr06
-06Apr06
-- Remove timed wait for VSS on Win2K3 as it is not yet
- implemented.
-- Correct bacula.in script to reference bacula-ctl-xx in the
- sysconfig directory rather than the bin directory.
-
-Release 1.38.6 (28Mar06) released 29Mar06
-28Mar06
-- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
- and new jcr chain locking.
-26Mar06
-- Fix a long standing bug in the bacula start/stop scripts.
-- Attempt to add the new bacula-ctl-* files to the rpm.
-- Switch to using typeof() for list traversing to avoid
- as many FC5 g++ compiler warnings as possible.
-25Mar06
-- Split the bacula start/start script into four files:
- bacula -- starts and stops calling other scripts
- bacula-ctl-dir -- starts/stops the director
- bacula-ctl-fd -- starts/stops the File daemon
- bacula-ctl-sd -- starts/stops the Storage daemon
-- Create datestyle fix for PostgreSQL. Fixes bug #574.
-- Correct editing of JobId from int to int64 in fd_cmds.c
-- Eliminate FileSet name race with bash_spaces() and multiple
- threads by bashing in a local.
-- Fix error return from 'use storage' to print a correct error
- message rather than nothing.
-- Correct false re-read last block error message when two jobs
- are simultaneously writing at the end of a tape.
-- Simplify exit conditions in the reserve.c code to avoid
- possible non-release of reservation_lock().
-- Suffle lock order in reserve to avoid deadlock between
- reservation lock and device mutex.
-- Add Thorsten's VSS timeout code to 1.38 branch.
-- Initialize jcr mutex before first use. Thanks to Thorsten for
- tracking this down for me !!!! as it broke the Win32 build.
-- Integrate addition of line count limitation to bsmtp -l from
- Sebastian Stark <stark at tuebingen.mpg.de>
-- Implement regex test program in tools directory.
-- Attempt to fix time problem with bsmtp with foreign langs.
-- Add strip_trailing_newline() submitted by user.
-
-Release 1.38.6 beta6 16Mar06
-- Fix bug #537 to allow arbitrary time to mount a volume for
- restore, if polling is turned on.
-- Disallow multiple storage specifications for a job. Should fix Arno's
- problem.
-- Add back a missing store of poolid in jr.poolid.
-- If dir_user or dir-group is specified in ./configure apply it to
- the working-dir. Fixes bug #533.
-- If rescheduling a job cancel the previous incarnation with the SD.
- Fixes bugs #566 and 557.
-- Fix bug #567 do_message() definition type conflict.
-
-Release 1.38.6 beta5 14Mar06
-- Add more jcr methods and make mutex and use_count private.
-- Create lock/unlock methods for jcr.
-- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
- records to get to seek position.
-- Integrate patch from bug #561 to correct conio.c signal definitions.
-- Fix Rescheduling failed Jobs. Ensure that SD message thread
- terminates correctly by doing pthread_kill(). Do not destroy
- SD cond wait variable between executions of the job. Use local
- mutex for cond variable to avoid blocking jcr chain. Fix poor
- use of jcr use count in jobq.c for restarted jobs.
-- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
- lib/jcr.c -- prevents locking the jcr chaing.
-- Apply patch from bug #564, which corrects listing volumes with
- multiple autochangers. Apply same fix to next volume list.
-- Fix bug #562 where restore bootstrap file is not unique.
-- Use new routine lock_reservations() to lock the reservations
- system, and call it while looking for a volume in askdir.c.
- This could possibly fix bug #543.
-- Stop SD command loop if job is canceled.
-
-Release 1.38.6 beta3 4Mar06
-04Mar06
-- The po files should now be current.
-- Fix new sql_use_result() code to properly release the
- buffers in all cases.
-- Convert to using new Python class definitons with (object).
-- Use the keyword ujobid to mean the unique job id; job or jobname
- to mean the Job name given on the Name directive, and jobid to
- be the numeric (non-unique) job id.
-- Allow listing by any of the above.
-- Add the user friendly job report code for reporting job elapsed time
- and rates with suffexes.
-- Add Priority and JobLevel as Python settable items.
-- Use TEMPORARY table creation where the table is created by
- Bacula.
-- Add new code submitted by Eric for waiting on specific jobid.
-- Add ACL checking for the dot commands.
-- Fix restore of writable FIFOs.
-- Fix a bug in bpipe where the string was freed too early.
-
-26Feb06
-- Fix bug reported by Arno listing blocks with bls
-- Update the po files at Eric's request.
-
-Release 1.38.6-beta2 25Feb06
-25Feb06
-- Add sql_use_result() define.
-
-Changes to 1.38.6-beta1
-- Don't open default catalog if not in ACL.
-- Add virtual disk autochanger code.
-- Add user supplied bug fix to make two autochangers work
- correctly using StorageId with InChanger checks.
-- Correct new/old_jcr confusion in copy_storage().
-- Remove & from Job during scan in msgchan.c -- probably
- trashed the stack.
-- When getting the next Volume if no Volume in Append mode
- exists and we are dealing with an Autochanger, search
- for a Scratch Volume.
-- Check for missing value in dot commands -- bug fix.
-- Fix bug in update barcodes command line scanning.
-- Make sure Pool Max Vols is respected.
-- Check that user supplied a value before referencing
- it in restore -- pointed out by Karl Hakimian.
-- Add Karl Hakimian's table insert code.
-- Don't ask user to select a specific Volume when
- updating all volumes in a Pool.
-- Remove reservation if set for read when removing dcr.
-- Lock code that requests next appendable volume so that
- two jobs to get the same Volume at the same time.
-- Add new Device Type = xxx code. Values are file, tape,
- dvd, and fifo.
-- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
- a re-open to change read/write permission on a device.
-- Correct a misplaced double quote in certain autochanger
- scripts.
-- Make make_catalog_backup.in a bit more portable.
-- Implement Karl Hakimian's sql_use_result(), which speeds
- up restore tree building and reduces the memory load.
-- Correct a number of minor bugs in getting a Volume from
- the Scratch Pool.
-- Implement additional command line options for update Volume.
-- Don't require user to enter a Volume name when updating
- all Volumes in a pool.
-
-Release 1.38.5 released 19Jan06:
-- Apply label barcodes fix supplied by Rudolf Cejka.
-- Modify standard rpm installation to set SD group to disk
- so that SD will by default have access to tape drives.
-- Allow users to specify user/group and start options
- for each daemon in /etc/sysconf/bacula file.
-
-Changes to 1.38.4 released 17Jan06:
-- The main changes are to the Director and the Storage daemon,
- thus there is no need to update your File daemons. Just the
- same, I do recommend running with the release 1.38.3 Win32
- FD or later.
-- Add two new queries to query.sql provided by Arno. One
- list volumes known to the Storage device, and the other
- lists volumes possibly needing replacement (error, ...).
-- Add periodic (every 24 hours) garbage collection of memory
- pool by releasing free buffers.
-- Correct bug counting sized (for display only) in smartall.c
-- Print FD mempool stats if debug > 0 rather than 5.
-- Correct bug in alist.c that re-allocated the list if the
- number of items goes to zero.
-- Move the reservation system thread locking to the top level
- so that one job at a time tries all possible drives before
- waiting.
-- Implement a reservation 'fail' message queue that is built
- and destroyed on each pass through the reservation system.
- These messages are displayed in a 'Jobs waiting to reserve
- a drive' list during a 'status storage='. Note, multiple
- messages will generally print for each JobId because they
- represent the different problems with either the same drive
- or different drives. If this output proves too confusing
- of voluminous, I will display it only when debug level 1
- or greater is enabled in the SD.
+ Release Notes for Bacula 2.0.0
+
+ Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in)
+
+==== IMPORTANT Catalog update required =====
+- The database format has been updated from what was used in
+ Bacula 1.38.x. You must manually update your database before
+ running Bacula 1.39.x or higher. If you are using Bacula supplied
+ RPMs this is not necessary as the RPM does it automatically.
+ Please backup your previous version of the database before
+ running the update. The update script will be automatically
+ installed in your scripts directory, or can also be found in
+ <bacula-source>/src/cats. It is called:
+
+ ./update_bacula_tables
+
+ It is necessary to run it only once the first time you move to
+ a 2.0.0. Upgrading the Bacula version thereafter does not
+ require updating the database again. Depending on the size of
+ your database the script make take a bit of time, to run, but
+ in general, it should be very fast.
+
+==== IMPORTANT new Win32 install procedure =====
+ For Win32 migrations from versions prior to 1.39.0 nothing special
+ needs to be done to upgrade. Everything should be taken care of
+ automatically. The only thing not done is to delete the old C:\bacula
+ directory mostly out of paranoia.
+
+==== IMPORTANT miscellaneous ====
+- The Gnome console program (gconsole) no longer functions as it
+ should.More importantly, in restore mode, the restore tree is
+ no longer shown in the left pane. I suspect this is due to
+ incompatible changes in the GTK+ API, and hence have given up
+ on gnome and gtk+, as this has already happened several times
+ previously. At some point there will be a new GUI console.
+- The bacula-dir.conf directive Accept Any Volume has been
+ removed because it was never implemented. You must delete all
+ occurrence of this directive for the Director to run. The Storage
+ daemon will automatically accept any valid Volume that you mount.
+- The --mandir ./configure option now points to the top level man
+ directory. The man files will be installed under mandir/man8 and
+ mandir/man1 as appropriate.
+- You *should* be able to use 1.38.x FDs with version 2.0.0 Director
+ and SD providing you do not use any of the new features (runscript,
+ data encryption). It seems to work here, but we do not guarantee it.
+- Your Director and SD must be simultaneously upgraded.
+- The restore command no longer uses the MediaType as the primary method
+ of finding a suitable Storage device. Normally it will select the last
+ device used to write a Volume. If no storage device is defined, it
+ will use the old algorithm which selects the first Storage resource
+ with the correct MediaType.
+- The MD5/SHA1 hash codes kept in the database are now kept in a binary
+ format compatible with the rest of the world. If you are running verify
+ jobs, you *must* do an InitCatalog or all files will show an MD5
+ difference. Also, authentication uses the new algorithm by
+ default, but *should* accept connections from older components (FD) using
+ the old non-compatible algorithm. This has been tested, but more
+ more testing is still needed.
+- A stock SuSE 10.1 kernel may crash when Bacula runs and accesses
+ the tape drive. Workaround, load the SuSE 10.1 version 2.6.16.21-0.25
+ kernel or later. The SuSE 10.2 Alpha 5 or later kernel also works.
+ This problem may also be present in certain Fedora FC5 kernels.
+- If you have been using the data encryption feature of 1.39.x, please
+ be aware that certain combinations of encryption and other options
+ with version 1.39.0 through 1.39.26 created Volume data that cannot
+ be restored. We strongly recommend that anyone using encryption
+ carefully review his/her backups and at a minium do a Full backup
+ with 1.39.28 of all encrypted data. Robert Nelson has identified
+ and fixed it as follows:
+ As of 1.39.27:
+ No filters = Works fine
+ Sparse = Works fine
+ Compression = Works fine
+ Encryption = Works fine
+ Sparse + Compression = Works fine
+
+ Sparse + Encryption = Restore broken
+ Sparse + Compression + Encryption = Restore broken
+ Compression + Encryption = Restore broken
+
+ As of 1.39.28:
+ Most combinations work, but some encrypted files are
+ not properly restored.
+
+ As of 1.39.30:
+ All combinations work fine except Sparse+Encryption.
+
+ Bottom line, if you are using data encryption, please test restoring
+ data to be sure it all works correctly.
+- The current Volume format written by 1.39.22 is different from
+ the format written by previous versions. The two formats
+ are not compatible. Thus any DVDs written prior to 1.39.22 will
+ be unreadable by version 1.39.22.
+- If you previously run a Bacula version prior to 1.39.30, the JobMedia
+ data may not be correct for disk Volumes. This can cause incorrect
+ seeking in versions after 1.39.30. If you experience what appears to
+ be data I/O or integrity errors during restores, please add the
+ following directive to your disk DEVICE resource in the Storage
+ daemon conf file:
+
+ Block Positioning = no
+
+ This will turn off all seek requests during restores and avoid
+ this problem.
+- VSS for Windows clients is now enabled by default.
+- Do not unload autochanger when doing "update slots"
+- Implement mount command for autochanger, see manual.
+
+New Features in 2.0.0:
+- Turn on disk seek code for restores.
+- There is a partial but reasonable translation of the Bacula
+ messages for French. To install it, first configure and build
+ Bacula, then as root run:
+
+ cd <bacula-source>/po
+ make install
+
+ If you have your locale set properly you will get the translated
+ messages.
+- Bacula now support Migration jobs that are documented in a new
+ Migration chapter in the manual
+ http://www.bacula.org/dev-manual/Migration.html
+- Data encryption is now implemented and is documented in
+ a new chapter of the manual at:
+ http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html
+- Additional support for removable devices. See the
+ Requires Mount, Mount Point, Mount Command, and Unmount
+ Commands in the Storage daemon configuration chapter:
+ http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html
+ Also see the Edit Codes for Mount and Unmount Directives in the
+ same chapter.
+- Switch the Win32 build from using Microsoft C++ to using mingw32
+ cross-compiling. The initial work was done by Howard Thomson,
+ then tweaked by me. Robert Nelson then totally reworked the
+ cross-compiling code so that it not only cross-compiles, but
+ also compiles on Visual Studio, and at the same time, he added
+ all the current Unix features to the FD, such as selection on
+ drives, encryption support, building *all* the tools, ...
+- The Director and Storage daemon have now been ported to Win32.
+ This code is working but should still be tested carefully
+ before putting into production.
+- Bacula restore and bextract can now extract non-portable Win32 data to
+ any client (including Unix/Linux clients). Of course, in doing so,
+ the Microsoft specific permissions and ACLs will be lost. Thanks
+ to Thorsten Engel for this code.
+- The 260 character limitation for Win32 paths name lengths is now
+ eliminated thanks to Thorsten Engel. However, if you are using
+ Volume Shadow Copy, please be careful to specify all the paths
+ in the bacula-fd.conf file using a full path notation including
+ the drive letter.
+- Eric Bollengier wrote new RunScript directives that includes
+ the old RunBefore/AfterJob and ClientRunBefore/AfterJob features
+ plus a *lot* more, allowing you to control just about every aspect
+ of running scripts. See the manual for detailed documentation.
+ http://www.bacula.org/dev-manual/Configuring_Director.html#5227
+- SunOS ACLs should now work thanks to a patch from David Duchscher.
+- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at
+ If this patch is applied, the number of days can be specified with
+ "list nextvol days=xx"
+ or
+ "status dir days=xx"
+ This can be used to preview the next scheduled job (and the
+ next tape to be used) on Fridays if there are no scheduled jobs during
+ the weekend.
+- From Eric Bollengier. One can now using the bconsole wait command do:
+ wait (wait for all jobs to stop)
+ wait jobid=nn
+ wait jobuid=unique id
+ wait job=job-name
+- Volumes can now be set to Enable, Disable, or Archive. If they
+ are not enabled, Volumes will not be mounted.
+ Implement update volume enable=(on|off|true|false|archived|0|1|2)
+- Add Catalog message destination in Messages resource that puts the
+ job report in the Log database table.
+- Writing/reading DVD Volumes is much more stable -- to the point
+ of being useful. Thanks to Richard Mortimer.