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