]> git.sur5r.net Git - bacula/bacula/blob - bacula/ReleaseNotes
Fix compile problems with stored/status.c
[bacula/bacula] / bacula / ReleaseNotes
1
2                Release Notes for Bacula 5.2.2
3
4   Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)
5
6 General:
7 --------
8 The 5.2.2 version is an important bug fix release. It contains also some
9 additions and performance improvements. 
10
11 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12 If you are upgrading directly from 5.0.3 to this version, please see the
13 important notices below for version 5.2.1, particularly
14 the database upgrade and the difference in packaging the
15 SQL shared libraries.
16 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
17
18 Compatibility:
19 --------------
20  As always, both the Director and Storage daemon must be upgraded at
21  the same time.
22
23  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2
24  Director and Storage daemons. There should be no need to upgrade older File
25  Daemons.
26
27 Changes since 5.2.1:
28 -----------------
29  - Implement -t option for Bat
30  - Require correct Qt version 4.6.2 or later to build bat
31  - Get new lib/plugins.h
32  - Pull new SD plugin files from Master
33  - Fix script to set mode of cats scripts
34  - Add Systemd configure options
35  - Split messages line by line before sending it to syslog() fix #3325
36  - Fix bvfs_restore on MySQL
37  - Fix #3308 where a SMTP problem can block the director
38  - Change locking scheme of the mountpoint cache.
39  - Enhance mountcache with rescan option after interval.
40  - Add %D option to edit_job_code, simplify callbacks on director side
41  - Move Zdeflate and Zinflate to seperate file.
42  - Put libraries in the correct order for non shared libs.
43  - Remove last traces of @SQL_BINDIR@ and @DB_TYPE@
44  - Fix bug #1774
45  - Move batch insert detection into db.m4
46  - bat: try to fix offset button problem when clicking too much on previous
47  - bvfs: Use single transaction for each job during update
48  - Add missing bwild & bregex man8 pages
49  - Fix compilation issue of wx-console #1778
50  - bvfs: fix filter for pattern= bvfs parameter
51  - Improve speed of BVFS with SQLite, Thanks to J.Starek
52  - bvfs: add clear_cache function
53  - bvfs: Handle windows drive when building path hierarchy
54
55 Closed Bugs Since 5.2.1
56 -----------------------
57 1774 1778 3308 3325
58
59
60 ================================================================
61
62 Version 5.2.1
63
64 The 5.2.1 version is a major release since the last version 5.0.3.
65 It includes well over 299,387 lines of changes made by 20 contributors,
66 lots of bug fixes (see below), 1,851 software commits,and a 
67 number of important new features:
68
69 Version 5.2.0 was short lived, because Marco (thanks) found
70 a number of last minute bugs. So the first official release of 5.2
71 is 5.2.1.
72
73 Compatibility:
74 --------------
75  As always, both the Director and Storage daemon must be upgraded at
76  the same time.
77
78  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1
79  Director and Storage daemons. There should be no need to upgrade older File
80  Daemons.
81
82 5.2.1 New Features:
83 -----------------
84 - LZO Compression
85 - New Tray Monitor
86 - Purge Migration Job
87 - Changes in Bvfs (Bacula Virtual FileSystem)
88 - Changes in the Pruning Algorithm
89 - Ability to Verify any specified Job
90 - Additions to RunScript variables
91 - Additions to the Plugin API
92 - ACL enhancements
93 - XATTR enhancements
94 - Class Based Database Backend Drivers
95 - Hash List Enhancements
96
97 Some of the above are described below; all the above are
98 described in more detail in the New Features chapter of the
99 manual.
100
101 Closed Bugs since 5.0.3:
102 ---------------------
103 1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501
104 1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549
105 1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582
106 1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624
107 1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699
108 1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710
109
110 Note on bug 1612 where Bacula does not save a checksum for hard links during
111 full backup, but expects one during accurate differential backups. You need
112 a Full backup with the 5.2.x code to have these checksums in the Catalog.
113 Doing Incr/Diff over a 5.0.x Full backup will still display lot of errors.
114
115
116
117 ================== Warning !!!!!! ==========================
118
119  The new pruning algorithm will not allow pruning of jobs that are essential to
120  restore since the last Full backup. This is, of course, correct and desirable,
121  but it is different from older Bacula versions that could inappropriately
122  prune jobs. Pruning of volumes is not affected.
123
124 Building Bat:
125 -------------
126 To build Bat, you need Qt4 version 4.6.2.  If you build with any other
127 version it is likely not to work.  If you do not have version 4.6.2, on
128 your system, you can download the Bacula depkgs_qt version 16Dec10.
129
130 Packaging the SQL backend:
131 --------------------------
132 The main Bacula Director code is independent of the SQL backend
133 in this version. This means that the Bacula Director can be packaged
134 by itself, then each of the different SQL backends supported can
135 be packaged separately.  It is possible to build all the DB backends
136 at the same time.
137
138 - configure can be run with multiple database configure options.
139    --with-sqlite3
140    --with-mysql
141    --with-postgresql
142
143 Order of testing for database is
144 - postgresql
145 - mysql
146 - sqlite3
147
148 Each configured backend generates a libbaccats-<backend_name>-<version>.so
149 A dummy catalog library is created named libbaccats-version.so
150
151 At configure time the first detected backend is used as the so called default
152 backend and at install time the dummy libbaccats-<version>.so is replaced with
153 the default backend type.
154
155 If you configure all 3 backends you get 3 backend libraries and the postgresql
156 gets installed as the default.  When you want to switch the default you can
157 copy one of the 3 backend libraries over the libbaccats-<version>.so e.g.
158
159 cp libbaccats-postgresql-<version>.so libbaccats-<version>.so
160
161 And update the default backend in the following files:
162
163 create_bacula_database
164 drop_bacula_database
165 drop_bacula_tables
166 grant_bacula_privileges
167 make_bacula_tables
168 make_catalog_backup
169 update_bacula_tables 
170
171 New Catalog format in version 5.2.0 and greater
172 -----------------------------------------------
173 This release of Bacula uses a new catalog format. We provide a set of
174 scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (version
175 14).  The Bacula project rpm spec files have been modified to
176 detect the database change and do the upgrade for you.  We strongly
177 recommend that you save a copy of your existing database before upgrading
178 using rpms.
179
180 The simplest way to upgrade the database assuming you are building from
181 source (i.e. manually):
182 1. Stop any current version of Bacula from running.
183 2. Save a copy of your existing database.
184 3. Configure, build, and install the 5.2.1 version of Bacula
185    Note the new ./configure options in the manuals see the link
186    at the bottom of this file.
187 4. cd <your-scripts-installation-directory>
188 5. ./update_bacula_tables
189 6. If you have multiple catalogs, edit the update_bacula_tables
190    script and put the name of another database, and then
191    execute the script again. Repeat this until all Bacula
192    catalogs have been updated.
193 7. Start the new Bacula.  If everything worked, it should
194    not print any error messages.
195
196 If you start from scratch, you don't need to run the update_bacula_tables
197 script because the create_bacula_tables script automatically creates the new
198 table format.  However, if you are using a version of Bacula older than 5.0.0
199 (e.g.  3.0.3) then you need to run the update_bacula_tables script that will
200 be found in the <bacula>/src/cats directory after you run the ./configure
201 command.  As mentioned above, before running this script, please backup your
202 catalog database, and when you do running it, be sure shutdown Bacula and be
203 aware that running the script can take some time depending on your database
204 size.
205
206 ================================================================
207
208 Changes:
209
210 Speed and Memory Usage Enhancements:
211 - Implement LZO compression algorithm (need lzo2 headers to activate this option)
212 - New Pruning algoritm -- safer and faster
213 - Use of PostgreSQL cursor when doing large queries, should reduce the
214   memory usage during restore and accurate backups.
215 - limit command in some list commands
216 - Bacula Virtual File System for fast catalog access
217 - Faster crc32 algorithm
218
219 Security Enhancements:
220 - Additional security against injection of illegal characters
221 - Fix possible fnmatch problem
222
223 Features Enhancements:
224 - Improvements in ACL and xattr handling on additional platforms:
225   AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64
226 - Tray monitor for Windows
227 - New SQL backend and ./configure that permits building multiple catalog
228   backends in one build, and has the main Bacula core code totally independent
229   of the SQL backend, which should simplify packaging (only the
230   libbacsql.so/dll needs to be changed to switch from one database backend
231   to another (e.g. MySQL to PostgreSQL).
232 - Indent lsmark during restore
233 - Disable batch insert config item
234 - Director selection option in bconsole
235 - restorejob command in bconsole
236 - Many additional features for bat such as "brestore" panel
237 - The old bat version browser has been turned off since it does not
238   work correctly and the brestore panel provides the same functionality
239 - Improved hash table for hard links
240 - Additional script variable editing such as %b (JobBytes), %F (JobFiles) 
241   and %h (Client Address)
242
243 Other Enhancements:
244 - Includes better handling for Windows repares points, mount points, and 
245   junction points.
246 - New database format
247 - Many new plugin API features
248 - Improved memory handling for restores
249 - Significant stability enhancements to bat
250 - xattr/ACL restore failure are now printed as Warning
251 - A few path name length limits in Windows have been removed.
252
253
254 ===========================================================================
255
256 The 5.0.3 version is significant bug fix update to version 5.0.2.
257 It includes new code and some new features.
258 There is no database change since prior versions of 5.0.
259
260 Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in
261   the 5.0.1 release section.
262   Important!!!
263
264 Compatibility:
265 --------------
266  As always, both the Director and Storage daemon must be upgraded at
267  the same time.
268
269  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3
270  Director and Storage daemons. There should be no need to upgrade older File
271  Daemons.
272
273 Changes and New Features:
274 - If a VSS (Windows) snapshot fails, the whole Job is failed, previously
275   it printed a warning message and continued.
276 - New editing codes %b = Job Bytes and %f = Job Files for runscripts
277 - Any non-Bacula project plugins (i.e. third party plugins) 
278   must be upgraded to specify AGPLv3 in place of the GPLv2 used previously 
279   for the PLUGIN_LICENSE.
280 - The bat Media page text columns can be sorted by clicking on the column.
281 - If possible, the SD will automatically update the catalog Volume size if 
282   it does not match the Volume size. The mismatch between the Volume sizes
283   typically occurs when the FD has a comm line drop or the FD crashes.
284
285
286 Bug fixes
287 1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610
288
289 - Change license from GPLv2 to AGPLv3
290 - Make Win32 no filesystem change more explicit
291 - Backport Branch-4.0 release to Branch-5.0
292 - Massive backport from Branch-5.1 to Branch-5.0
293 - Fix postgresql catalog creation when version is not on the first line
294 - Fix bug #1610 handle empty xattr values on Linux and xBSD.
295 - Garbage collect memory pool at end of job and before sm_dump
296 - Add xattr seg fault protection suggested by Marco for bug #1610
297 - Add archlinux to os.m4
298 - More fixes for 32/64 bit problems in smartall
299 - Fix 32/64 bit problem in smartalloc dump routine
300 - Fix bad copy/paste in commit c88dccb88 prably a seg fault
301 - Add .dump and .exit commands for daemons
302 - Make SD automatically fix the Volume size in the Catalog when out of sync
303 - Use Pmsg in smartall.c rather than printf for tracing Windows
304 - Up maximum block size to 20M
305 - Fix for TLS bugs #1568 and #1599
306 - Improve comm line error handling for TLS, may fix bug #1568 and #1599
307 - Fix problem when sending Cancel event to plugin
308 - Convert all Jmsg on the watchdog thread to Qmsg
309 - Fix SD crash due to mismatched lock/unlock in error condition
310 - Fix bug #1587 if you have clients with different catalogs configured, both 
311   catalogs contains all clients after a reload or restart of the dir
312 - Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() 
313   by moving and commenting out the ASSERT()
314 - Skip HB kill in FD if HB thread terminated
315 - Fix crash from unequal volume_lock/unlock calls
316 - New prunning algorithm -- should be more accurate
317 - Save any dumps during regression to dumps directory
318 - Fix crash from rw_lock/unlock miss match
319 - Attempt to fix duplicate job kill seg fault
320 - Replace pthread_kill by my_thread_send_signal() in jcr.c
321 - fix #1595 about batch mode detection problem for postgresql with non standard 
322   install dir
323 - Fix #1594 about prune copy jobs
324 - Apply literal string fix in printf submitted by Luca Berra
325 - Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
326 - Fix segfault on "cancel jobid=" command
327 - Fix bug #1554 Windows installer doesn't honor /S flag
328 - Remove pool zap code that breaks 2drive-concurrent-test
329 - Fix #1571 and install libraries with 755 perms
330 - Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger
331 - Fix problem with BaseJob and Accurate FileSet options on client side
332 - Fix for bug #1569 deadlock/crash in Dir
333 - Fix segfault when loading Plugins
334 - Fix #1567 about display of long volume names truncated during restore
335 - Added new bacula-libs package.
336 - Fix bug #1538 Start Scripts return incorrect value
337 - Fix bug #1564 init scripts not LSB compliant
338
339 See ChangeLog for more details.
340
341 =============================================================================
342
343
344 ============= Release 5.0.2 ========================
345
346 Changes since 5.0.1
347 -------------------
348
349 Bug fixes
350 1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560
351
352 - Probable fix for SD crash bug #1553
353 - Fix #1559 problem when restoring pruned jobs with a regexp
354 - Fix for bug #1560 bcopy cannot find Volume
355 - Fix cancel crash bug #1551
356 - Check if sql backend is thread-safe
357 - Correct Pool display in SD status. Fixes bug #1541
358 - Fix cancel crash reported by Stephen Thompson
359 - Rewind on close to fix #1549
360 - Remove closelog() in bpipe fixes bug #1536
361 - Fix #1517 about missing Base level in .level command
362 - Replace ASSERT in block.c with fail Job
363 - Fix database locking calling db_lock and returning from function without
364   calling db_unlock.
365 - Add missing db_unlock to bvfs_update_cache.
366 - Fix #1532 about permission on binaries
367 - Fix #1527 about deadlock during migration
368 - Another fix for OpenSSLv1
369 - Add -lrt to Solaris links
370 - Fix tls.c for OpenSSLv1
371 - Fix #1511 when trying to insert more than 50.000 directories in bvfs
372 - Fix plugin load not to stop if one plugin bad -- pointed out by James
373 - Remove --without-qwt from configure statement.
374 - Second correct fix to bug #1524 verify fails after adding or removing files
375 - Fix bug #1524 verify fails after adding or removing files
376 - Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem
377 - Fix OpenSSL 1.x problem in crypto.c on Fedora 12
378 - Display AllowCompress warning message only if compression used in FileSet
379
380 =============================================================================
381
382
383 ============= Release 5.0.1 ========================
384
385 !!!!!!!!!!!!!!! NOTE FOR 5.0.0 USERS !!!!!!!!!!!!!!!!!!!!
386 The Allow Duplicate Jobs directive has been significantly 
387 reworked, and the default value has changed. See below.
388
389 Truncate On Purge has been totally rewritten. See the new
390 features section of the manual.
391
392 When Volume Poll Interval is set in the SD DEVICE configuration,
393 (default 5 mins), after a certain number of polling tries (approx
394 10) polling will stop and the operator will be asked to
395 resolve the problem.  Previously there was no limit, and an
396 error message could be produced at each poll attempt.
397 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
398
399 Changes since 5.0.0
400 -------------------
401 - We believe that we have resolved most of the problems
402   concerning canceled or failed jobs being "stuck" in the
403   Director.  There is one outstanding problem in the SD when
404   canceling jobs that we will fix in the next major release.
405   If you see jobs that seem to be stuck, in general issuing
406   a cancel command in bconsole should now make them go away.
407
408 Directives:
409 - The default for "Allow Duplicate Jobs" has been changed from 
410   no to yes.  If you use this directive, please check your
411   conf file, and note the next two items !!!!!!!!!!!!!!!!!!!
412 - AllowHigherDuplicates disabled. It did not work as documented   
413     and was confusing.
414 - New directive "CancelLowerLevelDuplicates" See New Features
415   section in the manual.
416 - Truncate on Purge rewritten.  See New Features section in the manual.
417
418 Bug fixes:
419 1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 
420 1499 1501 1505 1509 1513
421
422 - Ensure SD asks for help when looping even if poll set. Fixes bug #1513.
423 - Fix three-pool regress bug
424 - Modify bacula.spec fixes bug #1505
425 - This version fixes an issue where the console window would start out
426   docked. It is fixed by initiating the variables in the Pages class wi
427   constructor.
428 - Fix make_catalog_backup.pl fails when catalog db is on other host
429 - Apply MacOSX installer patch from bug #1509
430 - Apply fix to previous fix of Copy problem. Fix proposed by reporter o
431   #1476
432 - Fix bug #1501 -t does not print errors
433 - Apply SQLite3 update fix from bug #1497
434 - Apply bashism fix for diskchanger.in script from bug #1499
435 - Apply rpm fix for Sci Linux from bug #1494
436 - Take most recent Ukranian po from bug #1448
437 - Probable fix for Copy/Migration bug #1476
438 - Fix bug #1488 -- avoid recursion and race conditions in messages.c
439 - Upgrade cats library also to 5.0.0
440 - Fix missing console page in bat
441 - Add bat help files to Window install
442 - Improve Windows upgrade to ensure old FD is shutdown
443 - Fix bug #1481 -- bat consumes all console file descriptors
444 - Backport truncate on purge from 5.1.x
445 - Fix bug #1486 -- bat doesn't show any errors on command-line
446 - Update the bsock error URL
447 - Correct .my.cnf umask in make_catalog_backup.pl
448 - Apply fix for dbcheck use by make_catalog_backup.pl
449 - Fix seg fault in bscan from new comment field
450 - Allow multiple CNs when using TLS
451 - Fix seg fault in SQlite driver
452 - Make shared libs version the same as the Bacula release version
453 - Remove file_index sequential check
454 - Fix #1466 about Bogus pruning message
455
456 For Packagers:
457 1.  The default query.sql file is now, except for some comments, empty.
458 The old file, which we no longer support (it is impossible or difficult to
459 make it work on every backend, and the queries are mostly contributed) can
460 be found in <bacula-source>/examples/sample-query.sql.  The sample file is
461 not installed by the Makefiles
462
463 2.  When you install the mtx-changer script, you must also install
464 mtx-changer.conf if it does not exist.  This new file (mtx-changer.conf) is
465 required for mtx-changer to work, but it is a user configurable file, so on
466 any update, any existing file should not be overwritten.
467
468 3.  Bat should be built on every platform that is capabable of running Qt.
469 However, the Qt code is changing rather quickly and is not always
470 compatible from version to version.  We have built and verified bat on Qt
471 4.3.4.  We strongly recommend that you do not build and distribute bat with
472 any other version of Qt unless you personally test it.  To build against Qt
473 4.3.4, download the depkgs-qt package from the Bacula Source Forge download
474 location, read the README file and follow the instructions.
475
476 If you are building for Bacula version 5.0.0, please ensure that you do not
477 have qmake-qt4 loaded on your system.  If you do, either remove it or
478 rename it before trying to build bat.  If you do not, bat will probably be
479 built using the shared objects on your system.  For Bacula 5.0.1 and later,
480 this problem (bug) does not exist.
481
482 depkgs-qt does not install Qt on your system, nor does it interfere with
483 you having any other version of Qt installed on your system.  Once you
484 build bat with depkgs-qt, it should *not* use the Qt shared objects, but
485 rather they will be linked into the program.  After fully installing bat
486 (make install), you can run "ldd bat" to see what shared objects it will
487 use.  If any Qt shared objects are referenced, something has gone wrong.
488
489 4.  Unless absolutely necessary, we recommend that you do not define any
490 special library environment variables that apply to the ./configure -- for
491 example: LIBDIR=/...  ./configure <your-options> is strongly discouraged.
492 Doing so, could potentially cause Bacula to be linked against the wrong
493 shared objects.
494
495 5.  The Bacula project strongly recommends that you install Bacula into a
496 single directory, with a few minor exceptions such as the MySQL or
497 PostgreSQL databases.  Preferrably this should be /opt/bacula.  The full
498 recommendation is:
499
500 #!/bin/sh
501 # Recommended configure script for Bacula
502 prefix=/opt/bacula
503 email=xxx@yyy.zz
504 CFLAGS="-g -O2 -Wall" \
505   ./configure \
506     --sbindir=${prefix}/bin \
507     --sysconfdir=${prefix}/etc \
508     --docdir=${prefix}/html \
509     --htmldir=${prefix}/html \
510     --with-working-dir=${prefix}/working \
511     --with-pid-dir=${prefix}/working \
512     --with-subsys-dir=${prefix}/working \
513     --with-scriptdir=${prefix}/scripts \
514     --with-plugindir=${prefix}/plugins \
515     --libdir=${prefix}/lib \
516     --enable-smartalloc \
517     --enable-tray-monitor \
518     --enable-bat \
519     --with-mysql \
520     --with-dump-email=${email} \
521     --with-job-email=${email} \
522     --with-smtp-host=localhost \
523     --with-baseport=9101
524
525 Obviously, the email, and some of the minor options (mysql, postgresql,
526 ...) can be changed to suit your distribution, but the directory names
527 defined above are strongly recommended, and over time the default values in
528 the bacula-dir.conf and bacula-sd.conf will reflect these choices.
529
530 If you have any questions about this or would like a detailed document
531 describing our recommendations including packaging requirements, please
532 send an email to the bacula-devel list.
533
534 6.  Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared
535 libraries that Bacula uses by default are named xxx-1.0.0.  Starting with
536 Bacula 5.0.1, we are going to name the libraries using the Bacula version.
537 So in Bacula 5.0.1, the libraries will be named xxx-5.0.1.  With future
538 versions, the last digit may or may not change when we distribute patch
539 updates (i.e.  the last digit of the version changes).  This will depend on
540 whether or not we have changed something in the library.  Hopefully this
541 new procedure will resolve some of the incompatibility problems between
542 different versions of the shared objects.
543
544 7.  The default build option for bconsole is conio (my own little console
545 routines).  I did this because some years ago, readline was very difficult
546 to maintain -- it and where it was found seemed to change on every release.
547 This generated at the time a number of support problems.  It seems to me
548 that since then there have been very few problems with readline.  As a
549 consequence, I have no problem if you want to make bconsole with readline
550 enabled.  It will actually give some very nice new bconsole command
551 completion functionality that Eric has written.  Bottom line: feel free to
552 use readline or not as you please.
553
554 ==========================================================
555
556
557
558 Release Notes for Bacula 5.0.0
559
560 Release Numbering:
561 -----------------------------------------------------------
562 You might be wondering why this release jumps from 3.0.x to 
563 5.0.0 thus skipping version 4.0.0.  We have done this for 
564 several reasons: first, we wanted a way of distinguishing
565 the numbering system for the Bacula System Enterprise version
566 and the Bacula Project version.  So, to do so, we have decided
567 that the first number of the Bacula Project version will always
568 be odd, and the first number of the Enterprise version will always
569 be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x.
570 In addition, we want to keep the Bacula Project version larger
571 than the Enterprise version to indicate that the Bacula Project
572 version is more advanced or has more features than the 
573 Enterprise version. For memory, the current Enterprise version
574 is 2.6.1, and the next release (in a few months -- before June 2010)
575 will be version 4.0.0.
576
577 Warning:
578 --------------------------------------------------------------
579 Please note the three Warnings below before doing any install or
580 upgrade.
581        
582
583 Changes since 3.0.3a (the last Bacula Project release):
584 -------------------------------------------------------
585
586 Bug fixes:
587 1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 
588 1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 
589 1454 1455 1458 1456
590
591 Fixed:
592  - Problem that locks the Director when the SMTP server wasn't 
593    responding to the bsmtp program 
594  - Restore's dir command shows incorrect file sizes 
595  - Fix various problems with the reload command   
596  - Fix problems with conio
597  - Eliminate several deadlocks or potential race conditions from SD
598
599 Enhancements:
600  - Project 5: Truncate volume after purge
601  - Project 6: File Deduplication using Base Jobs 
602  - Project 10: Restore from Multiple Storage Daemons
603  - Project 11: AllowCompression per Device
604  - Project 23: Add Maximum Concurent Jobs for Devices to balance load 
605    between drives
606  - Add Accurate Fileset Options to configure accurate detection. Can use 
607    checksum verification for example.
608  - Allow FD to keep root read but drop write permission (CAP)
609  - Secure handling of passwords for catalog backup
610  - Add Tab-completion for Bconsole when using Readline
611  - Add Bvfs API to query the catalog without building a memory tree
612  - Add new speed test to btape program
613  - Add new Bat screens (Autochanger content, Job view, Media view, ...)
614  - Windows version of Bat
615  - Added Spanish Bacula translation   
616  - New bconsole -u nnn option to have timeout on commands
617  - Allow Migrate, Copy, and Virtual Full to read and write
618    to the same Pool
619  - show disabled   -- shows disabled Jobs
620  - Add Pool File and Job retention periods (take precedence over Client)
621  - Many ACL improvements
622  - Level added to FD status Job entry
623  - Allow turning on/off Block Checksum per device
624  - Set Device Poll interval to 5 minutes -- previously did not poll
625  - Implement lock manager with bad order protection
626
627 Compatibility:
628 As always, both the Director and Storage daemon must be upgraded at
629 the same time, and on any given machine, you must run only one version
630 of Bacula. This means that on the Director and Storage daemon machines,
631 you *must* upgrade your File daemon as well.
632
633 Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0
634 Director and Storage daemons. There should be no need to upgrade older File
635 Daemons immediately. However, we recommend that you do so as soon
636 as is reasonable for your situation.
637
638 ================== Warning !!!!!! ==========================
639
640 New Catalog format in version 5.0.0 (3.1.9 or later)
641 -----------------------------------------------------
642
643 This release of Bacula uses a new catalog format. We provide a set of
644 scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version
645 12).  The Bacula project rpms distributed on Source Forge will automatically
646 detect the database change and do the upgrade for you.  We strongly
647 recommend that you save a copy of your existing database before upgrading
648 using rpms.
649
650 The simplest way to upgrade the database assuming you are building from
651 source:
652 1. Stop any current version of Bacula from running.
653 2. Save a copy of your existing database.
654 3. Configure, build, and install the 5.0.0 version of Bacula
655    Note the new ./configure options in the manuals see the link
656    at the bottom of this file.
657 4. cd <your-scripts-installation-directory>
658 5. ./update_bacula_tables
659 6. If you have multiple catalogs, edit the update_bacula_tables
660    script and put the name of another database, and then
661    execute the script again. Repeat this until all Bacula
662    catalogs have been updated.
663 7. Start the new Bacula.  If everything worked, it should
664    not print any error messages.
665
666 If you start from scratch, you don't need to run the update_bacula_tables
667 script because the create_bacula_tables script automatically creates the new
668 table format.  However, if you are using a version of Bacula older than 3.1.9
669 (e.g.  3.0.3) then you need to run the update_bacula_tables script that will
670 be found in the <bacula>/src/cats directory after you run the ./configure
671 command.  As mentioned above, before running this script, please backup your
672 catalog database, and when you do running it, be sure shutdown Bacula and be
673 aware that running the script can take some time depending on your database
674 size.
675 ================================================================
676
677
678 ================== Warning !!!!!! ==========================
679 If you upgrade a previous Win32 client installation, you must
680 first stop the File daemon, then uninstall it before attempting
681 the upgrade. If you do not do so, the upgrade will probably
682 fail and you will need to manually find and run the 
683 Uninstall.exe file, before you can upgrade to the new version.
684 This is because the file locations are different.  If you want
685 to save your previous bacula-fd.conf file, please do so before
686 uninstalling it.
687 ================================================================
688
689 ================== Warning !!!!!! ==========================
690 Due to permissions problems on Windows Vista and later systems,
691 we no longer require SYSTEM or Administrator permissions to 
692 access the binaries and configuation files.  If you wish
693 to restrict access to these files, please see the New Features
694 section of the manual for how to set access control lists.
695 ================================================================
696
697 Note, the Win32 Installer no longer installs the Bacula Servers
698 (Director and Storage daemon). See the New Features section of
699 the manual for more details.
700
701 ============ Documentation improvements needed ==================
702
703 Note!!!!! The 5.0.0+ documentation has a number of known problems:
704
705 1. We have reduced the number of manuals, which has fixed many
706    of the broken links found in the old 3.0.x version, but there
707    are still some that need fixing.
708
709 2. Integration of the 3.0.x features into the main manuals has
710    not yet been done.
711
712 The documentation will not be completed in the near future due to lack
713 manpower.  If you are unhappy with this situation as we are, we suggest
714 you help by submitting patches to the documentation.  Thanks.
715 =====
716
717
718 This release includes large number of new features and changes.
719 It should be more or less compatible with previous xx.conf files
720 and File daemons providing that you are not using any of the new
721 features.
722
723 Please see the New Features chapter of the new manual, which documents
724 some but not all the new features (we are still working on it):
725
726 http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_1.html
727   
728 The ChangeLog has more details.