
               Release Notes for Bacula 3.0.2

  Bacula code: Total files = 1,009 Total lines = 205,726 (Using SLOCCount)

Note, if you are not already running 3.0.x, read the 3.0.x release notes 
below.  Important!!!

Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with
some enhancements (see below).

Changes since 3.0.1:

Bug fixes:
  1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315
  1317, 1318, 1323, 1325, 1331, 1333, 1335

Fixed:
 - Fix problem with the Postgresql driver that sometime displays <NULL> values
 - Cleanup old job records when starting the Director
 - Fix bugs in xattr code
 - Fix encoding problem with Postgresql
 - Fix that prevents restore by file selection from using Copy job

Enhancements:
 - Security enhancement for the File Daemon
 - New directive to specify source address for outgoing connexions
 - Show volume availability in autochanger when doing restore.
   This is project 31 in the projects file.
 - Add accurate=yes/no option to estimate command
 - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure
 - Add a restore menu that contructs a full restore when entering a JobId.
   This is project 2 in the projects file.
 - Add new Nagios plugin

Compatibility:
Like always, both the Director and Storage daemon must be upgraded at
the same time.

Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2
Director and Storage daemons. It should be no need to upgrade older File
Daemon.

============ Documentation improvements needed ==================

Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the
following areas:

1. Missing documentation.
2. Correction of links within various manuals -- most fail.
3. Integration of the new features into the main documents.
4. Much more.

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.
=====

================== 3.0.1 Release Notes ========================

Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with
one enhancement.

================== 3.0.0 Release Notes ========================

The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release
represents an enormous effort.

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.

================== Warning !!!!!! ==========================

New Catalog format in version 3.0.0 (2.5.40 or later)
-----------------------------------------------------

This 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 3.0.0 (version
11).  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 3.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
   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.

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 because the create_bacula_tables script automatically creates the new
table format.  However, if you are using a version of Bacula older than 2.5.40
(e.g.  2.4.4) 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.


Important New configure options :
----------------------

This release of Bacula 3.0.0 uses libtool by default
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.

  ./configure --libdir=<full-path>

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

During the installation of Bacula 3.0.0, it will now install
bat help files (if you have configured bat).  These files
are placed in /usr/share/doc/bacula/html by default. If you
want to put them elsewhere use:

  ./configure --htmldir=<full-path>

During the installation of Bacula, it will now install the
ReleaseNotes, License, technotes, ChangeLog, and similar
files in /usr/share/doc/bacula by default.  If you
want to put them elsewhere use:

  ./configure --docdir=<full-path>

During the installation of Bacula, any plugins will be
installed in the plugindir, which is by default the
same as libdir (/usr/lib).  You can specify an alternate
location with:

  ./configure --with-plugindir=<full-path>

==============================================================

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/manuals/en/concepts/concepts/New_Features.html



  
The ChangeLog has more details.
