* Added multi-level incrementals. Still needs testing.
[BackupPC.git] / ChangeLog
index e5e0dbd..a82518d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 # Version __VERSION__, __RELEASEDATE__
 #------------------------------------------------------------------------
 
-* Added internationalization (i18n) code from Xavier Nicollet.
-  Voila!  BackupPC_Admin now supports English and French, and
-  adding more languages is now easy.
+* Added configuration and host CGI editor.
 
-* Added patch from Toby Johnson that allows additional users to be
+* Added rsync hardlink support.  Requires latest version of
+  File::RsyncP.
+
+* 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 is done.
+
+* 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.
+
+* 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 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 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.
+
+* Added checking of exit status of Dump/Restore/Archive Pre/Post UserCmd,
+  requested by Kiko Jover, Matthias Bertschy and others.
+
+* 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.
+
+* 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.2pl1, __RELEASEDATE__
+#------------------------------------------------------------------------
+
+* 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 zip and tar file download from CGI under mod_perl.  Reported
+  by Pierre Bourgin and Paul Lukins.
+
+* Fixed directory browsing and top-level directory browsing in 2.0.0beta0.
+  Reported by several users.
+
+* Added -v option to BackupPC_dump for verbose output (useful when
+  you run the command manually).  Added messages for all exits.
+
+* If nmblookup returns multiple IP addresses, NetBiosHostIPFind()
+  now returns the first IP address that matches the subnet mask.
+  Suggested by Tim Demarest.
+
+* Fixed BackupPC::View so the top-level directory is handled correctly.
+  This allows the top-level share/directory to be restored via the
+  CGI interface.  Reported by several users.
+
+* Fixed RsyncFileIO failures on certain large files by replacing seek()
+  with sysseek().  Reported by Manfred Herrmann.
+
+* Added configurable highlighting of PC status in the CGI summary
+  screen; submitted by Tim Demarest.
+
+* Fixed command queue CGI display; submitted by Tim Demarest.
+
+* BackupPC_trashClean now logs an error if it can't remove all the
+  trash and then goes back to sleep, rather than continually trying.
+
+* Moved correct user (uid) check into BackupPC::Lib so that all
+  applications do a user check if $Cong{BackupPCUserVerify} is
+  set.  The avoids the risk of manually running BackupPC_dump as
+  the wrong user.
+
+* Loss of blackout now applies to "host not found" as well as no ping.
+  Reported by Dale Renton.
+
+* "Host not found" is now treated in a similar manner to "no ping".
+
+* Added suse-linux init.d script from Leon Letto.
+
+* Added Gentoo linux init.d script from Tim Demarest.
+
+* Applied additional i18n strings from GFK and the translation team.
+
+* Fixed option parsing so that getopts errors are reported and we exit.
+
+* Changed reporting of Xfer PIDs so that rsync cancel works correctly.
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta1, 30 Mar 2003
+#------------------------------------------------------------------------
+
+* Added Spanish translation es.pm from Javier Gonzalez.
+
+* 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:
+    http://sourceforge.net/mailarchive/forum.php?thread_id=1853018&forum_id=503
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta0, 23 Feb 2003
+#------------------------------------------------------------------------
+
+* Support for rsync and rsyncd backup and restore.  Changes to
+  BackupPC_dump, BackupPC_restore, and new modules BackupPC::Xfer::Rsync
+  and BackupPC::Xfer::RsyncFileIO.
+
+* Added internationalization (i18n) code from Xavier Nicollet,
+  with additions from Guillaume Filion.  Voila!  BackupPC_Admin
+  now supports English and French, and adding more languages is
+  now easy.  New config paramater $Conf{Language} sets the language.
+
+* Added optional user-defined pre/post dump/restore commands, allowing
+  things like database shutdown/startup for dumps.
+
+* Changed the way hosts are found.
+
+* Added $Conf{ClientNameAlias}, which allows the name of the physical
+  client machine to be set.  This allows several different backup
+  "hosts" to all refer to the same physical machine, which is
+  convenient if several different types of data need to be backed
+  up, or if different parameters are needed for different parts of
+  the host.
+
+* Replaced $Conf{PingArgs} with $Conf{PingCmd}, added $Conf{DfCmd},
+  $Conf{NmbLookupCmd} allowing all these commands to be fully
+  configured.  Also, all commands can also now be fragments of
+  perl code.
+
+* Moved all smbclient commands into the config.pl file so the specific
+  arguments can be customized.  New config parameters are
+  $Conf{SmbClientFullCmd}, $Conf{SmbClientIncrCmd} and
+  $Conf{SmbClientRestoreCmd}.
+
+* Added new BackupPC::View module that creates views of backups
+  (handling merging etc).  Updated BackupPC_Admin, BackupPC_zipCreate
+  and BackupPC_tarCreate to use BackupPC::View.  This removes lots
+  of merging and mangling code from the higher-level code.
+
+* Added code from Toby Johnson that allows additional users to be
   specified in the hosts file; these users can also view/start/stop
   and restore backups for that host.  Also added a new config
   setting $Conf{CgiNavBarAdminAllHosts} that allows all hosts to
   be listed in the left nav bar for admins.
 
+* Added $Conf{HardLinkMax} (default 31999) which sets the limit on
+  the maximum number of hardlinks per file in the pool.  If a file
+  ever gets to this number of links a new pool file is created to
+  handle additional links.
+
+* Added $Conf{PerlModuleLoad}, which allows optional additional perl
+  modules to be loaded.
+
+* Added $Conf{EMailUserDestDomain} and other EMail config settings to
+  allow language-specific default messages to be overridden.
+
+* Added BPC_FTYPE_DELETED to lib/BackupPC/Attrib.pm, allowing deleted
+  files to be represented in the attrib file correctly.
+
+* Added support for environment variable BPC_SMB_PASSWD, which is the
+  client's smb password.  This overrides the old environment variable
+  PASSWD.
+
+* Added taint cleanup for perl5.8 to lib/BackupPC/Lib.pm.
+
+* Changed $tar_unpack_header format in BackupPC_tarExtract to correctly
+  handle files with trailing spaces.
+
+* Added catching of SIG_PIPE to BackupPC_dump, and changed catch_signal
+  to ignore multiple signals of the same type.
+
+* Added reporting of the largest number of hardlinks in the pool to the
+  log file.
+
+* Adding reporting of syntax errors in the per-PC config.pl file.
+
+* Updated BackupPC_sendEmail to handle language-specific email messages.
+
+* Allow client (host) names to contain spaces.  Spaces in host names
+  need to be escaped via "\" in the hosts file.  The user of spaces in
+  host names is discouraged, but they should work.  One feature that
+  doesn't work with host names that contain spaces is the highlighting
+  of that name in the log file display in the CGI interface.  There are
+  no plans to fix this.
+
+* Renamed $Conf{SmbClientTimeout} to $Conf{ClientTimeout}.
+
+* Fixed all open() calls to use 3 argument form to fix handling of file
+  names with trailing whitespace.  Also fixed CGI interface so these
+  file names are displayed correctly.
+
+* Fixed new 2.0.0 CGI navigation bug that causes the top-level directory
+  to have a URL "&share=//boot&dir=" instead of "&share=/boot&dir=/".
+  Reported by Pascal Schelcher.  Fixed similar problem reported by
+  Doug Lytle.
+
 * Added "PerlTaintCheck On" to the mod_perl section in the docs,
   suggested by Tim Demarest.