-New features for 1.39.18:
-- Bacula 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 in Win32 paths is now eliminated thanks
- to Thorsted Engel.
-- The examples directory has a new bacula_mail_summary.sh file that
- creates a single email summary of any number of jobs. Submitted by
- Andrew J. Millar.
-- SunOS ACLs should now work thanks to a patch from David Duchscher.
-- The database Id records should be 32/64 bit independent now. 64 bits
- can be enabled by changing one define, but this has never been tested.
-- 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"
- My use case is to be able to preview the next scheduled job (and the
- next tape to be used) on fridays if there are no scheduled jobs during
- the weekend. This patch was probably back ported to 1.38.x
-- Data encryption done in the Client is now supported due to code
- submitted by Landon Fuller.
-- Add nagios plugin to the examples directory. Submitted by
- Christian Masopust.
-- Modify most restore error messages to be queued so that they
- appear at the end of the job rather than mixted with the restore
- listing where they could be "lost".
-- Apply patch supplied by user (slightly modified) to fix
- correct detection of holes in block devices and FIFOs.
- Bug # 506.
-- Added a report.pl program to the examples directory from Jonas Bjorklund.
-- Add enable/disable job=<job-name>. This command prevents
- the specified job from being scheduled. Even when disabled,
- the job can be manually started from the console.
-- 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, ...).
-- Implement new code for changing userid and group at startup. This
- should get Bacula into the correct groups.
-- Implement support for removable filesystems.
-- Transfer rates are now presented in a more readable format thanks
- to a user submission.
-- SD is now aware of what volumes are mounted. More information is printed
- in the Status report.
-- The Pool Maximum Volumes directive is now respected in all places.
-- A Storage device can now be specified in a Pool resource. It will override
- all other Storage specifications.
-- Most but not all directives accept true/false in place of yes/no.
-- Integrate patch from Karl Hakimian that reads JobIds, FileIndexes
- from a database table for restore.
-- There are a number of new tables. Some such as the Location table are
- designed for user use in doing Volume Management software.
-- Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to
- accept time qualifiers.
-- Implement jobuid to replace old usage of job in keywords as
- suggested by Eric Bollengier.
-- Apply patch for enhancing wait from Eric Bollengier. On can now:
- wait (wait for all jobs to stop)
- wait jobid=nn
- wait jobuid=unique id
- wait job=job-name
-- Implement write variables for Python to set Priority (anytime), and
- Job Level, only during JobInit event.
-- 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 the SD to use multiple drives during a backup/restore (only
- one at a time). This is not well tested.
-- Integrate addition of line count limitation to bsmtp -l from
- Sebastian Stark <stark at tuebingen.mpg.de>
-- 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
-- Remove automatic case folding on Windows FDs. You must
- explictly use the 'Ignore Case = yes' option.
-- Implement wild program in tools directory for testing
- wild-cards. Almost identical to the regex program.
-- Use the new bregex.c to implement Regex expressions on Win32.
-- Apply patch from Christopher Hull
- - Allow multiple connections to database with different
- parameters.
- - Invalidate the scheduler when doing a reload. Fixes seg
- fault, but still 60 second window.
- - Additional info in Reschedule message.
- - Use set_jcr_job_status() everywhere to prevent loss of
- cancel, error.
- - Display peer IP in FD if error from connecting DIR.
- - Don't increment file count for DIRBEGIN.
- - Replace illegal characters in Win32 filename by _.
- - Add SE_CREATE_PERMANENT_NAME privilege in Win32.
- - Hash hard link filenames rather than linked list.
- - Fix for security failure in chdir on Win32.
- - Add CreateDirectoryA/W win32 API entry points.
-- Add /silent option to Win32 FD for Install/Remove service.
- programs to duplicate Bacula's base64 algorithm using standard
- routines. This fixes bugs #296, and 565. Patch submitted by
- author of bug #565.
-- Switch the Win32 build from using Microsoft C++ to using mingw32
- cross-compiling. The inital 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, ...
- Finally, he also ported the Directory and the Storage daemon to Win32.
-- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher
- Hull.
-- Modify LICENSE to correct some problems pointed out by Debian.
- Implement patch submitted by cesarb in bug #606 to implement O_NOATIME
- support.
- O_NOATIME is a open() flag which makes it possible to read a file without
- updating the inode atime (and also without the inode ctime update which
- happens if you try to set the atime back to its previous value). It also
- prevents a race condition when two programs are reading the same file, but
- only one does not want to change the atime. It's most useful for backup
- programs and file integrity checkers (and bacula can fit on both
- categories).
+The major new features are:
+- Much faster insertion of attributes (somewhere around 10 times),
+ many thanks to Eric Bollengier and Marc Cousin.
+- First cut 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, and
+ qmake and the other Qt4 tools must be available. bat is ALPHA
+ software. A large part of the work 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.
+- Simpler locking in the SD in the reservation system.
+- Much improved Volume reservation code that should eliminate most
+ conflicts experienced in multiple drive autochangers.
+- 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.