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