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