]> git.sur5r.net Git - bacula/docs/blob - docs/home-page/news.txt
dhb Implement dir_cmd in medialist remove dosql from console
[bacula/docs] / docs / home-page / news.txt
1 Kern;;;2007/3/6;;;14:30
2
3 Bacula Version 2.0.3 has been released to Source Forge.
4 This is a bug fix release to version 2.0.2.  If you are upgrading from
5 a version older than 2.0.0, please be sure to read the important notes
6 below.
7
8 5Mar07
9 kes  File migrate bug with Pool Occupancy using mediaid instead
10      of jobids.  Fixes bug #795.
11 kes  Fix orphaned buffers in filed backup and verify due to
12      crypto buffers not freed during errors.  Fixes bug #789.
13 04Mar07
14 kes  Add smartctl call to bacula-sd.conf as an example of getting
15      tape alert info.
16 02Mar07
17 kes  Add Client Connect Wait to Storage daemon to permit users to
18      modify the time the SD waits for a FD connection.
19 28Feb07 
20 kes  Apply Command ACL filter to JobId list in restore command.
21 kes  Correct typeo in var.c patch.
22 27Feb07
23 kes  Don't let Bacula prune File or Job records for the current Job.
24 kes  Fix variable substitution pad + inc bug reported (with patch)
25      in bug #791.
26 26Feb07
27 kes  Correct SQLite log table index as reported by Luca Berra.
28 24Feb07
29 ebl  Fix FIFO stuff, bacula tries to rewind the FIFO... Thanks to Andreas
30 22Feb07
31 kes  Fix a few places in lib/message.c where the open fd may
32      not be zeroed.
33 21Feb07
34 kes  Add LANG=C to autoconf/randpass so it works with languages other
35      than English.  Fixes bug #788.
36 20Feb07
37 ebl  Revert ClientRunBeforeJob as it was in 1.38.x
38      This fixes bug #780
39      You will not be able to generate Include/Exclude list any more.
40      If you want to use this, you can apply 
41      trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
42 19Feb07
43 kes  Restore of sockets created false error messages because Bacula
44      no longer restores sockets, but the code was still trying to
45      set the attributes on a non-existent file. Reported by a user.
46 16Feb07
47 kes  Fix encryption deblocking bug, which caused some restored files
48      to be truncated. This fixes bug #763. This is a CRITICAL bug fix.
49 kes  Add FD event sequence order prepared by Eric -- for RunScripts.
50 kes  Fix 12am/pm bug as reported in bug #782.
51 15Feb07
52 kes  Add quick disconnect FD code from 2.1.4 to 2.0.3.  This code
53      causes the SD to release the FD as soon as the FD has sent
54      all the data to the SD. After that the SD will do any final
55      despooling (data and attributes) that are necessary. This
56      allows laptops to disconnect much quicker from the network 
57      after a backup.
58 13Feb07
59 kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
60 11Feb07
61 kes  Optimize the use of the database a bit in the Status dir command.
62      Only open it when needed, ensure that if any previous database
63      was opened, it is closed.
64 10Feb07
65 kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
66      and File records in 300K chunks to be more efficient. This
67      idea came from Juan Luis Frances (if I remember right).
68 09Feb07
69 kes  Update projects list.
70 08Feb07
71 kes  Fix dird/ua_cmds.c so that a cancel command checks if the
72      console is authorized to cancel the job.  This fixes bug 
73      #767.
74 kes  Modify SD so that the VolCatJobs medium record is updated
75      at the beginning of a Job rather than the end.  This
76      fixes bug #775 where exceeding MaxVolJobs caused jobs
77      to fail.
78 kes  Added a mutex around getting and setting Volume information
79      so that multiple simultaneous jobs will single thread.
80 07Feb07
81      Switch to using Subversion
82 kes  Remove src/pygtk-console/ from configure
83 06Feb07
84 kes  Delete src/lib/btree.c from win32 build, then add rblist.c
85      plus the entrypoints.
86 kes  Apply patch supplied that corrects debug print
87      in canceling jobs for max run time.  Supplied as
88      part of bug #621, which was previously fixed.
89 05Feb07
90 kes  Test on job_canceled() and sd_msg_thread_done inside
91      loop starting the message thread to avoid a race condition.
92      Fixes bug #771.
93 kes  Remove rl_catch_signal from console.c as it conflicted
94      with the header definition. Fixes bug #765.
95 ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
96 04Feb07
97 kes  Clarify some stored/acquire messages to indicate if the
98      problem is with read or append.
99 02Feb07
100 kes  Fix memory leak with storage ids in cats/sql_get.c
101 kes  Terminate watchdog earlier to avoid reference to released
102      memory -- reported by Jason Austin.
103 kes  Move closing the database from jobq.c to the director daemon
104      termination routine. This fixes memory leaks for shadow jobs
105      (i.e. migration jobs).
106 kes  Free up the unique jobid chain items in migrate.c.  This fixes
107      a memory leak problem.
108 kes  Convert some ugly looking for statements to use foreach_alist
109      in findlib/find.c.  This will facilitate converting the structures
110      to use dlist (for large include/exclude lists).
111 kes  Fix a bug in the btree.c and btree.h routines, then rename them
112      rblist and add them to be built in src/lib.  Include some new
113      methods written by Rudolf Cejka that make the code more readable
114      (hides some of the ugly casting).
115 26Jan07 (back port)
116 kes  Implement item #12 on project list -- quick release of FD by
117      the SD. This is noted in more detail above.
118
119 ;;;
120
121 Kern;;;2007/1/28;;;14:30
122
123 Bacula Version 2.0.2 released:
124 28Jan08
125 kes  Fix maxruntime bug #621.
126 27Jan07
127 kes  Get current main CVS .specs for RedHat, SuSE, Mandrake.
128 26Jan07
129 ebl  Implement the include JobID in spool file name project.
130 kes  Reorder projects file in order determined by Jan 2007 vote.
131 kes  Fix open of SQLite3 db where user does not have write permission
132      so that DIR does not crash. Fixes bug #761.
133 25Jan07
134 kes  Change 'Device not configured to autolabel' from INFO
135      to WARNING.
136 kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0
137      which should restart an indefinite # of times.
138 kes  Fix configure --help to print --with-mysql[=DIR]. Same for
139      other DIR specifications.
140 23Jan07
141 rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
142      Fix path quoting in SQLite scripts.
143      Fix problems with SHGetFolderPath.
144 19Jan07
145 kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
146 18Jan07
147 kes  Fix Job restart on error bug that promotes an Inc to a Full
148      backup.  This should fix bug #755.
149 kes  Add qt-console and first cut of code.
150
151 ;;;
152
153 Kern;;;2007/1/13;;;14:30
154
155 Bacula Version 2.0.1 has been released to Source Forge.
156 This is bug fix update to version 2.0.0 and contains
157 the following fixes:
158
159 -    Fix Bacula->Documentation link on Win32 to point to index.html
160      instead of bacula.html. Fixed bug #750.
161 -    Return JobId in db_get_job_record() when JobId==0. This should
162      fix bug #741.
163 -    Do not release source pointers when restarting a failed job.
164 -    Add dynamic dll entry point for SHGetFolderPath to Win32 code.
165      This *should* fix bug #747.
166 -    Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
167      bug #742.
168 -    Modify USTORE constructor to set an empty store_source string, 
169      and don't copy the store_source string in a cancel.  Hopefully
170      this will fix Arno's seg fault, bug #744.
171 -    Add back code to disable conio in configure. Fixes bug #743.
172 -    Correct the Options scanner in the FD to correctly handle  
173      SHA1 option, which was eating the next option.  Reported by    
174      Sebastien Guilbaud.
175 -    Add code to indicate when the SD is spooling, spool wait, and 
176      despooling as requested by Alan Brown.
177
178 ;;;
179
180 Kern;;;2007/1/4;;;14:30
181
182 Bacula Version 2.0.0 has been released to Source Forge.
183
184 There is an English Press Kit, written by Dan Langille at:
185    
186    http://www.bacula.org/about/press/presskit200.html.en
187
188 and a German version, translated by Arno Lehmann at:
189
190    http://www.bacula.org/about/press/presskit200.html.de
191
192 ;;;
193    
194 Kern;;;2007/1/4;;;14:31
195
196           Release Notes for Bacula 2.0.0
197
198   Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in)
199
200 ==== IMPORTANT Catalog update required =====
201 - The database format has been updated from what was used in    
202   Bacula 1.38.x.  You must manually update your database before 
203   running Bacula 1.39.x or higher.  If you are using Bacula supplied
204   RPMs this is not necessary as the RPM does it automatically.
205   Please backup your previous version of the database before
206   running the update.  The update script will be automatically
207   installed in your scripts directory, or can also be found in
208   <bacula-source>/src/cats.  It is called:
209
210      ./update_bacula_tables
211
212   It is necessary to run it only once the first time you move to
213   a 2.0.0.  Upgrading the Bacula version thereafter does not
214   require updating the database again.  Depending on the size of
215   your database the script make take a bit of time, to run, but
216   in general, it should be very fast.
217
218 ==== IMPORTANT new Win32 install procedure =====
219   For Win32 migrations from versions prior to 1.39.0 nothing special
220   needs to be done to upgrade.  Everything should be taken care of
221   automatically.  The only thing not done is to delete the old C:\bacula
222   directory mostly out of paranoia.
223
224 ==== IMPORTANT miscellaneous ====
225 - The Gnome console program (gconsole) no longer functions as it
226   should.More importantly, in restore mode, the restore tree is
227   no longer shown in the left pane.  I suspect this is due to
228   incompatible changes in the GTK+ API, and hence have given up
229   on gnome and gtk+, as this has already happened several times
230   previously.  At some point there will be a new GUI console.
231 - The bacula-dir.conf directive Accept Any Volume has been
232   removed because it was never implemented. You must delete all
233   occurrence of this directive for the Director to run. The Storage
234   daemon will automatically accept any valid Volume that you mount.
235 - The --mandir ./configure option now points to the top level man
236   directory.  The man files will be installed under mandir/man8 and
237   mandir/man1 as appropriate.
238 - You *should* be able to use 1.38.x FDs with version 2.0.0 Director
239   and SD providing you do not use any of the new features (runscript,   
240   data encryption). It seems to work here, but we do not guarantee it.
241 - Your Director and SD must be simultaneously upgraded.
242 - The restore command no longer uses the MediaType as the primary method
243   of finding a suitable Storage device. Normally it will select the last
244   device used to write a Volume. If no storage device is defined, it
245   will use the old algorithm which selects the first Storage resource  
246   with the correct MediaType.
247 - The MD5/SHA1 hash codes kept in the database are now kept in a binary
248   format compatible with the rest of the world. If you are running verify 
249   jobs, you *must* do an InitCatalog or all files will show an MD5   
250   difference.  Also, authentication uses the new algorithm by
251   default, but *should* accept connections from older components (FD) using
252   the old non-compatible algorithm. This has been tested, but more
253   more testing is still needed.  
254 - A stock SuSE 10.1 kernel may crash when Bacula runs and accesses
255   the tape drive. Workaround, load the SuSE 10.1 version 2.6.16.21-0.25
256   kernel or later. The SuSE 10.2 Alpha 5 or later kernel also works.
257   This problem may also be present in certain Fedora FC5 kernels.
258 - If you have been using the data encryption feature of 1.39.x, please
259   be aware that certain combinations of encryption and other options
260   with version 1.39.0 through 1.39.26 created Volume data that cannot
261   be restored. We strongly recommend that anyone using encryption 
262   carefully review his/her backups and at a minium do a Full backup
263   with 1.39.28 of all encrypted data.  Robert Nelson has identified 
264   and fixed it as follows:
265      As of 1.39.27:
266         No filters = Works fine
267         Sparse = Works fine
268         Compression = Works fine
269         Encryption = Works fine
270         Sparse + Compression = Works fine
271
272         Sparse + Encryption = Restore broken
273         Sparse + Compression + Encryption = Restore broken
274         Compression + Encryption = Restore broken
275
276      As of 1.39.28:
277         Most combinations work, but some encrypted files are
278         not properly restored.
279
280      As of 1.39.30:
281         All combinations work fine except Sparse+Encryption.
282
283   Bottom line, if you are using data encryption, please test restoring
284   data to be sure it all works correctly.
285 - The current Volume format written by 1.39.22 is different from
286   the format written by previous versions. The two formats
287   are not compatible. Thus any DVDs written prior to 1.39.22 will
288   be unreadable by version 1.39.22.
289 - If you previously run a Bacula version prior to 1.39.30, the JobMedia
290   data may not be correct for disk Volumes. This can cause incorrect
291   seeking in versions after 1.39.30. If you experience what appears to
292   be data I/O or integrity errors during restores, please add the
293   following directive to your disk DEVICE resource in the Storage
294   daemon conf file:
295
296     Block Positioning = no
297
298   This will turn off all seek requests during restores and avoid
299   this problem.
300 - VSS for Windows clients is now enabled by default.
301 - Do not unload autochanger when doing "update slots"
302 - Implement mount command for autochanger, see manual.
303
304 New Features in 2.0.0:
305 - Turn on disk seek code for restores.
306 - There is a partial but reasonable translation of the Bacula
307   messages for French.  To install it, first configure and build
308   Bacula, then as root run:
309
310     cd <bacula-source>/po
311     make install
312
313   If you have your locale set properly you will get the translated
314   messages.
315 - Bacula now support Migration jobs that are documented in a new
316   Migration chapter in the manual
317   http://www.bacula.org/dev-manual/Migration.html
318 - Data encryption is now implemented and is documented in
319   a new chapter of the manual at:
320   http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html
321 - Additional support for removable devices.  See the 
322   Requires Mount, Mount Point, Mount Command, and Unmount
323   Commands in the Storage daemon configuration chapter:
324   http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html
325   Also see the Edit Codes for Mount and Unmount Directives in the
326   same chapter.
327 - Switch the Win32 build from using Microsoft C++ to using mingw32
328   cross-compiling.  The initial work was done by Howard Thomson,
329   then tweaked by me.  Robert Nelson then totally reworked the
330   cross-compiling code so that it not only cross-compiles, but
331   also compiles on Visual Studio, and at the same time, he added
332   all the current Unix features to the FD, such as selection on
333   drives, encryption support, building *all* the tools, ...
334 - The Director and Storage daemon have now been ported to Win32.
335   This code is working but should still be tested carefully
336   before putting into production.
337 - Bacula restore and bextract can now extract non-portable Win32 data to
338   any client (including Unix/Linux clients). Of course, in doing so,
339   the Microsoft specific permissions and ACLs will be lost.  Thanks
340   to Thorsten Engel for this code.
341 - The 260 character limitation for Win32 paths name lengths is now 
342   eliminated thanks to Thorsten Engel. However, if you are using
343   Volume Shadow Copy, please be careful to specify all the paths
344   in the bacula-fd.conf file using a full path notation including
345   the drive letter.
346 - Eric Bollengier wrote new RunScript directives that includes
347   the old RunBefore/AfterJob and ClientRunBefore/AfterJob features
348   plus a *lot* more, allowing you to control just about every aspect
349   of running scripts.  See the manual for detailed documentation.
350   http://www.bacula.org/dev-manual/Configuring_Director.html#5227
351 - SunOS ACLs should now work thanks to a patch from David Duchscher.
352 - Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at
353   If this patch is applied, the number of days can be specified with
354   "list nextvol days=xx"
355   or
356   "status dir days=xx"
357   This can be used to preview the next scheduled job (and the
358   next tape to be used) on Fridays if there are no scheduled jobs during
359   the weekend.
360 - From Eric Bollengier. One can now using the bconsole wait command do:
361    wait  (wait for all jobs to stop)
362    wait jobid=nn
363    wait jobuid=unique id
364    wait job=job-name
365 - Volumes can now be set to Enable, Disable, or Archive. If they
366   are not enabled, Volumes will not be mounted.             
367   Implement update volume enable=(on|off|true|false|archived|0|1|2)
368 - Add Catalog message destination in Messages resource that puts the
369   job report in the Log database table.
370 - Writing/reading DVD Volumes is much more stable -- to the point
371   of being useful. Thanks to Richard Mortimer.
372 - Add enable/disable job=<job-name>.  This command prevents
373   the specified job from being scheduled. Even when disabled,
374   the job can be manually started from the console.
375 - The database Id records should be 32/64 bit independent now. 64 bits
376   can be enabled by changing one define and changing the appropriate
377   table variable. Normally, you need 64 bits only for FileId.
378 - Relative path specifications (i.e. ../xxx) are now permitted in
379   the restore cd command.
380 - When running multiple simultaneous jobs, most jobs that use spooling
381   will now finish faster due to a mutex optimization made by Eric
382   Bollengier.
383 - Conf files containing UTF-8 marker at the head of the file as well as
384   conf files containing Window cr/lf and Mac cr line termination characters 
385   are now accepted thanks to Robert Nelson.
386 - Windows tray status windows are scrollable and resizable.
387 - Win32 external script execution is much more flexible -- handles
388   spaces in names better, ...
389 - Lots of DVD fixes -- writing DVDs is now reported to work.
390 - Fix opening of database in a restricted console to respect     
391   any Catalog ACL.
392 - Much better automatic handling of multiple database catalogs in
393   the restore command.
394 - Permit multiple console/director resources in bconsole.conf.
395   patch from Carsten Paeth calle@calle.in-berlin.de
396 - Character substitution in Job/JobDefs WriteBootStrap.
397   from Eric Bollengier.
398 - Apply patch supplied in bug #656 to pass priority field
399   in the run dialog to the Director in gnome console.
400 - Add support of encrypted data stream to bscan from Eric.
401   display data_len instead of data content (may be binary).
402 - Add Enabled=xxx on update slots command.
403 - Add host:port to connect failure messages to FD and SD from Dir/
404 - Add WhereACL to console ACL list.  If nothing is specified, only
405   the default is permitted for restore. Otherwise, *all* allows any
406   path, or you can specify permitted paths. This should allow control
407   over where users can restore files. This is untested.
408 - Install man pages with 'make install'.
409 - Add Media.Enabled flag to client backups for dotcmds.c
410 - Enforce Media.Enabled=1 for a current restore to work
411 - Require restore case 3 to have sqlquery permission to work.
412 - Add -n option to bconsole to turn off conio -- used in bweb.
413 - The bytes field in the terminated jobs part of the status
414   command now reports in KB, MB, ... units.
415 - When not descending into a directory, print the File= name that
416   triggered it -- makes why not descending a bit clearer
417 - Do not unload autochanger when doing "update slots"
418 - Implement mount command for autochanger
419 - Fix bug #462 incorrect error message printed when client script called
420   from File= was not found.
421 - Fix bug #558 (waiting for feedback) where Bacula needs too much time to
422   do a rewind on Solaris when no tape is in the drive (Solaris does not
423   have the detailed errno found on Linux).  Added Solaris specific code.
424   Note, this may apply to other OSes as well.
425 - The examples directory has a new bacula_mail_summary.sh file that
426   creates a single email summary of any number of jobs. Submitted by
427   Andrew J. Millar.
428 - Add nagios plugin to the examples directory. Submitted by
429   Christian Masopust.
430 - Modify most restore error messages to be queued so that they
431   appear at the end of the job rather than mixed with the restore
432   listing where they could be "lost".
433 - Apply patch supplied by user (slightly modified) to fix
434   correct detection of holes in block devices and FIFOs.
435   Bug # 506.
436 - Added a report.pl program to the examples directory from Jonas Bjorklund.
437 - Add two new queries to query.sql provided by Arno. One
438   list volumes known to the Storage device, and the other
439   lists volumes possibly needing replacement (error, ...).
440 - Implement new code for changing userid and group at startup. This
441   should get Bacula into the correct groups.
442 - Implement support for removable filesystems -- device type directive
443   and mount, unmount directives.
444 - Transfer rates are now presented in a more readable format thanks
445   to a user submission.
446 - SD is now aware of what volumes are mounted. More information is printed
447   in the Status report. You must take much more care now to unmount
448   devices prior to removing tapes that Bacula has open or prior to
449   changing a magazine. Don't forget to do a mount afterwards or the
450   device will be blocked.
451 - The Pool Maximum Volumes directive is now respected in all places.
452 - A Storage device can now be specified in a Pool resource. It will override
453   all other Storage specifications.
454 - Most but not all directives accept true/false in place of yes/no.
455 - A patch from Karl Hakimian that reads JobIds, FileIndexes
456   from a database table for restore.
457 - There are a number of new tables. Some such as the Location table are
458   designed for user use in doing Volume Management software.
459 - Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to
460   accept time qualifiers.
461 - Implement jobuid to replace old usage of job in keywords as
462   suggested by Eric Bollengier.
463 - Implement write variables for Python to set Priority (anytime), and
464   Job Level, only during JobInit event.
465 - Use the keyword ujobid to mean the unique job id; job or jobname
466   to mean the Job name given on the Name directive, and jobid to
467   be the numeric (non-unique) job id.
468 - Allow the SD to use multiple drives during a backup/restore (only
469   one at a time).
470 - Integrate addition of line count limitation to bsmtp -l from
471   Sebastian Stark <stark at tuebingen.mpg.de>
472 - Split the bacula start/start script into four files:
473    bacula         -- starts and stops calling other scripts
474    bacula-ctl-dir -- starts/stops the director
475    bacula-ctl-fd  -- starts/stops the File daemon
476    bacula-ctl-sd  -- starts/stops the Storage daemon
477 - Remove automatic case folding on Windows FDs. You must
478   explicitly use the 'Ignore Case = yes' option.
479 - Implement wild program in tools directory for testing
480   wild-cards. Almost identical to the regex program.
481 - Use the new bregex.c to implement Regex expressions on Win32.
482 - Apply patch from Christopher Hull
483   - Allow multiple connections to database with different
484     parameters.
485   - Invalidate the scheduler when doing a reload. Fixes seg
486     fault, but still 60 second window.
487   - Additional info in Reschedule message.
488   - Use set_jcr_job_status() everywhere to prevent loss of
489     cancel, error.
490   - Display peer IP in FD if error from connecting DIR.
491   - Don't increment file count for DIRBEGIN.
492   - Replace illegal characters in Win32 filename by _.
493   - Add SE_CREATE_PERMANENT_NAME privilege in Win32.
494   - Hash hard link filenames rather than linked list (performance).
495   - Fix for security failure in chdir on Win32.
496   - Add CreateDirectoryA/W win32 API entry points.
497 - programs to duplicate Bacula's base64 algorithm using standard
498   routines. This fixes bugs #296, and 565. Patch submitted by
499   author of bug #565.
500 - Fixes to reloading the Dir conf file from Eric Bollengier and Christopher
501   Hull.
502 - Modify LICENSE to correct some problems pointed out by Debian.
503 - Apply a patch submitted by cesarb in bug #606 to implement O_NOATIME support.
504     O_NOATIME is a open() flag which makes it possible to read a file without
505     updating the inode atime (and also without the inode ctime update which
506     happens if you try to set the atime back to its previous value). It also
507     prevents a race condition when two programs are reading the same file, but
508     only one does not want to change the atime. It's most useful for backup
509     programs and file integrity checkers (and bacula can fit on both
510     categories).                                                    
511   You enable it in the Bacula FileSet Options resource by setting:
512      noatime = yes
513   The effect of this option is similar to the keepatime option except
514   it is more efficient and avoids modifying ctime.
515 - Implement a pile of new man pages contributed by Jose Tallon.
516 - Modify the database format for handling Migration jobs:
517    Add PriorJobId, RealEndTime to Job table
518    Delete MAC table
519    Remove Stripe from JobMedia record (not used, wasting space)
520    Add ScratchPoolId, RecyclePoolId, Enabled to Media record
521    Add Cost to Location table.
522    Enabled to Media table and Location table.
523 - Security: harden authentication failure in FD by single threading errors
524   and forcing a 6 second wait.
525 - If using GCC (actually g++) add the following compiler flags
526   -fno-strict-aliasing -fno-exceptions -fno-rtti
527 - Turn on new bsnprintf() code.  The reason for this code is to
528   eliminate the security problems associated with using the
529   system libraries print routines.
530 - Implement job report that indicates where Storage and Pool
531   came from -- with overrides and Pool storage and NextPool,
532   it is all very complicated.
533 - Add more detail (Storage, Device) to list of volumes printed
534   for restore.
535 - Add new VOLMGMT message class. No messages are yet sent with this 
536   class.
537 - Improved Bacula rescue procedures -- see the Disaster Recovery
538   chapter of the manual
539 - Add spooling/despooling info in status output of SD.
540 - Add Comment field to llist of a volume.
541 - Allow true/false in many but not all yes/no directives.
542 - The Bacula source code is now copyrighted by the Free Software 
543   Foundation Europe. The Developer's Guide documents the new procedures,
544   and the LICENSE file has been updated.
545 - Apply Jaime Ventura's patch that implements the Messages resource
546   Mail On Success directive.
547 - The Client returns its Version string, which is printed in the Job
548   report.
549 - The Client returns whether or not VSS and Encryption are used, which
550   are printed in the Job report.
551
552 Additional Features Added for Win32:
553 - Added DriveType directive to the Director's Include Option FileSet
554   resource.  Allowed values are: fixed, removable, cdrom, and remote.  There
555   is only an implementation for Windows because it is the only platform that
556   has the concept of drives.
557  
558 - Adds EnhancedWild directive to the Director's Include Option FileSet
559   resource.  Allowed values are: yes and no.
560  
561   When EnhancedWild is enabled then the processing of the
562   Wild, WildDir and WildFile is changed in the following ways.
563  
564   Patterns conform to Posix
565       \ is not a special character in character classification []
566       To match a - it must be the first or last character
567       To match a ] it must be the first character
568  
569       fnmatch option FNM_FILE_NAME is specified * doesn't match a / 
570       so it won't match multiple directory levels in a path
571  
572 - Relative WildFile patterns (ones without a leading /) match
573   against the filename portion.  This in combination with the
574   FNM_FILE_NAME fnmatch() flag makes directives such as WildFile =
575   abc*.def work as expected.
576  
577 - Adds support for the shell's feature of brace expansion.
578
579   Here is an example where braces allow 24 lines to be expressed in 5.
580
581   # Exclude directories full of lots and lots of useless little files
582   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Cookies"
583   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Recent"
584   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/History"
585   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temp"
586   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temporary Internet Files"
587
588 ;;;