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