# Version __VERSION__, __RELEASEDATE__
#------------------------------------------------------------------------
+* Fixed several Xfer charset conversions.
+
+* Added some CGI utf8 conversions from Rodrigo Real and Vincent
+ Fleuranceau.
+
+* 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.
Wayne Scott.
* Allow several BackupPC_nightly processes to run in parallel based
- on new $Conf{MaxBackupPCNightlyJobs} setting. This speeds up the
+ on new $Conf{BackupPCNightlyJobs} setting. This speeds up the
traversal of the pool, reducing the overall run time for
BackupPC_nightly.
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.
* 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