Release Notes for Bacula 1.32f-3 Bacula code: Total files = 262 Total lines = 80,352 (*.h *.c *.in) 2004-01-12 Version 1.32f-3 12Jan04 Release - Modify findlib/makepath.c to create all parent directories with full permissions. This should solve the access problems on restoring files on Win32 systems. - Modify restore to report **** Restore Error **** if any error are found. I.e. a file could not be created. - Change a few errors into warnings -- e.g. if permissions could not be set, but the file is actually restored. Release 1.32f-2: - This release has two patches applied: 1.32f-1-weekofmonth.patch 1.32f-2-eom-nextvol.patch - Fix an incorrect calcualtion of the week of the month reported by Volker Sauer -- patch 1. - Fix bug reported by Phil (could not duplicate here) where at the end of a Volume, Bacula wanted a new Volume and got into a loop requesting it, then gave up -- Patch 2. - Modify selection of next Volume to select most currently appended Volume, or if none oldest recycled Volume (problem reported by Lars) -- Patch 2. - Added new spec file from Scott. Changes since 1.32e: - Note, this change affects only the Win32 FD. - Fixed Win32 FD crash due to missing argument in status command. It always crashed if there was a job that had previously run. Thanks to Christopher Hull for finding and diagnosing this problem. Most Significant Changes since 1.32e-08Dec03 - Added additional error messages to smtp. - Added suse platform directory and configure code. Must be tweaked for SuSe. - Added debian platform directory. - Fixed fd.in (thanks Dan) to configure subsystem directory. - Back ported fix to Week of Month from 1.33 - Add JobId to Running jobs and Terminated Jobs status list. - Fixed "Phil's" bug where after doing a restore from a tape, if the next operation was an append to the same tape, the number of files on the tape and in the catalog got out of sync. - Fixed bug in Terminated Jobs status list that repeated the same job. Most Significant Changes since 1.32d - All 1.32d patches applied. - Fixed seg fault in restore of multiple simultaneous jobs to a single Volume. - Fixed thread race problem in multiple simultaneous jobs to a single Volume where the volume lable is not in the first tape block, so the tape is not recognized. - Enhance "fill" command of btape -- simpler output. Use -v to cause last block to be dumped after write and after re-read. - Added an autochanger test to the btape "test" command. It is automatically invoked if the autochanger is properly configured. It is still a bit primitive but covers the essential of testing the mtx-changer script with your autochanger. - Added forward space file test to btape "test" command. - New version 1.5.5-1 Cygwin. - Select the oldest LastWritten volume during recycling. - Modify SD to update the catalog database when it is shutdown, even if the job is canceled. - The console program will run all commands it finds in ~/.bconsolerc at startup. - Add Dan Langille's changes to the bacula start/stop script that permit dropping root permissions just after startup. - The "mark" command in the restore command now provides feedback on how many files were marked. Other Changes since 1.32d: - Fixed getdomainname() prototype on Darwin. - Fixed an SQL typo (missing space) in "list volumes jobid=xxx" - Fixed crash with "list job" - Fixed crash with ' entered as a filename to be restored (any name causing an SQL error would cause the crash). - Fixed | syntax in FileSet Include. - Corrected crash in restore in some weird cases where the bootstrap file defined in the resource. - Fixed a crash when storage daemon did not accept unknown Device. - Fixed a rare crash in list nextvol - Fixed a compile error if zlib does not exist. - Finally got the Gnome console running correctly under Gnome 2.x - Print human readable message on error by gethostbyname(). - Fixed a time conversion problem in tape label. - A number of enhancements to btape (more work to be done). - Updates to Solaris system installation files. - New bacula.spec.in from Scott Barninger -- including a rescue rpm. - Slightly different listing and list sorting, more important fields are first. Items to note: !!!!! - All daemons should be compatible with all other 1.32x versions, you can mix and match (hopefully). Change in previous releases: Most Significant Changes since 1.32c - Mainly a bug fix release. - Do a clean of both Gnome directories. - Require that FileSet id match when finding an Incremental previous job. This was already the case for a Full. - Print message if no status returned from FD. - Correct "Do not forget to mount the drive" message. Test was backward. - "status dir" stopped scanning the run records on the first one that matched giving an incomplete listing. - Edit commas in Bytes on "estimate" command output. Most Significant Changes since 1.32b - Implemented a RunAfterFailedJob record in the Job resource. - Implemented "delete job" command in the Console. - Gnome 2.0 console compiles and works. - Implemented VerifyJob record in the Job resource that tells Verify which job to verify (JobId not required) - First cut Verify Disk to Catalog - Fix "status dir" to examine all run commands in Schedule. - Close unused file descriptors in bpipe.c - There is now a patch for FreeBSD 4.8 pthreads that fixes the problems of data loss at the end of a tape. Please see: /platforms/freebsd/pthreads-fix.txt - Fixed (I think) the elusive Windows "packet too big" bug. - Added %v to RunBefore/After editing codes. It edits in a list of Volumes used for the job (not tested). Most Significant Changes since 1.32a: - Improve forward space file/block during restore, many optimizations. - Fix a Bacula bug that did not allow appending to a tape on FreeBSD systems. - Fix pruning so that it will not prune the current job. - Modify configure to use non-threaded MySQL client lib if the threaded version is not present. - Implement restore by file before date. - When pruning don't prune the current job. Major Changes 1.32a Release: - Implemented forward space file/block whenever possible during restore. Restoring a small number of files is now much faster. - There is a new option to restore that allows you to restore files based on their Filename. You can also specify a file to read which contains the list. - Added ClientRunBeforeJob and ClientRunAfterJob. - Implemented Include | and < in File daemon. - Automatic labeling of tape Volumes should work now. - Recycling has been completely restructured and should work. - Implemented full length time interval qualifiers (e.g "5n is now "5 min" or "5 minutes". A modifier is now required! - Fixed gnome-console to compile with RH9 (Gnome 2.0) - Implemented "list nextvol job=xxx", which displays the next volume to be used by job xxx. The Volume name to be used is also added to the "status dir" output. - Lots of fixes with variable expansion and counter variables - Implemented a new Include/Exclude syntax. - While writing a tape, an end of file mark will be written every 1Gb. This makes restores faster. If you want to change this use "Maximum File Size" in the SD Device resource. Other Changes 1.32a Release: - Fixed sparse file bug. - A warning message is sent when a job starts that will be blocked because the user did an "unmount". - Block checksum errors if any are printed in the job report. - Implemented a single routine to read_records. It also returns a different record packet for each session. This means that multiple simultaneous jobs should work. - Added SDConnectTimeout to FD. - Lots of doc enhancements - Fixed a PurgeOldestVolume bug (VolStatus not returned) - Don't crash if DB address record not specified. - Return VolStatus on find_next_volume. - Use alist for incexe name_list. - Use bget_dirmsg() everywhere possible when talking to FD. - Delete old semaphore job and workq job scheduling code. - edit_run_codes in one place (/lib) Add Job name - Update query.sql to find current backups correctly. - Correct ambiguous SQL statement for pruning. - Set heartbeat interval to zero by default. - Fix a possible race condition in stopping the heartbeat thread. - Eliminate gnome2-console directory. Everything is in gnome-console - Enhanced "packet too big" message to indicate who sent it. - Corrected console prompt problem in non-readline versions. - Correct a number of variable expansion problems. - Added a number of new regression tests. - In an attempt to make configuration a bit less confusing, I've changed the name of a number of variables. The old ones still work, but will be phased out over time. FDAddress, FDPassword, SDAddress SDPassword, SDDeviceName, and DBPassword. - A possible fix to the very intermittent SD crashes that Alex gets. Items to note: !!!!! - Modifiers (sec, min, hour, day, ...) are now required on conf file time interval specifications. - Duplicate names within the same conf resource are prohibited. - If you have used a prior BETA version of 1.32, please do the following to cleanup any zero length spool files: cd rm -f *.spool.* Please be sure there are no spaces between the asterisks and the periods.