]> git.sur5r.net Git - bacula/docs/blobdiff - docs/home-page/fr/news.txt
Update site for release 3.0.3
[bacula/docs] / docs / home-page / fr / news.txt
index 37c53f470e6af9bedaf509fd75af19ec332a67b9..6bd4b092da7e15940281cd70f407bcc57deedd72 100644 (file)
-Kern;;;2006/05/02;;;14:30
-          Release Notes pour Bacula 1.38.9
+Kern;;;18 October 2 2009 at 21:00
+Bacula Version 3.0.3 has been released to Source Forge
 
-Attention pour les versions ultérieures à 1.38.8:
+Note, if you are not already running 3.0.x, read the 3.0.x release notes 
+  below.  Important!!!
 
-- le File Daemon Windows est désormais sensible à la casse. Pour retrouver le
-comportement des versions antérieures, vous devez explicitement utiliser
-"Ignore case = yes" dans la définition du FileSet.
+Version 3.0.3 is primarily a important bug fix update to version 3.0.2.
 
-- Le caractère anti-slash n'est désormais plus autorisé dans les directives
-File (erreur typique pour les utilisateurs Windows), à moins que la chaîne
-soit encadrée de guillemets, auquel cas les caractères anti-slash doivent
-être doublés.
+Changes since 3.0.2:
+Bug fixes:
+ 1391, 1288, 1346, 1352, 1359, 1355, 1363, 1364, 1365, 1366, 1368, 
+ 1369, 1370, 1371, 1382
 
-- Le nouvel algorithme pour la sélection des volumes issus du "Scratch Pool"
-qui était implémenté dans les version 1.38.6 et 1.38.7 a été abandonné au
-profit de la version corrigée de l'algorithme de la version
-1.38.5.
+Fixes:
+     Apply James' fix for some Exchange plugin crashes
+     Integrate patch for building dmg on OSX from Lorenz Schori <lo@znerol.ch>
+     Fix bug #1391 Job status improperly set due to subtle variable overload problem
+     Fix #1352 about double free with regexp and big filenames on windows
+     Apply Graham's idea for recovering from disk full by recursing
+       when doing fixup_write_error ...
+     Make fix for VirtualFull changing device based on suggestion by
+       Nicolae Mihalache <mache@abcpages.com>
+     Fix concurrent Job recycle bug #1288
+     Backport part of one possible fix from bug #1346
+     Fix bug #1382 newly created disk volumes -> file not found warning
+     Fix Alpha ifdefing -- should fix bug #1359
+     Use old code for selecting file during restore.
+     Cherry-pick 3.1.x commits
+     tweak space on projects file
+     Fix seg fault in ignoredir code
+     Apply Frank's slash patch
+     Fix seg fault in SD bug #1371
+       3.0.2-Fix-seg-fault-in-SD-bug-1371.patch 
+     Add more info when SD connection refused
+       3.0.2-Add-more-info-when-SD-connection-refused.patch
+     Fix bug #1355 Director crashes with double free in Accurate SQL query
+       3.0.2-accurate.patch
+     Fixes bug #1368 ASSERT Failure on MacOS.
+       3.0.2-mac-path-len.patch
+     Fix #1364 and #1363 about compression buffer error.
+       3.0.2-zlib-buffer.patch
+     Fixes bug #1365 and #1366 about MacOSX resource forks. 
+       3.0.2-bug-1365.patch and 3.0.2-bug-1366.patch
+     Fix "Exclude Dir Containing" fileset option
+       3.0.2-exclude-dir-containing-fd.patch
+       3.0.2-exclude-dir-containing.patch
+       3.0.2-exclude-dir-containing-top_level.patch
 
-Nouvelle fonctionnalité pour la version 1.38.9:
-- un bouton "Dir Status" a été ajouté pour la console Gnome.
-    
-Cette version contient principalement des corrections de bugs mineurs pour la
-version 1.38.8.
+Compatibility:
+ As always, both the Director and Storage daemon must be upgraded at
+ the same time.
 
+ Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.3
+ Director and Storage daemons. There should be no need to upgrade older File
+ Daemons.
+
+;;;;
+
+Kern;;;20 July 2009 at 14:49
+Bacula Version 3.0.2 has been released to Source Forge
+Note, if you are not already running 3.0.x, read the 3.0.x release notes
+below.  Important!!!
+
+Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with
+some enhancements (see below).
+
+Changes since 3.0.1:
+
+Bug fixes:
+  1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315
+  1317, 1318, 1323, 1325, 1331, 1333, 1335
+
+Fixed:
+ - Fix problem with the Postgresql driver that sometime displays <NULL> values
+ - Cleanup old job records when starting the Director
+ - Fix bugs in xattr code
+ - Fix encoding problem with Postgresql
+ - Fix that prevents restore by file selection from using Copy job
+
+Enhancements:
+ - Security enhancement for the File Daemon
+ - New directive to specify source address for outgoing connexions
+ - Show volume availability in autochanger when doing restore.
+   This is project 31 in the projects file.
+ - Add accurate=yes/no option to estimate command
+ - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure
+ - Add a restore menu that contructs a full restore when entering a JobId.
+   This is project 2 in the projects file.
+ - Add new Nagios plugin
+
+Compatibility:
+Like always, both the Director and Storage daemon must be upgraded at
+the same time.
+
+Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2
+Director and Storage daemons. It should be no need to upgrade older File
+Daemon.
+;;;;
+
+Kern;;;30 April 2009 at 17:49
+Bacula Version 3.0.1 has been released to Source Forge.
+
+Note, if you are not already running 3.0.0, please read the 3.0.0 release notes.  Important!!!
+
+Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with
+one enhancement (see below).
+
+Changes since 3.0.0:
+Bug fixes:
+  1276, 1274, 1275, 1272 1246, 1268, 1281, 1282.
+
+Fixed:
+- Check for job_canceled() in fd_plugin code.
+- Update Win32 table creation to have new DB version 11 format
+- Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf
+- Remove 'Reposition' messages when restoring
+- Updated projects file
+- Tweak version string to display versionid field at the end
+  and keep fields order.
+  - Add additional mysql connection debug code submitted by:
+    Chandranshu <chandranshu@gmail.com>
+
+Enhancement:
+- Modify insertion of read Volumes in SD to be done *before* the
+  drive reservation. This ensures that a Volume to be read will not
+    be reserved for writing. Significant improvement in eliminating
+      tape deadlock situations.
+
+Note, both the Director and Storage daemons must be upgraded at the
+same time. The 3.0.1 File daemons are compatible with 3.0.0 file
+daemons and as noted below in the 3.0.0 release notes the Director
+and Storage daemon should be compatible with 2.4.x File daemons.
+In general, we do not expect any of the 3.0.x File daemons to work with older
+Directors and Storage daemons (as has always been the case for Bacula
+releases).
+
+============ Documentation improvements needed ==================
+
+Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the
+following areas:
+
+1. Missing documentation.
+2. Correction of links within various manuals -- most fail.
+3. Integration of the new features into the main documents.
+4. Much more.
+
+The documentation will not be completed in the near future due to lack
+manpower.  If you are unhappy with this situation as we are, we suggest
+you help by submitting patches to the documentation.  Thanks.
+=====
+;;;
+
+Kern;;;09 April 2009 at 22:30
+Bacula Version 3.0.0 has been released to Source Forge.
+
+This is to inform you that we have uploaded the Bacula version 3.0.0 source 
+tar files and the Win32/64 installer files to the Bacula Source Forge 
+download location.
+
+There are quite a number of new features in this release, and upgrading to it 
+requires a database upgrade, so please read the release notes carefully 
+(included below) and the documentation for the new features at:
+
+http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html
+
+There is still a good deal of work to do to finish the release process (mainly 
+reorganizing the web site manuals ...), but at least the source files are 
+released.  The rpms should follow shortly (probably this weekend).
+
+If you are currently using 2.4.4, please note that within a few months that 
+version will no longer be supported, so please consider the possibility of 
+upgrading.
+
+This release probably has the most new features that we have ever released, 
+and it has taken a long time to produce it.  The basic code is very well 
+tested, and if you stick to 2.4.4 features, you are unlikely to experience 
+problems.  However, many of the new features have not been well tested, so 
+your help will be appreciated.
+
+The following issues with 3.0.0 are known and we are working on them:
+
+1. The documentation is not 100% complete (there are so many new features that 
+we missed documenting some).  
+
+2. All the new documentation is in the New Features chapter, but not all of it 
+has yet been integrated back into the appropriate chapters.
+
+3. James has reported that the Exchange plugin may crash if you cancel a job 
+while it is running.  He is working on this.
+
+4. The SD has many new features that will make it more stable. One in 
+particular is that it knows what Volumes will be read during a migration, 
+copy, or Virtual backup job, and will ensure that they are not selected for 
+writing (something easy to do if you are using disk files and the same pool 
+for reading an writing).  However, the day after the release was cut, I found 
+a problem with this code that prevents it from working properly during 
+certain pre-allocations of the write tape.
+
+5. There is still an outstanding bug report on VSS failing (it seems to be a 
+bit of a rare case).
+
+As I previously announced, we will now make 3.0.0 our main release source code 
+stream, and we hope to release new version every six months and bug fix 
+updates even sooner.  To be able to do this, we will support version 2.4.4 
+only for a few more months.  There after the project will only support the 
+most current release ...
+
+This release comprises a lot of work by a lot of different people and many 
+contributions.  Normally I hesitate to mention particular people or 
+contributions because I always forget someone, but since this was such a big 
+release, I would like to mention at least the big contributions:
+
+Sponsor Company(s)  -  Programmer - Project
+Bacula Systems - Eric Bollengier - Accurate Backup
+Bacula Systems - Eric Bollengier - Catalog format enhancements
+Bacula Systems - Eric Bollengier - bextract non-portable Win32 data
+Bacula Systems - Eric Bollengier - Win64 File daemon
+Bacula Systems - Eric Bollengier - SD deadlock detection + postmortum dump
+Bacula Systems - Eric Bollengier - Faster Attribute despooling if DIR & FD on 
+                                                     same machine
+Bacula Systems - Eric Bollengier - Virtual tape emulation
+Bacula Systems - Kern Sibbald - USB rescue key
+Equiinet funded development - James Harper - MS Exchange plugin
+
+Personal contributions:
+Kjetil Torgrim Homme - Regex expressions for restore in bootstrap file
+Marco van Wieringen - ACL code overhaul
+Marco van Wieringen - Solaris ZFS/NFSv4 ACL support
+Marco van Wieringen - Extended Attribute support
+Marco van Wieringen - Shared Objects
+Dirk Bartley - Bat speedup + stability improvement + many enhancements
+Joao Henrique Freitas - libdbi catalog driver
+Scott Barninger - rpm packaging
+Kern Sibbald - many big and little projects ...
+Many people -- see the AUTHORS file.
+
+Many thanks to everyone for making Bacula what it is today.
+
+=== List of new features ===
+- Accurate Backup
+- Copy Jobs
+- ACL code overhaul
+- Solaris ZFS/NFSv4 ACL support
+- Extended Attribute support
+  --disable-xattr (default=auto)
+- Shared Objects
+  --enable-libtool (default)
+  --disable-libtool
+- Virtual Backup
+- Catalog Format Enhancements
+  - Support for more than 4 Billion file entries
+  - New stats tables
+- Duplicate Job Control
+- TLS Authentication
+- bextract non-portable Win32 data
+- State File updated at Job Termination
+- Bacula Plugins
+  - FD bpipe plugin
+  - FD Exchange plugin
+- libdbi DB driver
+- Console Enhancements
+  - status slots
+  - list joblog
+  - command separator
+- Bootstrap regex
+- Restore seek optimization
+- Virtual Tape Emulation
+- Bat Enhancements
+- RunScript Enhancements
+- Status enhancements
+- FD connect timeout default to 3 minutes
+- ftruncate implemented for NFS Volumes
+- FD Version compatibily flag
+- Statistics Enhancements
+- Faster Attribute despooling
+- Document split into 6 manuals
+- GPLv2 license now compatible with OpenSSL
+- Win64 File daemon
+- Postmortum dump improvements in SD
+- Deadlock mutex detection in SD
+- Improved Volume management in SD to avoid deadlocks.
+- New configure install options
+  --docdir=  (default=/usr/share/doc/bacula-VERSION)
+  --htmldir= (default=/usr/share/doc/bacula-VERSION/html -- bat help files)
+  --plugindir= (default=sysconfdir, where plugins will be installed)
+- New Bare Metal Recovery with USB key. See rescue/linux/usb
+ New Directives:
+- Max Full Interval
+- Max Diff Interval
+- Honor No Dump Flag
+- Exclude Dirs Containing
+- Recycle Pool
+- Max Run Sched Time
+- Max Wait Time    
+- Full/Diff/Incr Max Run Time
+- Scratch Pool
+- Max Console Connections
+- Spool Size (in Job resource)
+- Allow Mixed Priorities
+- Allow Duplicate Jobs
+- Allow Higher Duplicates
+- Cancel Queued Duplicates
+- Cancel Running Duplicates
+- TLS Authenticate
+- Console (in RunScript)
+
+New features from Project Items Completed for version 3.0.0
+    also listed above:
+Item  1:  Accurate restoration of renamed/deleted files
+Item  3:  Merge multiple backups (Synthetic Backup or Consolidation)
+Item  4:  Implement Catalog directive for Pool resource in Director
+Item  5:  Add an item to the restore option where you can select a Pool
+Item  8:  Implement Copy pools
+Item 12:  Add Plug-ins to the FileSet Include statements.
+Item 13:  Restore only file attributes (permissions, ACL, owner, group...)
+Item 18:  Better control over Job execution
+Item 26:  Store and restore extended attributes, especially selinux file 
+contexts
+Item 27:  make changing "spooldata=yes|no" possible for
+Item 28:  Implement an option to modify the last written date for volumes
+Item  n:  Split documentation into several books
+================================
+
+
+       Release Notes for Bacula 3.0.0
+
+  Bacula code: Total files = 520 Total lines = 205,459 (*.h *.c *.in)
+
+The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release
+represents an enormous effort.
+
+This Director and Storage daemon must be upgraded at the same time,
+but they should be compatible with all 2.4.x File daemons, unless you
+use some of the new features that affect the FD.  In other words, you should
+not have to upgrade all your File daemons when you upgrade. However, any
+release of version 2.5.40 or greater requires a database upgrade.
+
+================== Warning !!!!!! ==========================
+
+New Catalog format in version 3.0.0 (2.5.40 or later)
+-----------------------------------------------------
+
+This release of Bacula uses a new catalog format. We provide a set of
+scripts that permit to convert a 2.4.x (version 10) catalog to 3.0.0 (version
+11).  The Bacula project rpms distributed on Source Forge will automatically
+detect the database change and do the upgrade for you.  We strongly
+recommend that you save a copy of your existing database before upgrading
+using rpms.
+
+The simplest way to upgrad the database assuming you are building from
+source:
+1. Stop any current version of Bacula from running.
+2. Save a copy of your existing database.
+3. Configure, build, and install the 3.0.0 version of Bacula
+   Note the new ./configure options in the manuals see the link
+   at the bottom of this file.
+4. cd <your-scripts-installation-directory>
+5. ./update_bacula_tables
+6. If you have multiple catalogs, edit the update_bacula_tables
+   script and put the name of another database, and then
+   execute the script again. Repeat this until all Bacula
+   catalogs have been updated.
+7. Start the new Bacula.  If everything worked, it should
+   not print any error messages.
+
+The upgrade operation will convert the FileId index field of the File table
+from 32 bits to 64 bits.  This operation will take TIME and will *temporarily* 
+DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update,
+so, won't be able to run jobs during this period.  For example, a 3 million 
+files
+catalog will take 2 mins to upgrade on a normal machine.  Don't forget to
+backup it before executing the script.
+
+If you start from scratch, you don't need to run the update_bacula_tables
+script because the create_bacula_tables script automatically creates the new
+table format.  However, if you are using a version of Bacula older than 2.5.40
+(e.g.  2.4.4) then you need to run the update_bacula_tables script that will
+be found in the <bacula>/src/cats directory after you run the ./configure
+command.  As mentioned above, before running this script, please backup your
+catalog database, and when you do running it, be sure shutdown Bacula and be
+aware that running the script can take some time depending on your database
+size.
+
+
+Important New configure options :
+----------------------
+
+This release of Bacula 3.0.0 uses libtool by default
+to generate the Bacula libraries as shared objects rather than
+being directly linked in as in prior versions.  This means that
+the Bacula shared objects, must either be in a shared object 
+directory known to the loader or they must be in the directory
+where the Bacula binaries are installed.  It is also possible
+to explicitly specify the libraries directory on the ./configure
+line (--libdir=/full-path/dir), but this should not be necessary.
+
+  ./configure --libdir=<full-path>
+
+If you have problems with libtool or you wish to use the old 
+way of building libraries and linking them into Bacula, you 
+can do so by disabling libtool on the configure command line with:
+
+  ./configure --disable-libtool
+
+During the installation of Bacula 3.0.0, it will now install
+bat help files (if you have configured bat).  These files
+are placed in /usr/share/doc/bacula/html by default. If you
+want to put them elsewhere use:
+
+  ./configure --htmldir=<full-path>
+
+During the installation of Bacula, it will now install the
+ReleaseNotes, License, technotes, ChangeLog, and similar
+files in /usr/share/doc/bacula by default.  If you
+want to put them elsewhere use:
+
+  ./configure --docdir=<full-path>
+
+During the installation of Bacula, any plugins will be
+installed in the plugindir, which is by default the
+same as libdir (/usr/lib).  You can specify an alternate
+location with:
+
+  ./configure --with-plugindir=<full-path>
+
+==============================================================
+
+This release includes large number of new features and changes.
+It should be more or less compatible with previous xx.conf files
+and File daemons providing that you are not using any of the new
+features.
+
+Please see the New Features chapter of the new manual, which documents
+some but not all the new features (we are still working on it):
+
+http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html
+  
+The ChangeLog has more details.
+
+;;;
+Kern;;;03 Nobember 2008 at 17:35
+Critical 2.4.3-orphaned-jobs.patch released
+We recently found and corrected a serious bug in Bacula that causes jobs to be
+orphaned or "stuck" in the director during the pruning process.  Depending on
+what jobs get stuck and how many there are, it could prevent additional jobs
+from running.  As best we can tell, this problem occurs only during what could
+be called extreme pruning conditions -- i.e.  there are insufficient Volumes
+available for normal operations.
+
+In any case, we recommend that everyone apply the 2.4.3-orphaned-jobs.patch,
+which you can find in the bacula-patches section of the Source Forge download
+area as well as in the directory patches of both the trunk and Branch-2.4 SVN.
 ;;;
 
-Kern;;;2006/05/02;;;14:30
-Erreur de segmentation pour les versions antérieures à la version 1.38.5
+Kern;;;12 October 2008 at 10:30am
+Creation of Bacula Systems SA
+Dear Members of the Bacula Community,
+
+I'm pleased to announce the creation of Bacula Systems S.A., a new company to 
+provide professional support and service for Bacula.  I believe you will be 
+pleased to see how we have married a strong commitment to the ethos of honest 
+open source software with the availability of services desired by a wide 
+range of Bacula users. 
+
+As many of you know, I began work on Bacula in 2000 and released the first 
+public version in April 2002 to Source Forge.  Although I have personally 
+written a very substantial part of the code, I offer sincere thanks to the 
+many members of the community who have provided ideas, fixes, testing, and 
+contributions of code, without which Bacula would not be what it is today.  
+It has been a labor of love and I am pleased that so many people have found 
+Bacula useful. 
+
+Before telling you more about Bacula Systems, let me reiterate my unfaltering, 
+ongoing commitment to open source software and the Bacula open source 
+project. The code for Bacula and all future releases will remain available as 
+free open source software under the GPL license that I transferred to the 
+protection of the Free Software Foundation of Europe. Unlike some other open 
+source projects, there will be no separate "enterprise" or proprietary 
+version of the Bacula source code. www.bacula.org will continue to be the 
+home for Bacula project development.
+
+So, why create Bacula Systems? The company was created to respond to requests 
+from users who want professional support with guaranteed levels of service 
+and response times.  To ensure continuity and the highest level of knowledge 
+transfer, I will take the position of Chairman of the Board and Chief 
+Technical Officer of Bacula Systems S.A..  
+
+Several members of the Bacula community have joined me to start the company. 
+The other team members are also strongly dedicated to the spirit of keeping 
+Bacula open and free while simultaneously offering commercial services to 
+those for whom it is essential in making the decision to deploy Bacula.  
+Bacula Systems is self-financed -- the initial capital comes from the 
+founders; no outside venture capital was sought or accepted.  This means we 
+have the power to establish the company's priorities and we can remain 
+dedicated to "honest open source". Bacula Systems S.A. is a Swiss company 
+with offices in Yverdon-les-Bains, and with branches in France and Germany 
+initially.  We will open additional branches as business requires.
+
+I will continue to support development of Bacula via bacula.org and the Bacula 
+community. Future developments will be in the "community" code base which 
+will remain free.  Bacula Systems will offer "funded development" to 
+customers who wish to accelerate the addition of certain features to Bacula.  
+Code developed this way will be contributed to the free distribution and will 
+be available to the entire community at no charge. Bacula Systems will 
+provide additional fee-based services, including high quality consulting, 
+training, documentation and certified binaries.
+
+Our goal in establishing Bacula Systems is to be inclusive of the community, 
+and expand it by creating opportunities for members of the Bacula community 
+through a well-defined Partner Program.  If you provide IT services or 
+consulting, the Bacula Systems Partner Program can provide you with the 
+additional back-up (pardon the pun) support you need to serve your customers 
+more effectively. 
 
-Important !
-Dans les versions 1.38.5 et antérieures, il y avait apparemment un bug qui
-engendrait une erreur de segmentation pour le démon de stockage.
+Our plan is to develop an international network of partners who offer high 
+value added services to Bacula users -- installing, configuring and optimizing 
+Bacula for their customers, as well as Level 3 and 4 support, with guaranteed 
+service levels.  We will also provide training and tools to our partners.
 
-Un contournement a été implémenté dans la version 1.38.6 et supérieure qui
-semble fonctionner. Toutefois si vous rencontrez des problèmes, suivez les
-instructions ci-dessous.
+The Bacula project website, www.bacula.org, and Source Forge will be unchanged 
+in the mission and ideals of being  free sources of information, mail lists 
+and forum-based support for and by the community. Both Bacula source code and 
+Bacula binaries will continue to be available for free, as in the past, and 
+new releases will also be available for free. The new commercial website, 
+www.baculasystems.com will provide information on commercial subscriptions 
+for those users who want guaranteed levels of service, support, documentation 
+and certified binaries.  
 
-Si vous compilez Bacula sur un machine 64 bits, vous devez vous assurer que
-le code est compilé avec l'option -O0 sinon le SD devrait se planter sur
-presque toutes les opérations. Ceci est apparemment dû à un bug du
-compilateur gcc lors de la génération du code 64 bits.
+All members of the Bacula community are encouraged to register for free at 
+www.baculasystems.com, so that you will receive announcements and news about 
+our commercial activities, and so that you can send feedback to our new 
+company, Bacula Systems.
 
+Thank you for your interest and participation in the Bacula community.  
+
+Sincerely,
+
+Kern Sibbald
 ;;;
 
-Kern;;;2006/04/14;;;14:30
-          Release Notes for Bacula 1.38.8
-
-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=&lt;job-name&gt; and 
-  disable job=&lt;job-name&gt;. 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.
-   
+Kern;;;11 October 2008 at 11:30am
+Bacula version 2.4.3 Released
+This is to let you know that the source tar files and the Win32 binaries for 
+Bacula version 2.4.3 have been released to the Bacula Source Forge download 
+area.
 
-Minor bug fixes:
-- See below:
-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 2.4.3
+ This is a bug fix to version 2.4.2.  All daemons are compatible
+ with other 2.4.x versions.
+
+Bugs Fixed:
+  1159, 1162. 1149, 1128, 1143, 1140, 1129
+
+Change Summary:
+- Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel
+  a non created job faster.
+- This should correct bug #1159 where Migration does not properly
+  respect the Migration Low Bytes directive.
+- Fix typo in configure.in that breaks --with-db-password option
+- This code should fix the race condition that leads to a Director
+  crash at job end time when the job list is updated. This was reported
+  in bug #1162.
+- Remove all double quotes from SQLite creating script and
+  replace by single quotes as suggested by John Huttley.
+- Fix SQL case problem that may cause the failure of DiskToCatalog
+  in bug #1149.
+- Copy missing storage name into edit buffer. As far as I can tell
+  this never caused a bug.
+- Remove catalog dependency for bcopy
+- Modify catalog scripts to have an easier packaging integration,
+  using default variables.
+  Make difference between SQLite3 and SQLite in db_get_type()
+- Attempt to fix bug #1128 InChanger flag cleared during Migration
+  job when reading from one autochanger and writing to another.
+- Add more information to SD acquire.c INFO messages.
+- Fix NULL Volume name error when reading and the drive must
+  be switched.
+- Fix a Verify InitCatalog problem where in certain cases
+  a garbage filename may be entered in the verification database.  This
+  fixes bug #1143.
+- Add space after version before date in bat about dialog.
+- Fix seg fault in Dir during estimate command with no level value
+  given. This fixes bug #1140.
+- Add message to migration job when the target job is already migrated.
+  This closes bug #1129.
+
+Unless some really serious new bug shows up, this will be the last release 
+until the next major version (3.0.0), which we hope will be ready around the 
+end of the year.
+;;;
+
+Kern;;;26 July 2008 at 10:30am
+Bacula version 2.4.2 Released
+This is to inform you that we have released the source and Win32 binaries of 
+Bacula version 2.4.2 to the Bacula Source Forge download area.
+
+ This is an important bug fix release since version 2.4.1.
+
+Bugs Fixed:
+ 1034, 1125, 1118, 1124, 1107, 1129, 1126
+
+Change Summary:
+26Jul08
+- When a migration job actually runs, re-check the Job record
+  and skip if the job is already migrated. This should
+  significantly reduce the problems with bug #1129.
+- Break the do_swapping into do_unload, do_swapping, and
+  do_load.  It is much more logical that way.
+- Implement a set_dcr_from_vol subroutine in acquire.c for
+  reading volumes. This allows the dcr to be refreshed after being
+  zapped when the wrong volume is mounted. This should fix bug #1126 -
+- During multiple tape restore, bacula
+  does not ask for physical tape change, but rereads same tape
+- Apply patch submitted for bug #1107 with a small modification.
+  This fixes a bug where bcopy copied too many records.
+- Make some tweaks to bsmtp based on patch submitted in bug #1124.
+  This fixes bug #1124.
+- Make the default bat restore Pool be Any. This fixes bug #1118.
+- Fix bug #1125 which reports a SD crash at the end of a tape
+  during restore. It was a debug statement that should not be
+  in a release.
+- Fix #1034 by setting big timeout on mysql connections
+- Do partial integration of the Win32 bat build created by Eric.
+- Ensure that SD tried to mount a volume not in an autochanger
+  at least once before asking for operator intervention.
+- Fix a pthreads bug in the Win32 pthreads emulation code affects only
+  version 2.5.x and above.
+;;;
 
+Kern;;;7 July 2008 at 10:30am
+Bacula version 2.4.1 Released
+This is to inform you that we have released the source and Win32 binaries of 
+Bacula version 2.4.1 to the Bacula Source Forge download area.
+
+Bugs Fixed:
+ 1103, 1100, 1105, 1094, 1109, 1106, 1101, 1102, 1112
+ 1117, 1116, 1097.
+
+Change summary:
+-  Clear in-use bit on vol when unused while swapping.
+-  Remove sleep at end of ./bacula
+-  Clear hash packet for hardlinked files correctly. This corrects
+   a long standing bug where hardlinked files selected individually
+   would occasionally not be restored.
+-  Apply Eric's patch to ensure that autoprune does not return
+   a Volume not in the autochanger unless requested to do so.
+-  Correct bat restore display of multiple drives. This fixes
+   bug #1117.
+-  Do find_a_volume() each time an unload is done. This
+   fixes the failure of maxvol2-test.
+-  Use Qmsg() in job.c watchdog callback.
+-  Release main control rwlock if ABORTing.
+-  Make watchdog connect timeout queue messages rather than sending
+   directly to avoid lock conflicts with the real thread.
+-  Remove const char that causes problems with Python, which has
+   older 'incorrect' headers.
+-  Add const char in dbd.c to avoid compiler warnings.
+-  Fix mtx-changer to detect both versions of Ubuntu (Debian)
+   mt. This fixes bug #1116.
+-  Fix failure of 2drive-concurrent-test. Always read label;
+   clear_unload() only after drive is defined in acquire_for_read().
+-  Generally clean up the manual tape loading code. The main
+   conceptial change is that when a volume is marked to be unloaded,
+   its volume name is retained, and it is only marked as unloaded
+   when either the autoloader says it is unloaded or another tape
+   is read on that drive.
+-  Fix a recycling problem with two autochangers reported in bug
+   #1106. This may also (unlikely) fix a second recycling bug as
+   reported in #1103.
+-  Fix a SD lock volumes deadlock problem reported in bug #1100.
+-  Fix format problem in bscan output reported in bug #1105.
+-  Copy more data when restarting a job so that run
+   overrides are kept. This should fix bug #1094.
+-  Backport updates to jobq.c where possible.
+-  Fix bug where SD did not ask operator if the device could not
+   be opened. Reported by Eric.
+-  Add dbuser to DIR conf file (replaces user).
+-  Add --with-db-password to ./configure
+-  Fix regress to handle db_password.
+-  Fix a couple of pedantic compiler warnings.
+-  Fix bug when starting a restore on a storage that doesn't
+   have the requested MediaType.
+-  More work on word alignments -- eliminate all ints from
+   the configuration routines.
+-  Fix bug reported by Scott Barninger where the bacula script
+   refers to scripts in the wrong directory. Needed to meet the
+   requirements of recent FHS location changes.
+-  Fix word alignment problem on non-Intel 64 bit machines
+   such as Solaris.  This should fix bug #1097 -- bus error in SD.
+-  Add missing win32/patches/wxWidgets.patch to 2.4 repository.
 ;;;
 
-Kern;;;2006/04/07;;;14:30
-          Release Notes for Bacula 1.38.7
-06Apr06
-- Remove timed wait for VSS on Win2K3 as it is not yet
+
+Kern;;;4 Jun 2008 at 10:30am
+Bacula version 2.4.0 Released
+This is to inform you that we have released the source and Win32 binaries of 
+Bacula version 2.4.0 to the Bacula Source Forge download area.
+
+This release consists mainly of a number of bug fixes since 2.2.x
+but most importantly, a rewrite of significant portions of the
+Storage daemon reservation and autochanger code. This rewritten
+code is simpler, more stable, and works much better, particularly
+with multiple drive autochangers than the prior code did.  That
+said, there are still a number of issues to be resolved. Note,
+the new code has not been tested in manual volume mount situations.
+
+As usual, we strongly recommend when installing to keep the Director and the 
+Storage daemon on the same version.  However, since this release only 
+contains refactored code and bug fixes rather than new features, the clients 
+(File daemons) should function perfectly with any 2.2.x version, and there is 
+no database upgrade needed.
+
+=====================================================
+                                                                     
+       Release Notes for Bacula 2.4.0
+
+  Bacula code: Total files = 500 Total lines = 188,654 (*.h *.c *.in)
+
+This Director and Storage daemon must be upgraded at the same time,
+but they should be compatible with all 2.0.x File daemons, unless you
+use some of the new features that affect the FD.  In other words, you should
+not have to upgrade all your File daemons when you upgrade. There is
+no database upgrade needed from version 2.0.x to 2.2.0 nor from version
+2.2.x to version 2.4.0
+
+==================   Warning !!!!!! ==========================
+As of Version 2.4.0, the Win32 FD should not descend into
+any reparse point directory or reparse mount points unless the
+specified directory is explicitly mentioned at the top level of
+FileSet (as with Unix). A file that is linked to another file will
+be backed up, much like Unix hardlinked files.  If you want
+reparse directories backed up, you must explicitly include them
+in your FileSet.
+======================================================
+
+This release consists mainly of a number of bug fixes since 2.2.x
+but most importantly, a rewrite of significant portions of the
+Storage daemon reservation and autochanger code. This rewritten
+code is simpler, more stable, and works much better, particularly
+with multiple drive autochangers than the prior code did.  That
+said, there are still a number of issues to be resolved. Note,
+the new code has not been tested in manual volume mount situations.
+
+Bugs fixed:
+ 1095, 1086, 1091, 1070, 1041, 1083, 1078, 1066, 1068, 1038
+ 1062, 1065, 1046, 1047, 1031
+
+New features:
+- You can now build bat without the QWT libraries. Use
+  --without-qwt as a ./configure option.
+
+Release Version 2.4.0
+- Update version to 2.4.0 to reflect the magnitude of the SD changes.
+- Make sure to clear JS_WaitMedia when operator mounts a Volume.
+  This fixes bug #1095.
+- Add create_postgresql_database.sql to Win32 installer. Should
+  fix problem reported by Juilio Monteiro.
+- Get correct slot when auto unloading a device. This fixes bug
+  #1086.
+- Fix possible seg fault if SQL error.
+- Fix renaming a Volume, which used the wrong Volume name.
+- If operator has rewind tape, print warning, release tape and
+  try once more. If tape is positioned somewhere, something went
+  wrong, so mark the tape in error and try once more. Previously
+  this error was fatal, now it produces an error message.
+- Ensure correct volume name displayed during restore
+- Fix a few more Coverity reported problems.
+- Fix #1091 about bad output in estimate command.
+- Modify autochanger locking to attempt to avoid race
+  conditions.
+- Make sure device not busy before doing label command.
+- Display open() errors except when polling. Previously too
+  many were suppressed.  This should fix bug #1070.
+- Fix Win32 reparse points. Bacula will not recurse into any
+  reparse point directory, including mount points, unless the
+  directory is explicitly mentioned at the top level (same as   
+ with Unix).  A file that is linked to another file will be
+  backed up -- much as Unix does for hardlinked files.
+  This fixes bug #1041.
+- Remove StorageId test when pruning and recycling (Eric's changes).
+- Fix buffer overruns detected by Coverity.
+- Implement --without-qwt
+- Fix layout of restore tree dialog
+- Add configure bat QWT libraries, so that bat can be built
+  with or without the QWT libaries.
+- Implement regression that explicitly tests swapping a Volume
+  from one drive to another.
+- Enhance disk-changer to detect most error conditions.
+- Fix SD code so that it properly swaps a Volume between drives.
+  This fixes bug #1083.
+- Prevent a Volume that is being swapped from being freed from
+  the volume list. This will most likely fix, at least partially,
+  bug #1083.
+- Fix strippath so that it does not get a buffer overrun and crash FD.
+  This fixes bug #1078.
+- Make inability to change owner/group when creating a dir only a
+  warning rather than an error.
+- Fix SQL query in migration code
+- Fix bat seg fault at termination.
+- Add Bacula generated version to bat about box.
+- Backport development stream SD reservation system changes.
+- When wrong volume is mounted during read, unload_autochanger.
+- Stop searching for Volumes in SD askdir if DIR returns the
+  same volume name twice in a row.
+- Rework class structures for VOLRES, DCR, and DEVICE to make
+  the method names a bit more logical, and for more logically
+  handling the responsibilities.
+- Remove redundant code in terminating the scheduler that just
+  causes a seg fault in many cases.
+- Improve algorithm for detecting pre-reserved volume and
+  swapping volumes.
+- Prevent volume from being released while being swapped.
+- Refactor parts of stored/mount.c
+- Add sanity checks for VolWriteTime and VolReadTime
+- Take care of bad clock changes while computing VolWriteTime
+  and VolReadTime. This should fix or limit #1066
+- Correct error string numbers in dird/catreq.c
+- Restructure reserving, acquiring, and mounting volumes. Calls to
+  autochanger are deferred for mount.c -- simplifes the code.
+- Do not prune any running job. It just fails the job.
+- Lock the volumes when changing dev->reserved_device and marking
+  the volume unused otherwise the device can get reserved by
+  another job before the volume is released, thus blocking it.
+- Correct some SD catalog request error messages.
+- Turn off code in read_record that causes a seg fault in the SD
+  when reading past an EOS_LABEL.
+- Turn off unloading the autochanger in reserve.c as it just
+   causes problems.
+- Lock volumes when unreserving a device.
+- Do not mark volume unused when recycling.
+- Fix bug #1068 fixes a SD crash when using Virtual autochanger.
+- Generate correct JobMedia records during spooling/despooling when
+  running concurrent jobs.  Thanks to Tom Ivar Helbekkmo
+  <tih@hamartun.priv.no> for excellent analysis and testing.
+- *Massive* commit of all fixes and back ports to create 2.2.9
+  Mostly SD reservations enhancements.
+- Fix Win32 FD backup/restore memory leak due to improper termination
+  of BackupRead/Write. This fixes bug# 1038.
+- Fixes a StorageId problem with volumes after migration.
+- Implements autostart scripts for Debian
+- Fix mtx-changer.in for broken Debian mt program.
+- Apply doc fix from bug #1062.
+- Resolve crash and improper restore wx-console Win32 restore
+  GUI. Fixes bug #1065.
+- Update Win32 wxWidgets to latest version.
+- Attempt to do correct handling of Win32 mount points. Should
+  fix bug #1046.
+- Add const to AIX prototype for initgroups()
+- Fix to the JobMedia patch, which introduced a new problem.
+- Fix creating first JobMedia record during Migration to include
+  proper index. This caused slow restores of migrated jobs.
+- Fix bug #1047, do not strip paths on symbolic links.
+- Set catalog backup database and user name from values specified on
+  the ./configure line.
+- Apply patch to correct bug #1031, about wrong pool source information
+  in job report.
+;;;;
+
+Kern;;;27 Jan 2008 at 10:30am
+Bacula version 2.2.8 Released
+Bacula version 2.2.8 source tar files as well as the Win32
+binaries are available in the bacula and Win32 release areas 
+of Source Forge. I have hidden the previous BETA release
+
+Version 2.2.8 is a bug fix to version 2.2.7 and has a few
+  additional bugs fixed than the BETA 2.2.8 version previously
+  released:
+- It fixes bugs: 1036, 1033(doc), 1028, 1040, 1045(doc), 1030,
+  1042(partially), and possibly bugs 1018 and 1032.
+  Bugs 1018 and 1032 involve problems with multiple-drive autochangers,
+  and are difficult to reproduce.         
+  See the ChangeLog for more details.
+  Note, if you previously loaded version 2.2.8 BETA, you will probably
+  want to upgrade, but it is not urgent ...
+;;;
+
+
+Kern;;;9 Jan 2008 at 20:30
+Bacula version BETA 2.2.8 Released
+Bacula version 2.2.8 source tar files as well as the Win32
+binaries are available in the bacula-beta and
+Win32-beta release areas of Source Forge
+
+Version BETA 2.2.8 is a bug fix to version 2.2.7:
+- It fixes bugs: 1036, 1033(doc), 1028, and possibly 1018 and 1032.
+  Bugs 1018 and 1032 involve problems with multiple-drive autochangers.
+;;;
+
+Kern;;;24 Dec 2007;;20:30
+Bacula version 2.2.7 Released
+Bacula version 2.2.7 source tar files as well as the Win32
+binaries are available in the Bacula release area of Source Forge
+
+Version 2.2.7 has several new features and several important bug fixes
+  since version 2.2.6:
+- It fixes bugs: 1009, 1022, 1024, 1019, 1012, 1021, 1020
+  1007, 1008.  For more details, please see the technotes-2.1 file.
+- Fixed a seg fault reported by Frank Sweetser that depended on
+  exact path lengths, but the problem was in bsnprintf.c
+- Double quoting include filenames (@xxx) in Bacula conf files is now
+  possible, thanks to a patch by Michael Stapelberg.
+- You can pipe input to include filenames (@|prog) by using a vertical
+  bar, thanks to the above patch.
+- A daylight savings time bug in the Win32 bsmpt was fixed by a patch from
+  Nerijus Baliunas.
+- Marc Cousins submitted a patch that permits building the PostgreSQL
+  driver with version 8.3.
+- The configure option --archivedir has been changed to --with-archivedir
+;;;
+Kern;;;9 Nov 2007;;15:25
+Bacula version 2.2.6 Released
+Bacula version 2.2.6 source tar files as well as the Win32
+binaries are available in the Bacula release area of Source Forge.
+
+This release is a minor fix upgrade to version 2.2.5,
+and we recommend that all users upgrade when they can.
+
+Version 2.2.6 is a minor bug fix realease to version 2.2.5
+- It fixes bugs: #1003, 942, 982, 990(response only), 991,
+  993, 986, 976.
+  - Fix bat crash wen it cannot connect to Director.
+  - Fix joblist failure bug in bat.
+;;;
+Kern;;;9 Oct 2007;;15:25
+Bacula version 2.2.5 Released
+Despite the fact that the Release Notes are rather short, the bug
+fixes represent quite a lot of work:
+
+Version 2.2.5 is a major bug fix release to version 2.2.4
+- It fixes the following bugs: #961, 962, 963, 969, 968, 960,
+  964, (possibly 935 and 903), 953, 953, 967, 966, 965, 954,
+  957, 908, 958, and 955.
+- It also improves listing performance problems in bat pointed
+  out by Chris Howells.
+;;;
+Kern;;;29 Sept 2007;;20:30
+A serious data loss bug in Bacula version 2.2.4 found and fixed
+
+This bug was very elusive and time consuming to track down.  It
+turned out to be a race condition that can lose the last one or
+two blocks of a Job, which can happen in rare cases only when
+running multiple simultaneous jobs when a volume fills and one
+Job finishes receiving the last data from the FD and at the same
+time a second job detects the end of the Volume.  The bug was
+introduced in version 2.0.0 and did not exist in version 1.38.x.
+If the bug is triggered, the data is lost (not written to the
+Volume), and it can occur for any backup job of any level under
+the conditions noted above.
+
+The bug is reported in the bugs database as bug #964, and just
+this morning I found and tested a fix, which is attached as a patch
+to the bug report.  The patch (2.2.4-lost-block.patch) is also
+uploaded to the bacula-patches 2.2.x release area.  This bug may
+also be part of the problems reported in bug #935 and possibly
+#903.
+
+Also in the bacula-patches 2.2.x area, you will find other
+patches that fixes bugs #953, 966, 967, 965, 958, 908, and
+955. Please refer to bugs.bacula.org for the details.
+
+Though this bug quite serious (data loss), it should be rare.
+However, we recommend everyone to apply the patch.
+;;;
+Kern;;;2007/9/14;;;14:30 
+Bacula version 2.2.4 Released 
+
+This version of Bacula is a minor bug release to version 2.2.3.
+It contains the following fixes:
+
+- Possible fix for authorization problems bug #953.
+- Possible fix for bug #908.
+- Add waits to multiple exit detection code to try to force pid
+  file to always be deleted.
+- Restore good dev.tar.gz to rescue set appropriate binary property.
+  This fixes bug #950.
+- Fix seg fault in error exit of acquire_for_read after unsuccessfully
+  trying to switch drives by checking for blocking before unblocking.
+  Fixes bug #906.
+- Cancel storage daemon in all cases where FD reports error. This
+  should fix virtually all cases of bug #920 and will ensure that Devices
+  are released as soon as possible.
+- Fix error message that was clobbered when Dir tells SD it does not
+  have write permission on Volume.  This should fix a minor point
+  in bug #942, but not the main problem.
+- Fix migration code to get correct Volume name with multiple volumes 
+  by skipping |.  Fixes bug #936.
+- Implement patch supplied by Landon to fix bug #944 where using
+  TLS with bconsole uses 99+% of the CPU.
+- Fix bug #946 about "bacula-dir -t" which doesn't works
+  as expected.
+- Using "m" in bconsole will show messages as in prior versions
+  and not memory usage.
+
+- Note, you need GTK >= 2.10 to be able to link the Tray Monitor
+  program.
+;;;
+Kern;;;2007/9/9;;;14:30
+I regret to announce that there is a rather serious bug in Bacula.
+
+Bacula bug #935 reports that during a restore, a large number of files are 
+missing and thus not restored.  This is really quite surprising because we 
+have a fairly extensive regression test suite that explicitly tests for this 
+kind of problem many times.
+
+Despite our testing, there is indeed a bug in Bacula that has the following 
+characteristics:
+
+1. It happens only when multiple simultaneous Jobs are run (regardless of
+whether or not data spooling is enabled), and happens only when the
+Storage daemon is changing from one Volume to another  -- i.e. the
+backups span multiple volumes, and it only happens for Jobs writing
+to the same volume.
+
+2. It has only been observed on disk based backup, but not on tape.
+
+3. Under the right circumstances (timing), it could and probably does happen
+on tape backups.
+
+4. It seems to be timing dependent, and requires multiple clients to
+reproduce, although under the right circumstances, it should be reproducible
+with a single client doing multiple simultaneous backups.
+
+5. Analysis indicates that it happens most often when the clients are slow
+(e.g. doing Incremental backups).
+
+6. It has been verified to exist in versions 2.0.x and 2.2.x.
+
+7. It should also be in version 1.38, but could not be reproduced in testing,
+perhaps due to timing considerations or the fact that the test FD daemons
+were version 2.2.2.
+
+8. The data is correctly stored on the Volume, but incorrect index (JobMedia)
+records are stored in the database.  (the JobMedia record generated during
+the Volume change contains the index of the new Volume rather than the
+previous Volume).  This will be described in more detail below.
+
+9. You can prevent the problem from occurring by either turning off multiple
+simultaneous Jobs or by ensuring that while running multiple simultaneous
+Jobs that those Jobs do not span Volumes.  E.g. you could manually mark
+Volumes as full when they are sufficiently large.
+
+10. If you are not running multiple simultaneous Jobs, you will not be
+affected by this bug.
+
+11. If you are running multiple simultaneous Jobs to tapes, I believe there is
+a reasonable probability that this problem could show up when Jobs are split
+across tapes.
+
+12. If you are running multiple simultaneous Jobs to disks, I believe there is
+a high probability that this problem will show up when Jobs are split across
+disks Volumes.
+
+13. The bug concerns only the Storage daemon so there is no need to update
+the clients, though I do recommend updating the Director when installing
+an updated Storage daemon.
+
+I have uploaded patches to bug #935 (bugs.bacula.org) that will correct
+version 2.2.0, 2.2.1, and 2.2.2.  The patch has been tested only on version
+2.2.2 and passes all regression tests as well as the specific test that
+reproduced the problem. 
+
+The patch has now been confirmed to fix the problem reported, and Bacula
+version 2.2.3 has been released to Source Forge.
+
+For the technical details of the bug, please see: 
+
+  http://www.bacula.org/downloads/bug-935.txt
+
+;;;
+
+Kern;;;2007/8/11;;;14:30
+
+Bacula Version 2.2.0 has been released to Source Forge.         
+
+          Release Notes for Bacula 2.2.0 
+
+  Bacula code: Total files = 520 Total lines = 195,550 (*.h *.c *.in)
+  82 new files, 41,221 new lines of code, 208,380 lines of change from 2.0.3
+
+This Director and Storage daemon must be upgraded at the same time,
+but they should be compatible with all 2.0.x File daemons, unless you
+use some of the new features that affect the FD.  In other words, you should
+not have to upgrade all your File daemons when you upgrade. There is
+no database upgrade needed from version 2.0.x to 2.2.0.
+
+Areas requiring caution or testing:
+- You must have the thread safe version of MySQL client libraries loaded
+  to build with MySQL enabled.
+- Volumes are pruned only when absolutely necessary -- this may cause
+  your database to grow compared to prior Bacula versions.
+- Solaris door and even port files are no longer restored (equivalent
+    to what we do with sockets).
+- SQLite is no longer supported for Solaris -- it fails too often with
+  bus errors.  SQLite3 should work on Solaris.
+- The default setting for SQLite3 is now 'PRAGMA synchronous=OFF'.
+  This makes it run 30 times faster, but increases the possiblity
+  of a corrupted database if your server shuts down unexpectedly.
+  The default behavior can be changed in src/version.h
+- Restore on Win32, and in particular on Vista is untested. Please
+  test before relying on it.  It should backup and restore reparse
+  points.
+- Win32 servers are untested, and very likely not to work.
+
+The major new features are:
+- 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.
-- 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
+- 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.
+
+New ./configure options:
+- --enable-bwx-console    
+- --enable-bat
+- --with-qwt=
+- --with-db-name=
+- --with-db-user=
+- --enable-batch-insert
+
+New bconsole commands:
+- exec
+- memory
+- update recyclepool
+- .sql
+- .api
+- .pwd (in restore tree)
+- restoreclient (keyword)
+- backupclient  (keyword)
+- regexwhere    (keyword)
+- update jobid  (new command)
+- recyclepool   (keyword) 
+
+New directives:
+- Heartbeat Interval (bconsole.conf)
+- Heartbeat Interval (bacula-dir.conf in Director, Client, Storage)
+- TLS Allowed CN     (bacula-dir.conf in Client)
+- Regex Where        (bacula-dir.conf in Job)
+- Strip Prefix       (bacula-dir.conf in Job)
+- Add Prefix         (bacula-dir.conf in Job)
+- Add Suffex         (bacula-dir.conf in Job)
+- Recycle Pool       (bacula-dir.conf in Pool)
+- FailJobOnError     (bacula-dir.conf in RunScript)
+- CheckFileChanges   (bacula-dir.conf in FileSet)
+- StripPath          (bacula-dir.conf in FileSet)
+
+Other features or bug fixes:
+- Fixed bugs: 916, 910, 917, 914, 906, 907, 
+  842, 830, 893, 861, 888, 886, 807, 877, 872
+  885, 887, 864, 874, 882, 881, 863, 859, 
+  856, 854, 845, 847, 846, 809, 772, 
+  822, 825, 824, 808, 802, 797, 798, 795, 789, 791, 
+  788, 780, 763, 782, 612, 767, 775, 621, 772, 764, 
+  766, 621, 761, 755, 750, 741, 747, 742, 744, and 743.
+- Configure bat with --enable-bat. Define qwt libraries with
+  --with-qwt=<dir>. See Installation chapter of manual for details.
+- Create a depkgs-qt package that has both Qt4 and qwt, which are
+  needed to build bat. Most modern Linux systems will have both
+  these packages in the distro.
+- Storage overrides delete all previous storage definitions instead
+  of prepending.
+- One should be able to mount and unmount removable devices if the
+  Device resource has Removeable Media set and the mount and unmount
+  directives are defined.
+- ./configure will do a better job of searching for qwt libraries.
+- The Win32 version can no longer be shutdown from the tray monitor.
+  Use the command line or the Services panne.
+- Keep prune_volumes() from pruning the whole Scratch pool.
+- More debug output in status storage.
+- Correct moving a Scratch volume from pool to pool (some
+  critical columns were lost).
+- Different locking in reservations and despooling systems,
+  which means more micro-locking and less macro-locking, which
+  should give a lot more concurrency at the expense of slightly
+  (<0.1%) more overhead due to more locking/unlocking, but     
+  concurrent jobs should run much faster.
+- Additional drive reservation algorithm that should solve a lot of
+  the problems experienced with multiple drive autochangers.
+- Storage daemon status command enhanced to more clearly show Volume,
+  pool and media type when a job is waiting.
+- Made bsmtp work with more strict SMTP servers.
+- Detect doubly freed buffers in smartall.c
+- wx-console renamed to bwx-console (Fedora request)
+- gnome-console renamed to bgnome-console (Fedora request)
+- Migration preserves original job's FileSetId
+- Spooling implemented for migration jobs.
+- Config files can be read through a pipe, by specifying a leading |
+  in front of the configuration path/filename.
+- New memory command (bconsole) that will print the current Director's
+  memory usage, and an in use buffer dump.
+- Console name changed from *Console* to -Console- to accomodate Win32
+  filename restrictions.  
+- Corrected the Win32 ftruncate bug.
+- Additional version information added to Job reports.
+- New -8 option for bsmtp to specify UTF-8 encoding type.
+- bsmtp will no longer add < > to target (from, to, cc) if there
+  is already a < in the target.
+- Prefer Mounted Volumes extended to mean a volume that is being
+  mounted by another job.
+- Runscript timing set to same as version 1.38.11
+- New TLS Allowed CN directive(s) permitted.
+- New bconsole 'exec' command to run external script/command.
+- Turn on FreeBSD/OpenBSD code to set EOT model on tape.
+- Drop from root done before database is opened.
+- Database user and name can be configured with:
+  --with-db-name=name --with-db-user=user
+- Turn on wait_for_drive in mtx-changer script.
+- Rework how bar codes are handled in mtx-changer script.
+  This appears to have been an unreported bug.
+- Updated nagios plugin supplied by Christian Masopust
+- Better restricted console ACL checking.
+- New Client Connect Wait directive in Storage daemon so that
+  users can configure how long SD waits for FD connection.
+- Bacula will no longer permit pruning of the currently running
+  job (note, if other jobs are running, they may be pruned).
+- Sockets are no longer restored.
+- dbcheck works in 300K chunks so will typically run faster.
+- Include/Exclude lists can now be efficiently handled for quite
+  large sizes -- tens of thousands of entries.
+- Several memory leaks in migration and database usage were fixed.
+- New console keyword restoreclient, which specifies the client to
+  which the restore will be sent. The client keyword specifies 
+  the backup client. The restoreclient keyword is optional if it is
+  not specified, the backup client will also be the restore client.
+- The disk file size is now checked to ensure that it agrees with the
+  catalog value before Bacula will append to the disk (same as tape
+  and DVD).
+
+;;;
+
+Kern;;;2007/3/6;;;14:30
+
+Bacula Version 2.0.3 has been released to Source Forge.
+This is a bug fix release to version 2.0.2.  If you are upgrading from
+a version older than 2.0.0, please be sure to read the important notes
+below.
+
+Also, please check the patches directory in the current SVN or the
+patches release section on Source Forge for important bug fixes to   
+this version.
+
+5Mar07
+kes  File migrate bug with Pool Occupancy using mediaid instead
+     of jobids.  Fixes bug #795.
+kes  Fix orphaned buffers in filed backup and verify due to
+     crypto buffers not freed during errors.  Fixes bug #789.
+04Mar07
+kes  Add smartctl call to bacula-sd.conf as an example of getting
+     tape alert info.
+02Mar07
+kes  Add Client Connect Wait to Storage daemon to permit users to
+     modify the time the SD waits for a FD connection.
+28Feb07 
+kes  Apply Command ACL filter to JobId list in restore command.
+kes  Correct typeo in var.c patch.
+27Feb07
+kes  Don't let Bacula prune File or Job records for the current Job.
+kes  Fix variable substitution pad + inc bug reported (with patch)
+     in bug #791.
+26Feb07
+kes  Correct SQLite log table index as reported by Luca Berra.
+24Feb07
+ebl  Fix FIFO stuff, bacula tries to rewind the FIFO... Thanks to Andreas
+22Feb07
+kes  Fix a few places in lib/message.c where the open fd may
+     not be zeroed.
+21Feb07
+kes  Add LANG=C to autoconf/randpass so it works with languages other
+     than English.  Fixes bug #788.
+20Feb07
+ebl  Revert ClientRunBeforeJob as it was in 1.38.x
+     This fixes bug #780
+     You will not be able to generate Include/Exclude list any more.
+     If you want to use this, you can apply 
+     trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
+19Feb07
+kes  Restore of sockets created false error messages because Bacula
+     no longer restores sockets, but the code was still trying to
+     set the attributes on a non-existent file. Reported by a user.
+16Feb07
+kes  Fix encryption deblocking bug, which caused some restored files
+     to be truncated. This fixes bug #763. This is a CRITICAL bug fix.
+kes  Add FD event sequence order prepared by Eric -- for RunScripts.
+kes  Fix 12am/pm bug as reported in bug #782.
+15Feb07
+kes  Add quick disconnect FD code from 2.1.4 to 2.0.3.  This code
+     causes the SD to release the FD as soon as the FD has sent
+     all the data to the SD. After that the SD will do any final
+     despooling (data and attributes) that are necessary. This
+     allows laptops to disconnect much quicker from the network 
+     after a backup.
+13Feb07
+kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
+11Feb07
+kes  Optimize the use of the database a bit in the Status dir command.
+     Only open it when needed, ensure that if any previous database
+     was opened, it is closed.
+10Feb07
+kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
+     and File records in 300K chunks to be more efficient. This
+     idea came from Juan Luis Frances (if I remember right).
+09Feb07
+kes  Update projects list.
+08Feb07
+kes  Fix dird/ua_cmds.c so that a cancel command checks if the
+     console is authorized to cancel the job.  This fixes bug 
+     #767.
+kes  Modify SD so that the VolCatJobs medium record is updated
+     at the beginning of a Job rather than the end.  This
+     fixes bug #775 where exceeding MaxVolJobs caused jobs
+     to fail.
+kes  Added a mutex around getting and setting Volume information
+     so that multiple simultaneous jobs will single thread.
+07Feb07
+     Switch to using Subversion
+kes  Remove src/pygtk-console/ from configure
+06Feb07
+kes  Delete src/lib/btree.c from win32 build, then add rblist.c
+     plus the entrypoints.
+kes  Apply patch supplied that corrects debug print
+     in canceling jobs for max run time.  Supplied as
+     part of bug #621, which was previously fixed.
+05Feb07
+kes  Test on job_canceled() and sd_msg_thread_done inside
+     loop starting the message thread to avoid a race condition.
+     Fixes bug #771.
+kes  Remove rl_catch_signal from console.c as it conflicted
+     with the header definition. Fixes bug #765.
+ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
+04Feb07
+kes  Clarify some stored/acquire messages to indicate if the
+     problem is with read or append.
+02Feb07
+kes  Fix memory leak with storage ids in cats/sql_get.c
+kes  Terminate watchdog earlier to avoid reference to released
+     memory -- reported by Jason Austin.
+kes  Move closing the database from jobq.c to the director daemon
+     termination routine. This fixes memory leaks for shadow jobs
+     (i.e. migration jobs).
+kes  Free up the unique jobid chain items in migrate.c.  This fixes
+     a memory leak problem.
+kes  Convert some ugly looking for statements to use foreach_alist
+     in findlib/find.c.  This will facilitate converting the structures
+     to use dlist (for large include/exclude lists).
+kes  Fix a bug in the btree.c and btree.h routines, then rename them
+     rblist and add them to be built in src/lib.  Include some new
+     methods written by Rudolf Cejka that make the code more readable
+     (hides some of the ugly casting).
+26Jan07 (back port)
+kes  Implement item #12 on project list -- quick release of FD by
+     the SD. This is noted in more detail above.
+
+;;;
+
+Kern;;;2007/1/28;;;14:30
+
+Bacula Version 2.0.2 released:
+28Jan08
+kes  Fix maxruntime bug #621.
+27Jan07
+kes  Get current main CVS .specs for RedHat, SuSE, Mandrake.
+26Jan07
+ebl  Implement the include JobID in spool file name project.
+kes  Reorder projects file in order determined by Jan 2007 vote.
+kes  Fix open of SQLite3 db where user does not have write permission
+     so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes  Change 'Device not configured to autolabel' from INFO
+     to WARNING.
+kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0
+     which should restart an indefinite # of times.
+kes  Fix configure --help to print --with-mysql[=DIR]. Same for
+     other DIR specifications.
+23Jan07
+rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
+     Fix path quoting in SQLite scripts.
+     Fix problems with SHGetFolderPath.
+19Jan07
+kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes  Fix Job restart on error bug that promotes an Inc to a Full
+     backup.  This should fix bug #755.
+kes  Add qt-console and first cut of code.
+
+;;;
+
+Kern;;;2007/1/13;;;14:30
+
+Bacula Version 2.0.1 has been released to Source Forge.
+This is bug fix update to version 2.0.0 and contains
+the following fixes:
+
+-    Fix Bacula->Documentation link on Win32 to point to index.html
+     instead of bacula.html. Fixed bug #750.
+-    Return JobId in db_get_job_record() when JobId==0. This should
+     fix bug #741.
+-    Do not release source pointers when restarting a failed job.
+-    Add dynamic dll entry point for SHGetFolderPath to Win32 code.
+     This *should* fix bug #747.
+-    Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
+     bug #742.
+-    Modify USTORE constructor to set an empty store_source string, 
+     and don't copy the store_source string in a cancel.  Hopefully
+     this will fix Arno's seg fault, bug #744.
+-    Add back code to disable conio in configure. Fixes bug #743.
+-    Correct the Options scanner in the FD to correctly handle  
+     SHA1 option, which was eating the next option.  Reported by    
+     Sebastien Guilbaud.
+-    Add code to indicate when the SD is spooling, spool wait, and 
+     despooling as requested by Alan Brown.
+
+;;;
+
+Kern;;;2007/1/4;;;14:30
+
+Bacula Version 2.0.0 has been released to Source Forge.
+
+There is an English Press Kit, written by Dan Langille at:
+   
+   http://www.bacula.org/about/press/presskit200.html.en
+
+and a German version, translated by Arno Lehmann at:
+
+   http://www.bacula.org/about/press/presskit200.html.de
+
+;;;
+   
+Kern;;;2007/1/4;;;14:31
+
+          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.
+- 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.
+- The database Id records should be 32/64 bit independent now. 64 bits
+  can be enabled by changing one define and changing the appropriate
+  table variable. Normally, you need 64 bits only for FileId.
+- Relative path specifications (i.e. ../xxx) are now permitted in
+  the restore cd command.
+- When running multiple simultaneous jobs, most jobs that use spooling
+  will now finish faster due to a mutex optimization made by Eric
+  Bollengier.
+- Conf files containing UTF-8 marker at the head of the file as well as
+  conf files containing Window cr/lf and Mac cr line termination characters 
+  are now accepted thanks to Robert Nelson.
+- Windows tray status windows are scrollable and resizable.
+- Win32 external script execution is much more flexible -- handles
+  spaces in names better, ...
+- Lots of DVD fixes -- writing DVDs is now reported to work.
+- Fix opening of database in a restricted console to respect     
+  any Catalog ACL.
+- Much better automatic handling of multiple database catalogs in
+  the restore command.
+- Permit multiple console/director resources in bconsole.conf.
+  patch from Carsten Paeth calle@calle.in-berlin.de
+- Character substitution in Job/JobDefs WriteBootStrap.
+  from Eric Bollengier.
+- Apply patch supplied in bug #656 to pass priority field
+  in the run dialog to the Director in gnome console.
+- Add support of encrypted data stream to bscan from Eric.
+  display data_len instead of data content (may be binary).
+- Add Enabled=xxx on update slots command.
+- Add host:port to connect failure messages to FD and SD from Dir/
+- Add WhereACL to console ACL list.  If nothing is specified, only
+  the default is permitted for restore. Otherwise, *all* allows any
+  path, or you can specify permitted paths. This should allow control
+  over where users can restore files. This is untested.
+- Install man pages with 'make install'.
+- Add Media.Enabled flag to client backups for dotcmds.c
+- Enforce Media.Enabled=1 for a current restore to work
+- Require restore case 3 to have sqlquery permission to work.
+- Add -n option to bconsole to turn off conio -- used in bweb.
+- The bytes field in the terminated jobs part of the status
+  command now reports in KB, MB, ... units.
+- When not descending into a directory, print the File= name that
+  triggered it -- makes why not descending a bit clearer
+- Do not unload autochanger when doing "update slots"
+- Implement mount command for autochanger
+- Fix bug #462 incorrect error message printed when client script called
+  from File= was not found.
+- Fix bug #558 (waiting for feedback) where Bacula needs too much time to
+  do a rewind on Solaris when no tape is in the drive (Solaris does not
+  have the detailed errno found on Linux).  Added Solaris specific code.
+  Note, this may apply to other OSes as well.
+- 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.
+- 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 mixed 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 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 -- device type directive
+  and mount, unmount directives.
+- 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. You must take much more care now to unmount
+  devices prior to removing tapes that Bacula has open or prior to
+  changing a magazine. Don't forget to do a mount afterwards or the
+  device will be blocked.
+- 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.
+- A 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.
+- 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.
+- 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).
+- 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
-- 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 &lt;stark at tuebingen.mpg.de&gt;
-- 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 &amp; 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 &gt; 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.
-- Add enable/disable job=&lt;job-name&gt;.  This command prevents
-  the specified job from being scheduled. Even when disabled,
-  the job can be manually started from the console.
-- During 'update slots' clear all InChanger flags where the
-  StorageId is zero (old Media records).
-- Fix autochanger code to strip leading spaces from returned
-  slots number. Remove bc from chio-changer.
-- Back port a bit of 1.39 crypto code to reduce diffs.
-- Fix first call to autochanger that missed close()ing the
-  drive. Put close() just before each run_program().  Fixes
-  Arno's changer bug.
-- Add PoolId to Job record when updating it at job start time.
-- Pull in more code from 1.39 so that there are fewer file
-  differences (the new ua_dotcmds.c, base64.h, crypto.h
-  hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
-  util.c. Aside from ua_dotcmds.c these are mostly crypto
-  upgrades.
-- Implement new method of walking the jcr chain. The
-  incr/dec of the use_count is done within the walking
-  routines.  This should prevent a jcr from being freed
-  from under the walk routines.
-
-
-Changes to 1.38.3 released 05Jan06:
-- This is mainly a bug release fix. In addition, the multiple drive
-  reservation algorithm has been rewritten.
-- In addition, the method of handling waiting for tapes to be
-  mounted and the mount messages has been modified.
-  (the above two items are a potential source of problems).
-- Simplify code in askdir.c that waits for creating an appendable
-  volume so that it can handle multiple returns from the wait code.
-- Modify the wait code to permit multiple returns.
-- Return a zero when 'autochanger drives' is called and
-  it is not an autochanger.
-- Make rewind_dev() a method taking a DCR as an argument.
-  This permits closing and reopening the drive if the
-  rewind fails as happens if the drive was loaded while the
-  file descriptor was open. This refreshes the file descriptor.
-- Remove the ST_OPENED flag and always rely on fd &lt; 0 for knowing
-  if the device is open or not.  This should eliminate
-  Arnos problem.
-- Return error if reserve cannot find at least one suitable device.
-- Make wait_for_sysop() return correct state information.
-- Fix Win32 state file problem. write was not using compat
-  code. This should fix bug #500.
-- Modify gui on command to set only GUI mode and not batch.
-- Modify .messages command to always print messages regardless
-  of the mode.                
-- If GUI mode is on, suppress automatic printing of 
-  You have messages. 
-- Modify restore command in wx-console to set gui on and to use
-  only .messages instead of messages.  Hopefully this fixes bug
-  #514.
-- Implement load balancing code with multiple drive autochangers.
-- Rewrite reservation algorithm again. Rename variables to be
-  more logical, add HEARTBEAT with Director, allow cancel of
-  jobs stuck in reservation, add last resourt any_drive.
-- Fix seg fault if user labels a drive directly bug #513
-- Remove quotes around Version as it breaks things.
-- Merge in Aleksandar Milivojevic's mods to the spec file.
-- Apply sparse code fix for raw drives and fifos. Bug 506
-- Thorsten fixed Unicode cd problem with wx-console bug 505.
-- Correct reservation system to do a last ditch try
-  for any mounted volume, then anyone anywhere.
-- Updates to ssh-tunnel from Joshua Kugler.
-- Added a report.pl program from Jonas Bjorklund.            
-- Simplify the O_NONBLOCK open() code for tape drives,
-  and always open nonblocking.
-- Do not wait for open() if EIO returned (shouldn't happen).
-- Eliminate 3 argument to tape open().
-- Correct the slot # edited in the 3995 Bad autochanger unload
-  message.
-- With -S on bscan (show progress) do not divide by zero.
-- Make cancel pthread_cond_signal() pthread_cond_broadcast().
-- When dcr is freed, also broadcast dev-&gt;wait_next_vol signal.
-- Remove unused code in wait_for_device.  
-- Make wait_for_device() always return after 60 seconds of wait.
-- Use localhost if no network configured
-- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
-- Update specs to include mysql4 define.
-- Return rec-&gt;FileIndex in dcr-&gt;VolLastIndex for normal
-  and partial records in read_record().  This allows bscan
-  to get FileIndex at EOT correct.
-- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
-- Apply patch supplied by user (slightly modified) to fix
-  correct detection of holes in block devices and FIFOs. 
-  Bug # 506.
-- Apply patch supplied by user (slightly modified) 
-  to fix SD hang with multiple pools and bad client
-  IP. Fixes bug # 508.
-- Add nagios plugin to the examples directory. Submitted by
-  Christian Masopust.
-- Remove warning message about multiple saves of hardlinked files
-  from find_one.c as it can generate too many warning messages.
-- Reset timeout values before select() per patch from 
-  Frank Sweetser for problems with non-blocking sockets.
-- Unlink the state file if either reading or writing it gets
-  errors.  Hopefully this will fix Win32 exit problems.
-- Get next volume from Scratch pool before creating a volume.
-- Set new Pool defaults in Vol when moved from Scratch Pool.
-- Remove argument from create_bacula_database for SQLite as it
-  caused an error.
-- Fix reservation so that mutexes are properly applied.
-- Rework reservation algorithm so that two drives can be used
-  at the same time.
-- 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.
-- Fix font code in gnome2 console user patch. Fixes bug #501.
-- Fix malformatted bnet error message that caused seg fault
-  fixes bug 502
-- Applied user patch to improve README.vc8 in src/win32.
-- Ensure that StorageId is stored in Media record when ever possible.
-- Remove old code from winservice.cpp
-- Break on error in scan.
-- Fix typo in signal.c
-- Separate read/write DCR in SD.  Add jcr-&gt;read_dcr.
-- Cleanup how find_device() works.
-- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
-
-Changes to 1.38.2:
-- Fix crash in tray-monitor when daemon disconnects. Bug #479.
-- Fix bnet-server bug found on OpenBSD. Bug #486
-- Fix cancel failure bug. Bug #481
-- Fix failure when Pool name has spaces. Bug #487   
-- Fix SD crash in autochanger code. Mutex failure. Bug #488
-- Fix a couple of free()s in src/filed/acl.c
-- Fix memory overrun in bfile.c in building OS X resource
-  fork filename. Bug #489 
-- Add Pool name to SD status output.
-- Add Python install dir for Solaris to configure. Bug #492
-
-Changes to 1.38.1:
-- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
-- Add bacula_mail_summary.sh to examples directory. It makes
-  a single email summary of any number of jobs. Submitted
-  by Adrew J. Millar.
-- Unmount command now unloads autochanger.
-- Fix hang in FD (Martin Simmons)
-- Fix Win98 stat() problem in FD (Thorsten Engel)
-- Fix update slots which did not clear missing tapes.
-- Fix autostart install for FreeBSD (user reported)
-- Fix several problems with PostgreSQL scripts (Eric Bollinger)
-- Critical: allow restore of the first file of non-portable Win32 backup.
-- Important: with muliple concurrent jobs the autochanger could get
-  confused because of a missing mutex.
-- Fix accessing last slot in label and update slots.       
-- Modify configure.in to add execute option to sqlite3 catalog  
-  scripts.
-- Create update_xxx_table_8_to_9 scripts for updatedb
-- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
-  autoconf/bacula-macros/db.m4 as suggested by user.  Fixes bug #457.
-- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
-  by user. Fixes bug #456.
-- AMD64 users see compiler bug warning below!!!!!!!!!
-
-Major Changes in 1.38:
-- Fixed out of order Volumes in restore.
-- Improved algorithm for reserving drives in multiple drive
-  autochangers. Autochange users MUST use the new Autochanger
-  resource in the Storage daemon.
-- There is a new database format that is not compatible
-  with previous databases. You must upgrade if converting
-  from 1.36.x. No changes from version 1.37.30.
-- The Director, Storage daemon, and File daemons are
-  Deamons are not compatible with prior versions. 
-  All FDs must be upgraded at the same time.
-- Support for ANSI/IBM labels.
-- Faster database inserts due to combining the MD5/SHA1 into
-  the attributes record, eliminating one INSERT/file backed up.
-- Python Event support has been added. See below for
-  configuration and details. The implementation is somewhat minimal,
-  so the functionality is not complete. The Python interface
-  has not been extensively tested, so please consider it BETA.
-- DVD writing support, using parts, and some new directives in
-  the Device resource of the Storage configuration file thanks
-  to Nicolas Boichat. Please note that this code is still 
-  BETA and should be carefully tested before using in
-  production.
-- Seven new options keywords in a FileSet resource:
-  ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
-  and regexfile thanks to Pruben Guldberg). See below for details.
-- Restore of all files for a Job or set of jobs even if the file
-  records have been removed from the catalog.
-- Restore of a directory (non-recursive, i.e. only one level).
-- Support for TLS (ssl) between all the daemon connections thanks
-  to Landon Fuller.                         
-- Any Volume in the Pool named Scratch may be reassigned to any
-  other Pool when a new Volume is needed.
-- You may clone a Job and thus write (almost) the same data
-  to multiple Volumes simultaneously (see below). Actually, 
-  any Job may start any other Job with this mechanism, so it
-  also be used to group jobs.
-- Unicode filename support for Win32 (thanks to Thorsten Engel)
-- Volume Shadow Copy support for Win32 thus the capability to
-  backup exclusively opened files (thanks to Thorsten Engel).
-  A VSS enabled Win32 FD is available.  You must explicitly
-  turn on VSS with 'Enable VSS = yes' in your FileSet resource.
-- New manual format with an index (thanks to Karl Cunningham).
-- New Web site format (thanks to Michael Scherer).
-- SQLite3 support.
-- Web-bacula, previously a separate project by Juan Luis Frances,
-  is now included in the Bacula GUI release. This is a management
-  level tool for reporting the state of Bacula jobs.
-- The code is now Internationalized so that it can be localized
-  in native languages.  Thanks to Nicolas Boichat.
-
-New Directives:
-- New Job directive 'Prefer Mounted Volumes = yes|no' causes the
-  SD to select either an Autochanger or a drive with a valid 
-  Volume already mounted in preference. If none is available,
-  it will select the first available drive.
-- New Run directive in Job resource of DIR. It permits
-  cloning of jobs.  To clone a copy of the current job, use
-     Run = 'job-name level=%l since=\'%s\''
-  Note, job-name is normally the same name as the job that
-  is running but there is no restriction on what you put. If you
-  want to start the job by hand and use job overrides such as       
-  storage=xxx, realize that the job will be started with the
-  default storage values not the overrides.  The level=%l guarantees
-  that the chosen level of the job is the same, and the since=... 
-  ensures that the job uses *exactly* the same time/date for incremental
-  and differential jobs. The since=... is ignored when level=Full.
-  A cloned job will not start additional clones, so it is not possible
-  to recurse.
-- New Options keywords in a FileSet directive (backported to 1.36.3):
-  - WildDir xxx
-    Will do a wild card match against directories (files will not
-    be matched).
-  - WildFile xxx
-    Will do a wild card match against files (directories will not
-    be matched).
-  - RegexDir xxx
-    Will do a regular expression match against directories (files
-    will not be matched).
-  - RegexFile xxx
-    Will do a regular expression match against files( directories
-    will not be matched).
-  - IgnoreCase = yes | no
-    Will ignore case in wild card and regular expression matches.
-    This is handy for Windows where filename case is not significant.
-  - FsType = string
-    where string is a filesystem type: ext2, jfs, ntfs, proc,
-    reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660.  For ext3
-    systems, use ext2.  You may have multiple fstype directives
-    and thus permit multiple filesystem types.  If the type
-    specified on the fstype directive does not match the
-    filesystem for a particular directive, that directory will
-    not be backed up.  This directive can be used to prevent
-    backing up non-local filesystems.
-  - HFS Plus Support = yes | no 
-    If set, Mac OS X resource forks will be saved and restored.
-- Label Type = ANSI | IBM | Bacula   
-  Implemented in Director Pool resource and in SD Device resource.
-  If it is specified in the SD Device resource, it will take
-  precedence over the value passed from the Director to the SD.
-- Check Labels = yes | no
-  Implemented in the SD Device resource. If you intend to read
-  ANSI or IBM labels, this *must* be set. Even if the volume
-  is not ANSI labeled, you can set this to yes, and Bacula will
-  check the label type.
-- Scripts Directory = &lt;directory&gt; name.  Defines the directory from 
-  which Bacula scripts will be called for events. In fact, Bacula
-  appends this name to the standard Python list of search directories,
-  so the script could also be in any of the Python system directories.
-- In FileSet, you can exclude backing up of hardlinks (if you have
-  a lot, it can be very expensive), by using:
-    HardLinks = no
-  in the Options section. Patch supplied by David R Bosso. Thanks.
-- MaximumPartSize = bytes (SD, Device resource)
-  Defines the maximum part size.
-- Requires Mount = Yes/No (SD, Device resource)
-  Defines if the device require to be mounted to be read, and if it
-  must be written in a special way. If it set, the following directives 
-  must be defined in the same Device resource:
-  + Mount Point = directory
-    Directory where the device must be mounted. 
-  + Mount Command = name-string
-    Command that must be executed to mount the device. Before the command
-    is executed, %a is replaced with the Archive Device, and %m with the 
-    Mount Point.
-  + Unmount Command = name-string
-    Command that must be executed to unmount the device. Before the 
-    command is executed, %a is replaced with the Archive Device, and 
-    %m with the Mount Point.
-  + Write Part Command = name-string
-    Command that must be executed to write a part to the device. Before
-    the command is executed, %a is replaced with the Archive Device, %m 
-    with the Mount Point, %n with the current part number (0-based), 
-    and %v with the current part filename.
-  + Free Space Command = name-string
-    Command that must be executed to check how much free space is left 
-    on the device. Before the command is executed, %a is replaced with 
-    the Archive Device, %m with the Mount Point, %n with the current part
-    number (0-based), and %v with the current part filename.
-- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
-  If this directive is set to yes (default no), a new part file will be
-  created after the job is finished.
-- A pile of new Directives to support TLS. Please see the TLS chapter
-  of the manual.
-
-New Commands:
-- 'python restart' restarts the Python interpreter. Rather brutal, make
-   sure no Python scripts are running. This permits you to change
-   a Python script and get Bacula to use the new script.
-
-New configure options:
-- --with-libintl-prefix for defining alternate locations for
-  the NLS internationalization libraries. Not normally required.
-- --datadir  for defining where the language files will be installed
-  required only if you do not want the default /usr/share.
-
-Items to note!!!
-- The Storage daemon now keeps track of what tapes it is using
-  (was not the case in 1.36.x). This means that you must be much
-  more careful when removing tapes and putting up a new one. In
-  general, you should always do a 'unmount' prior to removing a
-  tape, and a 'mount' after putting a new one into the drive.
-- If you use an Autochanger, you MUST update your SD conf file
-  to use the new Autochanger resource.  Otherwise, certain commands
-  such as 'update slots' may not work.
-- You must add --with-python=[DIR] to the configure command line
-  if you want Python support.  Python 2.2, 2.3 and 2.4 should be 
-  automatically detected if in the standard place.
-- When linking with --with-python, there are a few warnings that
-  can be ignored.
-- You must either create a new catalog database or upgrade your
-  old database. After installation, run from your scripts
-  directory:
-
-       ./upgrade_bacula_tables
-
-  You can also find this script in the &lt;bacula-source&gt;/src/cats
-  directory.
-- The Director, Storage daemon, and File daemons are
-  Deamons are not compatible with  prior versions. 
-  All FDs must be upgraded at the same time.
-- You must add --with-openssl to the configure command line if
-  you want TLS communications encryption support.
-- Disk seeking during restores does not yet work correctly in
-  all cases, so it is turned off.
-- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
-  AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
-  generates bad code that causes Bacula to segment fault.
-  Typically you will see this in the Storage daemon first.  The
-  solution is to compile Bacula ensuring that no optimization is
-  turned on (normally it is -O2).
-  This same compiler bug has been reported and confirmed with
-  gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
-  an AMD64 CPU.  This for the moment, I would recommend that all
-  users of GCC 4.0.1 or greater turn off all optimization when
-  compiling.
-
-
-Other Items Fixed:
-- Security fixes for temp files created in mtx-changer, during
-  ./configure, and during making of Rescue disk.
-- A new script, dvd-handler, in the scripts directory,
-  which is designed to be used as parameters to Write Part Command and
-  Free Space Command. They need the dvd+rw-tools to be installed
-  (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
-  program must be patched using the 
-  &lt;bacula-source&gt;/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
-  You must have Python installed to run the scripts.
-- Part files support: File volumes can now be split into multiple
-  files, called 'parts'.
-- For the details of the Python scripting support, please see the new
-  Python Scripting chapter in the manual.
-- The default user/group for the Director and Storage daemon installed
-  by rpms is bacula/bacula, thus you may need to add additional permissions
-  to your database, or modify the permissions of the tape drive.  If
-  all else fails, change to using user=root.  However, it is more secure
-  to use user=bacula.
-;;;
+- Remove automatic case folding on Windows FDs. You must
+  explicitly 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 (performance).
+  - Fix for security failure in chdir on Win32.
+  - Add CreateDirectoryA/W win32 API entry points.
+- programs to duplicate Bacula's base64 algorithm using standard
+  routines. This fixes bugs #296, and 565. Patch submitted by
+  author of bug #565.
+- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher
+  Hull.
+- Modify LICENSE to correct some problems pointed out by Debian.
+- Apply a 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).                                                    
+  You enable it in the Bacula FileSet Options resource by setting:
+     noatime = yes
+  The effect of this option is similar to the keepatime option except
+  it is more efficient and avoids modifying ctime.
+- Implement a pile of new man pages contributed by Jose Tallon.
+- Modify the database format for handling Migration jobs:
+   Add PriorJobId, RealEndTime to Job table
+   Delete MAC table
+   Remove Stripe from JobMedia record (not used, wasting space)
+   Add ScratchPoolId, RecyclePoolId, Enabled to Media record
+   Add Cost to Location table.
+   Enabled to Media table and Location table.
+- Security: harden authentication failure in FD by single threading errors
+  and forcing a 6 second wait.
+- If using GCC (actually g++) add the following compiler flags
+  -fno-strict-aliasing -fno-exceptions -fno-rtti
+- Turn on new bsnprintf() code.  The reason for this code is to
+  eliminate the security problems associated with using the
+  system libraries print routines.
+- Implement job report that indicates where Storage and Pool
+  came from -- with overrides and Pool storage and NextPool,
+  it is all very complicated.
+- Add more detail (Storage, Device) to list of volumes printed
+  for restore.
+- Add new VOLMGMT message class. No messages are yet sent with this 
+  class.
+- Improved Bacula rescue procedures -- see the Disaster Recovery
+  chapter of the manual
+- Add spooling/despooling info in status output of SD.
+- Add Comment field to llist of a volume.
+- Allow true/false in many but not all yes/no directives.
+- The Bacula source code is now copyrighted by the Free Software 
+  Foundation Europe. The Developer's Guide documents the new procedures,
+  and the LICENSE file has been updated.
+- Apply Jaime Ventura's patch that implements the Messages resource
+  Mail On Success directive.
+- The Client returns its Version string, which is printed in the Job
+  report.
+- The Client returns whether or not VSS and Encryption are used, which
+  are printed in the Job report.
+
+Additional Features Added for Win32:
+- Added DriveType directive to the Director's Include Option FileSet
+  resource.  Allowed values are: fixed, removable, cdrom, and remote.  There
+  is only an implementation for Windows because it is the only platform that
+  has the concept of drives.
+- Adds EnhancedWild directive to the Director's Include Option FileSet
+  resource.  Allowed values are: yes and no.
+  When EnhancedWild is enabled then the processing of the
+  Wild, WildDir and WildFile is changed in the following ways.
+  Patterns conform to Posix
+      \ is not a special character in character classification []
+      To match a - it must be the first or last character
+      To match a ] it must be the first character
+      fnmatch option FNM_FILE_NAME is specified * doesn't match a / 
+      so it won't match multiple directory levels in a path
+- Relative WildFile patterns (ones without a leading /) match
+  against the filename portion.  This in combination with the
+  FNM_FILE_NAME fnmatch() flag makes directives such as WildFile =
+  abc*.def work as expected.
+- Adds support for the shell's feature of brace expansion.
+
+  Here is an example where braces allow 24 lines to be expressed in 5.
 
-Michael;;;2005/02/25;;;19:59
-News-Page for the Bacula-Website finished
-When you read this, you read the first news posted by me *hehe*
-through the new Bacula-News-System.
+  # Exclude directories full of lots and lots of useless little files
+  WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Cookies"
+  WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Recent"
+  WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/History"
+  WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temp"
+  WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temporary Internet Files"
 
-Its file-based, no fancy database need.
 ;;;