]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ReleaseNotes
Added preliminary AFS acl support. The code may need some testing on a real AFS enabl...
[bacula/bacula] / bacula / ReleaseNotes
index d37fd90bf8654ef7f91e5ddc95e68e668cd2cde9..ee4f7e3656300dcb9f2f292a5723f69b15e8447b 100644 (file)
 
-       Release Notes for Bacula 2.5.42
+               Release Notes for Bacula 5.0.1
 
-  Bacula code: Total files = 521 Total lines = 204,881 (*.h *.c *.in)
+  Bacula code: Total files = 1,081 Total lines = 217,272 (Using SLOCCount)
 
-The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release
-represents an enormous effort.
+!!!!!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+The Allow Duplicate Jobs directive has been significantly 
+reworked, and the default value has changed. See below.
 
-This Director and Storage daemon must be upgraded at the same time,
-but they should be compatible with all 2.4.x File daemons, unless you
-use some of the new features that affect the FD.  In other words, you should
-not have to upgrade all your File daemons when you upgrade. However, any
-release of version 2.5.40 or greater requires a database upgrade.
+Truncate On Purge has been totally rewritten. See the new
+features section of the manual.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+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 1509
+
+- 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 <bacula-source>/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 <your-options> 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 2.5.40
-------------------------------------
+New Catalog format in version 5.0.0 (3.1.9 or later)
+-----------------------------------------------------
 
-This BETA release of Bacula uses a new catalog format. We provide a set of
-scripts that permit to convert a 2.4.x (version 10) catalog to 2.5.x (version
-11). If you are using already a 2.5 version, you can drop the JobHistory
-table before upgrading your catalog (if you are using the new "long term
-statistics" module, you can upgrade this table the same way we do with 
-the Job table, see the src/cats/update_bacula_tables script).
+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:
+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 2.5.42 version of Bacula
+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 <your-scripts-installation-directory>
 5. ./update_bacula_tables
 6. If you have multiple catalogs, edit the update_bacula_tables
@@ -37,41 +272,57 @@ The simplest way to:
 7. Start the new Bacula.  If everything worked, it should
    not print any error messages.
 
-The upgrade operation will convert the FileId index field of the File table
-from 32 bits to 64 bits.  This operation will take TIME and will *temporarily* 
-DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update,
-so, won't be able to run jobs during this period.  For example, a 3 million files
-catalog will take 2 mins to upgrade on a normal machine.  Don't forget to
-backup it before executing the script.
-
 If you start from scratch, you don't need to run the update_bacula_tables
-script.  However, if you are using a version of Bacula older than 2.5.40,
-then you need to run the update_bacula_tables script that will be found
-in the <bacula>/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.
-
-
-New configure option :
-----------------------
-
-This BETA release of Bacula 2.5.x development code uses libtool
-to generate the Bacula libraries as shared objects rather than
-being directly linked in as in prior versions.  This means that
-the Bacula shared objects, must either be in a shared object 
-directory known to the loader or they must be in the directory
-where the Bacula binaries are installed.  It is also possible
-to explicitly specify the libraries directory on the ./configure
-line (--libdir=/full-path/dir), but this should not be necessary.
-
-If you have problems with libtool or you wish to use the old 
-way of building libraries and linking them into Bacula, you 
-can do so by disabling libtool on the configure command line with:
-
-  ./configure --disable-libtool
-==============================================================
+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 <bacula>/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
@@ -81,6 +332,6 @@ 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/manuals/en/concepts/concepts/New_Features.html
+http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_0.html
   
 The ChangeLog has more details.