* BackupPC_Admin now uses $Conf{UmaskMode}, so config.pl files
[BackupPC.git] / ChangeLog
index 97c083d..584231d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 # Version __VERSION__, __RELEASEDATE__
 #------------------------------------------------------------------------
 
+* BackupPC_Admin now uses $Conf{UmaskMode}, so config.pl files
+  written by the editor have more restrictive permissions.
+  Reported by Tim Massey.
+
+* Host summary now shows active backups on disabled hosts,
+  from Jono Woodhouse.
+
+* Fixed host LOG link and LOG list order, reported by Tim Massey.
+
+* Moved Encode.pm version check to start of configure.pl so it
+  produces a useful error message if Encode.pm is too old.
+
+* Fixed hrefs to configuration documentation to handle changes
+  in the way perl generates the anchors.  Reported by Philip
+  Gleghorn.
+
+* Host name links in LOG files now allow "." in the host name.
+  Reported by Jean-Michel Beuken.
+
+* Fixes to lib/BackupPC/Xfer/Tar.pm for tar 1.16: allow 1
+  (ie: 256) as a successful exit status and match "Total
+  bytes read" message for restores.  First reported by
+  Torsten Sadowski and debugged by Ralf Gross and Holger
+  Parplies.
+
+#------------------------------------------------------------------------
+# Version 3.0.0beta3, 3 Dec 2006
+#------------------------------------------------------------------------
+
+* Removed default paths from conf/config.pl so configure.pl will
+  determine the correct ones at install time.  Avoids problem of
+  the config editor complaining about bad executable paths the
+  first time you use it.
+
+* Changed first byte of compressed files with rsync checksums appended
+  to 0xd7 to allow correct protocol_version >= 27 md4 checksums to be
+  written.  Old cached checksum files have a first byte 0xd6 and are
+  now considered to be uncached.  They will be automatically updated
+  as needed.  This avoids the cached checksum warnings in beta2.
+
+* BackupPC_tarPCCopy now handles all file types correctly.  Reported
+  by George Avrunin.
+
+* Fixed BackupPC_nightly to finish pending deletes before renaming
+  pool chains.
+
+* Fixes for rsync restore where hardlink is to file outside of the
+  top-level restore directory.  Reported by George Avrunin, who helped
+  with debugging.
+
+* Fixes for checksum mismatch on restore for certain file sizes.
+  Reported by George Avrunin and others.
+
+* Fix for config.pl writing code to handle multi-line expressions.
+  Reported by David Relson and others.
+
+* Fix for CGI editor when deleting hash entries whose keys are
+  non alphanumeric.  Report by David Relson and Aaron Ciarlotta.
+
+* Two fixes to configure.pl from Andreas Vögele.
+
+#------------------------------------------------------------------------
+# Version 3.0.0beta2, 18 Nov 2006
+#------------------------------------------------------------------------
+
+* Fix for final md4 digest check on rsync transfers >= 512MB when protocol
+  version >= 27 and checksums are not cached.  Reported by Garith Dugmore
+  and Dale Renton.
+
+* Config Editor "Save" button is now always visible, but greyed out
+  until there are changes to save.
+
+* Config editor allows other tabs to be selected when there is an
+  error, which allows you to fix an error (eg: missing binary) in
+  an exiting config file.  Errors are now displayed at the top of
+  the page in addition to next to the erroneous setting.
+
+* configure.pl checks version of Encode.pm.  Reported by Chris Stone.
+
+* Several fixes to bin/BackupPC_fixupBackupSummary from Stian Jordet.
+
+* Fixed config.pl editor writing to solve bug with multi-line text
+  strings ending in newline.  Reported and root caused by Les Stott
+  and Jerry Groendyke.
+
+* Fixed error recovery case in BackupPC::PoolWrite, reported by
+  Samuel Bancal.
+
+* Fixed table width in backup browsing to avoid Firefox layout anomoly,
+  provided by Jono Woodhouse.
+
+* CSS file updates from Jono Woodhouse.  Prior (v2) version is included
+  as BackupPC_stnd_orig.css in case people prefer the old skin.
+
+* More compact host summary, including disabled host indication,
+  from Jono Woodhouse.
+
+* New directory/file/hardlink and symlink image icons from Sean Cameron
+  and Jono Woodhouse, making directory browse more compact.
+
+* BackupPC.pid is now world readable, suggested by Casper Thomsen.
+
+* Reordered the Server navigation bar links, suggested by David Relson.
+
+* Fixed typos in init.d/src/gentoo-backuppc, configure.pl and config.pl
+  reported by David Relson.
+
+#------------------------------------------------------------------------
+# Version 3.0.0beta1, 30 Jul 2006
+#------------------------------------------------------------------------
+
+* Fixed several Xfer charset conversions.
+
+* Added some CGI utf8 conversions from Rodrigo Real and Vincent
+  Fleuranceau.
+
+* Rsync transfers now correctly handle file names with \n or \r.
+
+* Host name is forced to lower case, to match 2.x.
+
+* Fixed LOG file naming in BackupPC_restore and BackupPC_archive.
+
+* GFK applied fr.pm corrections from Nicolas Stransky.
+
+* Updated init.d/src scripts for FHS (ie: replaced __TOPDIR__/log
+  with __LOGDIR__ and __TOPDIR__/conf with __CONFDIR__).  Patch
+  provided by Rodrigo Real.
+
+* Added --log-dir and --conf-dir options to configure.pl.
+  Reported by Vincent Fleuranceau.
+
+* Updated File::RsyncP version check in configure.pl, reported
+  by Vincent Fleuranceau.  Changed File::RsyncP version to 0.64.
+
+#------------------------------------------------------------------------
+# Version 3.0.0beta0, 11 Jul 2006
+#------------------------------------------------------------------------
+
+* Added configuration and host CGI editor.
+
+* Added rsync hardlink support.  Requires latest version of
+  File::RsyncP (0.62).
+
+* Decoupled BackupPC_dump from BackupPC_nightly by making
+  asynchronous file linking/delete robust to race conditions.
+  Now only BackupPC_nightly and BackupPC_link are mutually
+  exclusive so only one runs at a time, and BackupPC_dump and
+  BackupPC_restore can run anytime.
+
+* Added support for multi-level incrementals.  In the style of dump(1),
+  the level of each incremental can be specified.  Each incremental
+  backups up everything since the most recent backup of a lower level
+  (fulls are always level 0).  Previous behavior was all incrementals
+  were level 1, meaning they backed up everything since the last full
+  (level 0).  Default configuration is all incrementals are level 1.
+
+* Server file names are now in utf8 and optional conversion
+  to/from client name charsets can be configured.  All CGI pages
+  now use the utf8 charset.
+
+* Backup metadata is now additionally saved to pc/HOST/nnn/backupInfo,
+  in addition to pc/HOST/backups.  In case pc/HOST/backups gets trashed,
+  then a new script BackupPC_fixupBackupSummary can read the per-backup
+  metadata from pc/HOST/nnn/backupInfo and reconstruct the backups file.
+  Roberto Moreno also pointed out an early error in the CVS version.
+
+* Added Storage module and Storage::Text which localizes all the
+  text data file reading/writing (eg: backups, restores, archives
+  and config.pl files).  Added read verify after all write
+  operations for robustness.  Additional backends (eg: SQL)
+  can be added in the future as new subclasses of the Storage
+  module.
+
+* Added Config module, and Config::Meta that contains meta data
+  about configuration parameters.
+
+* Added RSS support from Rich Duzenbury.
+
+* Translations of new 3.0 language strings from Guillaume Filion,
+  Reginaldo Ferreira, Ralph Passgang, Lieven Bridts, Guus Houtzager,
+  Rodrigo Real.
+
+* Added optional checking of exit status of Dump/Restore/Archive Pre/Post
+  UserCmd, requested by Kiko Jover, Matthias Bertschy and others.
+
+* For new installations configure.pl tries to comply with the file
+  system hierarchy standard, which means all the configuration files
+  below /etc/BackupPC and log files go below /var/log/BackupPC.
+
+* Added Slackware init.d script from Tony Nelson.
+
+* Fixed error reporting when restore/archive fail to write the
+  request file to the client directory.
+
+* Applied patch from Marc Prewitt for DumpPreShareCmd and DumpPostShareCmd.
+
+* Apply patch from Pete Wenzel to add smbClientPath => $Conf{SmbClientPath}
+  to DumpPreUserCmd etc.
+
+* Added Portuguese Brazillian pt_br.pm from Reginaldo Ferreira.
+
+* Jean-Michel Beuken reported several bugs in configure.pl in CVS 3.0.0.
+
+* Old backup email warnings now ignore partials requested by Samuel Bancal
+
+* Applied patch to bin/BackupPC_sendEmail from Marc Prewitt that
+  ignores any file starting with "." in the pc directory when
+  it is generating warnings about old/unused files/directories.
+
+* Applied patch from Marc Prewitt to fix host queue order.
+* Applied Lorenzo Cappelletti's it.pm patch.
+
+* Applied Wander Winkelhorst's nl.pm patch.
+
+* Applied Alberto Marconi's it.pm patch.
+
+* Add NT_STATUS_FILE_LOCK_CONFLICT to pst read error check in
+  BackupPC_sendEmail to fix bug reported by Dale Renton.
+
+* Added fixup of $ENV{REMOTE_USER} to lib/BackupPC/CGI/Lib.pm in the
+  case of using mod_authz_ldap; patch submitted by Alain Perrier.
+
+* Added env LC_ALL=C to $Conf{TarClientCmd} and $Conf{TarClientRestoreCmd}
+  to avoid locale problems, suggested by Ludovic Drolez.
+
+* Changed ping output parsing to pick out average rtt time, based
+  on patch from Ron Bickers.
+
+* Removed leading "./" and top-level "./" directory from
+  zip archives generated by BackupPC_zipCreate.  Reported
+  by Josh (hecktarzuli).
+
+* BackupPC_tarCreate and BackupPC_zipCreate now allow "@"
+  in share names.  Reported by Robert Waldner.
+
+* NT_STATUS_INSUFF_SERVER_RESOURCES is now a fatal error for
+  smbclient transfers, suggested by Brian Shand.
+
+* Changed bin/BackupPC_archiveHost to use /bin/csh instead of
+  /bin/sh.  That way any errors in the pipeline are reported
+  via the exit status, instead of just the last.
+
+* Added $Conf{EMailHeaders} for additional email headers, requested
+  by Ludovic Gasc.  If the Content-Type charset is set to utf8 then
+  the body of the email is sent in utf8 coding.
+
+* Made shareName argument regexp checking more general to allow parens.
+
+* Added some debian init.d instructions to init.d/README from
+  Bob de Wildt.
+
+* Documentation updates from Richard Ames, JP Vossen, Torsten Finke.
+
+#------------------------------------------------------------------------
+# Version 2.1.2pl2, 18 Jun 2006
+#------------------------------------------------------------------------
+
+* In conf/config.pl, changed --devices to -D in $Conf{RsyncArgs}
+  and $Conf{RsyncRestoreArgs} to fix "fileListReceive failed" and
+  "Can't open .../f%2f for empty output" errors with rsync 2.6.7+.
+  Fix proposed by Justin Pessa and Vincent Ho, and confirmed by
+  Dan Niles.
+
+* Added patch from Michael (mna.news) to ignore "file is unchanged"
+  message from tar 1.15.x during incremental backups.
+
+* Fixed creation of .rsrc directories in bin/BackupPC_tarExtract
+  when used with xtar on MacOS.  Reported by Samuel Bancal and
+  Matthew Radey, who helped with debugging.
+
+* Fixed bug in BackupPC_tarExtract for files >8GB in size whose
+  lengths are multiples of 256.  Reported by Jamie Myers and
+  Marko Tukiainen, who both helped debugging the problem.
+
+* Fixed bug in lib/BackupPC/Xfer/RsyncFileIO.pm that caused
+  incorrected deleted attributes to be set in directories
+  where one of the files had an rsync phase 1 retry during
+  an incremental.  Reported by Tony Nelson.
+
+#------------------------------------------------------------------------
+# Version 2.1.2, 5 Sep 2005
+#------------------------------------------------------------------------
+
+* Fixed simple but serious bug in bin/BackupPC_tarCreate that prevented
+  hardlinks being saved correctly.  Debugged by Michael (mna.news)
+  with several other people.
+
+* Fixed serious bug in bin/BackupPC_dump reported/debugged by Dan Niles
+  that can happen when multiple full backups are deleted after
+  $Conf{FullKeepCnt} is changed.
+
+* Changed lib/BackupPC/CGI/Lib.pm so that link to "$TopDir/conf/$host.pl"
+  is displayed if it exists.  Patch from Andreas Vögele.
+
+* Applied daemonize patch to bin/BackupPC from:
+        http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=301057
+
+* It's now a fatal error if $Conf{CompressLevel} is set, but
+  Compress::Zlib is not found.  Before $Conf{CompressLevel} was
+  silently set to 0, which made all the backups uncompressed.
+  That meant the user never knew if they forget to install
+  Compress::Zlib but were expecting compression to be on.
+
+* Finally increased $Conf{ClientTimeout} to 72000 (20 hours).
+
+* Added sleep 1 in restart() function in init.d/src/gentoo-backuppc,
+  suggested by Jon Hood.
+
+* Added $DestDir to the path of the CGI image directory in configure.pl.
+  Patch submitted by Andreas Vögele.
+
+* Applied extensive patch to French translation from Frederic Lehobey.
+
+* Minor change to Dutch language $Lang{Pool_Stat} from Wander Winkelhorst.
+
+* Minor change to French language $Lang{EMailOutlookBackupMesg} and
+  $Lang{EMailOutlookBackupSubj} from Ludovic Gasc.
+
+#------------------------------------------------------------------------
+# Version 2.1.1, 13 Mar 2005
+#------------------------------------------------------------------------
+
+ * Fixed bug in top-level restore using rsync XferMethod.
+   BackupPC::View was leaving an extra leading "/" at the start
+   of top-level directories, messing up the FileList sort order.
+   Reported and debugged by Gail Edwards.
+
+ * Added pathCreate() to BackupPC_tarExtract so that new directories
+   are created.  Required for xtar on MacOSX since the virtual resource
+   fork directories (.rsrc) are not explicitly included in the tar
+   archive - just the files below .rsrc are.
+
+ * Changed $host.$bkupNum.tar$fileExt.* to $host.$bkupNum.tar$fileExt*
+   in $parCmd in bin/BackupPC_archiveHost.
+
+ * Fixed HostSortCompare() in BackupPC to correctly sort hosts so
+   those with the oldest backups get queued first.
+
+ * Changed test in BackupPC_sendEmail so that directories/files
+   starting with "." in $TopDir/pc are ignored, rather than
+   just "." and "..".
+
+ * Changed BackupPC_sendEmail to include NT_STATUS_FILE_LOCK_CONFLICT
+   in check for bad outlook files.
+
+ * Ensure that %Status and %StatusHost are empty if requesting
+   status on hosts in lib/BackupPC/CGI/Lib.pm GetStatusInfo().
+   Fixes problem with new hosts under mod_perl.
+
+ * Added images/icon-hardlink.gif so that hardlinks show file type icon.
+
+#------------------------------------------------------------------------
+# Version 2.1.0pl1, 15 Aug 2004
+#------------------------------------------------------------------------
+
+* Added fix to nl.pm from Lieven Bridts.
+
+* Added patch from Tony Nelson to remove $Info{pid} before BackupPC
+  writes the status and shuts down.
+
+* Changed BackupPC_nightly so that it doesn't call find() if the
+  directory doesn't exist.  This avoids errors in certain versions
+  of perl.  Reported by Bernd Rilling.
+
+* Fixed BackupPC::CGI::Lib to correctly re-load config.pl for mod_perl.
+  Reported by Tony Nelson and Jimmy Liang.
+
+* Explicitly untaint $In{host} in BackupPC::CGI::Lib to fix problem
+  reported by Thomas Tempé.
+
+* Added newline to "...skipping because of user requested delay..."
+  log message in BackupPC_dump.  Reported by Wayne Scott.
+
+* Added read file size error checking to BackupPC_tarCreate.
+  Reported by Brandon Evans.
+
+* Added check in BackupPC::Xfer::RsyncFileIO to ensure that when
+  compression is toggled on/off, a compressed backup doesn't link
+  to an uncompressed pool file (and an uncompressed backup doesn't
+  link to a compressed pool file).  Reported by Brandon Evans.
+
+* Updated documentation with new dirvish URL and a typo from
+  Todd Curry.
+
+* Fix to BackupPC_sendEmail so that it correctly sends admin emails
+  for hosts that have failed backups.  Reported by Simon Kuhn.
+
+#------------------------------------------------------------------------
+# Version 2.1.0, 20 Jun 2004
+#------------------------------------------------------------------------
+
+* Added Dutch translation from Lieven Bridts, with tweaks from
+  Guus Houtzager.
+
+* Added PC-specific config file read in CGI/Archive.pm.  Patch
+  from Pete Wenzel.
+
+* Added non-zero exit code to BackupPC_zcat when uncompress fails.
+  Patch from Pete Wenzel.
+
+* Cosmetic changes to PC Summary and Log file language strings from
+  Pete Wenzel.
+
+* BackupPC::Lib tries to be more careful when renaming the backups
+  file to backups.old.  There have been reports of backups being
+  empty, perhaps when the BackupPC data file system fills up.
+  Now backups is not renamed to backups.old if backups is empty.
+
+* BackupPC now closes stderr and stdout before renaming and
+  re-opening the log file.
+
+* Pre/post backup/restore/archive commands now correctly set
+  "type" to either incr/full/restore/archive, and now cmdType
+  is the type of Pre/post backup/restore/archive command.
+
+* BackupPC_archive correctly terminates archive processes on
+  alarm or cancel.
+
+* Updates to BackupPC_stnd.css with absolute font sizes instead
+  of relative.
+
+* BackupPC_dump now makes sure that the $Conf{FullAgeMax} check
+  also ensures the full backup is older than the maximum age
+  expected from $Conf{FullPeriod}.
+
+#------------------------------------------------------------------------
+# Version 2.1.0beta2pl1, 30 May 2004
+#------------------------------------------------------------------------
+
+* Fixed bug in rsync checksum caching code in BackupPC::Xfer::RsyncDigest.
+
+* BackupPC_zipCreate now ensures the earliest mtime is 1/1/1980,
+  since zip file formats don't support earlier dates.  Reported
+  by Dan Niles.
+
+* CGI restore via zip and tar now makes sure stderr is ignored
+  when BackupPC_tarCreate and BackupPC_zipCreate are run.
+  Previously any stderr output would get mixed in the archive,
+  corrupting it.  Reported by Dan Niles.
+
+#------------------------------------------------------------------------
+# Version 2.1.0beta2, 23 May 2004
+#------------------------------------------------------------------------
+
+* $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} now apply
+  to every share, rather than just the first, in the case where
+  they are arrays and there are multiple shares.  Suggested
+  by Andy Evans.
+
+* On the phase 2 retry pass with rsync, verify the cached checksums
+  if checksum caching is turned on.  This will catch the case of
+  cached checksums being incorrectly appended to the compressed
+  pool file.  Added new config parameter $Conf{RsyncCsumCacheVerifyProb}
+  so that cached checksums are verified with a selectable probability.
+  Also, increased File::RsyncP version number to 0.51.
+
+* configure.pl now supports an optional batch mode.  Command-line
+  options are used to specify all the information that configure.pl
+  needs.  This is useful for building auto-install packages.
+  Also, configure.pl now includes pod documentation, so you can do
+  "perldoc configure.pl" to see all the command-line options.
+  Suggested, tested and tweaked by Stuart Herbert for possible
+  Gentoo inclusion.
+
+* At each wakeup, clients are now queued based on how old the most
+  recent backup is.  Clients with errors are queued first, with
+  the oldest error times going first.  The rest of the clients are
+  queued next, with the clients with the oldest backup going first.
+  Previously the clients were simply queued in alphabetic order.
+  Suggested by Mike Trisko and Tony Nelson.
+
+* Added config parameter $Conf{PartialAgeMax} that controls whether
+  partials are saved at all, and if so, whether the partial will be
+  ignored at the next full backup if it is too old.
+
+* BackupPC_tarExtract now allows empty archives without reporting
+  an error.  Reported by Don Silvia.
+
+* Removed Browse Backups link from Nav Bar in Archive Info display.
+  Reported by Ralph Paßgang.
+
+* Fixed documentation display for regular users.  Reported by Ralph Paßgang.
+
+* Status and PC Summary now work for regular users and only show
+  that user's hosts.  Server general status information only appears
+  for admins.  Suggested by Ralph Paßgang.
+
+* Moved the last three navigation-bar links (docs, FAQ and SF) to
+  a new config parameter $Conf{CgiNavBarLinks}.  This allows
+  these links to be locally configured.  Based on a patch
+  submitted by Ralph Paßgang.
+
+* Allow the navigation bar search box to be disabled by
+  setting $Conf{CgiSearchBoxEnable} to 0.  Based on a patch
+  submitted by Ralph Paßgang.
+
+* Updates to de.pm from Ralph Paßgang.
+
+* Made the BackupPC icon a link to the SF BackupPC project page.
+
+#------------------------------------------------------------------------
+# Version 2.1.0beta1, 4 Apr 2004
+#------------------------------------------------------------------------
+
+* The CSS definition has been removed from the config.pl file and
+  is now a separate file, BackupPC_stnd.css.  A new config variable,
+  $Conf{CgiCSSFile}, gives the name of the CSS file to use.
+  Suggested by Ender Mathias.
+
+* Fixed the filling of the host name select box for admins.
+  The default $Conf{CgiNavBarAdminAllHosts} is now 1.
+  Reported by Doug Lytle.
+
+* Cleaned up warning message for restore using rsync when checksum
+  caching is on, but when file didn't have cached checksums.
+
+* Fixed BackupPC_archiveHost to support par2 (par2cmdline).
+  Patch submitted by Jaco Bongers and adapted by Josh Marshall.
+
+* Improved stat() usage in BackupPC_nightly, plus some other cleanup,
+  giving a significant performance improvement.  Patch submitted by
+  Wayne Scott.
+
+* Allow several BackupPC_nightly processes to run in parallel based
+  on new $Conf{BackupPCNightlyJobs} setting.  This speeds up the
+  traversal of the pool, reducing the overall run time for
+  BackupPC_nightly.
+
+* Allow BackupPC_nightly to split the pool traversal across several
+  nightly runs.  This improves the running time per night, at the expense
+  of a slight increase in disk storage as unused pool files might not
+  be deleted for a couple of days.  Controller by new config setting
+  $Conf{BackupPCNightlyPeriod}.
+
+#------------------------------------------------------------------------
+# Version 2.1.0beta0, 20 Mar 2004
+#------------------------------------------------------------------------
+
+* A failed full dump is now saved as a partial (incomplete) dump,
+  provided it includes some files.  This can be used for browsing,
+  restoring etc, and will also form the basis of resuming full
+  dumps.  Only one partial is kept, and it is removed as soon
+  as a successful full (or a new partial) is done.
+
+* Added support for resuming a full dump for rsync.  The partial
+  full is kept, and to resume an incremental is done against the
+  partial, and a full is done for the rest.
+
+* Added support for Rsync checksum caching.  Rsync checksum are
+  appended to the compressed pool files.  This means that block
+  and file checksums do not need to be recomputed on the server
+  when using rsync.  Requires a patch to rsync to support fixed
+  checksum seeds.  This patch is included in the cygwin-rsyncd
+  release on http://backuppc.sourceforge.net.
+
+* Major addition of Archive feature from Josh Marshall.  Special
+  clients can be configured to be archive targets (eg: tape drives,
+  CD-R).  Any subset of the backup clients can be selected and tar
+  archives are created, optionally compressed and split and written
+  to the output device.  Logs are maintained and are browsable.
+
+* Major changes from Ryan Kucera to add style sheets to the CGI
+  interface, allowing easy customization.  Added new icons and
+  BackupPC logo.  Numerous navigation improvements.
+
+* Added directory history display to BackupPC_Admin, allowing the
+  user to quickly see which files changed between backups on a
+  per-directory basis.
+
+* Added exponential expiry option for full dumps.  This allows you
+  to specify
+  
+   - how many fulls to keep at intervals of $Conf{FullPeriod}, followed by
+   - how many fulls to keep at intervals of 2 * $Conf{FullPeriod},
+   - how many fulls to keep at intervals of 4 * $Conf{FullPeriod},
+   - how many fulls to keep at intervals of 8 * $Conf{FullPeriod},
+   - how many fulls to keep at intervals of 16 * $Conf{FullPeriod},
+
+  and so on.  This allows you, for example, to keep 4 weekly fulls,
+  followed by 6 fulls every 4 weeks (approx 1 month) and 2 fulls at
+  16 weeks, for roughly 1 year of history.  This works by deleting
+  every other full as each expiry boundary is crossed.  Suggested
+  by David Cramblett.
+
+* Added Italian language translation it.pm from Lorenzo Cappelletti.
+
+* Major updates to language files for new features and tags changes.
+  Updated makeDist to do pedantic consistency checking of language
+  files.
+
+* Addition of administration options from Paul Lukins.  Initial
+  page allows server to be started/stopped/reloaded.  This still
+  needs some i18n work.  Currently the server start/stop is
+  commented out.
+
+* Split BackupPC_Admin into a set of modules, one for each major action.
+  Each action is now a seperate module in lib/BackupPC/CGI.
+
+* Allow the blackout period begin/end to span midnight.  Adapted
+  from patch submitted by David Smith.
+
+* Allow multiple blackout periods, with new config variable
+  $Conf{BlackoutPeriods} that replaces the old variables
+  $Conf{BlackoutHourBegin}, $Conf{BlackoutHourEnd}, and
+  $Conf{BlackoutWeekDays}.  Based on patch submitted by
+  Lorenzo Cappelletti.
+
+* Disabled alarms after forks to avoid timeouts in children that
+  do not reset their alarm.  Prompted by ideas from James Leu.
+
+* Added options for block size, buffer size and share wild-card to
+  BackupPC_tarCreate.  Also added negative backup number options
+  that are relative to the last (so -1 is the last), suggested by
+  William McKee and Carl Soderstrom.
+
+* The "Wrong user" message in BackupPC::Lib now goes to stderr, so that
+  the user is more likely to see the error with BackupPC_tarCreate.
+  Reported by Paul Fox.
+
+* Add creation of per-PC directory in BackupPC/CGI/Restore.pm in
+  case it doesn't already exist.
+
+* Added -q -x to all ssh commands in conf/config.pl.  Suggested by
+  SI Reasoning and Niranjan Ghate.
+
+* Changed restore code so that option #1 (direct restore) can be
+  disabled if the restore command is undefined.  Disabling direct
+  restore is necessary if the share is read-only.  Suggested by
+  Rich B from SAIC.
+
+* Changed regexp in lib/BackupPC/Smb.pm to allow numbers with both
+  a decimal point or comma for international versions of Samba.
+  Patch submitted by Frank Gard.
+
+* Browsing and directory history now sort the files in a
+  case-insensitive manner.
+
+* Changed exec() syntax to allow executing commands whose path
+  contains spaces.
+
+* BackupPC_dump no longer removes backups if $Conf{FullKeepCnt}
+  is zero or undefined.  The protects the existing backups in the
+  case of a bad config.pl file.  Suggested by Christian Warden.
+
+* Swapped the Server and Hosts sections on the Nav bar.  Moved the
+  host search text box to the top of the hosts section.  This was
+  done to move the variable-length part of the Nav bar (when all
+  hosts are displayed) to the bottom.
+
+* Fixed a bug in tar restore related to how the common prefix path is
+  removed.  Now ensure that the common path is at a directory boundary.
+  Reported by Patrick Neuner.
+
+* Added --chuid ${USER} to init.d/src/gentoo-backuppc.  Suggested by
+  SI Reasoning, Pascal Pochol, Michael Evanoff and others.
+
+* Added Suse notes to init.d/README from Bruno Vernay.
+
+* Added Apache 2 documentation fix from Michael Tuzi.
+
+#------------------------------------------------------------------------
+# Version 2.0.2, 6 Oct 2003
+#------------------------------------------------------------------------
+
+* Fixed stupid last-minute change in octal size conversion in
+  Backup_tarExtract.
+
+#-----------------------------------------------------------------------
+# Version 2.0.1, 5 Oct 2003
+#------------------------------------------------------------------------
+
+* Fixed handling of >= 8GB files in BackupPC_tarExtract and >= 4GB
+  files in BackupPC_tarCreate.
+
+* Removed smbclient size repair in BackupPC_tarExtract for files
+  between 2GB and 4GB.  This means that BackupPC_tarExtract 2.0.1
+  doesn't behave the same as 2.0.0 for file sizes between 2GB and 4GB
+  extacted using smbclient 2.2.x.  If you have problems backing up
+  files whose size is between 2GB and 4GB using smbclient 2.2.x
+  you should upgrade smbclient to 3.0, since it now generates
+  correct file sizes.
+
+* Replace PingClientPath with PingPath in configure.pl.
+
+* Removed -T (taint mode) on binaries installed in configure.pl.
+
+* Added support for smbclient from samba version 3.0.0.
+
+* Fixed $Conf{HardLinkMax} limit check in BackupPC::Lib; reported
+  by Ross Skaliotis.
+
+* In BackupPC_Admin, default REMOTE_USER to $Conf{BackupPCUser}
+  if it is not defined.  This allows the CGI interface to work
+  when AdminUsers = '*'.  Reported by Quentin Arce.
+
+* For SMB, code that detected files with a read-locked region (eg:
+  outlook .pst files), removed them and then tried to link with an
+  earlier version was broken.  This code missed a step of mangling
+  the file names.  This is now fixed.  Reported by Pierre Bourgin.
+
+* A backup of a share that has zero files is now considered
+  fatal. This is used to catch miscellaneous Xfer errors that
+  result in no files being backed up.  A new config parameter
+  $Conf{BackupZeroFilesIsFatal} (defaults to 1) and can be set to
+  zero to turn off this check.  Suggested by Guillaume Filion.
+  Additional change: this check only applies to a full dump.
+
+* SMB: now detect NT_STATUS_ACCESS_DENIED on entire share or BackupFilesOnly
+  (also ERRDOS - ERRnoaccess (Access denied.) for older versions of
+  smbclient.)  Suggested by Guillaume Filion.
+
+* SMB: now detects "tree connect failed: NT_STATUS_BAD_NETWORK_NAME" and
+  the dump is considered failed.
+
+* Rsync: Previously BackupFilesOnly = '/' did --include '/' --exclude '/*',
+  which just included the '/' directory and nothing below.  Now it
+  does just --include '/', which should include everything.
+  Reported by denon.
+
+* Add hostError to DumpPostUserCmd variable substitutions for both dump
+  and restore.
+
+* Verbose output in Lib.pm goes to STDERR, not STDOUT.  This now
+  makes BackupPC_dump -v work better.
+
+* Don't allow browsing with ".." in directory in case a user tries
+  to trick BackupPC_Admin into displaying directories outside where
+  they are allowed.
+
+* Required File::RsyncP version is now 0.44, since File::RsyncP 0.44
+  fixes large file (>2GB) bugs.  Large file bugs reported by Steve
+  Waltner.
+
+#------------------------------------------------------------------------
+# Version 2.0.0, 14 Jun 2003
+#------------------------------------------------------------------------
+
+* Minor tweaks to disable utf8 on utf8-capable machines (eg: RH8+).
+  Added "no utf8" to all programs, and added binmode() to relevant
+  file handles.
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta3, 1 Jun 2003
+#------------------------------------------------------------------------
+
+* Several improvements to restore: cancel now reports the correct
+  message and cleans up correctly.
+
+* Rsync with whitespace and wildcard excludes fixed by replacing
+  argList with argList+ in config.pl plus a fix to Lib.pm for
+  shell escaping array arguments.
+
+* Fixed rsync restore for character and block special devices
+  (major and minor device numbers weren't correctly restored).
+
+* Fixed typo in bin/BackupPC_restore (XferLOG -> RestoreLOG).
+
+* (Re)-fixed "Bad command" in log file when restore via tar or zip
+  file download is done.
+
+* Added untaint to exec in Lib.pm to avoid tainted errors.
+
+* Applied additional tweak to hilight patch from Tim Demarest.
+
+* $Conf{CgiAdminUsers} = '*' now allows privileged even with REMOTE_USER
+  not set.
+
+* Don't display RsyncdPasswd when displaying config.pl files.
+
+* Replace pipe with socketpair in bin/BackupPC_dump and bin/BackupPC_restore,
+  which increases typical buffering from 4K to 16K-64K.  This improves the
+  performance.
+
+* Add check on $ENV{LANG} setting do configure.pl: if LANG includes utf
+  then a warning is printed.
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta2, 11 May 2003
+#------------------------------------------------------------------------
+
 * Added German translation, provided by Manfred Herrmann.
 
 * Fixed large-file problem with rsync, reported by Manfred Herrmann.
 * Fixed CGI browse navigation bug that causes BackupPC_Admin to wedge
   when directories were selected in a certain order.
 
+* Fixed BackupPC::PoolWrite so that it can recover when the initial
+  file size is wrong.  This is needed since rsync could write a file
+  whose size is different from the initial size returned in the
+  file list when that file is updated while rsync is running.
+
 * Added binmode(STDIN) to BackupPC_tarExtract, suggested by Pat LoPresti
   to fix a problem a RedHat8 with perl 5.8.0.  It's unclear why this
   helps, but it should be benign.  See: