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