]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ReleaseNotes
This commit was manufactured by cvs2svn to create tag
[bacula/bacula] / bacula / ReleaseNotes
index d6fb0a77948c6ae729af9225339d35ce44575723..e4346a291a58fb4677cfde3ff9229a2a199111a8 100644 (file)
 
-          Release Notes for Bacula 1.37.30
+          Release Notes for Bacula 1.38.3
 
-  Bacula code: Total files = 420 Total lines = 136,852 (*.h *.c *.in)
+  Bacula code: Total files = 424 Total lines = 140,955 (*.h *.c *.in)
+      20,440 additional lines of code since version 1.36.3
 
-Major Changes:
-- Note! DVD writing does not work.
+Changes to 1.38.3:
+- This is mainly a bug release fix. In addition, the multiple drive
+  reservation algorithm has been rewritten.
+- In addition, the method of handling waiting for tapes to be
+  mounted and the mount messages has been modified.
+  (the above two items are a potential source of problems).
+- Simplify code in askdir.c that waits for creating an appendable
+  volume so that it can handle multiple returns from the wait code.
+- Modify the wait code to permit multiple returns.
+- Return a zero when "autochanger drives" is called and
+  it is not an autochanger.
+- Make rewind_dev() a method taking a DCR as an argument.
+  This permits closing and reopening the drive if the
+  rewind fails as happens if the drive was loaded while the
+  file descriptor was open. This refreshes the file descriptor.
+- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+  if the device is open or not.  This should eliminate
+  Arnos problem.
+- Return error if reserve cannot find at least one suitable device.
+- Make wait_for_sysop() return correct state information.
+- Fix Win32 state file problem. write was not using compat
+  code. This should fix bug #500.
+- Modify gui on command to set only GUI mode and not batch.
+- Modify .messages command to always print messages regardless
+  of the mode.                
+- If GUI mode is on, suppress automatic printing of 
+  You have messages. 
+- Modify restore command in wx-console to set gui on and to use
+  only .messages instead of messages.  Hopefully this fixes bug
+  #514.
+- Implement load balancing code with multiple drive autochangers.
+- Rewrite reservation algorithm again. Rename variables to be
+  more logical, add HEARTBEAT with Director, allow cancel of
+  jobs stuck in reservation, add last resourt any_drive.
+- Fix seg fault if user labels a drive directly bug #513
+- Remove quotes around Version as it breaks things.
+- Merge in Aleksandar Milivojevic's mods to the spec file.
+- Apply sparse code fix for raw drives and fifos. Bug 506
+- Thorsten fixed Unicode cd problem with wx-console bug 505.
+- Correct reservation system to do a last ditch try
+  for any mounted volume, then anyone anywhere.
+- Updates to ssh-tunnel from Joshua Kugler.
+- Added a report.pl program from Jonas Bjorklund.            
+- Simplify the O_NONBLOCK open() code for tape drives,
+  and always open nonblocking.
+- Do not wait for open() if EIO returned (shouldn't happen).
+- Eliminate 3 argument to tape open().
+- Correct the slot # edited in the 3995 Bad autochanger unload
+  message.
+- With -S on bscan (show progress) do not divide by zero.
+- Make cancel pthread_cond_signal() pthread_cond_broadcast().
+- When dcr is freed, also broadcast dev->wait_next_vol signal.
+- Remove unused code in wait_for_device.  
+- Make wait_for_device() always return after 60 seconds of wait.
+- Use localhost if no network configured
+- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
+- Update specs to include mysql4 define.
+- Return rec->FileIndex in dcr->VolLastIndex for normal
+  and partial records in read_record().  This allows bscan
+  to get FileIndex at EOT correct.
+- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+- Apply patch supplied by user (slightly modified) to fix
+  correct detection of holes in block devices and FIFOs. 
+  Bug # 506.
+- Apply patch supplied by user (slightly modified) 
+  to fix SD hang with multiple pools and bad client
+  IP. Fixes bug # 508.
+- Add nagios plugin to the examples directory. Submitted by
+  Christian Masopust.
+- Remove warning message about multiple saves of hardlinked files
+  from find_one.c as it can generate too many warning messages.
+- Reset timeout values before select() per patch from 
+  Frank Sweetser for problems with non-blocking sockets.
+- Unlink the state file if either reading or writing it gets
+  errors.  Hopefully this will fix Win32 exit problems.
+- Get next volume from Scratch pool before creating a volume.
+- Set new Pool defaults in Vol when moved from Scratch Pool.
+- Remove argument from create_bacula_database for SQLite as it
+  caused an error.
+- Fix reservation so that mutexes are properly applied.
+- Rework reservation algorithm so that two drives can be used
+  at the same time.
+- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at 
+  If this patch is applied, the number of days can be specified with
+  "list nextvol days=xx"
+  or
+  "status dir days=xx"
+  My use case is to be able to preview the next scheduled job (and the 
+  next tape to be used) on fridays if there are no scheduled jobs during 
+  the weekend.
+- Fix font code in gnome2 console user patch. Fixes bug #501.
+- Fix malformatted bnet error message that caused seg fault
+  fixes bug 502
+- Applied user patch to improve README.vc8 in src/win32.
+- Ensure that StorageId is stored in Media record when ever possible.
+- Remove old code from winservice.cpp
+- Break on error in scan.
+- Fix typo in signal.c
+- Separate read/write DCR in SD.  Add jcr->read_dcr.
+- Cleanup how find_device() works.
+- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
+
+Changes to 1.38.2:
+- Fix crash in tray-monitor when daemon disconnects. Bug #479.
+- Fix bnet-server bug found on OpenBSD. Bug #486
+- Fix cancel failure bug. Bug #481
+- Fix failure when Pool name has spaces. Bug #487   
+- Fix SD crash in autochanger code. Mutex failure. Bug #488
+- Fix a couple of free()s in src/filed/acl.c
+- Fix memory overrun in bfile.c in building OS X resource
+  fork filename. Bug #489 
+- Add Pool name to SD status output.
+- Add Python install dir for Solaris to configure. Bug #492
+
+Changes to 1.38.1:
+- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
+- Add bacula_mail_summary.sh to examples directory. It makes
+  a single email summary of any number of jobs. Submitted
+  by Adrew J. Millar.
+- Unmount command now unloads autochanger.
+- Fix hang in FD (Martin Simmons)
+- Fix Win98 stat() problem in FD (Thorsten Engel)
+- Fix update slots which did not clear missing tapes.
+- Fix autostart install for FreeBSD (user reported)
+- Fix several problems with PostgreSQL scripts (Eric Bollinger)
+- Critical: allow restore of the first file of non-portable Win32 backup.
+- Important: with muliple concurrent jobs the autochanger could get
+  confused because of a missing mutex.
+- Fix accessing last slot in label and update slots.       
+- Modify configure.in to add execute option to sqlite3 catalog  
+  scripts.
+- Create update_xxx_table_8_to_9 scripts for updatedb
+- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
+  autoconf/bacula-macros/db.m4 as suggested by user.  Fixes bug #457.
+- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
+  by user. Fixes bug #456.
+- AMD64 users see compiler bug warning below!!!!!!!!!
+
+Major Changes in 1.38:
+- Fixed out of order Volumes in restore.
+- Improved algorithm for reserving drives in multiple drive
+  autochangers. Autochange users MUST use the new Autochanger
+  resource in the Storage daemon.
 - There is a new database format that is not compatible
   with previous databases. You must upgrade if converting
-  from 1.36.x.
+  from 1.36.x. No changes from version 1.37.30.
 - The Director, Storage daemon, and File daemons are
-  Deamons are not compatible with  prior versions. 
+  Deamons are not compatible with prior versions. 
   All FDs must be upgraded at the same time.
-- Multiple drive autochanger support.
 - Support for ANSI/IBM labels.
-- New communications protocol between DIR and SD to reserve 
-  drives.
 - Faster database inserts due to combining the MD5/SHA1 into
   the attributes record, eliminating one INSERT/file backed up.
 - Python Event support has been added. See below for
-  configuration and details. Unfortunately, it is not yet complete
-  and the only really useful function is defining a new
-  Volume name.
-- DVD writing support, using parts, and a lot of new directives in
+  configuration and details. The implementation is somewhat minimal,
+  so the functionality is not complete. The Python interface
+  has not been extensively tested, so please consider it BETA.
+- DVD writing support, using parts, and some new directives in
   the Device resource of the Storage configuration file thanks
-  to Nicolas Boichat. NOT CURRENTLY WORKING!
+  to Nicolas Boichat. Please note that this code is still 
+  BETA and should be carefully tested before using in
+  production.
 - Seven new options keywords in a FileSet resource:
   ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
   and regexfile thanks to Pruben Guldberg). See below for details.
@@ -31,10 +172,9 @@ Major Changes:
   records have been removed from the catalog.
 - Restore of a directory (non-recursive, i.e. only one level).
 - Support for TLS (ssl) between all the daemon connections thanks
-  to Landon Fuller.
+  to Landon Fuller.                         
 - Any Volume in the Pool named Scratch may be reassigned to any
   other Pool when a new Volume is needed.
-- Seeking on disk Volumes during restore.
 - You may clone a Job and thus write (almost) the same data
   to multiple Volumes simultaneously (see below). Actually, 
   any Job may start any other Job with this mechanism, so it
@@ -42,14 +182,16 @@ Major Changes:
 - Unicode filename support for Win32 (thanks to Thorsten Engel)
 - Volume Shadow Copy support for Win32 thus the capability to
   backup exclusively opened files (thanks to Thorsten Engel).
-  A VSS enabled Win32 FD is available.
+  A VSS enabled Win32 FD is available.  You must explicitly
+  turn on VSS with "Enable VSS = yes" in your FileSet resource.
 - New manual format with an index (thanks to Karl Cunningham).
 - New Web site format (thanks to Michael Scherer).
-- SQLite3 support, but it seems to run at 1/2 to 1/4 the speed of
-  SQLite2.
+- SQLite3 support.
 - Web-bacula, previously a separate project by Juan Luis Frances,
-  is now included in the Bacula GUI release (yet to be fully
-  created).
+  is now included in the Bacula GUI release. This is a management
+  level tool for reporting the state of Bacula jobs.
+- The code is now Internationalized so that it can be localized
+  in native languages.  Thanks to Nicolas Boichat.
 
 New Directives:
 - New Job directive "Prefer Mounted Volumes = yes|no" causes the
@@ -69,7 +211,7 @@ New Directives:
   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:
+- New Options keywords in a FileSet directive (backported to 1.36.3):
   - WildDir xxx
     Will do a wild card match against directories (files will not
     be matched).
@@ -150,28 +292,70 @@ New Commands:
    sure no Python scripts are running. This permits you to change
    a Python script and get Bacula to use the new script.
 
+New configure options:
+- --with-libintl-prefix for defining alternate locations for
+  the NLS internationalization libraries. Not normally required.
+- --datadir  for defining where the language files will be installed
+  required only if you do not want the default /usr/share.
+
 Items to note!!!
-- DVD writing is not yet working.
+- The Storage daemon now keeps track of what tapes it is using
+  (was not the case in 1.36.x). This means that you must be much
+  more careful when removing tapes and putting up a new one. In
+  general, you should always do a "unmount" prior to removing a
+  tape, and a "mount" after putting a new one into the drive.
+- If you use an Autochanger, you MUST update your SD conf file
+  to use the new Autochanger resource.  Otherwise, certain commands
+  such as "update slots" may not work.
 - 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.
+  if you want Python support.  Python 2.2, 2.3 and 2.4 should be 
+  automatically detected if in the standard place.
+- When linking with --with-python, there are a few warnings that
+  can be ignored.
 - You must either create a new catalog database or upgrade your
-  old database (the PostgreSQL upgrade scripts not yet tested).
+  old database. After installation, run from your scripts
+  directory:
+
+       ./upgrade_bacula_tables
+
+  You can also find this script in the <bacula-source>/src/cats
+  directory.
+- The Director, Storage daemon, and File daemons are
+  Deamons are not compatible with  prior versions. 
+  All FDs must be upgraded at the same time.
 - You must add --with-openssl to the configure command line if
   you want TLS communications encryption support.
+- Disk seeking during restores does not yet work correctly in
+  all cases, so it is turned off.
+- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
+  AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
+  generates bad code that causes Bacula to segment fault.
+  Typically you will see this in the Storage daemon first.  The
+  solution is to compile Bacula ensuring that no optimization is
+  turned on (normally it is -O2).
+  This same compiler bug has been reported and confirmed with
+  gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
+  an AMD64 CPU.  This for the moment, I would recommend that all
+  users of GCC 4.0.1 or greater turn off all optimization when
+  compiling.
+
 
 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
+- Security fixes for temp files created in mtx-changer, during
+  ./configure, and during making of Rescue disk.
+- A new script, dvd-handler, in the scripts directory,
+  which is 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/).
-  You must have Python installed to run the dvd-freespace script.
-- Part files support: File volumes can now be splitted in multiple
+  (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
+  program must be patched using the 
+  <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
+  You must have Python installed to run the scripts.
+- Part files support: File volumes can now be split into multiple
   files, called "parts".
-
 - For the details of the Python scripting support, please see the new
   Python Scripting chapter in the manual.
+- The default user/group for the Director and Storage daemon installed
+  by rpms is bacula/bacula, thus you may need to add additional permissions
+  to your database, or modify the permissions of the tape drive.  If
+  all else fails, change to using user=root.  However, it is more secure
+  to use user=bacula.