]> git.sur5r.net Git - bacula/docs/blob - docs/home-page/de/news.txt
bac08c743c86143ba292876a3c559c70a09b3879
[bacula/docs] / docs / home-page / de / news.txt
1 Kern;;;12 October 2008 at 10:30am
2 Creation of Bacula Systems SA
3 Dear Members of the Bacula Community,
4
5 I'm pleased to announce the creation of Bacula Systems S.A., a new company to 
6 provide professional support and service for Bacula.  I believe you will be 
7 pleased to see how we have married a strong commitment to the ethos of honest 
8 open source software with the availability of services desired by a wide 
9 range of Bacula users. 
10
11 As many of you know, I began work on Bacula in 2000 and released the first 
12 public version in April 2002 to Source Forge.  Although I have personally 
13 written a very substantial part of the code, I offer sincere thanks to the 
14 many members of the community who have provided ideas, fixes, testing, and 
15 contributions of code, without which Bacula would not be what it is today.  
16 It has been a labor of love and I am pleased that so many people have found 
17 Bacula useful. 
18
19 Before telling you more about Bacula Systems, let me reiterate my unfaltering, 
20 ongoing commitment to open source software and the Bacula open source 
21 project. The code for Bacula and all future releases will remain available as 
22 free open source software under the GPL license that I transferred to the 
23 protection of the Free Software Foundation of Europe. Unlike some other open 
24 source projects, there will be no separate "enterprise" or proprietary 
25 version of the Bacula source code. www.bacula.org will continue to be the 
26 home for Bacula project development.
27
28 So, why create Bacula Systems? The company was created to respond to requests 
29 from users who want professional support with guaranteed levels of service 
30 and response times.  To ensure continuity and the highest level of knowledge 
31 transfer, I will take the position of Chairman of the Board and Chief 
32 Technical Officer of Bacula Systems S.A..  
33
34 Several members of the Bacula community have joined me to start the company. 
35 The other team members are also strongly dedicated to the spirit of keeping 
36 Bacula open and free while simultaneously offering commercial services to 
37 those for whom it is essential in making the decision to deploy Bacula.  
38 Bacula Systems is self-financed -- the initial capital comes from the 
39 founders; no outside venture capital was sought or accepted.  This means we 
40 have the power to establish the company's priorities and we can remain 
41 dedicated to "honest open source". Bacula Systems S.A. is a Swiss company 
42 with offices in Yverdon-les-Bains, and with branches in France and Germany 
43 initially.  We will open additional branches as business requires.
44
45 I will continue to support development of Bacula via bacula.org and the Bacula 
46 community. Future developments will be in the "community" code base which 
47 will remain free.  Bacula Systems will offer "funded development" to 
48 customers who wish to accelerate the addition of certain features to Bacula.  
49 Code developed this way will be contributed to the free distribution and will 
50 be available to the entire community at no charge. Bacula Systems will 
51 provide additional fee-based services, including high quality consulting, 
52 training, documentation and certified binaries.
53
54 Our goal in establishing Bacula Systems is to be inclusive of the community, 
55 and expand it by creating opportunities for members of the Bacula community 
56 through a well-defined Partner Program.  If you provide IT services or 
57 consulting, the Bacula Systems Partner Program can provide you with the 
58 additional back-up (pardon the pun) support you need to serve your customers 
59 more effectively. 
60
61 Our plan is to develop an international network of partners who offer high 
62 value added services to Bacula users -- installing, configuring and optimizing 
63 Bacula for their customers, as well as Level 3 and 4 support, with guaranteed 
64 service levels.  We will also provide training and tools to our partners.
65
66 The Bacula project website, www.bacula.org, and Source Forge will be unchanged 
67 in the mission and ideals of being  free sources of information, mail lists 
68 and forum-based support for and by the community. Both Bacula source code and 
69 Bacula binaries will continue to be available for free, as in the past, and 
70 new releases will also be available for free. The new commercial website, 
71 www.baculasystems.com will provide information on commercial subscriptions 
72 for those users who want guaranteed levels of service, support, documentation 
73 and certified binaries.  
74
75 All members of the Bacula community are encouraged to register for free at 
76 www.baculasystems.com, so that you will receive announcements and news about 
77 our commercial activities, and so that you can send feedback to our new 
78 company, Bacula Systems.
79
80 Thank you for your interest and participation in the Bacula community.  
81
82 Sincerely,
83
84 Kern Sibbald
85 ;;;
86
87 Kern;;;11 October 2008 at 11:30am
88 Bacula version 2.4.3 Released
89 This is to let you know that the source tar files and the Win32 binaries for 
90 Bacula version 2.4.3 have been released to the Bacula Source Forge download 
91 area.
92
93 Release 2.4.3
94  This is a bug fix to version 2.4.2.  All daemons are compatible
95  with other 2.4.x versions.
96
97 Bugs Fixed:
98   1159, 1162. 1149, 1128, 1143, 1140, 1129
99
100 Change Summary:
101 - Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel
102   a non created job faster.
103 - This should correct bug #1159 where Migration does not properly
104   respect the Migration Low Bytes directive.
105 - Fix typo in configure.in that breaks --with-db-password option
106 - This code should fix the race condition that leads to a Director
107   crash at job end time when the job list is updated. This was reported
108   in bug #1162.
109 - Remove all double quotes from SQLite creating script and
110   replace by single quotes as suggested by John Huttley.
111 - Fix SQL case problem that may cause the failure of DiskToCatalog
112   in bug #1149.
113 - Copy missing storage name into edit buffer. As far as I can tell
114   this never caused a bug.
115 - Remove catalog dependency for bcopy
116 - Modify catalog scripts to have an easier packaging integration,
117   using default variables.
118   Make difference between SQLite3 and SQLite in db_get_type()
119 - Attempt to fix bug #1128 InChanger flag cleared during Migration
120   job when reading from one autochanger and writing to another.
121 - Add more information to SD acquire.c INFO messages.
122 - Fix NULL Volume name error when reading and the drive must
123   be switched.
124 - Fix a Verify InitCatalog problem where in certain cases
125   a garbage filename may be entered in the verification database.  This
126   fixes bug #1143.
127 - Add space after version before date in bat about dialog.
128 - Fix seg fault in Dir during estimate command with no level value
129   given. This fixes bug #1140.
130 - Add message to migration job when the target job is already migrated.
131   This closes bug #1129.
132
133 Unless some really serious new bug shows up, this will be the last release 
134 until the next major version (3.0.0), which we hope will be ready around the 
135 end of the year.
136 ;;;
137
138 Kern;;;26 July 2008 at 10:30am
139 Bacula version 2.4.2 Released
140 This is to inform you that we have released the source and Win32 binaries of 
141 Bacula version 2.4.2 to the Bacula Source Forge download area.
142
143  This is an important bug fix release since version 2.4.1.
144
145 Bugs Fixed:
146  1034, 1125, 1118, 1124, 1107, 1129, 1126
147
148 Change Summary:
149 26Jul08
150 - When a migration job actually runs, re-check the Job record
151   and skip if the job is already migrated. This should
152   significantly reduce the problems with bug #1129.
153 - Break the do_swapping into do_unload, do_swapping, and
154   do_load.  It is much more logical that way.
155 - Implement a set_dcr_from_vol subroutine in acquire.c for
156   reading volumes. This allows the dcr to be refreshed after being
157   zapped when the wrong volume is mounted. This should fix bug #1126 -
158 - During multiple tape restore, bacula
159   does not ask for physical tape change, but rereads same tape
160 - Apply patch submitted for bug #1107 with a small modification.
161   This fixes a bug where bcopy copied too many records.
162 - Make some tweaks to bsmtp based on patch submitted in bug #1124.
163   This fixes bug #1124.
164 - Make the default bat restore Pool be Any. This fixes bug #1118.
165 - Fix bug #1125 which reports a SD crash at the end of a tape
166   during restore. It was a debug statement that should not be
167   in a release.
168 - Fix #1034 by setting big timeout on mysql connections
169 - Do partial integration of the Win32 bat build created by Eric.
170 - Ensure that SD tried to mount a volume not in an autochanger
171   at least once before asking for operator intervention.
172 - Fix a pthreads bug in the Win32 pthreads emulation code affects only
173   version 2.5.x and above.
174 ;;;
175
176 Kern;;;7 July 2008 at 10:30am
177 Bacula version 2.4.1 Released
178 This is to inform you that we have released the source and Win32 binaries of 
179 Bacula version 2.4.1 to the Bacula Source Forge download area.
180
181 Bugs Fixed:
182  1103, 1100, 1105, 1094, 1109, 1106, 1101, 1102, 1112
183  1117, 1116, 1097.
184
185 Change summary:
186 -  Clear in-use bit on vol when unused while swapping.
187 -  Remove sleep at end of ./bacula
188 -  Clear hash packet for hardlinked files correctly. This corrects
189    a long standing bug where hardlinked files selected individually
190    would occasionally not be restored.
191 -  Apply Eric's patch to ensure that autoprune does not return
192    a Volume not in the autochanger unless requested to do so.
193 -  Correct bat restore display of multiple drives. This fixes
194    bug #1117.
195 -  Do find_a_volume() each time an unload is done. This
196    fixes the failure of maxvol2-test.
197 -  Use Qmsg() in job.c watchdog callback.
198 -  Release main control rwlock if ABORTing.
199 -  Make watchdog connect timeout queue messages rather than sending
200    directly to avoid lock conflicts with the real thread.
201 -  Remove const char that causes problems with Python, which has
202    older 'incorrect' headers.
203 -  Add const char in dbd.c to avoid compiler warnings.
204 -  Fix mtx-changer to detect both versions of Ubuntu (Debian)
205    mt. This fixes bug #1116.
206 -  Fix failure of 2drive-concurrent-test. Always read label;
207    clear_unload() only after drive is defined in acquire_for_read().
208 -  Generally clean up the manual tape loading code. The main
209    conceptial change is that when a volume is marked to be unloaded,
210    its volume name is retained, and it is only marked as unloaded
211    when either the autoloader says it is unloaded or another tape
212    is read on that drive.
213 -  Fix a recycling problem with two autochangers reported in bug
214    #1106. This may also (unlikely) fix a second recycling bug as
215    reported in #1103.
216 -  Fix a SD lock volumes deadlock problem reported in bug #1100.
217 -  Fix format problem in bscan output reported in bug #1105.
218 -  Copy more data when restarting a job so that run
219    overrides are kept. This should fix bug #1094.
220 -  Backport updates to jobq.c where possible.
221 -  Fix bug where SD did not ask operator if the device could not
222    be opened. Reported by Eric.
223 -  Add dbuser to DIR conf file (replaces user).
224 -  Add --with-db-password to ./configure
225 -  Fix regress to handle db_password.
226 -  Fix a couple of pedantic compiler warnings.
227 -  Fix bug when starting a restore on a storage that doesn't
228    have the requested MediaType.
229 -  More work on word alignments -- eliminate all ints from
230    the configuration routines.
231 -  Fix bug reported by Scott Barninger where the bacula script
232    refers to scripts in the wrong directory. Needed to meet the
233    requirements of recent FHS location changes.
234 -  Fix word alignment problem on non-Intel 64 bit machines
235    such as Solaris.  This should fix bug #1097 -- bus error in SD.
236 -  Add missing win32/patches/wxWidgets.patch to 2.4 repository.
237 ;;;
238
239
240 Kern;;;4 Jun 2008 at 10:30am
241 Bacula version 2.4.0 Released
242 This is to inform you that we have released the source and Win32 binaries of 
243 Bacula version 2.4.0 to the Bacula Source Forge download area.
244
245 This release consists mainly of a number of bug fixes since 2.2.x
246 but most importantly, a rewrite of significant portions of the
247 Storage daemon reservation and autochanger code. This rewritten
248 code is simpler, more stable, and works much better, particularly
249 with multiple drive autochangers than the prior code did.  That
250 said, there are still a number of issues to be resolved. Note,
251 the new code has not been tested in manual volume mount situations.
252
253 As usual, we strongly recommend when installing to keep the Director and the 
254 Storage daemon on the same version.  However, since this release only 
255 contains refactored code and bug fixes rather than new features, the clients 
256 (File daemons) should function perfectly with any 2.2.x version, and there is 
257 no database upgrade needed.
258
259 =====================================================
260                                                                      
261        Release Notes for Bacula 2.4.0
262
263   Bacula code: Total files = 500 Total lines = 188,654 (*.h *.c *.in)
264
265 This Director and Storage daemon must be upgraded at the same time,
266 but they should be compatible with all 2.0.x File daemons, unless you
267 use some of the new features that affect the FD.  In other words, you should
268 not have to upgrade all your File daemons when you upgrade. There is
269 no database upgrade needed from version 2.0.x to 2.2.0 nor from version
270 2.2.x to version 2.4.0
271
272 ==================   Warning !!!!!! ==========================
273 As of Version 2.4.0, the Win32 FD should not descend into
274 any reparse point directory or reparse mount points unless the
275 specified directory is explicitly mentioned at the top level of
276 FileSet (as with Unix). A file that is linked to another file will
277 be backed up, much like Unix hardlinked files.  If you want
278 reparse directories backed up, you must explicitly include them
279 in your FileSet.
280 ======================================================
281
282 This release consists mainly of a number of bug fixes since 2.2.x
283 but most importantly, a rewrite of significant portions of the
284 Storage daemon reservation and autochanger code. This rewritten
285 code is simpler, more stable, and works much better, particularly
286 with multiple drive autochangers than the prior code did.  That
287 said, there are still a number of issues to be resolved. Note,
288 the new code has not been tested in manual volume mount situations.
289
290 Bugs fixed:
291  1095, 1086, 1091, 1070, 1041, 1083, 1078, 1066, 1068, 1038
292  1062, 1065, 1046, 1047, 1031
293
294 New features:
295 - You can now build bat without the QWT libraries. Use
296   --without-qwt as a ./configure option.
297
298 Release Version 2.4.0
299 - Update version to 2.4.0 to reflect the magnitude of the SD changes.
300 - Make sure to clear JS_WaitMedia when operator mounts a Volume.
301   This fixes bug #1095.
302 - Add create_postgresql_database.sql to Win32 installer. Should
303   fix problem reported by Juilio Monteiro.
304 - Get correct slot when auto unloading a device. This fixes bug
305   #1086.
306 - Fix possible seg fault if SQL error.
307 - Fix renaming a Volume, which used the wrong Volume name.
308 - If operator has rewind tape, print warning, release tape and
309   try once more. If tape is positioned somewhere, something went
310   wrong, so mark the tape in error and try once more. Previously
311   this error was fatal, now it produces an error message.
312 - Ensure correct volume name displayed during restore
313 - Fix a few more Coverity reported problems.
314 - Fix #1091 about bad output in estimate command.
315 - Modify autochanger locking to attempt to avoid race
316   conditions.
317 - Make sure device not busy before doing label command.
318 - Display open() errors except when polling. Previously too
319   many were suppressed.  This should fix bug #1070.
320 - Fix Win32 reparse points. Bacula will not recurse into any
321   reparse point directory, including mount points, unless the
322   directory is explicitly mentioned at the top level (same as   
323  with Unix).  A file that is linked to another file will be
324   backed up -- much as Unix does for hardlinked files.
325   This fixes bug #1041.
326 - Remove StorageId test when pruning and recycling (Eric's changes).
327 - Fix buffer overruns detected by Coverity.
328 - Implement --without-qwt
329 - Fix layout of restore tree dialog
330 - Add configure bat QWT libraries, so that bat can be built
331   with or without the QWT libaries.
332 - Implement regression that explicitly tests swapping a Volume
333   from one drive to another.
334 - Enhance disk-changer to detect most error conditions.
335 - Fix SD code so that it properly swaps a Volume between drives.
336   This fixes bug #1083.
337 - Prevent a Volume that is being swapped from being freed from
338   the volume list. This will most likely fix, at least partially,
339   bug #1083.
340 - Fix strippath so that it does not get a buffer overrun and crash FD.
341   This fixes bug #1078.
342 - Make inability to change owner/group when creating a dir only a
343   warning rather than an error.
344 - Fix SQL query in migration code
345 - Fix bat seg fault at termination.
346 - Add Bacula generated version to bat about box.
347 - Backport development stream SD reservation system changes.
348 - When wrong volume is mounted during read, unload_autochanger.
349 - Stop searching for Volumes in SD askdir if DIR returns the
350   same volume name twice in a row.
351 - Rework class structures for VOLRES, DCR, and DEVICE to make
352   the method names a bit more logical, and for more logically
353   handling the responsibilities.
354 - Remove redundant code in terminating the scheduler that just
355   causes a seg fault in many cases.
356 - Improve algorithm for detecting pre-reserved volume and
357   swapping volumes.
358 - Prevent volume from being released while being swapped.
359 - Refactor parts of stored/mount.c
360 - Add sanity checks for VolWriteTime and VolReadTime
361 - Take care of bad clock changes while computing VolWriteTime
362   and VolReadTime. This should fix or limit #1066
363 - Correct error string numbers in dird/catreq.c
364 - Restructure reserving, acquiring, and mounting volumes. Calls to
365   autochanger are deferred for mount.c -- simplifes the code.
366 - Do not prune any running job. It just fails the job.
367 - Lock the volumes when changing dev->reserved_device and marking
368   the volume unused otherwise the device can get reserved by
369   another job before the volume is released, thus blocking it.
370 - Correct some SD catalog request error messages.
371 - Turn off code in read_record that causes a seg fault in the SD
372   when reading past an EOS_LABEL.
373 - Turn off unloading the autochanger in reserve.c as it just
374    causes problems.
375 - Lock volumes when unreserving a device.
376 - Do not mark volume unused when recycling.
377 - Fix bug #1068 fixes a SD crash when using Virtual autochanger.
378 - Generate correct JobMedia records during spooling/despooling when
379   running concurrent jobs.  Thanks to Tom Ivar Helbekkmo
380   <tih@hamartun.priv.no> for excellent analysis and testing.
381 - *Massive* commit of all fixes and back ports to create 2.2.9
382   Mostly SD reservations enhancements.
383 - Fix Win32 FD backup/restore memory leak due to improper termination
384   of BackupRead/Write. This fixes bug# 1038.
385 - Fixes a StorageId problem with volumes after migration.
386 - Implements autostart scripts for Debian
387 - Fix mtx-changer.in for broken Debian mt program.
388 - Apply doc fix from bug #1062.
389 - Resolve crash and improper restore wx-console Win32 restore
390   GUI. Fixes bug #1065.
391 - Update Win32 wxWidgets to latest version.
392 - Attempt to do correct handling of Win32 mount points. Should
393   fix bug #1046.
394 - Add const to AIX prototype for initgroups()
395 - Fix to the JobMedia patch, which introduced a new problem.
396 - Fix creating first JobMedia record during Migration to include
397   proper index. This caused slow restores of migrated jobs.
398 - Fix bug #1047, do not strip paths on symbolic links.
399 - Set catalog backup database and user name from values specified on
400   the ./configure line.
401 - Apply patch to correct bug #1031, about wrong pool source information
402   in job report.
403 ;;;;
404
405 Kern;;;27 Jan 2008 at 10:30am
406 Bacula version 2.2.8 Released
407 Bacula version 2.2.8 source tar files as well as the Win32
408 binaries are available in the bacula and Win32 release areas 
409 of Source Forge. I have hidden the previous BETA release
410
411 Version 2.2.8 is a bug fix to version 2.2.7 and has a few
412   additional bugs fixed than the BETA 2.2.8 version previously
413   released:
414 - It fixes bugs: 1036, 1033(doc), 1028, 1040, 1045(doc), 1030,
415   1042(partially), and possibly bugs 1018 and 1032.
416   Bugs 1018 and 1032 involve problems with multiple-drive autochangers,
417   and are difficult to reproduce.         
418   See the ChangeLog for more details.
419   Note, if you previously loaded version 2.2.8 BETA, you will probably
420   want to upgrade, but it is not urgent ...
421 ;;;
422
423
424 Kern;;;9 Jan 2008 at 20:30
425 Bacula version BETA 2.2.8 Released
426 Bacula version 2.2.8 source tar files as well as the Win32
427 binaries are available in the bacula-beta and
428 Win32-beta release areas of Source Forge
429
430 Version BETA 2.2.8 is a bug fix to version 2.2.7:
431 - It fixes bugs: 1036, 1033(doc), 1028, and possibly 1018 and 1032.
432   Bugs 1018 and 1032 involve problems with multiple-drive autochangers.
433 ;;;
434
435 Kern;;;24 Dec 2007;;20:30
436 Bacula version 2.2.7 Released
437 Bacula version 2.2.7 source tar files as well as the Win32
438 binaries are available in the Bacula release area of Source Forge
439
440 Version 2.2.7 has several new features and several important bug fixes
441   since version 2.2.6:
442 - It fixes bugs: 1009, 1022, 1024, 1019, 1012, 1021, 1020
443   1007, 1008.  For more details, please see the technotes-2.1 file.
444 - Fixed a seg fault reported by Frank Sweetser that depended on
445   exact path lengths, but the problem was in bsnprintf.c
446 - Double quoting include filenames (@xxx) in Bacula conf files is now
447   possible, thanks to a patch by Michael Stapelberg.
448 - You can pipe input to include filenames (@|prog) by using a vertical
449   bar, thanks to the above patch.
450 - A daylight savings time bug in the Win32 bsmpt was fixed by a patch from
451   Nerijus Baliunas.
452 - Marc Cousins submitted a patch that permits building the PostgreSQL
453   driver with version 8.3.
454 - The configure option --archivedir has been changed to --with-archivedir
455 ;;;
456 Kern;;;9 Nov 2007;;15:25
457 Bacula version 2.2.6 Released
458 Bacula version 2.2.6 source tar files as well as the Win32
459 binaries are available in the Bacula release area of Source Forge.
460
461 This release is a minor fix upgrade to version 2.2.5,
462 and we recommend that all users upgrade when they can.
463
464 Version 2.2.6 is a minor bug fix realease to version 2.2.5
465 - It fixes bugs: #1003, 942, 982, 990(response only), 991,
466   993, 986, 976.
467   - Fix bat crash wen it cannot connect to Director.
468   - Fix joblist failure bug in bat.
469 ;;;
470 Kern;;;9 Oct 2007;;15:25
471 Bacula version 2.2.5 Released
472 Despite the fact that the Release Notes are rather short, the bug
473 fixes represent quite a lot of work:
474
475 Version 2.2.5 is a major bug fix release to version 2.2.4
476 - It fixes the following bugs: #961, 962, 963, 969, 968, 960,
477   964, (possibly 935 and 903), 953, 953, 967, 966, 965, 954,
478   957, 908, 958, and 955.
479 - It also improves listing performance problems in bat pointed
480   out by Chris Howells.
481 ;;;
482 Kern;;;29 Sept 2007;;20:30
483 A serious data loss bug in Bacula version 2.2.4 found and fixed
484
485 This bug was very elusive and time consuming to track down.  It
486 turned out to be a race condition that can lose the last one or
487 two blocks of a Job, which can happen in rare cases only when
488 running multiple simultaneous jobs when a volume fills and one
489 Job finishes receiving the last data from the FD and at the same
490 time a second job detects the end of the Volume.  The bug was
491 introduced in version 2.0.0 and did not exist in version 1.38.x.
492 If the bug is triggered, the data is lost (not written to the
493 Volume), and it can occur for any backup job of any level under
494 the conditions noted above.
495
496 The bug is reported in the bugs database as bug #964, and just
497 this morning I found and tested a fix, which is attached as a patch
498 to the bug report.  The patch (2.2.4-lost-block.patch) is also
499 uploaded to the bacula-patches 2.2.x release area.  This bug may
500 also be part of the problems reported in bug #935 and possibly
501 #903.
502
503 Also in the bacula-patches 2.2.x area, you will find other
504 patches that fixes bugs #953, 966, 967, 965, 958, 908, and
505 955. Please refer to bugs.bacula.org for the details.
506
507 Though this bug quite serious (data loss), it should be rare.
508 However, we recommend everyone to apply the patch.
509 ;;;
510 Kern;;;2007/9/14;;;14:30 
511 Bacula version 2.2.4 Released 
512
513 This version of Bacula is a minor bug release to version 2.2.3.
514 It contains the following fixes:
515
516 - Possible fix for authorization problems bug #953.
517 - Possible fix for bug #908.
518 - Add waits to multiple exit detection code to try to force pid
519   file to always be deleted.
520 - Restore good dev.tar.gz to rescue set appropriate binary property.
521   This fixes bug #950.
522 - Fix seg fault in error exit of acquire_for_read after unsuccessfully
523   trying to switch drives by checking for blocking before unblocking.
524   Fixes bug #906.
525 - Cancel storage daemon in all cases where FD reports error. This
526   should fix virtually all cases of bug #920 and will ensure that Devices
527   are released as soon as possible.
528 - Fix error message that was clobbered when Dir tells SD it does not
529   have write permission on Volume.  This should fix a minor point
530   in bug #942, but not the main problem.
531 - Fix migration code to get correct Volume name with multiple volumes 
532   by skipping |.  Fixes bug #936.
533 - Implement patch supplied by Landon to fix bug #944 where using
534   TLS with bconsole uses 99+% of the CPU.
535 - Fix bug #946 about "bacula-dir -t" which doesn't works
536   as expected.
537 - Using "m" in bconsole will show messages as in prior versions
538   and not memory usage.
539
540 - Note, you need GTK >= 2.10 to be able to link the Tray Monitor
541   program.
542 ;;;
543 Kern;;;2007/9/9;;;14:30
544 I regret to announce that there is a rather serious bug in Bacula.
545
546 Bacula bug #935 reports that during a restore, a large number of files are 
547 missing and thus not restored.  This is really quite surprising because we 
548 have a fairly extensive regression test suite that explicitly tests for this 
549 kind of problem many times.
550
551 Despite our testing, there is indeed a bug in Bacula that has the following 
552 characteristics:
553
554 1. It happens only when multiple simultaneous Jobs are run (regardless of
555 whether or not data spooling is enabled), and happens only when the
556 Storage daemon is changing from one Volume to another  -- i.e. the
557 backups span multiple volumes, and it only happens for Jobs writing
558 to the same volume.
559
560 2. It has only been observed on disk based backup, but not on tape.
561
562 3. Under the right circumstances (timing), it could and probably does happen
563 on tape backups.
564
565 4. It seems to be timing dependent, and requires multiple clients to
566 reproduce, although under the right circumstances, it should be reproducible
567 with a single client doing multiple simultaneous backups.
568
569 5. Analysis indicates that it happens most often when the clients are slow
570 (e.g. doing Incremental backups).
571
572 6. It has been verified to exist in versions 2.0.x and 2.2.x.
573
574 7. It should also be in version 1.38, but could not be reproduced in testing,
575 perhaps due to timing considerations or the fact that the test FD daemons
576 were version 2.2.2.
577
578 8. The data is correctly stored on the Volume, but incorrect index (JobMedia)
579 records are stored in the database.  (the JobMedia record generated during
580 the Volume change contains the index of the new Volume rather than the
581 previous Volume).  This will be described in more detail below.
582
583 9. You can prevent the problem from occurring by either turning off multiple
584 simultaneous Jobs or by ensuring that while running multiple simultaneous
585 Jobs that those Jobs do not span Volumes.  E.g. you could manually mark
586 Volumes as full when they are sufficiently large.
587
588 10. If you are not running multiple simultaneous Jobs, you will not be
589 affected by this bug.
590
591 11. If you are running multiple simultaneous Jobs to tapes, I believe there is
592 a reasonable probability that this problem could show up when Jobs are split
593 across tapes.
594
595 12. If you are running multiple simultaneous Jobs to disks, I believe there is
596 a high probability that this problem will show up when Jobs are split across
597 disks Volumes.
598
599 13. The bug concerns only the Storage daemon so there is no need to update
600 the clients, though I do recommend updating the Director when installing
601 an updated Storage daemon.
602
603 I have uploaded patches to bug #935 (bugs.bacula.org) that will correct
604 version 2.2.0, 2.2.1, and 2.2.2.  The patch has been tested only on version
605 2.2.2 and passes all regression tests as well as the specific test that
606 reproduced the problem. 
607
608 The patch has now been confirmed to fix the problem reported, and Bacula
609 version 2.2.3 has been released to Source Forge.
610
611 For the technical details of the bug, please see: 
612
613   http://www.bacula.org/downloads/bug-935.txt
614
615 ;;;
616
617 Kern;;;2007/8/11;;;14:30
618
619 Bacula Version 2.2.0 has been released to Source Forge.         
620
621           Release Notes for Bacula 2.2.0 
622
623   Bacula code: Total files = 520 Total lines = 195,550 (*.h *.c *.in)
624   82 new files, 41,221 new lines of code, 208,380 lines of change from 2.0.3
625
626 This Director and Storage daemon must be upgraded at the same time,
627 but they should be compatible with all 2.0.x File daemons, unless you
628 use some of the new features that affect the FD.  In other words, you should
629 not have to upgrade all your File daemons when you upgrade. There is
630 no database upgrade needed from version 2.0.x to 2.2.0.
631
632 Areas requiring caution or testing:
633 - You must have the thread safe version of MySQL client libraries loaded
634   to build with MySQL enabled.
635 - Volumes are pruned only when absolutely necessary -- this may cause
636   your database to grow compared to prior Bacula versions.
637 - Solaris door and even port files are no longer restored (equivalent
638     to what we do with sockets).
639 - SQLite is no longer supported for Solaris -- it fails too often with
640   bus errors.  SQLite3 should work on Solaris.
641 - The default setting for SQLite3 is now 'PRAGMA synchronous=OFF'.
642   This makes it run 30 times faster, but increases the possiblity
643   of a corrupted database if your server shuts down unexpectedly.
644   The default behavior can be changed in src/version.h
645 - Restore on Win32, and in particular on Vista is untested. Please
646   test before relying on it.  It should backup and restore reparse
647   points.
648 - Win32 servers are untested, and very likely not to work.
649
650 The major new features are:
651 - Much faster insertion of attributes (somewhere around 10 times),
652   many thanks to Eric Bollengier and Marc Cousin. 
653 - First release of bat (Bacula Administration Tool).  Note to build
654   bat you must explicitly enable it on the ./configure line, you
655   must have the Qt4 version 4.2 or later libraries loaded, the qwt
656   (Qt Graphics) package loaded, and qmake and the other Qt4 tools 
657   must be available. Most of the implementation was done by Dirk Bartley.
658 - Red/Black restore in memory tree (500 times faster loading).
659 - The Regex Where code to allow easier relocation of restored files 
660   thanks to Eric.
661 - Socket level heartbeat for all connections (untested).
662 - posix_fadvise() use in the FD to improve performance reduces
663   swapping due to opening/reading lots of files. Win32 equivalent
664   implemented.
665 - Much improved Volume reservation code that should eliminate most
666   conflicts experienced in multiple drive autochangers.
667 - Simpler locking in the SD in the reservation system.
668 - Detection of file size/date change during backup if enabled.
669 - New Recycle Pool feature -- thanks to Eric.
670 - Efficient implementation of very large include/exclude lists.
671 - Volumes are no longer pruned during 'status dir'
672 - Pruning is now more efficient, and if a Volume is purged,
673   during pruning, it is immediately discovered.
674 - License is now GPL v2 without modifications, fix a few copyright
675   mistakes made when adding FSFE copyright notice.
676
677 New ./configure options:
678 - --enable-bwx-console    
679 - --enable-bat
680 - --with-qwt=
681 - --with-db-name=
682 - --with-db-user=
683 - --enable-batch-insert
684
685 New bconsole commands:
686 - exec
687 - memory
688 - update recyclepool
689 - .sql
690 - .api
691 - .pwd (in restore tree)
692 - restoreclient (keyword)
693 - backupclient  (keyword)
694 - regexwhere    (keyword)
695 - update jobid  (new command)
696 - recyclepool   (keyword) 
697
698 New directives:
699 - Heartbeat Interval (bconsole.conf)
700 - Heartbeat Interval (bacula-dir.conf in Director, Client, Storage)
701 - TLS Allowed CN     (bacula-dir.conf in Client)
702 - Regex Where        (bacula-dir.conf in Job)
703 - Strip Prefix       (bacula-dir.conf in Job)
704 - Add Prefix         (bacula-dir.conf in Job)
705 - Add Suffex         (bacula-dir.conf in Job)
706 - Recycle Pool       (bacula-dir.conf in Pool)
707 - FailJobOnError     (bacula-dir.conf in RunScript)
708 - CheckFileChanges   (bacula-dir.conf in FileSet)
709 - StripPath          (bacula-dir.conf in FileSet)
710
711 Other features or bug fixes:
712 - Fixed bugs: 916, 910, 917, 914, 906, 907, 
713   842, 830, 893, 861, 888, 886, 807, 877, 872
714   885, 887, 864, 874, 882, 881, 863, 859, 
715   856, 854, 845, 847, 846, 809, 772, 
716   822, 825, 824, 808, 802, 797, 798, 795, 789, 791, 
717   788, 780, 763, 782, 612, 767, 775, 621, 772, 764, 
718   766, 621, 761, 755, 750, 741, 747, 742, 744, and 743.
719 - Configure bat with --enable-bat. Define qwt libraries with
720   --with-qwt=<dir>. See Installation chapter of manual for details.
721 - Create a depkgs-qt package that has both Qt4 and qwt, which are
722   needed to build bat. Most modern Linux systems will have both
723   these packages in the distro.
724 - Storage overrides delete all previous storage definitions instead
725   of prepending.
726 - One should be able to mount and unmount removable devices if the
727   Device resource has Removeable Media set and the mount and unmount
728   directives are defined.
729 - ./configure will do a better job of searching for qwt libraries.
730 - The Win32 version can no longer be shutdown from the tray monitor.
731   Use the command line or the Services panne.
732 - Keep prune_volumes() from pruning the whole Scratch pool.
733 - More debug output in status storage.
734 - Correct moving a Scratch volume from pool to pool (some
735   critical columns were lost).
736 - Different locking in reservations and despooling systems,
737   which means more micro-locking and less macro-locking, which
738   should give a lot more concurrency at the expense of slightly
739   (<0.1%) more overhead due to more locking/unlocking, but     
740   concurrent jobs should run much faster.
741 - Additional drive reservation algorithm that should solve a lot of
742   the problems experienced with multiple drive autochangers.
743 - Storage daemon status command enhanced to more clearly show Volume,
744   pool and media type when a job is waiting.
745 - Made bsmtp work with more strict SMTP servers.
746 - Detect doubly freed buffers in smartall.c
747 - wx-console renamed to bwx-console (Fedora request)
748 - gnome-console renamed to bgnome-console (Fedora request)
749 - Migration preserves original job's FileSetId
750 - Spooling implemented for migration jobs.
751 - Config files can be read through a pipe, by specifying a leading |
752   in front of the configuration path/filename.
753 - New memory command (bconsole) that will print the current Director's
754   memory usage, and an in use buffer dump.
755 - Console name changed from *Console* to -Console- to accomodate Win32
756   filename restrictions.  
757 - Corrected the Win32 ftruncate bug.
758 - Additional version information added to Job reports.
759 - New -8 option for bsmtp to specify UTF-8 encoding type.
760 - bsmtp will no longer add < > to target (from, to, cc) if there
761   is already a < in the target.
762 - Prefer Mounted Volumes extended to mean a volume that is being
763   mounted by another job.
764 - Runscript timing set to same as version 1.38.11
765 - New TLS Allowed CN directive(s) permitted.
766 - New bconsole 'exec' command to run external script/command.
767 - Turn on FreeBSD/OpenBSD code to set EOT model on tape.
768 - Drop from root done before database is opened.
769 - Database user and name can be configured with:
770   --with-db-name=name --with-db-user=user
771 - Turn on wait_for_drive in mtx-changer script.
772 - Rework how bar codes are handled in mtx-changer script.
773   This appears to have been an unreported bug.
774 - Updated nagios plugin supplied by Christian Masopust
775 - Better restricted console ACL checking.
776 - New Client Connect Wait directive in Storage daemon so that
777   users can configure how long SD waits for FD connection.
778 - Bacula will no longer permit pruning of the currently running
779   job (note, if other jobs are running, they may be pruned).
780 - Sockets are no longer restored.
781 - dbcheck works in 300K chunks so will typically run faster.
782 - Include/Exclude lists can now be efficiently handled for quite
783   large sizes -- tens of thousands of entries.
784 - Several memory leaks in migration and database usage were fixed.
785 - New console keyword restoreclient, which specifies the client to
786   which the restore will be sent. The client keyword specifies 
787   the backup client. The restoreclient keyword is optional if it is
788   not specified, the backup client will also be the restore client.
789 - The disk file size is now checked to ensure that it agrees with the
790   catalog value before Bacula will append to the disk (same as tape
791   and DVD).
792
793 ;;;
794
795 Kern;;;2007/3/6;;;14:30
796
797 Bacula Version 2.0.3 has been released to Source Forge.
798 This is a bug fix release to version 2.0.2.  If you are upgrading from
799 a version older than 2.0.0, please be sure to read the important notes
800 below.
801
802 Also, please check the patches directory in the current SVN or the
803 patches release section on Source Forge for important bug fixes to   
804 this version.
805
806 5Mar07
807 kes  File migrate bug with Pool Occupancy using mediaid instead
808      of jobids.  Fixes bug #795.
809 kes  Fix orphaned buffers in filed backup and verify due to
810      crypto buffers not freed during errors.  Fixes bug #789.
811 04Mar07
812 kes  Add smartctl call to bacula-sd.conf as an example of getting
813      tape alert info.
814 02Mar07
815 kes  Add Client Connect Wait to Storage daemon to permit users to
816      modify the time the SD waits for a FD connection.
817 28Feb07 
818 kes  Apply Command ACL filter to JobId list in restore command.
819 kes  Correct typeo in var.c patch.
820 27Feb07
821 kes  Don't let Bacula prune File or Job records for the current Job.
822 kes  Fix variable substitution pad + inc bug reported (with patch)
823      in bug #791.
824 26Feb07
825 kes  Correct SQLite log table index as reported by Luca Berra.
826 24Feb07
827 ebl  Fix FIFO stuff, bacula tries to rewind the FIFO... Thanks to Andreas
828 22Feb07
829 kes  Fix a few places in lib/message.c where the open fd may
830      not be zeroed.
831 21Feb07
832 kes  Add LANG=C to autoconf/randpass so it works with languages other
833      than English.  Fixes bug #788.
834 20Feb07
835 ebl  Revert ClientRunBeforeJob as it was in 1.38.x
836      This fixes bug #780
837      You will not be able to generate Include/Exclude list any more.
838      If you want to use this, you can apply 
839      trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
840 19Feb07
841 kes  Restore of sockets created false error messages because Bacula
842      no longer restores sockets, but the code was still trying to
843      set the attributes on a non-existent file. Reported by a user.
844 16Feb07
845 kes  Fix encryption deblocking bug, which caused some restored files
846      to be truncated. This fixes bug #763. This is a CRITICAL bug fix.
847 kes  Add FD event sequence order prepared by Eric -- for RunScripts.
848 kes  Fix 12am/pm bug as reported in bug #782.
849 15Feb07
850 kes  Add quick disconnect FD code from 2.1.4 to 2.0.3.  This code
851      causes the SD to release the FD as soon as the FD has sent
852      all the data to the SD. After that the SD will do any final
853      despooling (data and attributes) that are necessary. This
854      allows laptops to disconnect much quicker from the network 
855      after a backup.
856 13Feb07
857 kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
858 11Feb07
859 kes  Optimize the use of the database a bit in the Status dir command.
860      Only open it when needed, ensure that if any previous database
861      was opened, it is closed.
862 10Feb07
863 kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
864      and File records in 300K chunks to be more efficient. This
865      idea came from Juan Luis Frances (if I remember right).
866 09Feb07
867 kes  Update projects list.
868 08Feb07
869 kes  Fix dird/ua_cmds.c so that a cancel command checks if the
870      console is authorized to cancel the job.  This fixes bug 
871      #767.
872 kes  Modify SD so that the VolCatJobs medium record is updated
873      at the beginning of a Job rather than the end.  This
874      fixes bug #775 where exceeding MaxVolJobs caused jobs
875      to fail.
876 kes  Added a mutex around getting and setting Volume information
877      so that multiple simultaneous jobs will single thread.
878 07Feb07
879      Switch to using Subversion
880 kes  Remove src/pygtk-console/ from configure
881 06Feb07
882 kes  Delete src/lib/btree.c from win32 build, then add rblist.c
883      plus the entrypoints.
884 kes  Apply patch supplied that corrects debug print
885      in canceling jobs for max run time.  Supplied as
886      part of bug #621, which was previously fixed.
887 05Feb07
888 kes  Test on job_canceled() and sd_msg_thread_done inside
889      loop starting the message thread to avoid a race condition.
890      Fixes bug #771.
891 kes  Remove rl_catch_signal from console.c as it conflicted
892      with the header definition. Fixes bug #765.
893 ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
894 04Feb07
895 kes  Clarify some stored/acquire messages to indicate if the
896      problem is with read or append.
897 02Feb07
898 kes  Fix memory leak with storage ids in cats/sql_get.c
899 kes  Terminate watchdog earlier to avoid reference to released
900      memory -- reported by Jason Austin.
901 kes  Move closing the database from jobq.c to the director daemon
902      termination routine. This fixes memory leaks for shadow jobs
903      (i.e. migration jobs).
904 kes  Free up the unique jobid chain items in migrate.c.  This fixes
905      a memory leak problem.
906 kes  Convert some ugly looking for statements to use foreach_alist
907      in findlib/find.c.  This will facilitate converting the structures
908      to use dlist (for large include/exclude lists).
909 kes  Fix a bug in the btree.c and btree.h routines, then rename them
910      rblist and add them to be built in src/lib.  Include some new
911      methods written by Rudolf Cejka that make the code more readable
912      (hides some of the ugly casting).
913 26Jan07 (back port)
914 kes  Implement item #12 on project list -- quick release of FD by
915      the SD. This is noted in more detail above.
916
917 ;;;
918
919 Kern;;;2007/1/28;;;14:30
920
921 Bacula Version 2.0.2 released:
922 28Jan08
923 kes  Fix maxruntime bug #621.
924 27Jan07
925 kes  Get current main CVS .specs for RedHat, SuSE, Mandrake.
926 26Jan07
927 ebl  Implement the include JobID in spool file name project.
928 kes  Reorder projects file in order determined by Jan 2007 vote.
929 kes  Fix open of SQLite3 db where user does not have write permission
930      so that DIR does not crash. Fixes bug #761.
931 25Jan07
932 kes  Change 'Device not configured to autolabel' from INFO
933      to WARNING.
934 kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0
935      which should restart an indefinite # of times.
936 kes  Fix configure --help to print --with-mysql[=DIR]. Same for
937      other DIR specifications.
938 23Jan07
939 rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
940      Fix path quoting in SQLite scripts.
941      Fix problems with SHGetFolderPath.
942 19Jan07
943 kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
944 18Jan07
945 kes  Fix Job restart on error bug that promotes an Inc to a Full
946      backup.  This should fix bug #755.
947 kes  Add qt-console and first cut of code.
948
949 ;;;
950
951 Kern;;;2007/1/13;;;14:30
952
953 Bacula Version 2.0.1 has been released to Source Forge.
954 This is bug fix update to version 2.0.0 and contains
955 the following fixes:
956
957 -    Fix Bacula->Documentation link on Win32 to point to index.html
958      instead of bacula.html. Fixed bug #750.
959 -    Return JobId in db_get_job_record() when JobId==0. This should
960      fix bug #741.
961 -    Do not release source pointers when restarting a failed job.
962 -    Add dynamic dll entry point for SHGetFolderPath to Win32 code.
963      This *should* fix bug #747.
964 -    Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
965      bug #742.
966 -    Modify USTORE constructor to set an empty store_source string, 
967      and don't copy the store_source string in a cancel.  Hopefully
968      this will fix Arno's seg fault, bug #744.
969 -    Add back code to disable conio in configure. Fixes bug #743.
970 -    Correct the Options scanner in the FD to correctly handle  
971      SHA1 option, which was eating the next option.  Reported by    
972      Sebastien Guilbaud.
973 -    Add code to indicate when the SD is spooling, spool wait, and 
974      despooling as requested by Alan Brown.
975
976 ;;;
977
978 Kern;;;2007/1/4;;;14:30
979
980 Bacula Version 2.0.0 has been released to Source Forge.
981
982 There is an English Press Kit, written by Dan Langille at:
983    
984    http://www.bacula.org/about/press/presskit200.html.en
985
986 and a German version, translated by Arno Lehmann at:
987
988    http://www.bacula.org/about/press/presskit200.html.de
989
990 ;;;
991    
992 Kern;;;2007/1/4;;;14:31
993
994           Release Notes for Bacula 2.0.0
995
996   Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in)
997
998 ==== IMPORTANT Catalog update required =====
999 - The database format has been updated from what was used in    
1000   Bacula 1.38.x.  You must manually update your database before 
1001   running Bacula 1.39.x or higher.  If you are using Bacula supplied
1002   RPMs this is not necessary as the RPM does it automatically.
1003   Please backup your previous version of the database before
1004   running the update.  The update script will be automatically
1005   installed in your scripts directory, or can also be found in
1006   <bacula-source>/src/cats.  It is called:
1007
1008      ./update_bacula_tables
1009
1010   It is necessary to run it only once the first time you move to
1011   a 2.0.0.  Upgrading the Bacula version thereafter does not
1012   require updating the database again.  Depending on the size of
1013   your database the script make take a bit of time, to run, but
1014   in general, it should be very fast.
1015
1016 ==== IMPORTANT new Win32 install procedure =====
1017   For Win32 migrations from versions prior to 1.39.0 nothing special
1018   needs to be done to upgrade.  Everything should be taken care of
1019   automatically.  The only thing not done is to delete the old C:\bacula
1020   directory mostly out of paranoia.
1021
1022 ==== IMPORTANT miscellaneous ====
1023 - The Gnome console program (gconsole) no longer functions as it
1024   should.More importantly, in restore mode, the restore tree is
1025   no longer shown in the left pane.  I suspect this is due to
1026   incompatible changes in the GTK+ API, and hence have given up
1027   on gnome and gtk+, as this has already happened several times
1028   previously.  At some point there will be a new GUI console.
1029 - The bacula-dir.conf directive Accept Any Volume has been
1030   removed because it was never implemented. You must delete all
1031   occurrence of this directive for the Director to run. The Storage
1032   daemon will automatically accept any valid Volume that you mount.
1033 - The --mandir ./configure option now points to the top level man
1034   directory.  The man files will be installed under mandir/man8 and
1035   mandir/man1 as appropriate.
1036 - You *should* be able to use 1.38.x FDs with version 2.0.0 Director
1037   and SD providing you do not use any of the new features (runscript,   
1038   data encryption). It seems to work here, but we do not guarantee it.
1039 - Your Director and SD must be simultaneously upgraded.
1040 - The restore command no longer uses the MediaType as the primary method
1041   of finding a suitable Storage device. Normally it will select the last
1042   device used to write a Volume. If no storage device is defined, it
1043   will use the old algorithm which selects the first Storage resource  
1044   with the correct MediaType.
1045 - The MD5/SHA1 hash codes kept in the database are now kept in a binary
1046   format compatible with the rest of the world. If you are running verify 
1047   jobs, you *must* do an InitCatalog or all files will show an MD5   
1048   difference.  Also, authentication uses the new algorithm by
1049   default, but *should* accept connections from older components (FD) using
1050   the old non-compatible algorithm. This has been tested, but more
1051   more testing is still needed.  
1052 - A stock SuSE 10.1 kernel may crash when Bacula runs and accesses
1053   the tape drive. Workaround, load the SuSE 10.1 version 2.6.16.21-0.25
1054   kernel or later. The SuSE 10.2 Alpha 5 or later kernel also works.
1055   This problem may also be present in certain Fedora FC5 kernels.
1056 - If you have been using the data encryption feature of 1.39.x, please
1057   be aware that certain combinations of encryption and other options
1058   with version 1.39.0 through 1.39.26 created Volume data that cannot
1059   be restored. We strongly recommend that anyone using encryption 
1060   carefully review his/her backups and at a minium do a Full backup
1061   with 1.39.28 of all encrypted data.  Robert Nelson has identified 
1062   and fixed it as follows:
1063      As of 1.39.27:
1064         No filters = Works fine
1065         Sparse = Works fine
1066         Compression = Works fine
1067         Encryption = Works fine
1068         Sparse + Compression = Works fine
1069
1070         Sparse + Encryption = Restore broken
1071         Sparse + Compression + Encryption = Restore broken
1072         Compression + Encryption = Restore broken
1073
1074      As of 1.39.28:
1075         Most combinations work, but some encrypted files are
1076         not properly restored.
1077
1078      As of 1.39.30:
1079         All combinations work fine except Sparse+Encryption.
1080
1081   Bottom line, if you are using data encryption, please test restoring
1082   data to be sure it all works correctly.
1083 - The current Volume format written by 1.39.22 is different from
1084   the format written by previous versions. The two formats
1085   are not compatible. Thus any DVDs written prior to 1.39.22 will
1086   be unreadable by version 1.39.22.
1087 - If you previously run a Bacula version prior to 1.39.30, the JobMedia
1088   data may not be correct for disk Volumes. This can cause incorrect
1089   seeking in versions after 1.39.30. If you experience what appears to
1090   be data I/O or integrity errors during restores, please add the
1091   following directive to your disk DEVICE resource in the Storage
1092   daemon conf file:
1093
1094     Block Positioning = no
1095
1096   This will turn off all seek requests during restores and avoid
1097   this problem.
1098 - VSS for Windows clients is now enabled by default.
1099 - Do not unload autochanger when doing "update slots"
1100 - Implement mount command for autochanger, see manual.
1101
1102 New Features in 2.0.0:
1103 - Turn on disk seek code for restores.
1104 - There is a partial but reasonable translation of the Bacula
1105   messages for French.  To install it, first configure and build
1106   Bacula, then as root run:
1107
1108     cd <bacula-source>/po
1109     make install
1110
1111   If you have your locale set properly you will get the translated
1112   messages.
1113 - Bacula now support Migration jobs that are documented in a new
1114   Migration chapter in the manual
1115   http://www.bacula.org/dev-manual/Migration.html
1116 - Data encryption is now implemented and is documented in
1117   a new chapter of the manual at:
1118   http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html
1119 - Additional support for removable devices.  See the 
1120   Requires Mount, Mount Point, Mount Command, and Unmount
1121   Commands in the Storage daemon configuration chapter:
1122   http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html
1123   Also see the Edit Codes for Mount and Unmount Directives in the
1124   same chapter.
1125 - Switch the Win32 build from using Microsoft C++ to using mingw32
1126   cross-compiling.  The initial work was done by Howard Thomson,
1127   then tweaked by me.  Robert Nelson then totally reworked the
1128   cross-compiling code so that it not only cross-compiles, but
1129   also compiles on Visual Studio, and at the same time, he added
1130   all the current Unix features to the FD, such as selection on
1131   drives, encryption support, building *all* the tools, ...
1132 - The Director and Storage daemon have now been ported to Win32.
1133   This code is working but should still be tested carefully
1134   before putting into production.
1135 - Bacula restore and bextract can now extract non-portable Win32 data to
1136   any client (including Unix/Linux clients). Of course, in doing so,
1137   the Microsoft specific permissions and ACLs will be lost.  Thanks
1138   to Thorsten Engel for this code.
1139 - The 260 character limitation for Win32 paths name lengths is now 
1140   eliminated thanks to Thorsten Engel. However, if you are using
1141   Volume Shadow Copy, please be careful to specify all the paths
1142   in the bacula-fd.conf file using a full path notation including
1143   the drive letter.
1144 - Eric Bollengier wrote new RunScript directives that includes
1145   the old RunBefore/AfterJob and ClientRunBefore/AfterJob features
1146   plus a *lot* more, allowing you to control just about every aspect
1147   of running scripts.  See the manual for detailed documentation.
1148   http://www.bacula.org/dev-manual/Configuring_Director.html#5227
1149 - SunOS ACLs should now work thanks to a patch from David Duchscher.
1150 - Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at
1151   If this patch is applied, the number of days can be specified with
1152   "list nextvol days=xx"
1153   or
1154   "status dir days=xx"
1155   This can be used to preview the next scheduled job (and the
1156   next tape to be used) on Fridays if there are no scheduled jobs during
1157   the weekend.
1158 - From Eric Bollengier. One can now using the bconsole wait command do:
1159    wait  (wait for all jobs to stop)
1160    wait jobid=nn
1161    wait jobuid=unique id
1162    wait job=job-name
1163 - Volumes can now be set to Enable, Disable, or Archive. If they
1164   are not enabled, Volumes will not be mounted.             
1165   Implement update volume enable=(on|off|true|false|archived|0|1|2)
1166 - Add Catalog message destination in Messages resource that puts the
1167   job report in the Log database table.
1168 - Writing/reading DVD Volumes is much more stable -- to the point
1169   of being useful. Thanks to Richard Mortimer.
1170 - Add enable/disable job=<job-name>.  This command prevents
1171   the specified job from being scheduled. Even when disabled,
1172   the job can be manually started from the console.
1173 - The database Id records should be 32/64 bit independent now. 64 bits
1174   can be enabled by changing one define and changing the appropriate
1175   table variable. Normally, you need 64 bits only for FileId.
1176 - Relative path specifications (i.e. ../xxx) are now permitted in
1177   the restore cd command.
1178 - When running multiple simultaneous jobs, most jobs that use spooling
1179   will now finish faster due to a mutex optimization made by Eric
1180   Bollengier.
1181 - Conf files containing UTF-8 marker at the head of the file as well as
1182   conf files containing Window cr/lf and Mac cr line termination characters 
1183   are now accepted thanks to Robert Nelson.
1184 - Windows tray status windows are scrollable and resizable.
1185 - Win32 external script execution is much more flexible -- handles
1186   spaces in names better, ...
1187 - Lots of DVD fixes -- writing DVDs is now reported to work.
1188 - Fix opening of database in a restricted console to respect     
1189   any Catalog ACL.
1190 - Much better automatic handling of multiple database catalogs in
1191   the restore command.
1192 - Permit multiple console/director resources in bconsole.conf.
1193   patch from Carsten Paeth calle@calle.in-berlin.de
1194 - Character substitution in Job/JobDefs WriteBootStrap.
1195   from Eric Bollengier.
1196 - Apply patch supplied in bug #656 to pass priority field
1197   in the run dialog to the Director in gnome console.
1198 - Add support of encrypted data stream to bscan from Eric.
1199   display data_len instead of data content (may be binary).
1200 - Add Enabled=xxx on update slots command.
1201 - Add host:port to connect failure messages to FD and SD from Dir/
1202 - Add WhereACL to console ACL list.  If nothing is specified, only
1203   the default is permitted for restore. Otherwise, *all* allows any
1204   path, or you can specify permitted paths. This should allow control
1205   over where users can restore files. This is untested.
1206 - Install man pages with 'make install'.
1207 - Add Media.Enabled flag to client backups for dotcmds.c
1208 - Enforce Media.Enabled=1 for a current restore to work
1209 - Require restore case 3 to have sqlquery permission to work.
1210 - Add -n option to bconsole to turn off conio -- used in bweb.
1211 - The bytes field in the terminated jobs part of the status
1212   command now reports in KB, MB, ... units.
1213 - When not descending into a directory, print the File= name that
1214   triggered it -- makes why not descending a bit clearer
1215 - Do not unload autochanger when doing "update slots"
1216 - Implement mount command for autochanger
1217 - Fix bug #462 incorrect error message printed when client script called
1218   from File= was not found.
1219 - Fix bug #558 (waiting for feedback) where Bacula needs too much time to
1220   do a rewind on Solaris when no tape is in the drive (Solaris does not
1221   have the detailed errno found on Linux).  Added Solaris specific code.
1222   Note, this may apply to other OSes as well.
1223 - The examples directory has a new bacula_mail_summary.sh file that
1224   creates a single email summary of any number of jobs. Submitted by
1225   Andrew J. Millar.
1226 - Add nagios plugin to the examples directory. Submitted by
1227   Christian Masopust.
1228 - Modify most restore error messages to be queued so that they
1229   appear at the end of the job rather than mixed with the restore
1230   listing where they could be "lost".
1231 - Apply patch supplied by user (slightly modified) to fix
1232   correct detection of holes in block devices and FIFOs.
1233   Bug # 506.
1234 - Added a report.pl program to the examples directory from Jonas Bjorklund.
1235 - Add two new queries to query.sql provided by Arno. One
1236   list volumes known to the Storage device, and the other
1237   lists volumes possibly needing replacement (error, ...).
1238 - Implement new code for changing userid and group at startup. This
1239   should get Bacula into the correct groups.
1240 - Implement support for removable filesystems -- device type directive
1241   and mount, unmount directives.
1242 - Transfer rates are now presented in a more readable format thanks
1243   to a user submission.
1244 - SD is now aware of what volumes are mounted. More information is printed
1245   in the Status report. You must take much more care now to unmount
1246   devices prior to removing tapes that Bacula has open or prior to
1247   changing a magazine. Don't forget to do a mount afterwards or the
1248   device will be blocked.
1249 - The Pool Maximum Volumes directive is now respected in all places.
1250 - A Storage device can now be specified in a Pool resource. It will override
1251   all other Storage specifications.
1252 - Most but not all directives accept true/false in place of yes/no.
1253 - A patch from Karl Hakimian that reads JobIds, FileIndexes
1254   from a database table for restore.
1255 - There are a number of new tables. Some such as the Location table are
1256   designed for user use in doing Volume Management software.
1257 - Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to
1258   accept time qualifiers.
1259 - Implement jobuid to replace old usage of job in keywords as
1260   suggested by Eric Bollengier.
1261 - Implement write variables for Python to set Priority (anytime), and
1262   Job Level, only during JobInit event.
1263 - Use the keyword ujobid to mean the unique job id; job or jobname
1264   to mean the Job name given on the Name directive, and jobid to
1265   be the numeric (non-unique) job id.
1266 - Allow the SD to use multiple drives during a backup/restore (only
1267   one at a time).
1268 - Integrate addition of line count limitation to bsmtp -l from
1269   Sebastian Stark <stark at tuebingen.mpg.de>
1270 - Split the bacula start/start script into four files:
1271    bacula         -- starts and stops calling other scripts
1272    bacula-ctl-dir -- starts/stops the director
1273    bacula-ctl-fd  -- starts/stops the File daemon
1274    bacula-ctl-sd  -- starts/stops the Storage daemon
1275 - Remove automatic case folding on Windows FDs. You must
1276   explicitly use the 'Ignore Case = yes' option.
1277 - Implement wild program in tools directory for testing
1278   wild-cards. Almost identical to the regex program.
1279 - Use the new bregex.c to implement Regex expressions on Win32.
1280 - Apply patch from Christopher Hull
1281   - Allow multiple connections to database with different
1282     parameters.
1283   - Invalidate the scheduler when doing a reload. Fixes seg
1284     fault, but still 60 second window.
1285   - Additional info in Reschedule message.
1286   - Use set_jcr_job_status() everywhere to prevent loss of
1287     cancel, error.
1288   - Display peer IP in FD if error from connecting DIR.
1289   - Don't increment file count for DIRBEGIN.
1290   - Replace illegal characters in Win32 filename by _.
1291   - Add SE_CREATE_PERMANENT_NAME privilege in Win32.
1292   - Hash hard link filenames rather than linked list (performance).
1293   - Fix for security failure in chdir on Win32.
1294   - Add CreateDirectoryA/W win32 API entry points.
1295 - programs to duplicate Bacula's base64 algorithm using standard
1296   routines. This fixes bugs #296, and 565. Patch submitted by
1297   author of bug #565.
1298 - Fixes to reloading the Dir conf file from Eric Bollengier and Christopher
1299   Hull.
1300 - Modify LICENSE to correct some problems pointed out by Debian.
1301 - Apply a patch submitted by cesarb in bug #606 to implement O_NOATIME support.
1302     O_NOATIME is a open() flag which makes it possible to read a file without
1303     updating the inode atime (and also without the inode ctime update which
1304     happens if you try to set the atime back to its previous value). It also
1305     prevents a race condition when two programs are reading the same file, but
1306     only one does not want to change the atime. It's most useful for backup
1307     programs and file integrity checkers (and bacula can fit on both
1308     categories).                                                    
1309   You enable it in the Bacula FileSet Options resource by setting:
1310      noatime = yes
1311   The effect of this option is similar to the keepatime option except
1312   it is more efficient and avoids modifying ctime.
1313 - Implement a pile of new man pages contributed by Jose Tallon.
1314 - Modify the database format for handling Migration jobs:
1315    Add PriorJobId, RealEndTime to Job table
1316    Delete MAC table
1317    Remove Stripe from JobMedia record (not used, wasting space)
1318    Add ScratchPoolId, RecyclePoolId, Enabled to Media record
1319    Add Cost to Location table.
1320    Enabled to Media table and Location table.
1321 - Security: harden authentication failure in FD by single threading errors
1322   and forcing a 6 second wait.
1323 - If using GCC (actually g++) add the following compiler flags
1324   -fno-strict-aliasing -fno-exceptions -fno-rtti
1325 - Turn on new bsnprintf() code.  The reason for this code is to
1326   eliminate the security problems associated with using the
1327   system libraries print routines.
1328 - Implement job report that indicates where Storage and Pool
1329   came from -- with overrides and Pool storage and NextPool,
1330   it is all very complicated.
1331 - Add more detail (Storage, Device) to list of volumes printed
1332   for restore.
1333 - Add new VOLMGMT message class. No messages are yet sent with this 
1334   class.
1335 - Improved Bacula rescue procedures -- see the Disaster Recovery
1336   chapter of the manual
1337 - Add spooling/despooling info in status output of SD.
1338 - Add Comment field to llist of a volume.
1339 - Allow true/false in many but not all yes/no directives.
1340 - The Bacula source code is now copyrighted by the Free Software 
1341   Foundation Europe. The Developer's Guide documents the new procedures,
1342   and the LICENSE file has been updated.
1343 - Apply Jaime Ventura's patch that implements the Messages resource
1344   Mail On Success directive.
1345 - The Client returns its Version string, which is printed in the Job
1346   report.
1347 - The Client returns whether or not VSS and Encryption are used, which
1348   are printed in the Job report.
1349
1350 Additional Features Added for Win32:
1351 - Added DriveType directive to the Director's Include Option FileSet
1352   resource.  Allowed values are: fixed, removable, cdrom, and remote.  There
1353   is only an implementation for Windows because it is the only platform that
1354   has the concept of drives.
1355  
1356 - Adds EnhancedWild directive to the Director's Include Option FileSet
1357   resource.  Allowed values are: yes and no.
1358  
1359   When EnhancedWild is enabled then the processing of the
1360   Wild, WildDir and WildFile is changed in the following ways.
1361  
1362   Patterns conform to Posix
1363       \ is not a special character in character classification []
1364       To match a - it must be the first or last character
1365       To match a ] it must be the first character
1366  
1367       fnmatch option FNM_FILE_NAME is specified * doesn't match a / 
1368       so it won't match multiple directory levels in a path
1369  
1370 - Relative WildFile patterns (ones without a leading /) match
1371   against the filename portion.  This in combination with the
1372   FNM_FILE_NAME fnmatch() flag makes directives such as WildFile =
1373   abc*.def work as expected.
1374  
1375 - Adds support for the shell's feature of brace expansion.
1376
1377   Here is an example where braces allow 24 lines to be expressed in 5.
1378
1379   # Exclude directories full of lots and lots of useless little files
1380   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Cookies"
1381   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Recent"
1382   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/History"
1383   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temp"
1384   WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temporary Internet Files"
1385
1386 ;;;