the 2.0.x series. Major new features include:
- Much faster insertion of attributes (somewhere around 10 times),
many thanks to Eric Bollengier and Marc Cousin.
- First release of bat (Bacula Administration Tool). Note to build
bat you must explicitly enable it on the ./configure line, you
must have the Qt4 version 4.2 or later libraries loaded, the qwt
(Qt Graphics) package loaded, and qmake and the other Qt4 tools
must be available. Most of the implementation was done by Dirk Bartley.
- Red/Black restore in memory tree (500 times faster loading).
- The Regex Where code to allow easier relocation of restored files
thanks to Eric.
- Socket level heartbeat for all connections (untested).
- posix_fadvise() use in the FD to improve performance reduces
swapping due to opening/reading lots of files. Win32 equivalent
implemented.
- Much improved Volume reservation code that should eliminate most
conflicts experienced in multiple drive autochangers.
- Simpler locking in the SD in the reservation system.
- Detection of file size/date change during backup if enabled.
- New Recycle Pool feature -- thanks to Eric.
- Efficient implementation of very large include/exclude lists.
- Volumes are no longer pruned during 'status dir'
- Pruning is now more efficient, and if a Volume is purged,
during pruning, it is immediately discovered.
- License is now GPL v2 without modifications, fix a few copyright
mistakes made when adding FSFE copyright notice.
Important upgrade notes are mentioned in the MESSAGE file.
XXX Not (functionally) tested by myself, but Peter Eisch <peter@boku.net>
(via pkgsrc-users@NetBSD.org) verified the patch in his setup.
Changes since the 1.38.8 release:
- 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.
- Implement an NT_() macro to indicate that text should NOT
be translated.
- 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.
- Remove lib/regex.c (replaced by bregex.c).
- 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.
- Integrate most of the MinGW changes -- more to do.
- 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.
patch-ak has been applied upstream.
Release Notes for Bacula 1.38.6:
New features:
- 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".
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.
Release Notes for Bacula 1.38.5:
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.