Technical notes on version 2.3
General:
+06Jan08
+ebl Fixes #1034 which cause mysql to hang the connection after 8h
+ebl Change default statistics target of filename.name and path.path
+ fields for PostgreSQL. This speeds lookup by indexes. Thanks
+ to Marc Cousin.
+kes A few more tweaks to new reservation code. Make sure to clear
+ vol released flag when retaking volume. When reading label and
+ label is bad mark volume unused. When recycling, mark volume
+ unused so it can be renamed.
+05Jan08
+kes Fix reserve_volume() so it doesn't release a volume in use
+ (i.e. a volume entry not marked released). This should be
+ the last part needed to fix bug #1018.
+02Jan08
+kes Fix existing switch drive SD code to call autochanger to release
+ any old volume. This must be done to keep the autochanger from
+ releasing subsequently newly reserved volumes in doing a close().
+ This should fix bug #1018.
+kes Fail if attempting to get console input in batch mode. This
+ should help fail RunScript console commands that are incomplete.
+kes First cut implementing switch_drive() in SD (not actually called).
+31Dec07
+kes Implement first cut running console commands in a RunScript.
+29Dec07
+ebl Fixes bug #1028 where "Selection Type" option was not usable
+ with JobDefs.
+ebl Fixes bug #897 and bug #1005 where bacula doesn't display runscript
+ output in error.
+24Dec07
+kes Add new free_tls() entry point so that Win32 builds.
+kes Fix compile warning in src/lib/util.c
+kes Fix entry point for edit_job_codes() so that Win32 builds.
+kes Fix seg fault Frank Sweetser reports in regression testing
+ on his systems. The problem was that the original author of
+ bsnprintf.c did not take into account the side effects of
+ using ++x in the argument to a #define.
+kes Make SD protocol backward compatible with version 2.2.x.
+19Dec07
+ebl Fixes bug #1015 where bacula failed to restore acl to a socket
+ because Bacula no longer restores sockets.
+ebl Always use ignorecase fileset option on win32 FD.
+14Dec07
+kes Apply patch from Michael Stapelberg <michael@stapelberg.de>
+ that implements double quoting include names in conf files,
+ and also allows piping input by having the first character
+ be a vertical bar (|).
+kes Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
+ that implement %f in RunScripts to pass the FileSet name.
+kes Skip leading | when lex input comes from a pipe as suggested
+ by Michael Stapelberg <michael@stapelberg.de>.
+13Dec07
+kes Apply patch for bsmtp Win32 daylight savings time fix supplied by
+ Nerijus Baliunas <nerijus@users.sourceforge.net>
+12Dec07
+kes Implement Plugin Directory and plugin events.
+11Dec07
+kes Implement a security enhancement: TLS authentication but no
+ encryption. Enabled by setting 'TLS Authentication = yes'.
+ Note when this is on, TLS encryption is turned OFF!
+10Dec07
+kes This patch corrects a problem where the maximum concurrent storage
+ jobs counter gets out of sync during restore jobs causing jobs to
+ 'wait on max Storage jobs'. This patch fixes bug #1009.
+03Dec07
+kes This patch fixes bcopy so that it produces correct Volumes.
+ It fixes bug #1022.
+kes This patch eliminates spurious output to the console during a VerifyVolume
+ job that contains encrypted data. It fixes bug #1024.
+02Dec07
+kes This patch prevents the 'status dir' command from trying to use a scratch
+ volume and possibly moving it from one pool to another. This patch fixes
+ bug #1019.
+01Dec07
+kes Add new include to postgresql.c suggested by Marc Cousins so
+ that it compiles correctly with pgre version 8.3.
+30Nov07
+kes Fix --archivedir addition to configure. Replace it with
+ --with-archivedir in configure.in This fixes the regression
+ test builds.
+kes This patch fixes bug #1012 where the job is canceled because
+ of Max Run Time exceeded when the job has not yet started.
+29Nov07
+ebl Apply Richard Mortimer patch that fixes #1016 when there are more than
+ one 'part' to write. Instead of each part being stored on disk,
+ written to DVD, then deleted from disk, all parts are written to disk,
+ and only the last is written and deleted from disk.
+kes This patch fixes the status command to include the formating string for
+ JS_AttrInsterting. It fixes bug #1021.
+kes This patch should fix the Mac OS X build problem on the latest
+ Darwin, where sys/types.h was not included correctly (apparently
+ due to a change in the Mac headers). The solution was to explicitly
+ ensure that it is defined for the ./configure.
+ This patch also has a rebuild of configure that includes the Debian
+ qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
+kes This patch should ensure that queued messages to the console are
+ displayed as soon as possible. It should fix bug 1007, but has been
+ reported not to work.
+14Nov07
+kes This patch fixes the infinite loop when trying to increase the
+ maximum number of volumes in a Pool during the add command.
+ This patch fixes bug #1008.
+
+Release Version 2.2.6
+09Nov07
+db Remove extra data on estimate command in joblist for bat.
+04Nov07
+kes Cleanup of code in SD that sets the LastWritten date. This doesn't
+ really change anything, but is the beginning of doing it *right*.
+ To do it completely right the LastWritten date must be passed to
+ the SD, but it is not yet done.
+kes Minor tweaks to some bat restore SQL.
+kes This patch fixes bug #1003 where putting the message output from
+ a Verify job into the catalog results in a recursive loop. The problem
+ seems to show up only with postgresql (to be verified).
+kes Correct %x to %p in postgresql debug statement.
+02Nov07
+kes Fix bug #942 where lots of emails where generated when the heartbeat
+ interval was low and Bacula wanted a different tape from the one in
+ the drive.
+25Oct07
+ebl Add new SD despooling attributes and Dir inserting attributes
+ job status codes in the catalog (Status table).
+24Oct07
+ebl Use qmake-qt4 instead of qmake when available (debian system).
+22Oct07
+kes Add a security warning to src/cats/make_catalog_backup.in indicating
+ that passing the password via the command line (arg 3) is insecure.
+ This responds to bug #990 (it doesn't fix it).
+19Oct07
+kes Set default debug_level to zero. This corrects bugs #991 and #993.
+kes Fix a crash in bat when it cannot connect to the Director for example
+ if the Director is not running.
+kes Remove redundant INDEX (JobId) from File table in the trunk.
+ This fixes bug #992.
+kes Make explicit exception to GPL in LICENSE to permit linking
+ the Win32 FD with Microsoft VSS code.
+kes Apply the Solaris package patch from
+ Masopust, Christian <christian.masopust@siemens.com>
+kes Apply the patch to optionally add a timestamp in the debug output
+ submitted by Mariusz Czulada <manieq@wp.eu>.
+18Oct07
+ebl Use PQerrorMessage instead of PQresultErrorMessage in postgresql
+ backend (sql_strerror). Fixes bug #989
+16Oct07
+kes Apply Michael Short's <mdshort@gmail.com> Win32 regress patch.
+ It applied with no problems.
+kes Add PATH command to SunOS part of mtx-changer.in so that sed and
+ awk are on the path.
+kes Redirect stderror to stdin on mt status command in mtx-changer.in
+ since the status is returned on stderr on Solaris.
+kes Activate Close button on tray-monitor window. This fixes
+ bug #986.
+kes Check for NULL item in parse_conf.c before calling it. In the
+ case of Device, there is no item and this caused a seg fault when
+ Device appears in the conf file.
+kes Add a #define __CONFIG_H when including config.h in bacula.h. This
+ avoids pulling in config.h multiple times in some new code.
+12Oct07
+kes Fix spurious warning message printed when creating a volume with
+ a LabelFormat. This fixes bug #976.
+
+Release Version 2.2.5
+09Oct07
+kes Add JobId in place of Job name in all the Jmsg() output.
+kes Correct the APP_DESC for the Win32 storage service (remove an e).
+07Oct07
+kes Make maxvol-test and new more strict maxvol2-test work.
+kes Print JobId in all Jmsg() job output.
+06Oct07
+kes Add new SD despooling attributes and Dir inserting attributes
+ job status codes. This fixes bug 961.
+kes Fix Win32 drive display in bat version browser. Fixes bug #962.
+05Oct07
+kes Fix doc issue. This fixes bug #963.
+kes Fix listing performance problems in bat. Pointed out by
+ Chris Howells.
+kes Remove old debug code.
+kes Fix bat code that tests for Win32. This should fix bug #968
+kes Query 5 list wrong Vol after migration. This fixes bug #960
+04Oct07
+ebl Fix #969 where user can't change Replace option in restore menu.
+5ASep07
+kes Save jcr in thread specific data (tsd) for each thread.
+kes Make Dmsg() print JobId as -%u.
+kes Make Jmsg, Emsg, and others automatically pickup the jobid
+ for the thread if it exists.
+kes Remove old reservation debug jid code.
+kes Remove get_jcr_from_tid() from OpenSSL and tls code.
+ebl Add an option that permit to specify spool size in job
+ definition. (Applying patches/testing/spoolsize_per_job.patch).
+ You must upgrade SD and DIR at the same time.
+dvl Add new configuration item --archivedir
+dvl Adjust regression tests to use tmp not /tmp. This will allow
+ multiple concurrent runs of the regression tests.
+28Sep07
+kes Fix race condition that drops final block written to volume.
+ This happens in rare cases with multiple simultaneous jobs
+ when the Volume fills. This fixes bug #964. May be related
+ to bug #935 and possibly #903.
+kes Eliminate more strerror() and replace with bstrerror().
+kes Remove BSD getopt and replace with unrestricted IBM version.
+kes Fix Win32 build for changed calling sequences.
+kes More tweaks to the mount volume routines to get everything
+ right. Changed variable name from find to have_vol, which is
+ much easier to understand.
+kes Enhance btimer debug code.
+27Sep07
+kes Fix FD->SD authorization failure, which was due to spurious
+ wakeups from a pthread_cond_timedwait(). Simply check the
+ predicate before continuing. This fixes bug #953.
+kes Add const char where needed (more to do). Remove temp debug code.
+26Sep07
+kes Setup SQLite busy handler before doing queries. Fixes bug #967.
+kes Don't overwrite error message in check_tables_version.
+ Fixes bug #966.
+kes Unlock batch insert tables with same calls used elsewhere.
+kes Allow starting 59 jobs a second.
+kes Make SD session key more random.
+kes Add retry for SQLite opening db if it fails. Probably helps
+ for bug #967.
+kes Suppress extra error messages during batch insert failure.
+ Fixes bug #966.
+kes Add jcr to timer packets so if killed message can be sent to job.
+kes Add JobId to all Dmsg() output.
+kes Put some FD auth code on dbglvl rather than fixed.
+kes Return insert attributes error message in db msg buffer to avoid
+ false error messages. Helps fix bug #966.
+kes Separate batch init error messages. Probably helps fix bug #966.
+kes Make SD code that contructs attribute insert check string lengths
+ more carefully.
+kes If Dir gets an error during inserting attributes, cancel SD.
+ This reduces unnecessary error messages.
+24Sep07
+kes Correct search boolean for getting Volume info
+ebl Cleanup batch insert code. Probably fixes bug #965.
+kes Back out one small change to the reservation system (reserving a volume).
+kes Rework how a Volume is mounted. It is now much more intelligent and
+ will always attempt to use any mounted volume if possible and reduces
+ calls to the Director asking about volumes.
+23Sep07
+kes Turn off some code when batch insert not enabled.
+kes Edit FD name in connect error messages.
+kes Rework the reservation system to take into account that the Director
+ might give us a Volume that is different from the current one being
+ used, and to ensure that we don't exceed Maximum Volume Jobs.
+ This fixes (mostly) bug #947 ' Maximum Volume Jobs = 1 produces
+ fatal error with multiple jobs running'
+kes Add more debug code in reservation system.
+kes Implement maxvol-test to check bug #947.
+22Sep07
+kes Add code to handle tray monitor separated from Win32 FD.
+kes Fix display of Win32 tray monitor after reboot. Fixes bug #952.
+20Sep07
+kes Add missed return in fixing verify bug -- trunk only.
+ebl Fix a command parser issue causing a director segfault.
+kes Fix ANSI tape labeling. Fix restoring ANSI labeled Volumes.
+ This fixes bug #954.
+kes Increase the max block size to 4MB fixes bug #957.
+kes ERABT if user sets min block size > max block size. Fixes bug #956.
+kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape
+ is not properly mounted (recognized) during a poll.
+kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog
+ Job that has differences reports Verify OK.
+ebl Fixes #955 bug seg fault in Dir introduced with regexwhere relocation.
+17Sep07
+ebl Add an option to operate on all pools with update vol parameters.
+ This complete the project 20. Patch from Nigel Stepp.
+ebl Add history support to bconsole when using readline.
+ Using Ctrl-D to exit doesn't update .bconsole_history
+kes Modify new volume algorithm to use max MediaId for generating next
+ volume number rather than the count of Volumes. This should essentially
+ eliminate the failure rate if some volumes were deleted. Bug #921.
+kes Begin implemention of Optimize Job Scheduling.
+kes Implement restore callback that Dirk and I agreed on for bat
+ restore. This fixes bug #928. Restore of backup of zero files fails.
+kes Fix SQL Catalog logging which broke with new db_escape_string
+ calling sequence.
+
+Release Version 2.2.4
+14Sep07
+kes Fix bacula_cats.def for new db_escape_string().
+kes Increase size of name string when FD making connection to SD.
+ May fix bug #953. FD->SD connection failure.
13Sep07
+kes Add code to help Dan debug 2drive-incremental-2disk test.
+kes Add code to try to fix bug #908.
+kes Add waits to multiple exit detection code to try to force pid
+ file to always be deleted.
+kes Restore good dev.tar.gz to rescue set appropriate binary property.
+ This fixes bug #950.
+kes Fix seg fault in error exit of acquire_for_read after unsuccessfully
+ trying to switch drives by checking for blocking before unblocking.
+ Fixes bug #906.
kes Cancel storage daemon in all cases where FD reports error. This
should fix virtually all cases of bug #920.
kes Fix db_escape_string() for MySQL which did not compile.
program.
kes Move patches into patches directory.
11Sep07
-ebl Fix bug #946 about "bacula-dir -t" which doesn't works
+ebl Fix bug #946 about 'bacula-dir -t' which doesn't works
as expected.
09Sep07
-ebl Using "m" in bconsole will show messages like before,
+ebl Using 'm' in bconsole will show messages like before,
and not memory usage.
kes Fix bug #935, and probably also bug #903 where files were not
restored. MediaId was not properly set in JobMedia record after