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