Technical notes on version 2.3
+
+New features:
+Accurate files
+TLS authentication
+bextract Win32 data
+Run afterVSS
+Multiple command/console per runscript
+console command in runscript
+Bat API
+Plugin API
+State file updated on job term
+PluginOptions
+FD Version
+Duplicate Job directives
+MaxFullInterval
+MaxDiffInterval
+Honor nodump flag
+Improved status commands for Bat
+Spooling/despooling status
+Implement ftruncate for NFS devices
+Add long term statistics job table
+
+
General:
+31May08
+kes Add create_postgresql_database.sql to Win32 installer. Should
+ fix problem reported by Juilio Monteiro.
+kes Get correct slot when auto unloading a device.
+30May08
+kes Fix multiple media restore.
+kes Make DEVICE Slot private and access it via a method.
+ Allows better control over when it is set and cleared.
+kes Fix possible seg fault if SQL error.
+28May08
+kes Add Martin's fixes to argument scanning for the estimate
+ command. This fixes bug #1093.
+kes Add debug code to SD.
+kes Fix renaming a Volume, which used the wrong Volume name.
+26May08
+kes If operator has rewind tape, print warning, release tape and
+ try once more. If tape is positioned somewhere, something went
+ wrong, so mark the tape in error and try once more. Previously
+ this error was fatal, now it produces an error message.
+kes Ensure correct volume name displayed during restore
+kes Ensure that Volume is mounted for restore.
+25May08
+kes Fix a few more Coverity reported problems.
+24May08
+kes Apply Allan Black's status dir job count patch.
+ebl Add information about IMPORT/EXPORT slots in mtx-script.
+kes Enhance a couple of SD debug messages.
+kes Tweak unload flag setting and ensure it is set during swap.
+23May08
+ebl Fix #1091 about bad output in estimate command.
+21May08
+kes Modify autochanger locking to attempt to avoid race
+ conditions.
+kes Make sure device not busy before doing label command.
+kes Display open() errors except when polling. Previously too
+ many were suppressed. This should fix bug #1070.
+kes Fix Win32 reparse points. Bacula will not recurse into any
+ reparse point directory, including mount points, unless the
+ directory is explicitly mentioned at the top level (same as
+ with Unix). A file that is linked to another file will be
+ backed up -- much as Unix does for hardlinked files.
+ This fixes bug #1041.
+20May08
+kes Remove double quotes from ChangeLog and ReleaseNotes
+kes Remove StorageId test when pruning and recycling (Eric's changes).
+kes Remove old form of locking when getting volumes -- causes deadlock.
+kes Change bat dirstat layoutWidget to dirstatlayoutWidget to make
+ the name unique and to eliminate compile time error.
+kes Add accurate.o to Win32 FD Makefile
+19May08
+kes Fix cats dll build on Win32 after db_update_job_end_record
+ calling sequence change.
+ebl Switch to tokyo dbm instead of htable in accurate code
+ebl Include tokyo dbm to bacula source tree
+17May08
+kes Fix buffer overruns detected by Coverity.
+13May08
+kes Tweak joblog display.
+12May08
+kes Implement --without-qwt
+kes Fix layout of restore tree dialog
+kes Add configure bat QWT libraries, so that bat can be built
+ with or without the QWT libaries.
+11May08
+ebl Add dummy tape driver for regression tests.
+kes Make sure we unload the right slot when swapping.
+10May08
+kes Add debug times, reduce size of two-pool-changer test
+08May08
+ebl Tweak autoconf scripts for faketape
+07May08
+kes Improve SD reserve debug code.
+kes Testing an improvement to free up volumes no longer in use.
+03May08
+kes Rework SD acquire for read to handle autochanger Volume
+ swapping.
+kes Implement regression that explicitly tests swapping a Volume
+ from one drive to another.
+kes Enhance disk-changer to detect most error conditions.
+kes Fix SD code so that it properly swaps a Volume between drives.
+ This fixes bug #1083.
+02May08
+kes Apply libdbi patch from Joao Freitas for regress and for
+ Bacula trunk. Regress now works with libdbi. Nice.
+kes Apply .nobackup patch from bug #1077 submitted by
+ Edwin Groothuis.
+kes Apply Bastian Friedrich's patch that adds %p to edit the pool
+ name into jobs cloned via the run directive.
+01May08
+kes Prevent a Volume that is being swapped from being freed from
+ the volume list. This will most likely fix, at least partially,
+ bug #1083.
+kes Fix strippath so that it does not get a buffer overrun and crash FD.
+ This fixes bug #1078.
+kes Remove 50 millisec wait in SD that broke debugger.
+ebl Add MaxRunSchedTime option that specifies the maximum allowed time
+ that a job may run, counted from when the job was scheduled.
+ebl Fix MaxWaitTime option that specifies the maximum allowed time that
+ a job may block waiting for a resource, counted from when the job starts
+ebl Rename (add) Max(Incr|Diff|Full)WaitTime to Max(Incr|Diff|Full)RunTime
+kes Apply patch from bug #1076 by Tullio Andreatta <t.andreatta@troppoavanti.it>
+ that implements multiple commands per line in the console when using
+ readline. Modify the default to use a semicolon as the command separator.
+28Apr08
+ebl Fix SQL query in migration code.
+ebl Make accurate mode with hash disk pass regression tests
+27Apr08
+ebl Implement first cut of accurate backup with hash disk.
+19Apr08
+kes Force unload of volume when wrong volume mounted in SD.
+17Apr08
+kes Fix bat seg fault at termination.
+kes Add Bacula generated version to bat about box.
+
+16Apr08
+kes Experiment with allowing multiple read jobs.
+kes Move final volume swapping code to DCR method and
+ call it from acquire_for_read().
+kes When wrong volume is mounted during read, unload_autochanger.
+15Apr08
+kes Integrate the libdbi changes from Joao Henrique Freitas
+14Apr08
+kes Stop searching for Volumes in SD askdir if DIR returns the
+ same volume name twice in a row.
+kes Close bat console windows first to eliminate error message
+ from the notifier.
+13Apr08
+kes Tweak the swap Volume from one drive to another code so that
+ it now seems to work.
+kes Resolve several problems with recycling that broke the new
+ code (these problems are in 2.2.9 as well).
+kes Remove the volume lock when calling the sysop code.
+kes Don't mark a reserved volume with no writers as unused otherwise
+ jobs fail.
+12Apr08
+kes Rework class structures for VOLRES, DCR, and DEVICE to make
+ the method names a bit more logical, and for more logically
+ handling the responsibilities.
+11Apr08
+kes Remove redundant code in terminating the scheduler that just
+ causes a seg fault in many cases.
+kes Cleanup releasing a volume and make it a DCR method.
+kes Improve algorithm for detecting pre-reserved volume and
+ swapping volumes.
+10Apr08
+kes Tweak volume swapping code so it works.
+kes Correct name overloading in mount.c
+kes Replace released flag in VOLRES with reserved and add access
+ methods for the VOLRES class.
+kes Prevent volume from being released while being swapped.
+kes Apply Bastian Friedrich's edit codes patch for the bpipe-fd
+ plugin.
+kes Apply Bastial Friedrich's edit pool=%p patch for run clone
+ jobs.
+kes Refactor parts of stored/mount.c
+09Apr08
+ebl Add sanity checks for VolWriteTime and VolReadTime
+ebl Take care of bad clock changes while computing VolWriteTime
+ and VolReadTime. This should fix or limit #1066
+kes Correct error string numbers in dird/catreq.c
+kes Restructure reserving, acquiring, and mounting volumes. Calls to
+ autochanger are deferred for mount.c -- simplifes the code.
+08Apr08
+kes Do not prune any running job. It just fails the job.
+kes Lock the volumes when changing dev->reserved_device and marking
+ the volume unused otherwise the device can get reserved by
+ another job before the volume is released, thus blocking it.
+06Apr08
+kes Correctly detect Ubuntu systems, and add ubuntu platform directory.
+kes Fix bug #1063, reuse of freed ptr in list nextvol.
+kes Release regex compile buffer in filed/job.c
+kes Add proper type of const char in sql_create.c
+kes Turn off debug in daemon termination routines
+kes Move free_volume_list() before devices are freed in stored.c
+kes Fix reference to uninitalized stack variables in bregex.c.
+ This should correct bug #1067.
+04Apr08
+kes Fix possible seg fault in SD when freeing a volume entry.
+03Apr08
+kes Implement unload_dev() before swap device.
+ebl Add statistics prunning with option and menu
+kes Separate unload_dev() from unload_other_device() in autochanger.c
+02Apr08
+kes Apply patch from bug #1069 that corrects spurious error messages
+ when ACLs enabled on SGI but no ACL exists.
+ebl Fix small segfault in bacula-sd when debug level is 500
+kes Modify run_program() and run_program_full_output() to use
+ call by reference for the results string. This corrects a long
+ standing problem where the address of the string may be changed
+ in the subroutine but not in the calling program.
+01Apr08
+kes Re-enable code to remember last volume mounted on a non-tape
+ Autochanger.
+kes Add patch supplied in bug #1068 that fixes a SD crash when using
+ a Virtual autochanger.
+kes Generate correct JobMedia records during spooling/despooling when
+ running concurrent jobs. Thanks to Tom Ivar Helbekkmo
+ <tih@hamartun.priv.no> for excellent analysis and testing.
+31Mar08
+kes Tweak hash algorithm for htable using Martin Simmons idea
+ for doing a circular shift.
+kes Remember what volume is in VTLs (previously turned off for
+ testing).
+kes Analysis of JobMedia records by Tom Ivar Helbekkmo <tih@hamartun.priv.no>
+ pointed out some problems in creating JobMedia records during
+ spooling with concurrent jobs. Fix the problem by updating the
+ start file position before despooling and generate a jobmedia
+ record at the end of despooling.
+28Mar08
+kes Fix handling of JobMedia records during spooling and when a
+ Volume is changed without actually writing data to the Volume.
+27Mar08
+kes Rework certain SD locking based on gdb tracebacks of deadlocks
+ sent by Eric. This code now uses only the volume_lock() rather
+ than the reservations lock when at EOM and acquiring a new
+ volume.
+kes Ensure only one exit point in several subroutines.
+26Mar08
+kes Implement bsock code to permit locking. Use the new code in Verify
+ in the FD to prevent the heartbeat thread from disrupting the Verify
+ data sent to the Dir.
+kes Modify SD locking to eliminate locking the reservations system from
+ outside the system. Use the volume lock when getting media data
+ and reserving a new volume at end of media.
+kes Add Eric's volume_unused() fix to stored.c so that Volumes found
+ when SD starts are not locked into place.
+24Mar08
+kes Fix error compiling runscript code on 64 bit machines.
+kes Tweak Win32 mount point code.
+kes Fix a couple of bugs in the accurate code (bad sscanf, buffer not
+ cleared giving bad file estimate).
+kes Implement BIG_MALLOC in htable code. Runs 2.5 times faster for
+ 5 Million entries.
+22Mar08
+kes Keep Schedule run lists in order as suggested by
+ Bastian Friedrich.
+21Mar08
+kes Implement autostart scripts for Debian.
+ebl Implement upgrade catalog scripts.
+20Mar08
+ebl Apply jobstat patch for long term statistics. Have to implement
+ purge stats command and upgrade scripts.
+kes Fix mtx-changer.in for broken Debian mt program.
+19Mar08
+kes Fix large number of JobMedia records reported by Eric Bollengier.
+18Mar08
+kes Apply doc fix from bug #1062.
+kes Resolve crash and improper restore wx-console Win32 restore
+ GUI. Fixes bug #1065.
+kes Update Win32 wxWidgets to latest version.
+kes Attempt to do correct handling of Win32 mount points. Should
+ fix bug #1046.
+kes Fix Win32 FD backup/restore memory leak due to improper termination
+ of BackupRead/Write. This fixes bug# 1038.
16Mar08
ebl Reduce memory usage for accurate backup, working only with ctime
and mtime. (not all Lstat field)