X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2FReleaseNotes;h=bac38a20ddf79d9d63ab7c11e624cb06d12e4879;hb=d50677b237e824dc645471bed89d077762e7c32c;hp=1a4d135ef36566d4249c61106e69214fcc18a33a;hpb=b7f0cd7bb1f6927f9eac1ba271e2a73943adab29;p=bacula%2Fbacula diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index 1a4d135ef3..bac38a20dd 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -1,220 +1,534 @@ - Release Notes for Bacula 1.37.12 - - Bacula code: Total files = 419 Total lines = 124,877 (*.h *.c *.in) - -Note! The DB has been upgraded from version 8 to 9 and requres -a DB upgrade. - -Major Changes: -- This version has a new DIR <--> SD protocol. Both must be - upgraded at the same time. -- This version has a new database format that is not compatible - with previous databases. The upgrade scripts should work, but - they are not yet tested. -- SQLite3 support, but it seems to run at 1/2 to 1/4 the speed of - SQLite2. -- First cut at ANSI labels. -- New communications protocol between DIR and SD to reserve - drives. The DIR and SD are no longer compatible with 1.36 or - lower versions. -- Preliminary Python Event support has been added. See below for - configuration and details. -- DVD writing support, using parts, and a lot of new directives in - the Device resource of the Storage configuration file. -- Seven new options keywords in a FileSet resource: - ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir, - and regexfile. See below for details. - -New Directives: -- New Run directive in Job resource of DIR. It permits - cloning of jobs. To clone a copy of the current job, use - Run = "job-name level=%l since=\"%s\"" - Note, job-name is normally the same name as the job that - is running but there is no restriction on what you put. If you - want to start the job by hand and use job overrides such as - storage=xxx, realize that the job will be started with the - default storage values not the overrides. The level=%l guarantees - that the chosen level of the job is the same, and the since=... - ensures that the job uses *exactly* the same time/date for incremental - and differential jobs. The since=... is ignored when level=Full. - A cloned job will not start additional clones, so it is not possible - to recurse. -- New Options keywords in a FileSet directive: - - WildDir xxx - Will do a wild card match against directories (files will not - be matched). - - WildFile xxx - Will do a wild card match against files (directories will not - be matched). - - RegexDir xxx - Will do a regular expression match against directories (files - will not be matched). - - RegexFile xxx - Will do a regular expression match against files( directories - will not be matched). - - IgnoreCase = yes | no - Will ignore case in wild card and regular expression matches. - This is handy for Windows where filename case is not significant. - - FsType = string - where string is a filesystem type: ext2, jfs, ntfs, proc, - reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3 - systems, use ext2. You may have multiple fstype directives - and thus permit multiple filesystem types. If the type - specified on the fstype directive does not match the - filesystem for a particular directive, that directory will - not be backed up. This directive can be used to prevent - backing up non-local filesystems. - - HFS Plus Support = yes | no - If set, Mac OS X resource forks will be saved and restored. -- Label Type = ANSI | IBM | Bacula - Implemented in Director Pool resource and in SD Device resource. - If it is specified in the SD Device resource, it will take - precedence over the value passed from the Director to the SD. - IBM is not yet implemented. -- Check Labels = yes | no - Implemented in the SD Device resource. If you intend to read - ANSI or IBM labels, this *must* be set. Even if the volume - is not ANSI labeled, you can set this to yes, and Bacula will - check the label type. -- Scripts Directory = name. Defines the directory from - which Bacula scripts will be called for events. In fact, Bacula - appends this name to the standard Python list of search directories, - so the script could also be in any of the Python system directories. -- In FileSet, you can exclude backing up of hardlinks (if you have - a lot, it can be very expensive), by using: - HardLinks = no - in the Options section. Patch supplied by David R Bosso. Thanks. -- MaximumPartSize = bytes (SD, Device resource) - Defines the maximum part size. -- Requires Mount = Yes/No (SD, Device resource) - Defines if the device require to be mounted to be read, and if it - must be written in a special way. If it set, the following directives - must be defined in the same Device resource: - + Mount Point = directory - Directory where the device must be mounted. - + Mount Command = name-string - Command that must be executed to mount the device. Before the command - is executed, %a is replaced with the Archive Device, and %m with the - Mount Point. - + Unmount Command = name-string - Command that must be executed to unmount the device. Before the - command is executed, %a is replaced with the Archive Device, and - %m with the Mount Point. - + Write Part Command = name-string - Command that must be executed to write a part to the device. Before - the command is executed, %a is replaced with the Archive Device, %m - with the Mount Point, %n with the current part number (0-based), - and %v with the current part filename. - + Free Space Command = name-string - Command that must be executed to check how much free space is left - on the device. Before the command is executed, %a is replaced with - the Archive Device, %m with the Mount Point, %n with the current part - number (0-based), and %v with the current part filename. -- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource) - If this directive is set to yes (default no), a new part file will be - created after the job is finished. - -New Commands: -- "python restart" restarts the Python interpreter. Rather brutal, make - sure no Python scripts are running. This permits you to change - a Python script and get Bacula to use the new script. - -Items to note!!! -- You must add --with-python=[DIR] to the configure command line - if you want Python support. Python 2.2 and 2.3 should be automatically - detected if in the standard place. -- With Python 2.2 version, the link of the Director gets a few linker - warnings due to the fact that Python pulls in some old non-secure - libraries. -- With Python 2.3, there are a few compiler warnings. -- You must either create a new catalog database or upgrade your - old database (upgrade scripts not yet tested). - -Other Items: -- 2 new scripts, dvd-writepart and dvd-freespace, in the scripts directory, - which are designed to be used as parameters to Write Part Command and - Free Space Command. They need the dvd+rw-tools to be installed - (http://fy.chalmers.se/~appro/linux/DVD+RW/). -- Part files support: File volumes can now be splitted in multiple - files, called "parts". -- Python scripting support: - A Python script will be called at particular points or conditions - in Bacula called Events. The currently defined Events are called: - - StartJob, EndJob, NewVolume - - Where StartJob is called before the RunBeforeJob, EndJob is called - after RunAfterJob, and NewVolume, is called before all other - "methods" of obtaining a new Volume name, when one is needed. - - The Python script of the same name as the Event name (but with a .py) - is called from the Scripts Directory (a directive defined in the - Director resource). Note, both the Filename, and the name of - the function in the file must correspond to the Event name. - - Once the Python script gets control, it can have access to Bacula - variables by doing: - - import bacula - - The script is called with one argument, typically called j. This - argument *must* be passed unchanged to each bacula function. The - format of the call is slightly different for reading Bacula - variable and for writing bacula variables. See below. - - Bacula variables can be read with: - - bacula.get(j, "Variable-name") - - where j is the argument passed to the function, and Variable-name - is on of the following: - - JobId, Client, Pool, Storage, Catalog, MediaType, NumVols, DirName, - Level, Type, Job, JobName, JobStatus - - Bacula varibles can be set using Python keyword arguments: - - bacula.set(jcr=j, VolumeName="xyz") - - The two currently implemented writable "variables" are: - - VolumeName and JobReport - - It is possible to submit a Bacula run command with the following: - - bacula.run(j, "run kernsave client=Matou storage=File") - - this function returns the JobId of the job that was started. If - there is an error, the return value is zero. - - Example: - -== File EndJob.py === -import bacula - -def EndJob(j): - jobid = bacula.get(j, "JobId") - client = bacula.get(j, "Client") - bacula.set(jcr=j, JobReport="EndJob output: JobId=%d Client=%s.\n" % (jobid, client)) - if (jobid < 5) : - startid = bacula.run(j, "run kernsave") - print "Python started jobid=", startid - - return 1 -==== - -== File NewVolume.py === -import bacula - -def NewVolume(j): - jobid = bacula.get(j, "JobId") - print "JobId=", jobid - client = bacula.get(j, "Client") - print "Client=" + client - numvol = bacula.get(j, "NumVols"); - print "NumVols=", numvol - bacula.set(jcr=j, JobReport="New Volume set for Job.\n") - bacula.set(jcr=j, VolumeName="TestA-001") - return 1 -==== + Release Notes for Bacula 5.2.0 + + Bacula code: Total files = 1,088 Total lines = 219,172 (Using SLOCCount) + +General: +-------- + +This 5.2.0 version is a major release since the last version 5.0.3. +It includes well over 50,000 lines of changes and a number of important +new features: + +Compatibility: +-------------- + As always, both the Director and Storage daemon must be upgraded at + the same time. + + Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.0 + Director and Storage daemons. There should be no need to upgrade older File + Daemons. + +Changes and New Features: +- Use of PostgreSQL cursor when doing large queries, should reduce the + memory usage during restore and accurate backups. +- Includes better handling for Windows repares points, mount points, and + junction points. +- A few path name length limits in Windows have been removed. +- New SQL backend and ./configure that permits building multiple catalog + backends in one build, and has the main Bacula core code totally independent + of the SQL backend, which should simplify packaging (only the libbacsql.so/dll + needs to be changed. +- New database format +- Director selection option in bconsole +- restorejob command in bconsole +- Checkpoint of jobs so that in many cases they can be restarted +- Maximum Bandwidth Per Job in several places +- Disable batch insert config item +- setbandwith command +- limit command +- Bacula Virtual File System for fast catalog access +- New Pruning algoritm -- safer and faster +- Additional security against injection of illegal characters +- New block delta backup/restore +- Indent lsmark during restore +- Additional script variable editing +- Improvements in ACL and xattr handling on additional platforms: + AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64 +- Many new plugin API features +- Faster crc32 algorithm +- Improved memory handling for restores +- Improved hash table for hard links +- Significant stability enhancements to bat +- Many additional features for bat +- Tray monitor for Windows +- New FTP device handler for Storage daemon + +Bug fixes + + +=========================================================================== + +This 5.0.3 version is significant bug fix update to version 5.0.2. +It includes new code and some new features. +There is no database change since prior versions of 5.0. + +Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in + the 5.0.1 release section. + Important!!! + +Compatibility: +-------------- + As always, both the Director and Storage daemon must be upgraded at + the same time. + + Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3 + Director and Storage daemons. There should be no need to upgrade older File + Daemons. + +Changes and New Features: +- If a VSS (Windows) snapshot fails, the whole Job is failed, previously + it printed a warning message and continued. +- New editing codes %b = Job Bytes and %f = Job Files for runscripts +- Any non-Bacula project plugins (i.e. third party plugins) + must be upgraded to specify AGPLv3 in place of the GPLv2 used previously + for the PLUGIN_LICENSE. +- The bat Media page text columns can be sorted by clicking on the column. +- If possible, the SD will automatically update the catalog Volume size if + it does not match the Volume size. The mismatch between the Volume sizes + typically occurs when the FD has a comm line drop or the FD crashes. + + +Bug fixes +1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610 + +- Change license from GPLv2 to AGPLv3 +- Make Win32 no filesystem change more explicit +- Backport Branch-4.0 release to Branch-5.0 +- Massive backport from Branch-5.1 to Branch-5.0 +- Fix postgresql catalog creation when version is not on the first line +- Fix bug #1610 handle empty xattr values on Linux and xBSD. +- Garbage collect memory pool at end of job and before sm_dump +- Add xattr seg fault protection suggested by Marco for bug #1610 +- Add archlinux to os.m4 +- More fixes for 32/64 bit problems in smartall +- Fix 32/64 bit problem in smartalloc dump routine +- Fix bad copy/paste in commit c88dccb88 prably a seg fault +- Add .dump and .exit commands for daemons +- Make SD automatically fix the Volume size in the Catalog when out of sync +- Use Pmsg in smartall.c rather than printf for tracing Windows +- Up maximum block size to 20M +- Fix for TLS bugs #1568 and #1599 +- Improve comm line error handling for TLS, may fix bug #1568 and #1599 +- Fix problem when sending Cancel event to plugin +- Convert all Jmsg on the watchdog thread to Qmsg +- Fix SD crash due to mismatched lock/unlock in error condition +- Fix bug #1587 if you have clients with different catalogs configured, both + catalogs contains all clients after a reload or restart of the dir +- Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() + by moving and commenting out the ASSERT() +- Skip HB kill in FD if HB thread terminated +- Fix crash from unequal volume_lock/unlock calls +- New prunning algorithm -- should be more accurate +- Save any dumps during regression to dumps directory +- Fix crash from rw_lock/unlock miss match +- Attempt to fix duplicate job kill seg fault +- Replace pthread_kill by my_thread_send_signal() in jcr.c +- fix #1595 about batch mode detection problem for postgresql with non standard + install dir +- Fix #1594 about prune copy jobs +- Apply literal string fix in printf submitted by Luca Berra +- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups +- Fix segfault on "cancel jobid=" command +- Fix bug #1554 Windows installer doesn't honor /S flag +- Remove pool zap code that breaks 2drive-concurrent-test +- Fix #1571 and install libraries with 755 perms +- Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger +- Fix problem with BaseJob and Accurate FileSet options on client side +- Fix for bug #1569 deadlock/crash in Dir +- Fix segfault when loading Plugins +- Fix #1567 about display of long volume names truncated during restore +- Added new bacula-libs package. +- Fix bug #1538 Start Scripts return incorrect value +- Fix bug #1564 init scripts not LSB compliant + +See ChangeLog for more details. + +============================================================================= + + +============= Release 5.0.2 ======================== + +Changes since 5.0.1 +------------------- + +Bug fixes +1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560 + +- Probable fix for SD crash bug #1553 +- Fix #1559 problem when restoring pruned jobs with a regexp +- Fix for bug #1560 bcopy cannot find Volume +- Fix cancel crash bug #1551 +- Check if sql backend is thread-safe +- Correct Pool display in SD status. Fixes bug #1541 +- Fix cancel crash reported by Stephen Thompson +- Rewind on close to fix #1549 +- Remove closelog() in bpipe fixes bug #1536 +- Fix #1517 about missing Base level in .level command +- Replace ASSERT in block.c with fail Job +- Fix database locking calling db_lock and returning from function without + calling db_unlock. +- Add missing db_unlock to bvfs_update_cache. +- Fix #1532 about permission on binaries +- Fix #1527 about deadlock during migration +- Another fix for OpenSSLv1 +- Add -lrt to Solaris links +- Fix tls.c for OpenSSLv1 +- Fix #1511 when trying to insert more than 50.000 directories in bvfs +- Fix plugin load not to stop if one plugin bad -- pointed out by James +- Remove --without-qwt from configure statement. +- Second correct fix to bug #1524 verify fails after adding or removing files +- Fix bug #1524 verify fails after adding or removing files +- Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem +- Fix OpenSSL 1.x problem in crypto.c on Fedora 12 +- Display AllowCompress warning message only if compression used in FileSet + +============================================================================= + + +============= Release 5.0.1 ======================== + +!!!!!!!!!!!!!!! NOTE FOR 5.0.0 USERS !!!!!!!!!!!!!!!!!!!! +The Allow Duplicate Jobs directive has been significantly +reworked, and the default value has changed. See below. + +Truncate On Purge has been totally rewritten. See the new +features section of the manual. + +When Volume Poll Interval is set in the SD DEVICE configuration, +(default 5 mins), after a certain number of polling tries (approx +10) polling will stop and the operator will be asked to +resolve the problem. Previously there was no limit, and an +error message could be produced at each poll attempt. +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +Changes since 5.0.0 +------------------- +- We believe that we have resolved most of the problems + concerning canceled or failed jobs being "stuck" in the + Director. There is one outstanding problem in the SD when + canceling jobs that we will fix in the next major release. + If you see jobs that seem to be stuck, in general issuing + a cancel command in bconsole should now make them go away. + +Directives: +- The default for "Allow Duplicate Jobs" has been changed from + no to yes. If you use this directive, please check your + conf file, and note the next two items !!!!!!!!!!!!!!!!!!! +- AllowHigherDuplicates disabled. It did not work as documented + and was confusing. +- New directive "CancelLowerLevelDuplicates" See New Features + section in the manual. +- Truncate on Purge rewritten. See New Features section in the manual. + +Bug fixes: +1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 +1499 1501 1505 1509 1513 + +- Ensure SD asks for help when looping even if poll set. Fixes bug #1513. +- Fix three-pool regress bug +- Modify bacula.spec fixes bug #1505 +- This version fixes an issue where the console window would start out + docked. It is fixed by initiating the variables in the Pages class wi + constructor. +- Fix make_catalog_backup.pl fails when catalog db is on other host +- Apply MacOSX installer patch from bug #1509 +- Apply fix to previous fix of Copy problem. Fix proposed by reporter o + #1476 +- Fix bug #1501 -t does not print errors +- Apply SQLite3 update fix from bug #1497 +- Apply bashism fix for diskchanger.in script from bug #1499 +- Apply rpm fix for Sci Linux from bug #1494 +- Take most recent Ukranian po from bug #1448 +- Probable fix for Copy/Migration bug #1476 +- Fix bug #1488 -- avoid recursion and race conditions in messages.c +- Upgrade cats library also to 5.0.0 +- Fix missing console page in bat +- Add bat help files to Window install +- Improve Windows upgrade to ensure old FD is shutdown +- Fix bug #1481 -- bat consumes all console file descriptors +- Backport truncate on purge from 5.1.x +- Fix bug #1486 -- bat doesn't show any errors on command-line +- Update the bsock error URL +- Correct .my.cnf umask in make_catalog_backup.pl +- Apply fix for dbcheck use by make_catalog_backup.pl +- Fix seg fault in bscan from new comment field +- Allow multiple CNs when using TLS +- Fix seg fault in SQlite driver +- Make shared libs version the same as the Bacula release version +- Remove file_index sequential check +- Fix #1466 about Bogus pruning message + +For Packagers: +1. The default query.sql file is now, except for some comments, empty. +The old file, which we no longer support (it is impossible or difficult to +make it work on every backend, and the queries are mostly contributed) can +be found in /examples/sample-query.sql. The sample file is +not installed by the Makefiles + +2. When you install the mtx-changer script, you must also install +mtx-changer.conf if it does not exist. This new file (mtx-changer.conf) is +required for mtx-changer to work, but it is a user configurable file, so on +any update, any existing file should not be overwritten. + +3. Bat should be built on every platform that is capabable of running Qt. +However, the Qt code is changing rather quickly and is not always +compatible from version to version. We have built and verified bat on Qt +4.3.4. We strongly recommend that you do not build and distribute bat with +any other version of Qt unless you personally test it. To build against Qt +4.3.4, download the depkgs-qt package from the Bacula Source Forge download +location, read the README file and follow the instructions. + +If you are building for Bacula version 5.0.0, please ensure that you do not +have qmake-qt4 loaded on your system. If you do, either remove it or +rename it before trying to build bat. If you do not, bat will probably be +built using the shared objects on your system. For Bacula 5.0.1 and later, +this problem (bug) does not exist. + +depkgs-qt does not install Qt on your system, nor does it interfere with +you having any other version of Qt installed on your system. Once you +build bat with depkgs-qt, it should *not* use the Qt shared objects, but +rather they will be linked into the program. After fully installing bat +(make install), you can run "ldd bat" to see what shared objects it will +use. If any Qt shared objects are referenced, something has gone wrong. + +4. Unless absolutely necessary, we recommend that you do not define any +special library environment variables that apply to the ./configure -- for +example: LIBDIR=/... ./configure is strongly discouraged. +Doing so, could potentially cause Bacula to be linked against the wrong +shared objects. + +5. The Bacula project strongly recommends that you install Bacula into a +single directory, with a few minor exceptions such as the MySQL or +PostgreSQL databases. Preferrably this should be /opt/bacula. The full +recommendation is: + +#!/bin/sh +# Recommended configure script for Bacula +prefix=/opt/bacula +email=xxx@yyy.zz +CFLAGS="-g -O2 -Wall" \ + ./configure \ + --sbindir=${prefix}/bin \ + --sysconfdir=${prefix}/etc \ + --docdir=${prefix}/html \ + --htmldir=${prefix}/html \ + --with-working-dir=${prefix}/working \ + --with-pid-dir=${prefix}/working \ + --with-subsys-dir=${prefix}/working \ + --with-scriptdir=${prefix}/scripts \ + --with-plugindir=${prefix}/plugins \ + --libdir=${prefix}/lib \ + --enable-smartalloc \ + --enable-tray-monitor \ + --enable-bat \ + --with-mysql \ + --with-dump-email=${email} \ + --with-job-email=${email} \ + --with-smtp-host=localhost \ + --with-baseport=9101 + +Obviously, the email, and some of the minor options (mysql, postgresql, +...) can be changed to suit your distribution, but the directory names +defined above are strongly recommended, and over time the default values in +the bacula-dir.conf and bacula-sd.conf will reflect these choices. + +If you have any questions about this or would like a detailed document +describing our recommendations including packaging requirements, please +send an email to the bacula-devel list. + +6. Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared +libraries that Bacula uses by default are named xxx-1.0.0. Starting with +Bacula 5.0.1, we are going to name the libraries using the Bacula version. +So in Bacula 5.0.1, the libraries will be named xxx-5.0.1. With future +versions, the last digit may or may not change when we distribute patch +updates (i.e. the last digit of the version changes). This will depend on +whether or not we have changed something in the library. Hopefully this +new procedure will resolve some of the incompatibility problems between +different versions of the shared objects. + +7. The default build option for bconsole is conio (my own little console +routines). I did this because some years ago, readline was very difficult +to maintain -- it and where it was found seemed to change on every release. +This generated at the time a number of support problems. It seems to me +that since then there have been very few problems with readline. As a +consequence, I have no problem if you want to make bconsole with readline +enabled. It will actually give some very nice new bconsole command +completion functionality that Eric has written. Bottom line: feel free to +use readline or not as you please. + +========================================================== + + + +Release Notes for Bacula 5.0.0 + +Release Numbering: +----------------------------------------------------------- +You might be wondering why this release jumps from 3.0.x to +5.0.0 thus skipping version 4.0.0. We have done this for +several reasons: first, we wanted a way of distinguishing +the numbering system for the Bacula System Enterprise version +and the Bacula Project version. So, to do so, we have decided +that the first number of the Bacula Project version will always +be odd, and the first number of the Enterprise version will always +be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x. +In addition, we want to keep the Bacula Project version larger +than the Enterprise version to indicate that the Bacula Project +version is more advanced or has more features than the +Enterprise version. For memory, the current Enterprise version +is 2.6.1, and the next release (in a few months -- before June 2010) +will be version 4.0.0. + +Warning: +-------------------------------------------------------------- +Please note the three Warnings below before doing any install or +upgrade. + + +Changes since 3.0.3a (the last Bacula Project release): +------------------------------------------------------- + +Bug fixes: +1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 +1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 +1454 1455 1458 1456 + +Fixed: + - Problem that locks the Director when the SMTP server wasn't + responding to the bsmtp program + - Restore's dir command shows incorrect file sizes + - Fix various problems with the reload command + - Fix problems with conio + - Eliminate several deadlocks or potential race conditions from SD + +Enhancements: + - Project 5: Truncate volume after purge + - Project 6: File Deduplication using Base Jobs + - Project 10: Restore from Multiple Storage Daemons + - Project 11: AllowCompression per Device + - Project 23: Add Maximum Concurent Jobs for Devices to balance load + between drives + - Add Accurate Fileset Options to configure accurate detection. Can use + checksum verification for example. + - Allow FD to keep root read but drop write permission (CAP) + - Secure handling of passwords for catalog backup + - Add Tab-completion for Bconsole when using Readline + - Add Bvfs API to query the catalog without building a memory tree + - Add new speed test to btape program + - Add new Bat screens (Autochanger content, Job view, Media view, ...) + - Windows version of Bat + - Added Spanish Bacula translation + - New bconsole -u nnn option to have timeout on commands + - Allow Migrate, Copy, and Virtual Full to read and write + to the same Pool + - show disabled -- shows disabled Jobs + - Add Pool File and Job retention periods (take precedence over Client) + - Many ACL improvements + - Level added to FD status Job entry + - Allow turning on/off Block Checksum per device + - Set Device Poll interval to 5 minutes -- previously did not poll + - Implement lock manager with bad order protection + +Compatibility: +As always, both the Director and Storage daemon must be upgraded at +the same time, and on any given machine, you must run only one version +of Bacula. This means that on the Director and Storage daemon machines, +you *must* upgrade your File daemon as well. + +Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0 +Director and Storage daemons. There should be no need to upgrade older File +Daemons immediately. However, we recommend that you do so as soon +as is reasonable for your situation. + +================== Warning !!!!!! ========================== + +New Catalog format in version 5.0.0 (3.1.9 or later) +----------------------------------------------------- + +This release of Bacula uses a new catalog format. We provide a set of +scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version +12). The Bacula project rpms distributed on Source Forge will automatically +detect the database change and do the upgrade for you. We strongly +recommend that you save a copy of your existing database before upgrading +using rpms. + +The simplest way to upgrade the database assuming you are building from +source: +1. Stop any current version of Bacula from running. +2. Save a copy of your existing database. +3. Configure, build, and install the 5.0.0 version of Bacula + Note the new ./configure options in the manuals see the link + at the bottom of this file. +4. cd +5. ./update_bacula_tables +6. If you have multiple catalogs, edit the update_bacula_tables + script and put the name of another database, and then + execute the script again. Repeat this until all Bacula + catalogs have been updated. +7. Start the new Bacula. If everything worked, it should + not print any error messages. + +If you start from scratch, you don't need to run the update_bacula_tables +script because the create_bacula_tables script automatically creates the new +table format. However, if you are using a version of Bacula older than 3.1.9 +(e.g. 3.0.3) then you need to run the update_bacula_tables script that will +be found in the /src/cats directory after you run the ./configure +command. As mentioned above, before running this script, please backup your +catalog database, and when you do running it, be sure shutdown Bacula and be +aware that running the script can take some time depending on your database +size. +================================================================ + + +================== Warning !!!!!! ========================== +If you upgrade a previous Win32 client installation, you must +first stop the File daemon, then uninstall it before attempting +the upgrade. If you do not do so, the upgrade will probably +fail and you will need to manually find and run the +Uninstall.exe file, before you can upgrade to the new version. +This is because the file locations are different. If you want +to save your previous bacula-fd.conf file, please do so before +uninstalling it. +================================================================ + +================== Warning !!!!!! ========================== +Due to permissions problems on Windows Vista and later systems, +we no longer require SYSTEM or Administrator permissions to +access the binaries and configuation files. If you wish +to restrict access to these files, please see the New Features +section of the manual for how to set access control lists. +================================================================ + +Note, the Win32 Installer no longer installs the Bacula Servers +(Director and Storage daemon). See the New Features section of +the manual for more details. + +============ Documentation improvements needed ================== + +Note!!!!! The 5.0.0+ documentation has a number of known problems: + +1. We have reduced the number of manuals, which has fixed many + of the broken links found in the old 3.0.x version, but there + are still some that need fixing. + +2. Integration of the 3.0.x features into the main manuals has + not yet been done. + +The documentation will not be completed in the near future due to lack +manpower. If you are unhappy with this situation as we are, we suggest +you help by submitting patches to the documentation. Thanks. +===== + + +This release includes large number of new features and changes. +It should be more or less compatible with previous xx.conf files +and File daemons providing that you are not using any of the new +features. + +Please see the New Features chapter of the new manual, which documents +some but not all the new features (we are still working on it): + +http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_1.html + +The ChangeLog has more details.