]> git.sur5r.net Git - bacula/bacula/blob - bacula/ReleaseNotes
Update releasenotes
[bacula/bacula] / bacula / ReleaseNotes
1
2                Release Notes for Bacula 5.2.0
3
4   Bacula code: Total files = 1,088 Total lines = 219,172 (Using SLOCCount)
5
6 General:
7 --------
8
9 This 5.2.0 version is a major release since the last version 5.0.3.
10 It includes well over 50,000 lines of changes and a number of important
11 new features:
12
13 Compatibility:
14 --------------
15  As always, both the Director and Storage daemon must be upgraded at
16  the same time.
17
18  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.0
19  Director and Storage daemons. There should be no need to upgrade older File
20  Daemons.
21
22 Changes and New Features:
23 - Use of PostgreSQL cursor when doing large queries, should reduce the
24   memory usage during restore and accurate backups.
25 - Includes better handling for Windows repares points, mount points, and 
26   junction points.
27 - A few path name length limits in Windows have been removed.
28 - New SQL backend and ./configure that permits building multiple catalog
29   backends in one build, and has the main Bacula core code totally independent
30   of the SQL backend, which should simplify packaging (only the libbacsql.so/dll
31   needs to be changed.
32 - New database format
33 - Director selection option in bconsole
34 - restorejob command in bconsole
35 - Checkpoint of jobs so that in many cases they can be restarted
36 - Maximum Bandwidth Per Job in several places
37 - Disable batch insert config item
38 - setbandwith command
39 - limit command
40 - Bacula Virtual File System for fast catalog access
41 - New Pruning algoritm -- safer and faster
42 - Additional security against injection of illegal characters
43 - New block delta backup/restore
44 - Indent lsmark during restore
45 - Additional script variable editing
46 - Improvements in ACL and xattr handling on additional platforms:
47   AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64
48 - Many new plugin API features
49 - Faster crc32 algorithm
50 - Improved memory handling for restores
51 - Improved hash table for hard links
52 - Significant stability enhancements to bat
53 - Many additional features for bat
54 - Tray monitor for Windows
55 - New FTP device handler for Storage daemon
56
57 Bug fixes
58
59
60 ===========================================================================
61
62 This 5.0.3 version is significant bug fix update to version 5.0.2.
63 It includes new code and some new features.
64 There is no database change since prior versions of 5.0.
65
66 Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in
67   the 5.0.1 release section.
68   Important!!!
69
70 Compatibility:
71 --------------
72  As always, both the Director and Storage daemon must be upgraded at
73  the same time.
74
75  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3
76  Director and Storage daemons. There should be no need to upgrade older File
77  Daemons.
78
79 Changes and New Features:
80 - If a VSS (Windows) snapshot fails, the whole Job is failed, previously
81   it printed a warning message and continued.
82 - New editing codes %b = Job Bytes and %f = Job Files for runscripts
83 - Any non-Bacula project plugins (i.e. third party plugins) 
84   must be upgraded to specify AGPLv3 in place of the GPLv2 used previously 
85   for the PLUGIN_LICENSE.
86 - The bat Media page text columns can be sorted by clicking on the column.
87 - If possible, the SD will automatically update the catalog Volume size if 
88   it does not match the Volume size. The mismatch between the Volume sizes
89   typically occurs when the FD has a comm line drop or the FD crashes.
90
91
92 Bug fixes
93 1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610
94
95 - Change license from GPLv2 to AGPLv3
96 - Make Win32 no filesystem change more explicit
97 - Backport Branch-4.0 release to Branch-5.0
98 - Massive backport from Branch-5.1 to Branch-5.0
99 - Fix postgresql catalog creation when version is not on the first line
100 - Fix bug #1610 handle empty xattr values on Linux and xBSD.
101 - Garbage collect memory pool at end of job and before sm_dump
102 - Add xattr seg fault protection suggested by Marco for bug #1610
103 - Add archlinux to os.m4
104 - More fixes for 32/64 bit problems in smartall
105 - Fix 32/64 bit problem in smartalloc dump routine
106 - Fix bad copy/paste in commit c88dccb88 prably a seg fault
107 - Add .dump and .exit commands for daemons
108 - Make SD automatically fix the Volume size in the Catalog when out of sync
109 - Use Pmsg in smartall.c rather than printf for tracing Windows
110 - Up maximum block size to 20M
111 - Fix for TLS bugs #1568 and #1599
112 - Improve comm line error handling for TLS, may fix bug #1568 and #1599
113 - Fix problem when sending Cancel event to plugin
114 - Convert all Jmsg on the watchdog thread to Qmsg
115 - Fix SD crash due to mismatched lock/unlock in error condition
116 - Fix bug #1587 if you have clients with different catalogs configured, both 
117   catalogs contains all clients after a reload or restart of the dir
118 - Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() 
119   by moving and commenting out the ASSERT()
120 - Skip HB kill in FD if HB thread terminated
121 - Fix crash from unequal volume_lock/unlock calls
122 - New prunning algorithm -- should be more accurate
123 - Save any dumps during regression to dumps directory
124 - Fix crash from rw_lock/unlock miss match
125 - Attempt to fix duplicate job kill seg fault
126 - Replace pthread_kill by my_thread_send_signal() in jcr.c
127 - fix #1595 about batch mode detection problem for postgresql with non standard 
128   install dir
129 - Fix #1594 about prune copy jobs
130 - Apply literal string fix in printf submitted by Luca Berra
131 - Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
132 - Fix segfault on "cancel jobid=" command
133 - Fix bug #1554 Windows installer doesn't honor /S flag
134 - Remove pool zap code that breaks 2drive-concurrent-test
135 - Fix #1571 and install libraries with 755 perms
136 - Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger
137 - Fix problem with BaseJob and Accurate FileSet options on client side
138 - Fix for bug #1569 deadlock/crash in Dir
139 - Fix segfault when loading Plugins
140 - Fix #1567 about display of long volume names truncated during restore
141 - Added new bacula-libs package.
142 - Fix bug #1538 Start Scripts return incorrect value
143 - Fix bug #1564 init scripts not LSB compliant
144
145 See ChangeLog for more details.
146
147 =============================================================================
148
149
150 ============= Release 5.0.2 ========================
151
152 Changes since 5.0.1
153 -------------------
154
155 Bug fixes
156 1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560
157
158 - Probable fix for SD crash bug #1553
159 - Fix #1559 problem when restoring pruned jobs with a regexp
160 - Fix for bug #1560 bcopy cannot find Volume
161 - Fix cancel crash bug #1551
162 - Check if sql backend is thread-safe
163 - Correct Pool display in SD status. Fixes bug #1541
164 - Fix cancel crash reported by Stephen Thompson
165 - Rewind on close to fix #1549
166 - Remove closelog() in bpipe fixes bug #1536
167 - Fix #1517 about missing Base level in .level command
168 - Replace ASSERT in block.c with fail Job
169 - Fix database locking calling db_lock and returning from function without
170   calling db_unlock.
171 - Add missing db_unlock to bvfs_update_cache.
172 - Fix #1532 about permission on binaries
173 - Fix #1527 about deadlock during migration
174 - Another fix for OpenSSLv1
175 - Add -lrt to Solaris links
176 - Fix tls.c for OpenSSLv1
177 - Fix #1511 when trying to insert more than 50.000 directories in bvfs
178 - Fix plugin load not to stop if one plugin bad -- pointed out by James
179 - Remove --without-qwt from configure statement.
180 - Second correct fix to bug #1524 verify fails after adding or removing files
181 - Fix bug #1524 verify fails after adding or removing files
182 - Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem
183 - Fix OpenSSL 1.x problem in crypto.c on Fedora 12
184 - Display AllowCompress warning message only if compression used in FileSet
185
186 =============================================================================
187
188
189 ============= Release 5.0.1 ========================
190
191 !!!!!!!!!!!!!!! NOTE FOR 5.0.0 USERS !!!!!!!!!!!!!!!!!!!!
192 The Allow Duplicate Jobs directive has been significantly 
193 reworked, and the default value has changed. See below.
194
195 Truncate On Purge has been totally rewritten. See the new
196 features section of the manual.
197
198 When Volume Poll Interval is set in the SD DEVICE configuration,
199 (default 5 mins), after a certain number of polling tries (approx
200 10) polling will stop and the operator will be asked to
201 resolve the problem.  Previously there was no limit, and an
202 error message could be produced at each poll attempt.
203 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
204
205 Changes since 5.0.0
206 -------------------
207 - We believe that we have resolved most of the problems
208   concerning canceled or failed jobs being "stuck" in the
209   Director.  There is one outstanding problem in the SD when
210   canceling jobs that we will fix in the next major release.
211   If you see jobs that seem to be stuck, in general issuing
212   a cancel command in bconsole should now make them go away.
213
214 Directives:
215 - The default for "Allow Duplicate Jobs" has been changed from 
216   no to yes.  If you use this directive, please check your
217   conf file, and note the next two items !!!!!!!!!!!!!!!!!!!
218 - AllowHigherDuplicates disabled. It did not work as documented   
219     and was confusing.
220 - New directive "CancelLowerLevelDuplicates" See New Features
221   section in the manual.
222 - Truncate on Purge rewritten.  See New Features section in the manual.
223
224 Bug fixes:
225 1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 
226 1499 1501 1505 1509 1513
227
228 - Ensure SD asks for help when looping even if poll set. Fixes bug #1513.
229 - Fix three-pool regress bug
230 - Modify bacula.spec fixes bug #1505
231 - This version fixes an issue where the console window would start out
232   docked. It is fixed by initiating the variables in the Pages class wi
233   constructor.
234 - Fix make_catalog_backup.pl fails when catalog db is on other host
235 - Apply MacOSX installer patch from bug #1509
236 - Apply fix to previous fix of Copy problem. Fix proposed by reporter o
237   #1476
238 - Fix bug #1501 -t does not print errors
239 - Apply SQLite3 update fix from bug #1497
240 - Apply bashism fix for diskchanger.in script from bug #1499
241 - Apply rpm fix for Sci Linux from bug #1494
242 - Take most recent Ukranian po from bug #1448
243 - Probable fix for Copy/Migration bug #1476
244 - Fix bug #1488 -- avoid recursion and race conditions in messages.c
245 - Upgrade cats library also to 5.0.0
246 - Fix missing console page in bat
247 - Add bat help files to Window install
248 - Improve Windows upgrade to ensure old FD is shutdown
249 - Fix bug #1481 -- bat consumes all console file descriptors
250 - Backport truncate on purge from 5.1.x
251 - Fix bug #1486 -- bat doesn't show any errors on command-line
252 - Update the bsock error URL
253 - Correct .my.cnf umask in make_catalog_backup.pl
254 - Apply fix for dbcheck use by make_catalog_backup.pl
255 - Fix seg fault in bscan from new comment field
256 - Allow multiple CNs when using TLS
257 - Fix seg fault in SQlite driver
258 - Make shared libs version the same as the Bacula release version
259 - Remove file_index sequential check
260 - Fix #1466 about Bogus pruning message
261
262 For Packagers:
263 1.  The default query.sql file is now, except for some comments, empty.
264 The old file, which we no longer support (it is impossible or difficult to
265 make it work on every backend, and the queries are mostly contributed) can
266 be found in <bacula-source>/examples/sample-query.sql.  The sample file is
267 not installed by the Makefiles
268
269 2.  When you install the mtx-changer script, you must also install
270 mtx-changer.conf if it does not exist.  This new file (mtx-changer.conf) is
271 required for mtx-changer to work, but it is a user configurable file, so on
272 any update, any existing file should not be overwritten.
273
274 3.  Bat should be built on every platform that is capabable of running Qt.
275 However, the Qt code is changing rather quickly and is not always
276 compatible from version to version.  We have built and verified bat on Qt
277 4.3.4.  We strongly recommend that you do not build and distribute bat with
278 any other version of Qt unless you personally test it.  To build against Qt
279 4.3.4, download the depkgs-qt package from the Bacula Source Forge download
280 location, read the README file and follow the instructions.
281
282 If you are building for Bacula version 5.0.0, please ensure that you do not
283 have qmake-qt4 loaded on your system.  If you do, either remove it or
284 rename it before trying to build bat.  If you do not, bat will probably be
285 built using the shared objects on your system.  For Bacula 5.0.1 and later,
286 this problem (bug) does not exist.
287
288 depkgs-qt does not install Qt on your system, nor does it interfere with
289 you having any other version of Qt installed on your system.  Once you
290 build bat with depkgs-qt, it should *not* use the Qt shared objects, but
291 rather they will be linked into the program.  After fully installing bat
292 (make install), you can run "ldd bat" to see what shared objects it will
293 use.  If any Qt shared objects are referenced, something has gone wrong.
294
295 4.  Unless absolutely necessary, we recommend that you do not define any
296 special library environment variables that apply to the ./configure -- for
297 example: LIBDIR=/...  ./configure <your-options> is strongly discouraged.
298 Doing so, could potentially cause Bacula to be linked against the wrong
299 shared objects.
300
301 5.  The Bacula project strongly recommends that you install Bacula into a
302 single directory, with a few minor exceptions such as the MySQL or
303 PostgreSQL databases.  Preferrably this should be /opt/bacula.  The full
304 recommendation is:
305
306 #!/bin/sh
307 # Recommended configure script for Bacula
308 prefix=/opt/bacula
309 email=xxx@yyy.zz
310 CFLAGS="-g -O2 -Wall" \
311   ./configure \
312     --sbindir=${prefix}/bin \
313     --sysconfdir=${prefix}/etc \
314     --docdir=${prefix}/html \
315     --htmldir=${prefix}/html \
316     --with-working-dir=${prefix}/working \
317     --with-pid-dir=${prefix}/working \
318     --with-subsys-dir=${prefix}/working \
319     --with-scriptdir=${prefix}/scripts \
320     --with-plugindir=${prefix}/plugins \
321     --libdir=${prefix}/lib \
322     --enable-smartalloc \
323     --enable-tray-monitor \
324     --enable-bat \
325     --with-mysql \
326     --with-dump-email=${email} \
327     --with-job-email=${email} \
328     --with-smtp-host=localhost \
329     --with-baseport=9101
330
331 Obviously, the email, and some of the minor options (mysql, postgresql,
332 ...) can be changed to suit your distribution, but the directory names
333 defined above are strongly recommended, and over time the default values in
334 the bacula-dir.conf and bacula-sd.conf will reflect these choices.
335
336 If you have any questions about this or would like a detailed document
337 describing our recommendations including packaging requirements, please
338 send an email to the bacula-devel list.
339
340 6.  Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared
341 libraries that Bacula uses by default are named xxx-1.0.0.  Starting with
342 Bacula 5.0.1, we are going to name the libraries using the Bacula version.
343 So in Bacula 5.0.1, the libraries will be named xxx-5.0.1.  With future
344 versions, the last digit may or may not change when we distribute patch
345 updates (i.e.  the last digit of the version changes).  This will depend on
346 whether or not we have changed something in the library.  Hopefully this
347 new procedure will resolve some of the incompatibility problems between
348 different versions of the shared objects.
349
350 7.  The default build option for bconsole is conio (my own little console
351 routines).  I did this because some years ago, readline was very difficult
352 to maintain -- it and where it was found seemed to change on every release.
353 This generated at the time a number of support problems.  It seems to me
354 that since then there have been very few problems with readline.  As a
355 consequence, I have no problem if you want to make bconsole with readline
356 enabled.  It will actually give some very nice new bconsole command
357 completion functionality that Eric has written.  Bottom line: feel free to
358 use readline or not as you please.
359
360 ==========================================================
361
362
363
364 Release Notes for Bacula 5.0.0
365
366 Release Numbering:
367 -----------------------------------------------------------
368 You might be wondering why this release jumps from 3.0.x to 
369 5.0.0 thus skipping version 4.0.0.  We have done this for 
370 several reasons: first, we wanted a way of distinguishing
371 the numbering system for the Bacula System Enterprise version
372 and the Bacula Project version.  So, to do so, we have decided
373 that the first number of the Bacula Project version will always
374 be odd, and the first number of the Enterprise version will always
375 be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x.
376 In addition, we want to keep the Bacula Project version larger
377 than the Enterprise version to indicate that the Bacula Project
378 version is more advanced or has more features than the 
379 Enterprise version. For memory, the current Enterprise version
380 is 2.6.1, and the next release (in a few months -- before June 2010)
381 will be version 4.0.0.
382
383 Warning:
384 --------------------------------------------------------------
385 Please note the three Warnings below before doing any install or
386 upgrade.
387        
388
389 Changes since 3.0.3a (the last Bacula Project release):
390 -------------------------------------------------------
391
392 Bug fixes:
393 1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 
394 1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 
395 1454 1455 1458 1456
396
397 Fixed:
398  - Problem that locks the Director when the SMTP server wasn't 
399    responding to the bsmtp program 
400  - Restore's dir command shows incorrect file sizes 
401  - Fix various problems with the reload command   
402  - Fix problems with conio
403  - Eliminate several deadlocks or potential race conditions from SD
404
405 Enhancements:
406  - Project 5: Truncate volume after purge
407  - Project 6: File Deduplication using Base Jobs 
408  - Project 10: Restore from Multiple Storage Daemons
409  - Project 11: AllowCompression per Device
410  - Project 23: Add Maximum Concurent Jobs for Devices to balance load 
411    between drives
412  - Add Accurate Fileset Options to configure accurate detection. Can use 
413    checksum verification for example.
414  - Allow FD to keep root read but drop write permission (CAP)
415  - Secure handling of passwords for catalog backup
416  - Add Tab-completion for Bconsole when using Readline
417  - Add Bvfs API to query the catalog without building a memory tree
418  - Add new speed test to btape program
419  - Add new Bat screens (Autochanger content, Job view, Media view, ...)
420  - Windows version of Bat
421  - Added Spanish Bacula translation   
422  - New bconsole -u nnn option to have timeout on commands
423  - Allow Migrate, Copy, and Virtual Full to read and write
424    to the same Pool
425  - show disabled   -- shows disabled Jobs
426  - Add Pool File and Job retention periods (take precedence over Client)
427  - Many ACL improvements
428  - Level added to FD status Job entry
429  - Allow turning on/off Block Checksum per device
430  - Set Device Poll interval to 5 minutes -- previously did not poll
431  - Implement lock manager with bad order protection
432
433 Compatibility:
434 As always, both the Director and Storage daemon must be upgraded at
435 the same time, and on any given machine, you must run only one version
436 of Bacula. This means that on the Director and Storage daemon machines,
437 you *must* upgrade your File daemon as well.
438
439 Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0
440 Director and Storage daemons. There should be no need to upgrade older File
441 Daemons immediately. However, we recommend that you do so as soon
442 as is reasonable for your situation.
443
444 ================== Warning !!!!!! ==========================
445
446 New Catalog format in version 5.0.0 (3.1.9 or later)
447 -----------------------------------------------------
448
449 This release of Bacula uses a new catalog format. We provide a set of
450 scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version
451 12).  The Bacula project rpms distributed on Source Forge will automatically
452 detect the database change and do the upgrade for you.  We strongly
453 recommend that you save a copy of your existing database before upgrading
454 using rpms.
455
456 The simplest way to upgrade the database assuming you are building from
457 source:
458 1. Stop any current version of Bacula from running.
459 2. Save a copy of your existing database.
460 3. Configure, build, and install the 5.0.0 version of Bacula
461    Note the new ./configure options in the manuals see the link
462    at the bottom of this file.
463 4. cd <your-scripts-installation-directory>
464 5. ./update_bacula_tables
465 6. If you have multiple catalogs, edit the update_bacula_tables
466    script and put the name of another database, and then
467    execute the script again. Repeat this until all Bacula
468    catalogs have been updated.
469 7. Start the new Bacula.  If everything worked, it should
470    not print any error messages.
471
472 If you start from scratch, you don't need to run the update_bacula_tables
473 script because the create_bacula_tables script automatically creates the new
474 table format.  However, if you are using a version of Bacula older than 3.1.9
475 (e.g.  3.0.3) then you need to run the update_bacula_tables script that will
476 be found in the <bacula>/src/cats directory after you run the ./configure
477 command.  As mentioned above, before running this script, please backup your
478 catalog database, and when you do running it, be sure shutdown Bacula and be
479 aware that running the script can take some time depending on your database
480 size.
481 ================================================================
482
483
484 ================== Warning !!!!!! ==========================
485 If you upgrade a previous Win32 client installation, you must
486 first stop the File daemon, then uninstall it before attempting
487 the upgrade. If you do not do so, the upgrade will probably
488 fail and you will need to manually find and run the 
489 Uninstall.exe file, before you can upgrade to the new version.
490 This is because the file locations are different.  If you want
491 to save your previous bacula-fd.conf file, please do so before
492 uninstalling it.
493 ================================================================
494
495 ================== Warning !!!!!! ==========================
496 Due to permissions problems on Windows Vista and later systems,
497 we no longer require SYSTEM or Administrator permissions to 
498 access the binaries and configuation files.  If you wish
499 to restrict access to these files, please see the New Features
500 section of the manual for how to set access control lists.
501 ================================================================
502
503 Note, the Win32 Installer no longer installs the Bacula Servers
504 (Director and Storage daemon). See the New Features section of
505 the manual for more details.
506
507 ============ Documentation improvements needed ==================
508
509 Note!!!!! The 5.0.0+ documentation has a number of known problems:
510
511 1. We have reduced the number of manuals, which has fixed many
512    of the broken links found in the old 3.0.x version, but there
513    are still some that need fixing.
514
515 2. Integration of the 3.0.x features into the main manuals has
516    not yet been done.
517
518 The documentation will not be completed in the near future due to lack
519 manpower.  If you are unhappy with this situation as we are, we suggest
520 you help by submitting patches to the documentation.  Thanks.
521 =====
522
523
524 This release includes large number of new features and changes.
525 It should be more or less compatible with previous xx.conf files
526 and File daemons providing that you are not using any of the new
527 features.
528
529 Please see the New Features chapter of the new manual, which documents
530 some but not all the new features (we are still working on it):
531
532 http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_1.html
533   
534 The ChangeLog has more details.