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