]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ReleaseNotes
Remove docs from spec
[bacula/bacula] / bacula / ReleaseNotes
index aded88433860f033af6a1a15e1407b7885326585..fe281432e7b52a794e99ec775404f98b8e6fbf25 100644 (file)
 
 
-          Release Notes for Bacula 2.1.26
+               Release Notes for Bacula 3.0.2
 
 
-  Bacula code: Total files = 516 Total lines = 244,888 (*.h *.c *.in)
+  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,
 
 This Director and Storage daemon must be upgraded at the same time,
-but they should be compatible with all 2.0.x File daemons, unless you
+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
 use some of the new features that affect the FD.  In other words, you should
-not have to upgrade all your File daemons.  However, bat works only with
-a 2.1.8 Director or greater.
-
-!!!!!!!!!!!!!!!!!!!!!!! Please Note !!!!!!!!!!!!!!!!!!!!!!!!!!!
-Restore on Win32, and in particular on Vista is untested. Please
-test before relying on it.  It should backup and restore reparse
-points.
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-Changes since Beta release 2.1.24
-- Add qwt graphics library (for Qt4) needed to build bat to the
-  depkgs-11Jul07.tar.gz package
-- You now need a --with-qwt=<dir> to be able to build bat.
-- Keep prune_volumes() from pruning the whole Scratch pool.
-- More debug output in status storage.
-- Correct moving a Scratch volume from pool to pool (some
-  critical columns were lost).
-- New more efficient db_get_query_dbids() -- not yet implemented
-  everywhere, but currently used in volume pruning.
-
-Changes since Beta release 2.1.22
-- Different locking in reservations and despooling systems,
-  which means more micro-locking and less macro-locking, which
-  should give a lot more concurrency at the expense of slightly
-  (<0.1%) more overhead due to more locking/unlocking, but     
-  concurrent jobs should run much faster.
-- Patch from Sergey Svishchev <svs@ropnet.ru> that fixes bug in
-  migration code where a job that spanned two volumes was
-  migrated twice.
-
-Changes since Beta release 2.1.20
-- New graphs in bat
-- Due to a typo, I had inadvertantly turned off batch insert mode.  
-  It is now re-enabled
-- Possible fix for bug #888 (dropped comm lines using TLS).
-- Test version of Win32 binaries for Vista.
-
-Changes since Beta release 2.1.18
-- Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
-  loaded tape but uses first drive).
-- Fixed bug #807 Restore encrypted backup failed on Windows 2003
-  This was indeed a Win32 issue.
-
-Changes since Beta release 2.1.12
-- Version 2.1.14 not released.
-- Possible solution to Win32 encryption restore signature errors.
-- Reload with syntax errors in @include now works.
-- Gnome console builds with encryption.
-- Fixed bugs #864, 872, 874, 882, 882, 877, 886, 885.
-- License is now GPL v2 without modifications, fix a few copyright
-  mistakes made when adding FSFE copyright notice.
-- Fix update all from pool to pass pool name.
-- Correct reservation system bug that invalidated Volumes by
-  calling find_next_appendable volume before acquiring a device.
-
-Changes since Beta release 2.1.10
-- Lots of new bat functionality !!!!!!
-- Additional drive reservation algorithm that should solve a lot of
-  the problems experienced with multiple drive autochangers.
-- Reload was broken in 2.1.10 -- now fixed.
-- Storage daemon status command enhanced to more clearly show Volume,
-  pool and media type when a job is waiting.
-- Made bsmtp work with more strict SMTP servers.
-- Detect doubly freed buffers in smartall.c
-- Reduce the impact of a backup on the FD's memory usage (OS file
-  caching). This works only on POSIX compliant systems. This allows
-  users to work with less interference on a Client machine during a
-  backup.
-- bat should now handle non-English characters.
-- ./configure now permits --enable-batch-insert (as well as --disable...).
-  This feature is enabled by default if your SQL libraries are thread
-  safe.
-- The default setting for SQLite3 is now 'PRAGMA synchronous=OFF'.
-  This makes it run 30 times faster, but increases the possiblity
-  of a corrupted database if your server shuts down unexpectedly.
-  The default behavior can be changed in src/version.h
-
-Areas requiring caution or testing:
-- You must have Qt4 Version 4.2 or greater loaded to build bat
-- You must have the thread safe version of MySQL client libraries loaded
-  to build with MySQL enabled.
-- The Volume management in the Storage daemon is extensively rewritten.
-  It appears to function much better, but is largely untested under
-  severe production stress conditions (multiple drive autochangers, ...).
-- Volumes are pruned only when absolutely necessary -- this may cause
-  your database to grow compared to prior Bacula version.
-- Socket level heartbeat is untested.
-- Solaris door and even port files are no longer restored (equivalent
-    to what we do with sockets).
-- Win32 servers are untested, and very likely not to work.
-- SQLite is no longer supported for Solaris -- it fails too often with
-  bus errors.     
-
-The major new features are:
-- Much faster insertion of attributes (somewhere around 10 times),
-  many thanks to Eric Bollengier and Marc Cousin. 
-- First cut of bat (Bacula Administration Tool).  Note to build
-  bat you must explicitly enable it on the ./configure line, you
-  must have the Qt4 version 4.2 or later libraries loaded, and
-  qmake and the other Qt4 tools must be available.  bat is ALPHA
-  software.  A large part of the work was done by Dirk Bartley.
-- Red/Black restore in memory tree (500 times faster loading).
-- The Regex Where code to allow easier relocation of restored files 
-  thanks to Eric.
-- Socket level heartbeat for all connections (untested).
-- posix_fadvise() use in the FD to improve performance.
-- Simpler locking in the SD in the reservation system.
-- Much improved Volume reservation code that should eliminate most
-  conflicts experienced in multiple drive autochangers.
-- Detection of file size/date change during backup if enabled.
-- New Recycle Pool feature -- thanks to Eric.
-- Efficient implementation of very large include/exclude lists.
-- Volumes are no longer pruned during 'status dir'
-- Pruning is now more efficient, and if a Volume is purged,
-  during pruning, it is immediately discovered.
-
-Other features or bug fixes:
-- Fixed bugs: 856, 854, 845, 847, 846, 809, 772, 
-  822, 825, 824, 808, 802, 797, 798, 795, 789, 791, 
-  788, 780, 763, 782, 612, 767, 775, 621, 772, 764, 
-  766, 621, 761, 755, 750, 741, 747, 742, 744, and 743.
-- Only the minumum number of volumes are pruned rather than
-  all volumes in the pool.
-- wx-console renamed to bwx-console
-- gnome-console renamed to bgnome-console
-- Migration preserves original job's FileSetId
-- Spooling implemented for migration jobs.
-- Config files can be read through a pipe, by specifying a leading |
-  in front of the configuration path/filename.
-- New memory command (bconsole) that will print the current Director's
-  memory usage, and a in use buffer dump.
-- Solaris door and event port files are no longer restored.
-- Console name changed from *Console* to -Console- to accomodate Win32
-  filename restrictions.  
-- Corrected Win32 ftruncate bug.
-- Additional version information added to Job reports.
-- New -8 option for bsmtp to specify UTF-8 encoding type.
-- bsmtp will no longer add < > to target (from, to, cc) if there
-  is already a < in the target.
-- Perfer Mounted Volumes extended to mean a volume that is being
-  mounted by another job.
-- Runscript timing set to same as version 1.38.11
-- New TLS Allowed CN directive(s) permitted.
-- New bconsole 'exec' command to run external script/command.
-- Turn on FreeBSD/OpenBSD code to set EOT model on tape.
-- Drop from root done before database is opened.
-- database user and name can be configured with:
-  --with-db-name=name --with-db-user=user
-- turn on wait_for_drive in mtx-changer script.
-- rework how bar codes are handled in mtx-changer script.
-  This appears to have been an unreported bug.
-- Updated nagios plugin supplied by Christian Masopust
-- Better restricted console ACL checking.
-- New Client Connect Wait directive in Storage daemon so that
-  users can configure how long SD waits for FD connection.
-- Bacula will no longer permit pruning of the currently running
-  job (note, if other jobs are running, they may be pruned).
-- Sockets are no longer restored.
-- dbcheck works in 300K chunks so will typically run faster.
-- Include/Exclude lists can now be efficiently handled for quite
-  large sizes -- tens of thousands of entries.
-- Several memory leaks in migration and database usage were fixed.
-- New console keyword restoreclient, which specifies the client to
-  which the restore will be sent. The client keyword specifies 
-  the backup client. The restoreclient keyword is optional if it is
-  not specified, the backup client will also be the restore client.
-- The disk file size is now checked to ensure that it agrees with the
-  catalog value before Bacula will append to the disk (same as tape
-  and DVD).
+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.