releasing/cbrtools/perl/relnotes.txt
changeset 602 3145852acc89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/releasing/cbrtools/perl/relnotes.txt	Fri Jun 25 18:37:20 2010 +0800
@@ -0,0 +1,2835 @@
+Version 2.84.3
+
+Made by Build Tools China, 08/09/2009
+
+Defect fixes:
+        DPDEF141526 - raptor errors when validating tools_redistribution_common in MakeCBR
+New Features:
+*   REQ12751 - CBR Tools use Raptor.
+        
+-----------------------------------------------------------------------------------
+
+Version 2.84.2
+
+Made by Build Tools China, 02/09/2009
+
+Defect fixes:
+        DPDEF141709 - DeltaEnv create delta_manifest_baseline.xml format error
+        
+-----------------------------------------------------------------------------------
+
+Version 2.84.1
+
+Made by Build Tools China, 20/07/2009
+
+Defect fixes:
+        DPDEF140962 - Miss manifest.xml when apply delta between 141 & 142 tb91sf 
+        DPDEF141079 - deltaenv keep the file which has been moved to another one in old zip file 
+        
+-----------------------------------------------------------------------------------
+
+Version 2.84.0
+
+Made by Release & Integration Tools China, 30/06/2009
+
+New Features:
+*   REQ9701  - Faster, Optimised Packaging process.
+*   REQ11393 - SBSv2 support in CBR tools.
+
+Compatibility notes:
+*   There is a new reldata format introduced in this REQ. 
+    Then if an enviornment is got by any prior CBR version, there will be reldata mismatch 
+    when using any CBR tool in this version. So please keep the CBR tools version consistent.
+    
+-----------------------------------------------------------------------------------
+
+Version 2.83.1031
+
+Made by Release & Integration Tools China, 17/06/2009
+
+Defect fixes:
+        DPDEF140280 - CBR Tools 2.83.1030 fail to compile
+        
+-----------------------------------------------------------------------------------
+
+Version 2.83.1030
+
+Made by Release & Integration Tools China, 18/05/2009
+
+Defect fixes:
+        DEF139216 - DeltaEnv: keep going with error during create and apply delta
+        
+-----------------------------------------------------------------------------------
+
+Version 2.83.1029
+
+Made by Release & Integration Tools China, 01/04/2009
+
+Defect fixes:
+        DPDEF137305 - CBR will report "Error: didn't find any platforms"
+        
+-----------------------------------------------------------------------------------
+
+Version 2.83.1028
+
+Made by Release & Integration Tools China, 26/03/2009
+
+Defect fixes:
+        DEF130995 - Deltaenv errors in creating delta package for 9.5 - M04693
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1027
+
+Made by Release & Integration Tools China, 16/03/2009
+
+Defect fixes:
+        DPDEF136548 - CBR tools don't work with raptor-generated abldcache file
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1026
+
+Made by Release & Integration Tools China, 04/03/2009
+
+Defect fixes:
+        DPDEF135800 - The CBR Tools do not classify IPR for source statements using relative paths
+        DPDEF135797 - CBR Tools do not support relative paths in MRP files
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1025
+
+Made by Release & Integration Tools UK, 19/02/2009
+
+Defect fixes:
+        DPDEF135168: - CBR Tools do not automatically include DP files 
+    
+-----------------------------------------------------------------------------------
+
+Version 2.83.1024
+
+Made by Release & Integration Tools China, 22/01/2009
+
+Defect fixes:
+        DPDEF128617 - MakeEnv does not work with SRCROOT set to anything other than \
+    
+-----------------------------------------------------------------------------------
+
+Version 2.83.1023
+
+Made by Release & Integration Tools China, 12/01/2009
+
+Defect fixes:
+        DPDEF128818 - Envinfo fails testing a mrp with a source statement pointing to a directory
+        DPDEF132654 - Project Loki - 23 - Archive-Tar 
+    
+-----------------------------------------------------------------------------------
+        
+Version 2.83.1022
+
+Made by Release & Integration Tools China, 08/01/2009
+
+Defect fixes:
+        DEF130274   - Intermittent failures in CBR import of releases to Beijing site
+        DPDEF132728 - Project Loki - 175 - net-ftp-common
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1021
+
+Made by Release & Integration Tools China, 23/12/2008
+
+Defect fixes:        
+        DPDEF132236 - unzip version is too old in the CBR packages
+        PDEF131197  - Deltaenv re-construction fails - transferring vFuture M04717 -> M04719	
+
+-----------------------------------------------------------------------------------
+Version 2.83.1020
+
+Made by Release & Integration Tools China, 17/12/2008
+
+Defect fixes:
+        DEF131119   - deltaEnv can't create delta data of gt_techview_baseline component 
+        DEF131116   - Permission deny issue when doing zip and delete command by using deltaenv
+        DPDEF130547 - CBR tools should report error to the log when import file failed
+	
+-----------------------------------------------------------------------------------
+
+Version 2.83.1019
+
+Made by Release & Integration Tools China, 05/11/2008
+
+Defect fixes:
+	DPDEF129430 - Improve the warning message for envinfo with -c,-d or -p
+	DPDEF129931 - DeltaEnv apply need to handle one error senario 
+	
+-----------------------------------------------------------------------------------
+
+Version 2.83.1018
+
+Made by Release & Integration Tools UK, 23/10/2008
+
+Defect fixes:
+	DPDEF128531 - problems creating delta package using manifest file in 9.1
+	DPINC128056 - Missing argument handling in CleanEnv.pm
+	DPDEF126632 - Deprecate support for Component-Based Archives in the CBR Tools
+	
+Compatability notes:
+*	Component-based archives (using the 'archive_path_file' keyword) are now deprecated, and produce a warning - however, no functionality has been disabled.  It's recommended that users migrate to using project-based archives with the 'archive_path' keyword.
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1017
+
+Made by Integration & Variant Tools, 03/10/2008
+
+Defect fixes:
+	DPDEF125527 - CBR tools source mappings break binary platform statements
+	DPINC128057 - Issue with reltools and [...] deep recursion
+	DPDEF127628 - Deltaenv produces errors on pathnames > 255
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1016
+
+Made by Integration & Variant Tools, 12/09/2008
+
+Defect fixes:
+	DPDEF126625 - Problem with ViewNotes [viewnotes doesn't always return immediately with some browsers]
+	DPDEF124626 - deltaenv -c -ra doesn't work
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1015
+
+Made by Product Creation Tools, 17/07/2008
+
+Defect fixes:
+	DEF114845 - Latestver doesn't spot if the archive path doesn't exist 
+	DEF122011 - GT0410 CBR tools: open archive file when cleaning, cleanlocalarch warns 
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1014
+
+Made by Product Creation Tools, 11/07/2008
+
+Defect fixes:
+	DEF124892 - wrong command name in the synopsis of RemoveSource.html
+	DEF124119 - Use of uninitialized value in split at c:/apps/SITK/cbr/Utils.pm line 1467.
+	INC123162 - viewnotes behaves differently between old CBR and SITK's
+	DEF122117 - GT0410 CBR tools: perl crash for invalid paths: deltaenv -r and deltaenv -c --dp
+	DEF122116 - GT0410 CBR tools: perl crash if source file held open while running removesource
+
+Compatability notes:
+*   When writing release notes for use with these tools, this version of the
+    tools permits HTML tags to be used.  To tell the tools not to treat your
+    comment as plain text, wrap the comment in <html> </html> tags
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1013
+
+Made by Product Creation Tools, 20/05/2008
+
+Defect fixes:
+	DEF114845 - Latestver doesn't spot if the archive path doesn't exist
+	DEF118532 - Warnings from cleanremote if remote archive paths not specified
+	DEF121046 - CBR tool Cleanlocalarch fails using Perl 5.8.8
+	DEF121945 - GT0410 CBR tools: file held open while removing component
+                    crashes envdb line1639
+	DEF121958 - GT0410 CBR tools: no archive path crashes latestver, exportenv
+                    and exportrel
+	DEF121964 - GT0410 CBR tools: wrong number of args for archive path crashes
+                    pathdata
+	DEF121972 - GT0410 CBR tools: perl warnings 'exiting subroutines via next
+                    at cleaner.pm'
+	DEF122005 - GT0410 CBR tools: keep_recent_env and rel give warnings on non
+                    numeric arguments
+	DEF122012 - GT0410 CBR tools: incorrect configuration gives perl warnings
+	DEF122018 - GT0410 CBR tools: invalid source dir specified to getrel -I,
+                    getsource -i crash
+	DEF122110 - GT0410 CBR tools: invalid archive path in remote reltools.ini
+                    (pullenv, pullrel)
+	DEF122114 - GT0410 CBR tools: pullrel -h gives the wrong help
+	DEF122115 - GT0410 CBR tools: perl crash when removing source for a non
+                    installed component
+	DEF122119 - GT0410 CBR tools: use of uninitialised value when calling
+                    deltaenv -r (no args)
+	DEF122122 - GT0410 CBR tools: perl crash if bad values given to --maxdelta
+	DEF122142 - ImportEnv command line help is missing an option
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1012
+
+Made by Product Creation Tools, 09/04/2008
+
+Defect fixes:
+	PDEF120528 DeltaEnv -a : error in constructing base_documentation component
+	DEF119931 DeltaEnv -c tool unable to read a generated release manifest file
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1011
+
+Made by Product Creation Tools, 26/03/2008
+
+Defect fixes:
+	DEF115306 Errors when running EnvInfo
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1010
+
+Made by Product Creation Tools, 22/02/2008
+
+Defect fixes:
+	PDEF111988 Adding archives to reltools.ini slows down getenv
+	DEF118518 "experimentalproxy" remote site type doesn't work
+	DEF118517 CleanRemote doesn't work: undefined values
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1009
+
+Made by Product Creation Tools, 26/11/2007
+
+Defect fixes:
+        DEF114351 DeltaEnv is very slow processing developer library components
+        DEF113317 zdc.exe crashes in deltaenv
+        DEF110665 CBR Tools GPG documentation is out of date
+        DEF113042 CBR tools return a '0' value even with invalid arguments
+        DEF114436 GT0366: DeltaEnv: ApplyDelta.pm has incorrect English messages
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1008
+
+Made by Product Creation Tools, 15/11/2007
+
+Defect fixes:
+
+    INC113318 - RELTOOLS: deltaenv can not co-op with multiple local archive
+    INC105515 - RELTOOLS: viewnotes and angled-brackets
+    DEF113091 - Inconsistent behaviour of CBR tools
+    DEF114173 - DeltaEnv Fails with Perl Error
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1007
+
+Made by Product Creation Tools, 30/10/2007
+
+Defect fixes:
+
+    DEF112925 - DeltaEnv does not remove deleted exports
+    DEF113007 - DeltaEnv can create invalid delta manifests
+    DEF112186 - DeltaEnv fails to apply delta due to long path lengths
+    DEF113394 - Releasing an already existing version of a CBR comp deletes the 
+                original from the archive
+    INC113252 - RELTOOLS: blddoc exit with an error
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1006
+
+Made by Product Creation Tools, 22/10/2007
+
+Defect fixes:
+
+    PDEF113136 - CBR: Bad reference when remote path missing from reltools.ini  
+    PDEF107504 - ImportEnv and ImportRel do not provide a summary
+    DEF113056 - DeltaEnv produces Perl warnings
+    DEF112883 - PullEnv/PushEnv have ceased to work
+    DEF112532 - DeltaEnv cannot create a delta     
+    DEF112367 - CBR errors and warnings in M04358 v9.6
+
+Compatibility notes:
+*   The output of ImportRel/ExportRel/ImportEnv and ExportEnv has been changed.
+    All the tools now produce a table of successful transfers, and then a table
+    of failed transfers (if any).  The table also includes a column to display
+    the status or failure reason.
+    
+-----------------------------------------------------------------------------------
+
+Version 2.83.1005
+
+Made by Product Creation Tools, 09/10/2007
+
+Defect fixes:
+
+    DEF112571 - CBR creation more fragile in recent System Builds
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1004
+
+Made by Product Creation Tools, 27/09/2007
+
+Defect fixes:
+
+    INC111277 - RELTOOLS: slow exporting / exportdata parsing
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1003
+
+Made by Product Creation Tools, 26/09/2007
+
+Defect fixes:
+
+    DEF112113 - DeltaEnv fails to overwrite even if the overwrite flag is set
+    DEF112116 - DeltaEnv won't apply a delta
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1002
+
+Made by Product Creation Tools, 20/09/2007
+
+Defect fixes:
+
+    DEF111270 - Mysterious warning in latestver
+    DEF105111 - Symbian::DistributionPolicy perldoc incorrect since CL653690
+    DEF110092 - CBR tools do not indicate whether or not abld cache is being used
+    DEF108677 - BldDocs does not build the docs for DeltaEnv 
+    DEF109761 - DeltaEnv obliges the user to provide a PGP key 
+    DEF111453 - DeltaEnv causes problems for archive cleaning tool
+    DEF111817 - DeltaEnv fails to handle changes to export rules 
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1001
+
+Made by Product Creation Tools, 31/08/2007
+
+Defect fixes:
+
+    DEF108536 - autoCBR releases components unnecessarily 
+
+Compatibility notes:
+*   Archived components which contain abld.bat in the manifest.xml or the zip
+    files may be reported as dirty.  Components created with this release of the
+    CBR Tools will not contain abld.bat files.
+
+-----------------------------------------------------------------------------------
+
+Version 2.83.1000
+
+Made by Product Creation Tools, 30/08/2007
+
+New Features:
+*   PREQ775 - Alignment of CBR and System Model components
+
+Compatibility notes:
+*   There is a new keyword supported for specifying IPR information in MRP files.
+    Information on the syntax and usage of the 'ipr' keyword can be found in the
+    CBR Tools CHM help file->CBR Tools User Guide->Creating a typical MRP file->
+    Adding IPR information.
+
+    IPR information will be obtained from MRP files by default, unless the MRP files
+    do not contain IPR information in which case it will fall back to
+    using distribution.policy files.
+    
+    You can specify that distribution.policy files are to be used by default by
+    adding the 'use_distribution_policy_files_first' directive to your reltools.ini.
+    
+    If you are using distribution.policy files as default and the required
+    distribution.policy file is missing then the CBR Tools will attempt to get the
+    information from MRP files.    
+    
+-----------------------------------------------------------------------------------
+
+Version 2.82.1004
+
+Made by Product Creation Tools, 17/08/2007
+
+Defect fixes:
+
+    INC105524 - Cleanremote command does not work...
+    DEF110377 - GetSource does not print warning with missing archives
+
+-----------------------------------------------------------------------------------
+
+Version 2.82.1003
+
+Made by Product Creation Tools, 10/07/2007
+
+Defect fixes:
+
+    DEF103662 - Add support to envsize command to only count 'new' components
+    DEF107988 - Source mapping breaks manifest
+    DEF108734 - DeltaEnv fails to run from SITK
+
+-----------------------------------------------------------------------------------
+
+Version 2.82.1002
+
+Made by Product Creation Tools, 06/07/2007
+
+Defect fixes:
+
+    INC108949 - RELTOOLS: Cannot run GetEnv because another command is already running
+    DEF100309 - CBR Tools do not work with GNU Diff 
+
+-----------------------------------------------------------------------------------
+
+Version 2.82.1001
+
+Made by Product Creation Tools, 29/06/2007
+
+Defect fixes:
+
+    DEF102405 - reltools don't seem to cope with importing releases with sourceX
+                but no key
+    DEF105028 - Cleanlocalarch did not keep a recent component when it was specified to
+    DEF107829 - Autoflush turned on for reltool scripts
+    DEF107832 - Import.pm should have setting so that "Incorrect PGP passphrase"
+                doesn't hang YG
+
+Compatibility notes:
+*   Previously Cleanlocalarch would remove components which were corrupt or which
+    were being released into the archive at the same time Cleanlocalarch was
+    running.  Now Cleanlocalarch will not remove these components by default.
+    If you wish for Cleanlocalarch to remove such components you will need to
+    specify the -r (really clean) flag when running Cleanlocalarch.
+
+-----------------------------------------------------------------------------------
+
+Version 2.82.1000
+
+Made by Product Creation Tools, 26/06/2007
+
+New Features:
+*   GT0366/PREQ1703 Traceability PREQ for changes to legacy functionality which
+    have been delivered as part of Nutmeg
+    REQ7325 CBR intelligent bitwise-delta releases
+
+Compatibility notes:
+*   This change provides the new DeltaEnv command - there is no change to the
+    existing release/import/export commands or their functionality
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1018
+
+Made by Product Creation Tools, 19/06/2007
+
+Defect Fixes:
+
+    DEF107823 - CBR Tools compatibility fix for export sources owned by another component
+
+Compatiblity notes:
+*   If you specify the wrong number of arguments for the 'export_file' keyword in
+    an MRP file then an error will be produced.  The new error is 'Error: Invalid
+    number of arguments to 'export_file' keyword in "MRP name"'.
+
+-----------------------------------------------------------------------------------
+
+
+Version 2.81.1017
+
+Made by Engineering Tools, 08/06/2007
+
+Defect Fixes:
+
+    DEF107823 - CBR Tools compatibility fix for export sources owned by another component
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1016
+
+Made by Engineering Tools, 30/05/2007
+
+Defect Fixes:
+
+    INC104253 - ExportRel exits silently if release exists on FTP site
+
+Compatiblity notes:
+*   Additional messages in the ExportRel command:
+    - a note of anything that didn't need exporting because it already exists
+    - a report at the end of all successful exports
+    - a messsage at the end if the overall effect of the tool was to do nothing
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1015
+
+Made by Engineering Tools, 25/05/2007
+
+Defect Fixes:
+
+    INC105513 - Using validaterel results in releases with corrupt manifest files
+    INC105514 - Cannot find mrp file when using validaterel
+    INC105518 - Out-commented line in mrp file picked up anyway...
+    INC105677 - CBR Tools behave badly with special characters in passwords
+    INC105539 - Viewnotes produce not so good html...
+    INC105535 - Greek and Russian characters are not supported by reltools
+    INC105548 - Reltools allowing to build on drives lower than F:
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1014
+
+Made by Engineering Tools, 30/04/2007
+
+Defect Fixes:
+
+    DEF101018 - CBR getenv gets stopped
+    DEF101032 - Unnecessary confirmation dialog in installer during upgrade
+    DEF104279 - The exclude keyword in the CBR export table breaks the exported archive
+    DEF104280 - CBR Documentation of export tables is incomplete
+
+Minor Changes:
+    Amended the error messages produces when UnZip fails to include the return code
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1013
+                             
+Made by Engineering Tools, 01/03/2007
+
+Defect Fixes:
+    DEF099673 - OS limits on path length are not enforced by CBR tools
+    DEF102329 - Importenv runs slowly
+
+Compatibility Notes:
+*   Amended CleanEnv so that warning messages are produced instead of error
+    messages in relation to files and the OS path length.
+
+-----------------------------------------------------------------------------------
+    
+Version 2.81.1012
+                             
+Made by Engineering Tools, 20/02/2007
+
+Defect Fixes:
+    INC101483 - dumpbin /symbols /exports failed
+
+Compatibility Notes:
+*   The tools will now continue on from errors originating from an evalid
+    dependency (e.g. dumpbin, and also others such as elfdump).  The errors are
+    suppressed if they originate from dumpbin, and appear as warnings if
+    originating from other tools.
+*   When validating the message 'No checksum found for files(s)...' will appear
+    in all these cases, or when validating against a release which experienced
+    one of the above evalid dependency failures when it was made.
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1011
+                             
+Made by Engineering Tools, 22/01/2007
+
+Defect Fixes:
+    DEF098727 - Add support for forcing an import of an environment
+    DEF092967 - [CBR Tools] Re-enable newly disabled functionality in fix for DEF092883
+    DEF099673 - OS limits on path length are not enforced by CBR tools
+    DEF100138 - LatestVer filtering is case sensitive
+    DEF097215 - CBR/Evalid generates incorrect manifest checksum when dumpbin not present
+
+Compatibility Notes:
+*   Path lengths are now enforced by the CBR tools.  It is now not possible to
+    release a file with a path of containing more than 245 characters.
+*   A new informational message has been added.  When validating against a
+    component which was built on a machine with no 'dumpbin' program, and which
+    contains files that require dumpbin in order to be validated, the code will
+    now revert to the validation process which predated version 2.81 of the
+    tools.
+    The new message is 'No checksum found for files(s) <files> - reverting to
+    old evalid process.'
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1010
+Made by Engineering Tools, 03/01/2007
+
+Defect Fixes:
+    DEF091267 - CBR tools 2.80 produce warning when used with Perl 5.8.7
+    DEF095504 - Support for 'ipr' keyword tolerance
+    DEF099019 - Export does not give FTP information without extra options
+
+Compatibility Notes:
+*   The 'ipr' keyword is not to be used in MRP files as the CBR Tools will
+    ignore it.  This functionality has been added to support PREQ775.
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1009
+Made by Engineering Tools, 12/12/2006
+
+Defect Fixes:
+    DEF097247 - CBR command diffrel is broken unless you provide version information
+    INC096841 - ImportEnv can lead to corrupt environments in low-disc space situations
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1008
+Made by Engineering Tools, 24/11/2006
+
+Defect Fixes:
+    DEF097671: CBR assumption makes binaries from a new tools platform orphans 
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1007
+Made by Engineering Tools, 2/11/2006
+
+New Features:
+*   Implemented CR0751 - Remove GPG binary from CBR Tools distribution
+
+Compatibility Notes:
+*   Users will need to have installed a version of GPGv1.x or PGP Command Line
+    version 6 or later to use the import/export functionality.  The tools no
+    longer come with a default tool.
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1006
+Made by Engineering Tools, 21/09/2006
+
+Defect Fixes:
+    DEF091264	LatestVer should filter results by a pattern
+    DEF092244	Use of uninitialised value in Manifest.pm line 128
+    DEF092722	exclude.txt parsing dislikes hyphens in wildcard specifications
+    DEF092972	ViewNotes creates blank documents when attempting to view notes
+                for a component which has not been released
+    DEF093204	CBR Tools Quick Reference typo
+    DEF093609	validaterel assumptions about path case can lead to CBR errors
+    DEF094460	[System Build] - Can't locate EvalidCompare.pm
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1005
+Made by Engineering Tools, 17/08/2006
+
+Defect Fixes:
+    DEF092883  [System Build] - CBR Tools identifying folders as orphans
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1004
+Made by Engineering Tools, 08/08/2006
+
+Defect Fixes:
+    DEF087684  [CBR Tools] Diffrel can't cope with paths longer than as little as 115 chars
+    DEF090893  [CBR Tools] The reltools.ini 'experimentalproxy' keyword is treated as 'proxy'
+    DEF088308  [CBR Tools] Run-time error when EPOCROOT is invalid
+    DEF088479  [CBR Tools] Tools never warn about missing cbrtargetalias.cfg
+    DEF089530  "cleanenv -rf" doesn't remove rogue dirs
+    DEF085602  [CBR Tools] Get source for any environment
+    INC089568  reltools.ini.ex out of date
+
+Compatibility Notes:
+*   GetEnv functionality has been extended to allow the source code for any
+    environment to be downloaded, irrespective of whether it is the current
+    environment or not.  This is achieved by using the --source-only switch.
+*   When using cleanenv it will now remove any empty directories it finds within
+    the EPOC tree.  The list of directories to be removed will be displayed
+    with the list of files to be removed.
+*   If the 'remote_site_type experimentalproxy' option was specified in the
+    reltools.ini file, it would actually have been interpreted as 'proxy' and
+    not 'experimentalproxy'.  Users using the 'experimentalproxy' keyword will
+    find that the tools now respect that keyword.  To get the old behaviour,
+    the remote_site_type value should be 'proxy'.
+*   The CBR tools now create temporary directories under the system temp dir.
+    If your system temp dir is deeply nested, it may be better to override this
+    with a shorter path, since there are limitations on internal path lengths
+    for certain cbr commands.  This can be done my specifying the 'temp_dir'
+    keyword in reltools.ini, e.g. 'temp_dir c:\temp'
+*   The CBR tools should produce a warning message if the cbrtargetalias.cfg
+    file is missing.  This functionality was not working properly and has now
+    been fixed.  This warning message can be suppressed by specifying the
+    'no_target_alias_warning' in your reltools.ini.
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1003
+Made by Engineering Tools, 06/06/2006
+
+Defect Fixes:
+    DEF065262  [CBR Tools] cleanremote fails to clean old releases (documentation issue)
+    DEF084397  Upgrading releases using getenv doesn't remove empty include directories
+    DEF085780  ValidateRel fails when no MRP file exists (e.g. due to having no source)
+    DEF087482  cleanremote broken in 2.80.1002
+
+Compatibility Notes:
+*   If using cleanlocalarch and the copy of the component in the local archive is
+    corrupt then cleanlocalarch will give the following error message and continue:
+    "Warning: Unable to identify the environment for 'Component Version'. This may
+    result in additional component releases being cleaned from the archive.
+    (Corrupt release; missing reldata file)".  This replaces the error message:
+    "No Reldata file exists for $thisComp $thisVer as it would appear to be corrupt.
+    A fresh version shall need to be installed".
+
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1002
+Made by Engineering Tools, 26/04/2006
+
+Defect Fixes:
+    DEF084619: [CBR Tools] Cat X is pre-2.80.1000 Compatible
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1001
+Made by Engineering Tools, 19/04/2006
+
+Defect Fixes:
+    DEF068972: [CBR Tools] A CBR component being installed can't be interrupted
+
+-----------------------------------------------------------------------------------
+
+Version 2.81.1000
+Made by Engineering Tools, 12/04/2006
+
+New Features:
+* GT0278/TREQ0017 Significantly Reduce CBR Build Time
+    REQ0035  Add component manifest
+     An XML manifest is created during component release - contains Evalid MD5
+     checksums of component content.
+    REQ0036  ValidateEnv/Rel using Evalid MD5
+     Validation uses the manifest checksums rather than installing a temporary
+     local copy and generating evalid data every time.
+
+N.B.: The text above is a summary of the requirements.
+
+Defect Fixes:
+    DEF058539: [CBR Tools] Timestamp of source clobbered by reapplication of MSDOS attributes
+    DEF077956: [CBR Tools 2.80.1001] Unhelpful Warnings
+
+Compatibility Notes:
+*   A manifest.xml file is added to each new component published. This can be
+    found at the same level as the component reldata file within the archive.
+
+-----------------------------------------------------------------------------------
+
+Version 2.80.1003
+Made by Engineering Tools, 04/04/2006
+
+Defect Fixes:
+    DEF083821: CBR tools 2.81beta3 breaks the PATH environment setting
+
+-----------------------------------------------------------------------------------
+
+Version 2.80.1002
+Made by Engineering Tools, 03/04/2006
+
+Defect Fixes:
+    DEF083670: cleanlocalarch stops cleaning
+    DEF083808: CBR tools have incorrect "earliest compatible version" in reldata
+    DEF077676: CBR tools create perl warnings and unhelpful output given a bad .mrp file
+    DEF082745: CBR tools envinfo releasable error should be clearer
+    DEF083234: CBR Tools MrpData->Source() method returns some directories
+
+Compatibility Notes:
+
+*   The error message for a bad line in an MRP file has been changed.  The line
+    number of the bad line is now printed inbetween the MRP file name and the
+    bad line offending line is always printed too e.g. Warning: Invalid line in
+    "helloworld\group\helloworld.mrp" (Line 3) - "source\helloworld"
+    instead of:
+    Warning: Invalid line in "helloworld\group\helloworld.mrp" - .
+*   When the EPOCROOT could not be removed from the path the following error
+    message was displayed: "Error: Couldn't remove "\" from "afolder".
+    This has now been changed to:
+    Error: Path does not contain EPOCROOT - EPOCROOT:"\" - Path:"afolder".
+
+-----------------------------------------------------------------------------------
+
+Version 2.80.1001
+Made by Engineering Tools, 12/01/2006
+
+Defect Fixes:
+    DEF077665: [CBR Tools] does not add any files warning should be a remark
+
+-----------------------------------------------------------------------------------
+
+Version 2.80.1000
+Made by Engineering Tools, 06/01/2006
+
+New Features:
+* GT0278/TREQ0018 CBR Tools ISC Support
+    REQ0018  Comply with new version numbering
+     The CBR Tools must adhere to the Engineering Tools versioning standard.
+    REQ0037  Update tools documentation
+     The CBR Tools documentation must be updated to include new features.
+    REQ0045  Arbitrary IRP categorisation (A-Z)
+     The CBR Tools must allow arbitrary IPR categorisation of source and
+     exports to permit additions within the CKL.
+    REQ0076  Enhance existing export filtering
+     The CBR Tools export functionality must be able to differentiate between
+     source and exports when encryptying based on IPR category.
+
+N.B.: The text above is a summary of the requirements.
+
+Defects Fixed:
+    DEF044949  [Reltools] Missing in-source documentation
+    DEF052380  [RelTools] Misleading warning message from 2.76.3
+    DEF053523  [Reltool] bininfo after preprel does not work
+    DEF054781  [Reltools] InstallSnapshot falls over if given no options.
+    DEF054800  [Reltools] CBR Release Tools message in 'importenv' is gibberish.
+    DEF054806  [reltools] Release tools command 'BuildRel' compatibility break
+    DEF055785  [Reltools] DiffRel upset if no source
+    DEF058539  [Reltools] Timestamp of source clobbered by reapplication of MSDOS attributes
+    DEF058760  [Reltools] GPG decrypt less verbose than GPG encrypt
+    DEF060192  cleanlocalarch does not report failure to delete files / directories
+    DEF061247  CBR tools Installation document still refers to source_filter keyword
+    DEF061580  [RelTools] PASV mode suggested when PASV mode enabled
+    DEF061684  GPG Encrypt/Decrypt does not show command executed in very verbose mode
+    DEF062294  [RelTools] Validateenv produces warnings
+    DEF064016  [RelTools] Validateenv fails if source is not present
+    DEF064912  validaterel does not report filename of reclassified export
+    DEF065010  CBR Tools treat "-exports" as "exports"
+
+Compatibility Notes:
+*   The CBR Tools were incorrectly interpreting the (illegal) MRP syntax "-exports"
+    to mean "exports". Version 2.80 of the CBR Tools corrects this defective action
+    and will now stop with the fatal error, 'Error: Unknown keyword "-exports" in
+    [file.mrp]' should this be encountered (where [mrp.file] is replaced by the
+    path to the actual MRP file containing the incorrect syntax). Actions to
+    resolve: 1. Ensure no MRP files contain the illegal syntax. 2. Use the
+    -export_file syntax instead (if required). 3. Be aware that any files thought
+    to have been excluded from export were actually being exported.
+*   CBR Tools release 2.76.4 inadvertently 'touch'ed the files as a result of
+    reapplying the MSDOS file attributes after unzipping (e.g. during a getenv
+    operation). This overwrote the original Modified timestamps with the current
+    system time. CBR Tools release 2.80 will preserve the timestamps as all releases
+    prior to 2.76.4 used-to. If any dependency has been introduced based on this
+    unintentional change then the actions to resolve will depend on the actual
+    implementation of the dependency. We do not believe it is likely that any issue
+    will exist due to the obscurity and relative short life of this defective
+    action.
+*   Additional -v (verbose output) has been added to the tools during GPG
+    decryption. This will permit the output from the encryption utility to be seen.
+    This brings the decryption action into line with the encryption action which
+    already displays the utility output. During a CBR import and when in verbose
+    mode, this additional output will be included in the command output. The
+    additional output will follow the form of the encryption output display in that
+    each line will be indented with a tab character. These lines may be safely
+    ignored as verbose output.
+*   IPR categorisation of source files was until recently restricted to A-G or X
+    (for undefined). Any letter: A-Z, is now permitted (with X retaining its special
+    property of representing "IPR not specified"). The behaviour in previous
+    versions of the tools was undefined should a previously-invalid categorisation
+    have been encountered. In the unlikely event that any dependencies were created
+    on this undefined behaviour then each will need to be looked at to determine
+    sensible resolutions.
+*   Export table syntax has been updated to allow for separate treatment of source
+    and exports. The old syntax is still supported but more rigorous error checking
+    will ensure that any invalid content will cause a fatal error to be thrown. Only
+    the keywords "exclude", "exclude_bin", IPR categories consisting single letters
+    "A"-"Z" and whitespace will be allowed. Any other punctuation will not be
+    permitted, e.g. hyphens, brackets, braces etc. These were not explicitly
+    disallowed in the previous versions but must now be, to allow the additional new
+    syntax to be checked properly. Actions to resolve any issue: 1. restrict export
+    table content to only the above permitted keywords and the new syntax (details
+    of which will are available in the documentation).
+
+-----------------------------------------------------------------------------------
+
+Version 2.76.4
+Made by Nic Percival, 15/02/2005
+
+From Nic Percival:
+* Fixes for:
+    DEF054892 - Missing option "exclude_bin" from the documentation in module "Installation"
+
+From Hocine Adjerid:
+* Fixes for:
+    DEF053737 - [Reltools] CBR Tools Fail to work with "testexports" keyword
+    DEF051278 - [Reltools] zip does not accept filenames with '['
+    DEF050304 - [Reltools] Commands within the RelTools indicate they are not supported
+    DEF050374 - [Reltools] importrel should not rely on EPOCROOT being set
+    DEF051241 - [Reltools] CBR tools provided GnuPG does not support IDEA encryption algorithm
+    DEF049473 - [Reltools] CBR tools users must not 'send us a patch'
+    DEF052150 - [Reltools] importrel/importenv are case sentive in 2.76.3 unlike earlier version
+    DEF051424 - [Reltools] RemoteSite::NetDrive unhelpful
+* Implemented CR:
+    CR-EKOS-653GJ9 :  add the possiblity to exclude binaries from a component when exporting.
+
+From George Sin:
+* Fixes for:
+    DEF043802 - [Reltools] CleanLocalArch is not atomic in it's move operations
+    DEF049619 - [Reltools] viewnotes -d between gt_techview and gt_only_baseline crashes
+    DEF049823 - [Reltools] Cleanlocalarch in release tools 2.76.2 documentation needs updating
+    DEF047825 - [Reltools] CBR tools inefficient at searching for releases
+    DEF043820 - [Reltools] lastestver documentation is unclear
+* Implemented CR:
+    ABEK-63REXV: Option to overwrite destination when using cleanlocalarch of the CBR tools.
+    CLEN-65CEUW: RemoveSource functionality needed for redundant components found during a Getenv\Getrel command
+    JROE-62DHSZ: Add support to CBR viewnotes to output HTML on stdout rather than creating a file.
+    EMAE-68LJZF: Minimising CBR delta sizes when transferring CBR builds between parties with shared source access
+
+From Larry Knibb
+* Fix for:
+    DEF053799 - [Reltools] CBR tools do not preserve file attributes
+
+
+From Conor Lennon:
+* Fix for:
+    DEF051830 - [Reltools] reltools 2.76.3 causing IO errors
+* Implemented CR:
+    CLEN-65CF94 Baseline component for DevLib and Documentation components so as to install documention as an option
+    CLEN-65CEUW  Remove Source functionality needed for redundant components found during a Getenv\Getrel command
+
+-----------------------------------------------------------------------------------
+
+Version 2.76.3
+Made by Iain Williamson, 04/11/2004
+
+From Conor Lennon:
+*Fix for:
+    DEF050197  [System Build] CBR Warnings in 03387 (8.1a) introduced by new RelTools
+
+-----------------------------------------------------------------------------------
+
+Version 2.76.2
+Made by Nic Percival, 08/10/2004
+
+From Hocine Adjerid:
+* Fixes for:
+    DEF045203  CBR Tools do not support all FTP server s/w
+    DEF048538  CBR: Archive::Zip module truncates some files during unzip
+    DEF049213  zip.exe does not accept name with '['
+    DEF049351  CBR tools do not find cbrtargetalias unless EPOCROOT is set to /
+
+From George Sin:
+* Fixes for:
+   DEF045331  RelTools v2.74 fail on removesource if full component not present
+   DEF046291  Latestver of the reltools does not like archives that don't exist
+   DEF047874  Cleanlocalarch determine from the output if it's was a dummy run
+   DEF047458  Release tools: ftp_timeout field not used
+   DEF047935  Reltools docs error
+
+* Also includes implementation for CR WROS-5ZLKHS Provide a tool which can create a new version
+  of a CBR component by copying and manipulating the archive metadata of an existing version
+
+From Iain Williamson:
+* Implemented CR ABEK-5z5GXE Usable CBR archive cleaning - new keep_recent_rel
+  and keep_recent_env keywords
+
+From George Sin:
+
+* Fixes for:
+   DEF047062 [Reltools] CBR Tools fail to identify the need to upversion a component.
+   DEF048513 [Reltools] validateenv does not check for additional binaries.
+
+From Uma Ahamed:
+* Added fix for DEF045288 - latestver and viewnotes don't work in 2.75.2 with gt_only_baseline
+
+-----------------------------------------------------------------------------------
+
+Version 2.76.1
+Made by Iain Williamson, 11/08/2004
+
+From Uma Ahamed:
+
+* Added fix for DEF043802 "CleanLocalArch is not atomic in it's move operations"
+
+* Added fix for DEF046030 "cleanenv removes component without re-installing it"
+
+From George Sin:
+
+* Fixes for:
+   DEF043820  lastestver documentation is unclear
+   DEF044978  Error in how source is unpacked in the Release tools...
+   DEF045715  Incorrect warning about -binary in comms-infras_commdb_cedar
+   DEF046148  Release Tools do not allow spaces in their installation directory
+   DEF046325  RelTools don't report correct error messages in local arch disc
+     full conditions
+   DEF046711  Release tools 2.76 cannot install files that already exist and is
+     read only...
+
+From Hocine Adjerid:
+
+* Fix for DEF046532  RelTools v2.76 won't configure to work with an internal
+    proxy for FTP traffic
+
+-----------------------------------------------------------------------------------
+
+Version 2.76
+Made by Iain Williamson, 07/06/04
+
+From George Sin:
+
+* Have added all build from anywhere functionality as part of PR0097.
+
+* The keyword source_map is now accepted in the reltools.ini file.
+
+* In source documentation updated to refect the change.
+
+From Nic Percival:
+
+* Added fix for DEF045096, retry gpg if it fails with return code 2.
+
+From Iain Williamson:
+
+* Fixes for DEF043798, 043802, 044943 and 044944 (various cleanlocal/remote
+  archive defects)
+
+From Paul Ross:
+
+* Added fixes for DEF045417, DEF045416, DEF045414, DEF044950, DEF044948
+  DEF044947, DEF044946, DEF044781, DEF044778, DEF044777, DEF044775, DEF044773
+  DEF044771 (code review defects)
+
+-----------------------------------------------------------------------------------
+
+Version 2.75.2
+Made by Iain Williamson, 10/05/04
+
+From Paul Ross:
+
+* Suppressed warning of missing alias file if not using 'all' functionality
+  (DEF044726)
+* Suppressed directory listing during FTP (DEF044724)
+
+From Iain Williamson:
+
+* Fixed 'argument "n.nn.n" isn't numeric...' warning (DEF044699)
+
+From George Sin:
+
+* Fixed broken link when building 'MakingReleases' doc (DEF044976)
+
+-----------------------------------------------------------------------------------
+
+Version 2.75.1
+Made by Iain Williamson, 23/04/04
+
+From Paul Ross:
+
+* Fixed bug where tools failed to obtain the correct IPR category for export
+  restricted files (DEF044565)
+
+-----------------------------------------------------------------------------------
+
+Version 2.75
+Made by Iain Williamson, 21/04/04
+
+From Paul Ross:
+
+* Added support for the aliasing system in MRP files, for example using
+  a target 'ALL' in an MRP file.
+
+* The data needed to resolve aliases is in \epoc32\tools\variant\cbrtargetalias.cfg,
+  if this is absent a warning is issued only when required and then only once.
+  The warning can be suppressed by the presense of a flag 'no_target_alias_warning'
+  in the reltools.ini file.
+
+* In IniData.pm added APIs ReadTargetAlias(), ReadTargetAliasFile() to read the
+  alias file. Added APIs HasTargetPlatforms() and TargetPlatforms() to resolve
+  MRP aliases. Added API CheckAliasWarning() to handle the absence of alias
+  file warning.
+
+* In MrpData.pm added implementation code in HandleBinSet() to provide resolution of
+  aliases if appropriate.
+
+From Adrian Taylor:
+
+* Removed obsolete GenMrp and UpdateMrp commands.
+
+* Marked several obscure tools as 'unsupported'
+
+* Added warnings if -binary or -export_file are not doing anything.
+
+* Added two new types of remote archive: 'experimentalftp' and
+  'experimentalproxy'. These are exactly the same as 'ftp' and 'proxy',
+  but use a different algorithm for listing the contents of the FTP site.
+  You may find that these new remote site types work successfully with
+  CleanRemote, whilst the standard 'ftp' and 'proxy' types almost
+  certainly will not.
+
+* Rejigged the test suite to use a real FTP site for testing.
+
+-----------------------------------------------------------------------------------
+
+Version 2.74
+Made by Adrian Taylor, 12/02/04
+
+This version is identical to 2.73-Testing-Only.
+
+-----------------------------------------------------------------------------------
+
+Version 2.73  *** TESTING ONLY ***
+Made by Adrian Taylor, 30/01/04
+
+From Adrian Taylor:
+
+* Added -i flag to GetRel
+
+* Ensured little dots march across screen even with the dodgy IO layer
+  of Perl 5.8.x
+
+* Fixed bug where tools didn't complain if EPOCROOT wasn't set (DEF041251)
+
+* 'component' argument to EnvInfo -f <component> was case-sensitive. INC040759.
+  Fixed.
+
+* Added Optimisation document.
+
+* Added new field to reldata: 'first compatible version'. This shows the first
+  version of the tools that a given release should work with. It's set based on
+  the CategoriseXXX features in the reltools.ini. GetRel and GetEnv issue a
+  warning if they're trying to install a release that's too recent.
+
+* Added optional version number filter to LatestVer, so it only shows versions
+  with a certain phrase in their version number.
+
+* Tests for GetSource -i, GetRel -s and GetRel -si added to test suite.
+
+* Fix for serious bug, introduced in 2.71, where duplicate ownership files were
+  sometimes not reported.
+
+* Increased diagnostics for problems listing directories on FTP sites, to try
+  to work out what's up with the Symbian FTP site.
+
+* Increased robustness of RemoteSite::FTP::DirList now I've seen the symptoms
+  that the Symbian FTP site has.
+
+* Improved efficiency of ExportEnv - it no longer does so many redundant checks
+  to find out if a release has already been exported.
+
+* Upgraded Net::FTP to libnet-1.17
+
+* Reverted 2.72 change where FTP connections used 'dir' instead of 'ls'. This
+  will reveal problems with CleanRemote, which I have tried to work around.
+
+From Matt Davies (merged by Ade):
+
+* Fix for INC040720 - CBR Tools: Categorised Exports cannot have spaces in the source path
+
+-----------------------------------------------------------------------------------
+
+Version 2.72
+Made by Adrian Taylor, 4/12/03
+
+From Adrian Taylor:
+
+* Added 'testexports' MRP directive
+
+* Re-enabled limited SourceInfo functionality
+
+* Fixed many bugs in CleanRemote.
+
+* Ensure 'PGP passphrase' prompt is never invisible even on Perl 5.8.x
+
+* Added \epoc32\release\tools\* to the list of standard ignores, as the
+  files in there are intermediate files. (They get copied to \epoc32\tools,
+  which is the final resting place). See DEF039764 for the reasoning.
+
+* Prevented the use of Win32::Semaphore module when disable_win32_extensions
+  is turned on
+
+From Joe Branton:
+
+* Added checks to ensure that all exported files referred to by an MRP file physically
+  exist. Also added a defensive check to Utils::ZipList to throw an error if any
+  of the files being zipped are not present (previously such situations were being
+  ignored).
+
+-----------------------------------------------------------------------------------
+
+Version 2.71
+Made by Joe Branton, 08/10/2003
+
+Know Problems:
+
+* The command 'SourceInfo' is broken in this release.
+
+From Adrian Taylor:
+
+* Removing -d option from LatestVer documentation
+
+* Removed annoying FTP site prompting with LatestVer -vv when no FTP site
+  defined.
+
+* Prevented the version number '0' which confused the tools
+
+* Fixed bug which prevented BinInfo <file> working if the component was
+  pending release.
+
+From Joe Branton:
+
+* Added support for EPOCROOT with a value other that '\'. When installing binaries
+  they will be installed into %EPOCROOT%\epoc32. When making releases, EPOCROOT is
+  not stored in the zip files, thereby allowing a release to be installed into an
+  environment configured with a different EPOCROOT.
+
+* Added support for a new environment variable - SRCROOT. This is similar to EPOCROOT
+  except that it defines where the release tools install source (by default - the -i
+  option can still be used to override this). SRCROOT information is not stored in
+  release zip files.
+
+* Added support for relative paths in MRP files. You can now do things like:
+
+    binary . all
+    exports ..\somepath
+
+  Such paths are read as being relative to the directory inwhich the MRP file is stored.
+  If absolute paths are specified, the following rules apply to each keyword:
+
+    'notes_source <file>'                    - SRCROOT is prepended to <file>.
+    'source <file|dir>'                      - SRCROOT is prepended to <file> or <dir>.
+    '[-][test]binary <abld_path>'            - SRCROOT is prepended to <abld_path>.
+    '[-][test]binary <file|dir>'             - EPOCROOT is prepended to <file> or <dir>.
+    'exports <abld_path>'                    - SRCROOT is prepended to <abld_path>.
+    '[-]export_file <src_file> <dest_file>'  - SRCROOT is prepended to <src_file>.
+                                             - EPOCROOT is prepended to <dest_file>.
+
+  Note, it is assumed that all components are EPOCROOT compliant (i.e. only generate files
+  within %EPOCROOT%). Currently at least one component (Java) is known to not comply. This
+  has the consequence that it is not currently possible to release Java using an EPOCROOT
+  of anything other than '\'. It also means that when installing an environment containing
+  Java, its 'erj' directoy will be put in %EPOCROOT%\erj rather than \erj.
+
+  Tools developers note, within MrpData all paths are stored in absolute form, but
+  without EPOCROOT or SRCROOT at the beginning. This is because parts of MrpData get
+  written into RelData objects, and these need to be independent of EPOC/SRCROOT. The
+  consequence of this is that care must be taken both within MrpData and by users of
+  MrpData to prepend EPOCROOT or SRCROOT as appropriate before using the paths.
+
+* Added support for :zip statements in the PRJ_EXPORTS section of bld.inf files. Note,
+  at the time of writing bldmake.pl contained bugs in it's implemention of this
+  functionality. Tested against a hacked version of bldmake.pl that contained fixes to:
+    a) "abld -w export" listing "\" as an export (bug in GetArchiveExportList()).
+    b) "abld -w export" not listing exports relative to EPOCROOT.
+
+-----------------------------------------------------------------------------------
+
+Version 2.70
+Made by Adrian Taylor, 07/08/2003
+
+From Adrian Taylor:
+
+* Better error checking of 'unzip' return code, detecting invalid releases.
+  Similarly with GPG.
+
+* Fix to allow 'perldoc CleanEnv' to produce the command manual page,
+  rather than the manual page for the internal module.
+
+* Fixed problem with -f option on Push/Pull/Rel/Env
+
+* Worked around bug in Perl 5.8.0 itself, which prevented GetRel -p and
+  MakeRel -p from working (Perl bug #21217)
+
+* Fixing minor bug in test suite t_snapshot and Perl 5.005
+
+-----------------------------------------------------------------------------------
+
+Version 2.69
+Made by Adrian Taylor, 30/7/2003
+
+From Adrian Taylor:
+
+* Fixing bug in ValidateEnv which resulted in complaints about "uninitialised
+  value at line 644".
+
+-----------------------------------------------------------------------------------
+
+Version 2.68
+Made by Adrian Taylor 23/7/2003
+
+From Adrian Taylor:
+
+* Fixing bug in ValidateRel. If there was a component with binary files,
+  none of which were within \epoc32, and no source code files, its status
+  would always be reported as clean by validation.
+
+-----------------------------------------------------------------------------------
+
+Version 2.67
+Made by Joe Branton 9/07/2003
+
+From Adrian Taylor:
+
+* Fixing bug in ValidateRel. If you had a pending release component, then
+  you validated against a component that didn't match what you had, the tools
+  got temporarily confused and you had to PrepRel the component to get things
+  back to normal.
+
+From Joe Branton:
+
+* Added '-d' option to CleanLocalArch to allow dummy runs to be performed.
+
+* Changed behaviour of CleanLocalArch so that it cleans entire releases - previously
+  it left reldata files behind in an attempt to preserve release note history. However
+  with this file in place the tools will not warn the user if they attempt to install
+  the corresponding release even though there is nothing to install. This issue
+  needs to be addressed in a more fundamental way. For the time being cleaned releases
+  are removed without trace.
+
+* Removed output to STDERR from the majority of the tools. Note, this has not been done
+  for the Net (FTP etc) modules and IPRTOOL since sources are not technically part of
+  the release tools and we don't want to branch them.
+
+-----------------------------------------------------------------------------------
+
+Version 2.66
+Made by Adrian Taylor 24/06/2003
+
+From Adrian Taylor:
+
+* Reinstating CleanLocalArch command
+
+-----------------------------------------------------------------------------------
+
+Version 2.65
+Made by Joe Branton 16/06/2003
+
+From Adrian Taylor:
+
+* Fixing bug in MakeSnapShot - no error message was printed if the filename
+  was not specified
+
+* Fixing bug which prevented 'viewnotes -s <comp>' when <comp> not installed
+
+From Joe Branton:
+
+* Fixed defect that caused .lib file binaries (and potentially other duplicate files
+  to be incorrectly categorised. Duplicate files should now be put into the 'unclassified'
+  category so that they are available regardless of the user's 'required_binary'
+  configuration.
+
+-----------------------------------------------------------------------------------
+
+Version 2.64
+Made by Joe Branton 8/5/2003
+
+From John Roe (merged by Joe Branton):
+
+* Fixed bug in mrp parser that caused an error to be thrown when parsing mrp files
+  with multiple "exports" statements with export classification enabled.
+
+-----------------------------------------------------------------------------------
+
+Version 2.63
+Made by Andy Salter 14/04/2003
+
+From Andy Salter:
+
+* Added EnvUserName to reldata.pm and viewnotes.
+
+-----------------------------------------------------------------------------------
+
+Version 2.62
+Made by Joe Branton 07/04/2003
+
+From Adrian Taylor:
+
+* Fixed bug that prevented reltools.ini keyword 'pasv_transfer_mode' from working.
+
+* Added helpful error message if Utils::SplitFileName dies due to a known bug in Perl 5.6.0 (fixed in 5.6.1)
+
+* Added more files to blddocs
+
+* Ignore whitespace at start and end of lines with getrel -p
+
+From Andy Salter:
+
+* Added -o option to ViewNotes, to allow writing output to a file or directory.
+
+From Joe Branton:
+
+* Added utility InstCol2. See documentation for details.
+
+* Fixed minor interface bug in BinInfo - died nastily if given no arguments.
+
+* Fixed defect in ini file parser that caused spurious "Unknown keyword" errors to be
+  displayed when running the test t_exportimport. It's unlikely that this defect would
+  ever be seen in 'the wild' because it would have been necessary for the Perl variable
+  $1 have been set before parsing the ini file. Since the tools always parse the ini file
+  pretty much before doing anything else, this is unlikely to happen. (Also in 2.60.01)
+
+* Fixed identical problem to that described above in MrpData. (Also in 2.60.01)
+
+* Integrated latest version of IPRTOOL (provided by Uma Ahamed) which fixes problem
+  relating to '.' characters in directory names. Removed corresponding assertions from
+  MrpData.
+
+From Iain Williamson (merged by Joe):
+
+* Fixed defect in the way the required_binaries reltools.ini keyword is handled. Now,
+  for example, specifying 'wincw' will not result in 'wins' also being installed.
+  (Also in 2.60.01)
+
+* Added -i <source install directory> option to GetEnv (mirrors GetSource -i option).
+  Note, the supplied patch was slightly modified - the logic for checking that -i is
+  always accompanied with -s was wrong. (Also in 2.60.01)
+
+-----------------------------------------------------------------------------------
+
+Version 2.61
+Made by Joe Branton 13/03/2003
+
+From Joe Branton:
+
+* Extended the behaviour of Im/ExportRel regarding the handling of a list of component
+  versions specified in a text file. The commands now support im/exporting multiple
+  versions of the same component.
+
+* Fixed minor interface bugs in ViewNotes. Now correctly reports when a component
+  does not exist, rather than displaying an empty web page.
+
+* Added 'dummy run' option (-d) to CleanRemote.
+
+* Overhalled configuration of the automated tests. There is now a 'developer_specific.txt'
+  configuration file in the 'configs' directory which should be all developers need to
+  change in order to set up the test harness. The various configurations are generated
+  using a new module ConfigMaker. This provides some C pre-processor like functionality
+  to allow the amount of duplication between configurations to be minimised. See the test
+  documentation for details.
+
+* Fixed defect in ini file parser that caused spurious "Unknown keyword" errors to be
+  displayed when running the test t_exportimport. It's unlikely that this defect would
+  ever be seen in 'the wild' because it would have been necessary for the Perl variable
+  $1 have been set before parsing the ini file. Since the tools always parse the ini file
+  pretty much before doing anything else, this is unlikely to happen.
+
+* Fixed identical problem to that described above in MrpData.
+
+* Added MrpComplexity command. See documentation for details.
+
+* Fixed defect in PrepEnv interactive mode that caused it to prematurely abort if an
+  internal version was not specified when internal versions are required. It now reports
+  an error and carries on.
+
+* Added new commands MakeSnapShot and InstallSnapShot. See documentation for details.
+
+From Adrian Taylor:
+
+* Tidied error message in PathData/ProjectBased
+
+* Fixed regression in 2.59 where diffenv -v no longer overrode -d
+
+* Clarified documentation of -a in latestver
+
+* Added further documentation for -n in viewnotes
+
+* Clarified messages printed by validate[env|rel] -vs
+
+* Spaces at the end of 'source XXX' lines in MRP files are now ignored
+
+Note this release did NOT contain the changes made in 2.60.01 below. These fixes
+have been merged in 2.62.
+
+-----------------------------------------------------------------------------------
+
+Version 2.60.01
+Made by Joe Branton 31/03/2003
+
+From Iain Williamson (merged by Joe):
+
+* Fixed defect in the way the required_binaries reltools.ini keyword is handled. Now,
+  for example, specifying 'wincw' will not result in 'wins' also being installed.
+
+* Added -i <source install directory> option to GetEnv (mirrors GetSource -i option).
+  Note, the supplied patch was slightly modified - the logic for checking that -i is
+  always accompanied with -s was wrong.
+
+From Joe Branton (bug fixes taken from latest branch to get tests to pass):
+
+* Fixed defect in ini file parser that caused spurious "Unknown keyword" errors to be
+  displayed when running the test t_exportimport. It's unlikely that this defect would
+  ever be seen in 'the wild' because it would have been necessary for the Perl variable
+  $1 have been set before parsing the ini file. Since the tools always parse the ini file
+  pretty much before doing anything else, this is unlikely to happen.
+
+* Fixed identical problem to that described above in MrpData.
+
+----------------------------------------------------------------------------------
+Version 2.60
+Made by Joe Branton 26/02/2003
+
+From Joe Branton:
+
+* Fixed defect in new export categorisation functionality that caused a
+  "Can't use string as an ARRAY" Perl error for components whose mrp file contained
+  an 'exports' statement, but which did not actually export anything.
+
+* Changed the way that exported files are IPR classified. Previously the classifications
+  were read from the corresponding source file classifications. However, this meant
+  that unless exported files are released as source, the tools would fail to find
+  the classification and throw an error. Now IPRTOOL is invoked to explicitly classify
+  the source of every  exported file, which lifts this limitation.
+
+-----------------------------------------------------------------------------------
+
+Version 2.59
+Made by ---, --/--/--
+
+From Adrian Taylor:
+
+* 'envinfo' and other read-only commands will no longer try to create all the
+  archives listed in your reltools.ini.
+
+* Fixed documentation error in latestver
+
+* Added check that 'source' directories do not contain '.', because iprtool
+  fails and therefore no source gets packaged up.
+
+* Improved realism of 'fake abld' in test suite.
+
+* Added check that archive_path lines in reltools.ini have a remote path
+  specified, when it's needed.
+
+* Added -d flag to 'ViewNotes' which produces a single HTML page concatenating
+  the release notes between one environment and another.
+
+* Changed DiffEnv to use a new class, EnvDifferencer.pm, which is also used
+  by ViewNotes.
+
+* Added warning to CheckBc that it requires Perl 5.6.1
+
+* Added information to "Installation" about where to get Perl 5.6.1
+
+* Added tests for 'viewnotes'. Added minimal tests to ensure that CheckBc
+  and CheckRls do at least run
+
+* getenv -o now overwrites binaries as well as source (including pending
+  release components)
+
+* Added new "Further Information" document and added information to
+  "Quick Start".
+
+* Fixed bug making releases of 'tools rel' or 'tools deb' components
+
+From Joe Branton
+
+* EnvSize now checks that the user has provided a component name before attempting
+  to calculate its sizes.
+
+* Added 'categorise_exports' keyword and corresponding functionality. See the
+  'Installation' section in the documentation for details.
+
+* Added '[-]export_file' mrp keyword and corresponding functionality. See the
+  'Making Releases' section in the doucmentation for details.
+
+* Added '-d' option to blddocs. By default 'Implementation Notes' are no longer
+  generated. This option can be used to override the default.
+
+* Added 'exclude' keyword and corresponding functionality to the export table parser
+  ExportData. See the 'Installation' section in the documentation for details.
+
+* Changed the failure report summaries of ImportEnv and ExportEnv to print a formatted
+  table.
+
+* Added multi-volume export / import functionality to allow exports to be done
+  do writable CD drives and the like.
+
+-----------------------------------------------------------------------------------
+Version 2.58
+Made by Adrian Taylor, 15/01/03
+
+From Adrian Taylor:
+
+* Fixed bug introduced in 2.56 where an environment scan would continue
+  to run if a binary file didn't exist. This reported very confusing
+  error messages from envinfo and makeenv, and if you agreed to the
+  prompts, cleanenv would delete extra files.
+
+* Added extra documentation and warning messages to prepenv, to note
+  that it doesn't always notice dirty components.
+
+* Fixed prepenv bugs. Firstly, it ignored new MRP locations. Secondly,
+  it misleadingly implied you didn't have to specify a new internal
+  version number for updated components.
+
+* Table formatter always now displays using text format if the output
+  is not a TTY.
+
+* Added -d flag to exportrel and exportenv, which means 'dummy run'.
+  It reports what would happen, without actually doing anything.
+  In particular it reports what PGP keys will be used to encrypt each
+  file.
+
+-----------------------------------------------------------------------------------
+
+Version 2.57
+Made by Adrian Taylor, 09/01/03
+
+From Joe Branton:
+
+* Fixed bug relating to unpacking zip files (say from a getsource) into a directory
+  that doesn't exist. It seems that zip can cope with a single directory not exisiting,
+  but not more than one.
+
+* Added vtable checking functionality to CheckBc.
+
+* Added options to CheckBc to allow individual tests to be disabled.
+
+* Added utility CheckRls.
+
+* Added check to ensure the EPOCROOT environment variable is set to '\'.
+
+* Fixed bug in PrepRel/Env that allowed a new mrp file to be specified without specifying a new version.
+
+From Adrian Taylor:
+
+* Added envsize command
+
+* Added reporting of release size into viewnotes
+
+* Added extra check to exporting, to ensure that the size of the resulting
+  file on the FTP site matches the expected size.
+
+* Added flag -x to exportenv, to just check the size of the exported files
+  instead of doing any exporting. This can provide a report of what exported
+  components are corrupted, if there's a dodgy FTP site.
+
+* Fixed bug in MrpData where directories reported by 'abld -what' would
+  get included in the zip file, instead of their contents.
+
+* Optimised sourceinfo <component>
+
+* Added extra check that the component name in the MRP file matches the component
+  name in the environment database. ("The Fitzgerald Case").
+
+* Changed test suite so t_run requires a drive letter as a command-line
+  argument. (Because I managed to run it on C: and delete most of c:\apps
+  before I realised what was happening...)
+
+* Importenv/exportenv problem summary now displays what went wrong.
+
+* Added -t flag to validaterel, which stops deletion of the temporary
+  directory. This allows further investigation with evalid and other tools.
+
+* Fixed MRP parsing bug where there were comments on the ends of lines
+
+* Made third (remote path) argument to 'archive_path' in reltools.ini optional
+
+* Fixed typo in listcomponents help
+
+* Fixed bug in Excel table formatter where 001 was coming out as 1
+
+* Added -a [number] option to latestver, to show the last 'n' releases.
+  Also allowed -vvv to work even if there is no remote site properly
+  defined.
+
+-----------------------------------------------------------------------------------
+
+Version 2.56
+Made by Adrian Taylor, 21/11/02
+
+From Adrian Taylor:
+
+* Added SourceInfo tool. This shows what source files belong to
+  a component, and vice-versa.
+
+* Added BuildRel tool, which will try to build all the platforms
+  listed in the MRP file of that component.
+
+* Stopped envinfo -f from classifying all the source code. We now do
+  it only when you actually require the classified source code. This
+  makes environment scans about five times as fast when you have lots of
+  components pending release.
+
+* Added table_format keyword to reltools.ini, allowing you to see the
+  output of envinfo, latestver and similar commands in Excel, HTML or
+  CSV format if you like. (Reason: the reports that sourceinfo outputs
+  are far too long to be readable in a console).
+
+* Added 'all' option for binary MRP syntax. e.g.
+   binary \rabbit\hole\group all
+  (Reason: a licensee wanted all possible binaries delivered).
+
+* Changed exportenv to warn if components aren't in the export table,
+  before it starts tranferring data.
+
+* Added a little more readily available information to viewnotes output.
+
+* Fixed bug in viewnotes -s <comp> where <comp> didn't exist - the error
+  message was illogical.
+
+* Fixed bug in MergeEnvironments where -i would stop it all from working
+
+* Fixed bug where extension makefiles using the TO_ROOT variable would
+  cause envinfo to report unknown origins.
+
+* Fixed typo in spelling of disable_win32_extensions. The old spelling
+  still works.
+
+* Tidied up the options that were added to prepenv in 2.55.
+
+* envinfo now states component names in error messages during its
+  scanning phase.
+
+* Checking for error-free completion of bldmake bldfiles.
+
+* Fixed bug where duplicate item checking for MRP binaries was
+  sometimes case-sensitive with categorise_binaries
+
+* Notice more errors from abld build -w and build makefile to fix
+  them.
+
+* Fixed bug where "exports xxx" line in MRP wouldn't trigger bldmake. Normally
+  this was OK because there would be a 'binary' line first which would call
+  bldmake.
+
+-----------------------------------------------------------------------------------
+
+Version 2.55
+Made by Adrian Taylor, 07/11/2002
+
+From Joe Branton:
+
+* Changed CleanEnv so that it removes empty directories associated with the clean.
+
+* Added -d option to DiffEnv. This causes the command to ignore components that are
+  younger in the first environment compared to the second. Useful when younger
+  releases are known to be backwards compatible with older ones.
+
+* Added 'globbing' functionality to BinInfo. You can now do things like:
+	bininfo \epoc32\release\wins\udeb\*.dl?
+
+From Adrian Taylor:
+
+* Fixed bug where project-style archive structures would not successfully create
+  directories on network shares.
+
+* Added -t option to diffrel, to allow you to specify a particular diffing tool
+  on the command line. This is useful with -t "diff -bBru" to produce diff
+  files, that can later be used with the 'patch' command to patch another version.
+
+* Removing troublesome debug print from RelData when using -v and a new-style
+  archive path.
+
+* Added lots of options to prepenv. -l: shows latest version of each component
+  available. -i <num>: always use this internal version number. -m: don't
+  prompt for MRP location. -p: skip components that are pending release.
+  These options work, but aren't very polished yet.
+
+* Added minimal test scripts for prepenv, getsource, removesource.
+
+* Added pushrel and pullrel (at last). In the process, I abstracted out
+  a lot of PushEnv, PullEnv, PushRel and PullRel into a new module,
+  called PushPullRel.
+
+* Added removesource.
+
+* Make cleanenv -f less confusing with another message.
+
+* bininfo <component> now works for components that are pending release.
+
+* bininfo <file> now reports if a file is part of an ignore_binary line
+
+* getrel -o now overwrites binaries as well as source.
+
+-----------------------------------------------------------------------------------
+
+Version 2.54
+Made by Adrian Taylor, 20/09/2002
+
+From Joe Branton:
+
+* Generally improved CheckBc. It now has been run over a pair of Hurricane source
+  trees. Only e32 and f32 are still causing problems.
+
+* Changed viewnotes so that it compiles HTML files into \epoc32\relinfo\notes and
+  reuses them if they're already present.
+
+* Fixed bug that caused auto-generation of abld.bat to fail if 'cleanenv -r' had
+  previously been run on the environment.
+
+* Modified interface to GetSource - an install directory can now be optionally be
+  specified using the switch '-i'. Previously it was specified by the last parameter
+  which made it useless if you wanted to the source for all components.
+
+* GetSource when used to get the source for all components now doesn't abort at the
+  first error.
+
+* Commands that remove comonents now throw an error if their not able to remove a
+  particular file (previously they just warned). This is to prevent the tools getting
+  into the situation where subsequently the zip utility prompts the user about
+  overwriting files.
+
+* Added some additional robustness to the signature generation code. Previously it
+  didn't ensure that all entries in the zip file were files. It turns out that some
+  zip utilities put directories as entries. If these kind of zip files are
+  encountered now, the signature is generated correctly and a warning is displayed.
+
+From Adrian Taylor:
+
+* Added new error check to project-based path data module. It now gives you
+  a sensible error message if you enter a non-existent project name.
+
+* Fixed "uninitialized value" warning from bininfo after a validateenv against
+  an external environment where you validated against a component whose binaries
+  didn't exist on the local site.
+
+* Finally fixed source validation. Previously, there were occasional false-
+  positive results (i.e. wrongly reported dirty) where a component had
+  several source code directories listed in its MRP. The sorry tale begins
+  with the need to check for added files. To do this, it has to deduce
+  what the root source code directory is for the component, then check
+  whether any extra files have been added inside that directory. If there
+  are several root directories, the algorithm goes wrong and selects too
+  'wide' a directory, where it probably will find other files inside.
+
+  The only way to solve this was to remember the "source" lines stored
+  in the MRP. From this release on, we remember that information and
+  store it in the release packet. We later use that information in source
+  validation.
+
+  This means that source validation won't fully work against releases made with
+  earlier versions of the release tools. But don't worry: you'll get a nice
+  error message explaining the situation. The only part of source validation
+  which fails is the check for added files - the check for removed files
+  and changed files still works fine.
+
+* Expanded test suite to test a variety of 'source' MRP statements.
+
+-----------------------------------------------------------------------------------
+
+Version 2.53
+Made by Adrian Taylor, 21/08/2002
+
+From Adrian Taylor:
+
+* Fixed bug where remote archive locations were getting made lowercase if you
+  use the new archive-path arrangement.
+
+* Made blddocs runnable from anywhere. Documents whichever tools version is
+  in your $PATH.
+
+* Added some extra commands/modules into BldDocs.
+
+* Fixed bug where some validateenv would set some components to dirty instead
+  of "binaries clean, source dirty". Validaterel did not have this bug.
+
+* Fixed an untidy error message in latestver
+
+* Added new tool, "MergeEnvironments". This is a specialised tool for taking
+  a subset of the components from one environment, and a subset from another,
+  and making a third environment (as a new release but without any binaries
+  or source). The intention is that you would then validate against that
+  merged environment. Currently the tool only supports the subset selection
+  using the prefix of the version number.
+
+* Made error checking in RelData.pm and MrpData.pm stricter
+
+-----------------------------------------------------------------------------------
+
+Version 2.52
+Made by Joe Branton 01/08/2002
+
+From Joe Branton:
+
+* Fixed bug in mrp parsing code that caused an assertion to fail is the component
+  concerned didn't have any binaries.
+
+* Fixed bug in mrp parsing code associated with the classification of 'tools' binaries.
+  Previously everything was expected to support the build variants 'udeb' and 'urel'.
+  'tools' has now been made a special case, and are always unclassified.
+
+* Fixed bug in mrp parsing code the prevented '-binary' from working properly when use
+  the 'categorise_binaries' reltools.ini keyword. Previously '-binary <file>' only excluded
+  binaries from the 'unclassified' category. They are not excluded from all categories.
+
+-----------------------------------------------------------------------------------
+
+Version 2.51
+Made by Adrian Taylor 26/07/2002
+
+From Adrian Taylor:
+
+* Fixed bug where envinfo -f didn't work for pending release components when
+  using a project-based archive path
+
+* Fixed a bug where validation would die if it had to make a fake signature
+
+* Fixed cosmetic error message if a release didn't exist
+
+From Joe Branton:
+
+* Fixed a bug where envinfo would complain of uninitialized values when
+  MRPs contained some strange targets
+
+-----------------------------------------------------------------------------------
+
+Version 2.50
+Made by Adrian Taylor 24/07/2002
+
+From Adrian Taylor:
+
+* Restructured the archive path arrangement. A new "archive_path" keyword
+  is now possible instead of the old "archive_path_file" keyword. See
+  the Installation document for details. This is optional; the old
+  arrangement will still work.
+
+* Fixed bug in binary categorisation where components with no binaries could
+  not be exported or envinfo'd.
+
+* Added 'listcomponents' command
+
+* Extended latestver with -aa switch, -vv and -vvv switches, and the ability
+  to show output about all installed components.
+
+* Fixed error in "usage" message of envmembership
+
+* Added additional test cases: t_bininfo, t_pushpullenv, t_latestver,
+  t_envmembership, t_envinfo, t_exportimport
+
+* Added -f ("force") flag to CleanEnv, to allow easier use in test scripts
+
+* Fixed bug in source validation where the "binaries clean, source dirty" status
+  appeared as "dirty" if the component had been dirty immediately beforehand
+
+* Fixed error message in ValidateRel if a non-existent component was specified
+
+* Components can now be validated against an external version even if they're
+  pending release.
+
+From Joe Branton:
+
+* Fixed bug in ViewNotes that prevented versions containing upper case characters from
+  being previewed.
+
+* Added CheckBc utility - does some simple tests for backwards compatibility breaks.
+
+* Added two new reltools.ini keywords - 'categorise_binaries' and 'required_binaries'.
+  The first instructs the tools to categorise binaries according to their build
+  variants. The second allows a particular individual (or project) to select which
+  build variants they require. See the documentation 'Installation Guide' for more
+  details.
+
+------------------------------------------------------------------------------------
+
+Version 2.30
+Made by Adrian Taylor 23/7/2002
+
+From Adrian Taylor:
+
+* Fixed regression caused by CommandController changes where validaterel would
+  no longer print second and subsequent validation failures.
+
+-----------------------------------------------------------------------------------
+
+Version 2.29
+Made by Adrian Taylor 22/7/2002
+
+From Adrian Taylor:
+
+* Fixed bug where source directories with "authorised <licenseename>" IPR data
+  did not get zipped up.
+
+-----------------------------------------------------------------------------------
+
+Version 2.28
+Made by Adrian Taylor 1/7/2002
+
+From Adrian Taylor:
+
+* Fixed bug introduced by source validation, where previously dirty components
+  refused to go clean again.
+
+* Used updated version of iprtool from Richard Harrison, which reports even
+  directories containing just "distribution.policy". Removed the workaround
+  added in 2.26.
+
+-------------------------------------------------------------------------
+
+Version 2.27
+Made by Adrian Taylor 28/6/2002
+
+From Adrian Taylor;
+
+* Fixed bug in CommandController stuff that stopped imports and exports working
+
+------------------------------------------------------------------------------------
+
+Version 2.26
+Made by Adrian Taylor 27/6/2002
+
+From Adrian Taylor:
+
+* Changed behaviour of ValidateRel <comp> <ver> so that it will change the version
+  number in the environment database if the validation succeeds.
+
+* Fixed bug in MrpData.pm where directories with spaces in their name were not
+  getting included in source zips.
+
+* Fixed bug in MrpData.pm where . and .. were accidentally getting put into all
+  release zips. (So far as we know, this had no effect.)
+
+* Changed (binary) validation to work properly for components which release
+  binary files outside \epoc32
+
+* Changed validation to overwrite files in the temporary directory,
+  so it should keep going under more circumstances
+
+* Fixed bug where source validation would try to validate source for components
+  without any source code.
+
+* Worked around a bug in iprtool where directories containing just "distribution.policy"
+  were not put into zip files. This upset validaterel later on.
+
+* Fixed bug in ValidateRel where it didn't keep going after first error.
+
+* Added "\epoc32\winscw\c\*" to the list of standard ignores
+
+From Joe Branton:
+
+* Added -r option to DiffRel, and fixed bugs associated with the -l option. This means
+  that now you can specify exactly which directories you'd like to diff (both the local
+  directory and/or the directory within the release zip file) if you want to.
+
+* Added a new class (CommandController) that allows certain types of commands to run
+  concurrently, and prevents others from running concurrently. Also gave temporary
+  directories a unique name to allow for this concurrency.
+
+* Added new keyword to IniData - disable_win32_extentions - this currently only disables
+  the above CommandController functionality, but I intend to use it more widely in the
+  future.
+
+------------------------------------------------------------------------------------
+
+Version 2.25
+Made by Adrian Taylor 18/6/2002
+
+From Adrian Taylor;
+
+* Fixed bug in source validation which incorrectly classified some components as
+  'binaries clean, source dirty' when they were in reality completely clean.
+
+-----------------------------------------------------------------------------
+
+Version 2.24
+Made by Adrian Taylor 17/6/2002
+
+From Adrian Taylor:
+
+* Fixed RelData.pm so that latestver works correctly even when there are
+  corrupt (blank) reldata files in the archive.
+
+* Added -s flag to ValidateRel and ValidateEnv, to permit the validation of
+  source code. The purpose of this is to detect changes to source code that
+  don't cause changes in the binaries. (For example, changes to distribution
+  policy). There are some associated changes in EnvDb; in particular
+  the addition of an extra status "binaries clean, source dirty" which
+  is only ever set by these two commands.
+
+* Updated test example output for the above change and various other recent
+  changes.
+
+------------------------------------------------------------------------------------
+
+Version 2.23
+Made by Joe Branton 10/6/2002
+
+From Joe Branton:
+
+* Fixed bug in Utils::CommonDir that caused a GetSource to get stuck in a
+  'Use of uninitialized value' infinite loop.
+
+From Lee Luchford:
+
+* Updated iprtool to latest version from GT. Fixed defect in previous version
+  which outputted all directory names in upper case
+
+-----------------------------------------------------------------------------------
+
+Version 2.22
+Made by Joe Branton 10/6/2002
+
+From Adrian Taylor:
+
+* Added facility to prefix # with \ in reltools.ini, to escape literal #
+  (in this case the need was for an FTP site password)
+
+From Joe Branton:
+
+* Fixed bug in mbld that caused '-h' to fail.
+* Changed behaviour of environment scans to improve performance when there are a lot
+  of files that will be ignored. Previously the \epoc32 tree was scanned fully and
+  at the end files to be ignored were removed from the data structure. Now the ignore
+  list is checked during the scan to allow entire directory branches to be ingored
+  without scanning them.
+* Added functionality to ViewNotes to allow it to display a summary of all the
+  release notes in a specific (or the current) environment.
+* Added 'disallow_unclassified_source' keyword to IniData and changed MrpData to
+  make use of the new flag. This is intended to allow sites to ensure that all
+  source code is given a category.
+* Fixed bug in GenMrp that was causing binary statements to be added for aif and mbm
+  files that live in \epoc32\data\z.
+* Changed GenMrp to ignore the platform 'cw_ide' (for the time being).
+* Changed GetSource so that it displays the name of the significant directory the
+  source is being unpacked into.
+* Changed GetSource so that it doesn't allow you to overwrite files that are already
+  present in your development drive.
+* Added '-o' option to GetSource, GetRel and GetEnv to allow existing source code
+  to be overwritten.
+
+-----------------------------------------------------------------------------------
+
+Version 2.21
+
+Made by Lee Luchford 29/05/2002
+
+From Lee Luchford:
+
+* Added 'cleanremote' tool to delete unwanted releases from remote archive and made
+  necessary modifications to RemoteSite modules to support this tool
+
+* Removed changes to all tools related to introduction of CleanLocalArch tool
+  (e.g checks to see if releases have been cleaned) It has been decided to remove
+  this tool in future
+
+* Fix for component name case dependency bug in getrel
+
+From James Gibbons:
+
+* Modified ValidateRel so that the binaries of a component on the current drive can be validated against
+  a version of the component other than the version held in the environment database.
+
+* Fixed usage text for EnvMembership so the name of the command is correct.
+
+From Joe Branton:
+
+* Fixed a bug in diffrel where it didn't cope with diffing components where the top level directory
+  for a component contained files (rather than just directories).
+------------------------------------------------------------------------------------
+
+Version 2.20
+
+Made by Lee Luchford 03/05/2002
+
+From Lee Luchford:
+
+* Added ftp_timeout keyword to reltools.ini. This overrides the default timeout value which
+  may not be long enough for poor FTP connections
+
+* Added ftp_reconnect_attempts to reltools.ini. This overrides the default number of reconnect
+  attempts made when the connection to the FTP site is dropped. This should be set to higher
+  value for poor FTP connections
+
+* Fixed a bug in EnvDb.pm related to the getsource command. The regular expression used
+  to grep for source files just looked for the word 'source' in the file name. Since the
+  file name includes the path if the release directory contains the string 'source'
+  all zips in the release dir are unzipped, including binaries.
+
+* Fixed getrel to handle case dependency of version numbers
+
+-----------------------------------------------------------------------------------
+
+Version 2.19
+Made by Joe Branton  15/04/2002
+
+From Lee Luchford:
+
+* Modified NotesCompiler.pm to interpret new lines as line breaks in HTML
+
+* ImportRel now checks to see if releases exist locally before connecting to the remote
+  and asking for passwords etc...
+
+* ValidateRel now takes the name of a file containing a list of
+  component names as an argument. All of the components listed in the
+  file are validated
+
+* Fixed case dependency of version numbers bug in DiffEnv
+
+* Fixed warnings in BldDocs
+
+* Fixed POD errors in FAQ document
+
+From Joe Branton:
+
+* Fixed bug that caused 'viewnotes -s' to miss out releases if there are more than one
+  release directory with exactly the same modified time. Added a record of 'the right
+  thing to do' to todo.txt (read the release dates out of RelData).
+
+* Fixed bug in bininfo that caused it to report incorrectly that there is no information
+  available when the owning component is pending release (file name case problem).
+
+* Fixed bug in makefile auto-generation code that caused components with multiple 'binary'
+  statements in the mrp file to only have their first set of makefiles generated.
+
+* BinInfo if given a component name, now displays a list of all files owned by that
+  component and their current status.
+
+* Archive path files are now checked to ensure they don't contain more than one entry
+  for the same component.
+
+* The archive path and export data files now don't need to exist until they are actually
+  required. This should allow use of tools like envinfo when not connected to the network.
+
+* Added license file for zip and unzip. Also removed the leading underscore from the
+  executable file names so as to conform to the license.
+
+* Added CleanLocalArch command which can be used to clear out old releases from a release archive.
+  See documentation for details.
+
+* Changed viewnotes -s so that the summary is ordered according the release time and date
+  stored in the release's reldata file (previously it used the timestamp of the corresponding
+  release archive directory).
+
+* Added new command - 'latestver'. See documentation for details.
+
+* Added new utility command - 'mbld'. See documentation for details.
+
+* Upgraded to the latest version of IPRTOOL (//EPOC/main/sysint/tools/iprtool.pl@140492).
+
+* ViewNotes is now tolerent to directories within a component's release archive not being releases.
+  A warning is now issued rather than bailing out altogether.
+
+* Added 'relToolsVer' tag to reldata.
+
+* Changed '\\epoc32\\data\\emulator\\epoc.sys.ini' to '\\epoc32\\data\\emulator\\*.sys.ini'.
+
+* Changed the interface to DiffRel - it'll now attempt to work out how to difference against
+  the source in a development environment (rather than having to be giving the name of a
+  directory against which to difference).
+
+* Added 'reallyclean' flag to CleanEnv. Causes it to clean out files that are normally ignored
+  from the point of view of unknown origin status (intermediate build files etc).
+
+From James Gibbons:
+
+* Added new command EnvMembership. To allow querying of baselines to see if a particular component
+  component release is present.
+
+-----------------------------------------------------------------------------------
+
+Version 2.18
+Made by Lee Luchford  28/01/2002
+
+From Lee Luchford:
+
+* Fix IO bug affecting Perl 5005 during FTP transfers. The FTP.pm module now
+  quits the FTP connection whenever an error occurs instead of just aborting the
+  failed command but keeping the connection open.
+
+* Increase TIMEOUT value in Proxy.pm module
+
+* Add -r option to export and import tools. The user can now force the use of FTP
+  resume mode from the command line overriding the ftp_server_supports_resume
+  value in the reltools.ini file
+
+* Implemented an FTP get command with resume in FTP.pm
+
+* Fix for PGP.pm. Check to see if error code defined before using in numerical
+  comparisons
+
+-----------------------------------------------------------------------------------
+
+Version 2.17
+Made by Lee Luchford 21/01/2002
+
+From Lee Luchford:
+
+* Added a fix for PGP version 7 in PGP.pm. Error codes have changed between 6 and 7
+  so errors were not being handled correctly
+
+* Changes to ExportRel, ExportEnv, ImportRel, ImportEnv and FTP.pm to handle case
+  dependency of file names on the FTP server.
+  Now when exporting, component names are all converted to lower case and the actual
+  version number (ie with the correct case) is read from the releases reldata file
+  The FTP module ignores case when checking to see if a file exists and selects the
+  correct filename to download.
+
+* Changed naming of the temporary files used during uploads to FTP sites.
+  Now of the form lpdrt*****.tmp. Should make it more obvious that we can delete
+  these files if they are left lying around on the server
+
+------------------------------------------------------------------------------------
+
+Version 2.16
+Made by Joe Branton 10/01/2002
+
+From Lee Luchford:
+
+* Added support for FTP servers with firewalls (ie passive transfers) and servers that do not
+  support reconnect and resume. Use the new keywords "pasv_transfer_mode" and
+  "ftp_server_supports_resume" in the reltools.ini to activate these features
+
+* RelTransfer::Export module modified. A failed log file send no longer reports that the actual
+  release failed to export
+
+* Removed FTP download with resume code. Not reliable at the moment.
+
+From Joe Branton:
+
+* PrepEnv and PrepRel now throw an error if a version already exists.
+
+* BinInfo now handles file name arguments of any case.
+
+* Fixed bug in EnvDb that caused duplicates to not be reported accurately when making
+  a release (or scanning an environment using EnvInfo).
+
+* Fixed bug in Utils::TidyFileName that cause UNC paths to get converted into absolute
+  paths. This caused a "Path not found" error message when making a release to an archive
+  specified using UNC paths. This is not a fatal error, but the release files do not get
+  their read only attribute set.
+
+* Testing importing/exporting against the Symbian FTP site showed that the file / directory
+  existance checking routes weren't working for this server (though they worked fine
+  against others). Changed the implementation, and tested again our normal test Linux box,
+  the Symbian server and the Bayou server.
+
+----------------------------------------------------------------------------------------
+
+Version 2.15
+Made by Joe Branton 20/12/2001
+
+From Joe Branton:
+
+* The reltools.ini keywords 'remote_username' and 'remote_password' are no longer mandatory
+  for FTP access - if not provided, they are prompted for at runtime. This also applies to
+  the keywords 'proxy_username' and 'proxy_password' for use with proxy FTP servers.
+
+* Implemented 'hidden text' password entry ('*' characters are displayed rather than the
+  actual text). This is used when the user is asked to enter encryption passphrases or
+  FTP passwords.
+
+* Fixed a bug in the NETDRIVE exporting code that caused exported files to appear in the root
+  of the current drive rather than the network drive.
+
+* Added minimal progress information to imports and exports when the verbosity level is zero.
+
+* Imported files are now set to read only in the archive (corresponding to MakeEnv and MakeRel's
+  behaviour).
+
+----------------------------------------------------------------------------------------
+
+Version 2.14
+Made by Joe Branton 19/12/2001
+
+From Lee Luchford:
+
+* In FTP.pm comment out file size comparison check for successful uploads. Appears to
+  cause problems on the Symbian FTP server
+
+* FTP move command cannot overwrite existing files. RemoteSite::FTP.pm now deletes the remote file
+  before a move is attempted
+
+* Win32::File module function calls replaced with system "attrib ..." in Utils.pm since Win32::File
+  fails in some situations
+
+* glob replaced with readdir + small fix for filtering individual source files in
+  MrpData.pm
+
+From Joe Branton:
+
+* Fixed Win2K only problem associated with finding 'evalid.bat' in the user's path. This
+  cause ValidateRel/Env to fail on Win2K machines.
+
+* DiffEnv now displays "Environments identical" rather than an empty table if there are
+  no differences.
+
+* Fixed another suspicious forward slash in file name when using GetSource.
+
+* Fixed bug in ViewNotes that caused the summary feature (available via -s) to produce
+  a summary page with broken links on IE 5.0 and Opera 6.0 (and possibly other browsers).
+  The problem was that these browsers expect any files they are asked to render to have
+  the extention .html. This is now the case.
+
+* Fixed regression in mrp parser that allowed the binary.zip file to contain multiple files
+  whose name only differs with regard to case.
+
+----------------------------------------------------------------------------------------
+
+Version 2.13
+Made by Joe Branton 27/11/2001
+
+From Joe Branton:
+
+* Fixed a regression introduced by changing the behaviour of the tools to not lower
+  the case of file names. Bug caused the tools to wrongly report files as having
+  unkown origin.
+
+----------------------------------------------------------------------------------------
+
+Version 2.12
+Made by Joe Branton 27/11/2001
+
+From Lee Luchford:
+
+* Added support for proxy FTP servers by adding RemoteSite::FTP::Proxy module
+  If remote_site_type keyword in reltools.ini has value 'PROXY' then FTP access is
+  via the proxy server and the keywords proxy, proxy_username and proxy_password must
+  be defined in reltools.ini
+
+* fix to handle FTP sites that have problems with back slashes in paths
+
+* Some changes to FTP module code for improved reconnect and resume handling
+
+* Added passive mode support to FTP module. Include pasv_transfer_mode keyword in reltools.ini.
+  If keyword specified then connects to FTP site in passive mode.
+
+* Ask for PGP passphrase in Import module constructor ie before any files are downloaded
+
+From Joe Branton:
+
+* Removed the file name case lowering behaviour of the tools. This behaviour broke certain
+  regression tests that depended upon file and directory names being in upper case (as they are
+  when the build tools create them).
+
+* DiffEnv now displays the components in alphabetical order.
+
+----------------------------------------------------------------------------------------
+
+Version 2.11
+Made by Joe Branton 19/11/2001
+
+From Lee Luchford:
+
+* ExportRel and ImportRel added support for exporting and importing multiple releases by passing
+  a file containing a list of component names and version numbers
+
+* ExportEnv and ImportEnv now check to see if all components in the environment are defined
+  in the archive path file before attempting to export/import
+
+* Various fixes for potential problems with FTP uploading/downloading in RemoteSite::FTP.pm
+
+From Joe Branton:
+
+* Added a new switch to EnvInfo (-ff). -f now displays a table of component name, version, and status.
+  -ff displays a table of component name, version, internal version status and mrp name.
+
+* Tidied up new line handling in EnvInfo when displaying progress dots and an error occurs.
+
+* PrepRel now warns before removing an entry from the environment database.
+
+* Fixed bug in PrepRel that caused entries to be removed if only the mrp name is specified.
+  Now updates the mrp name instead.
+
+* Changed PrepEnv interactive mode so that any change in an entries data is written to the database.
+  Previously the version needed to be changed to prevoke a write.
+
+* The check for binaries being released by more than one component is now done in EnvInfo
+  as well as MakeEnv.
+
+* Tidied up the output of EnvInfo, MakeEnv and CleanEnv.
+
+* ViewNotes now supports previewing the release notes for components that are currently pending
+  release.
+
+* Put the "Release environment" section of the release notes into a table.
+
+* Added a new command - ModNotes. This allows the release notes of an release that has already
+  been made to be modified.
+
+* Added a new command - BinInfo. This displays the name of the component that owns a particular
+  binary file, the currently installed version and the file's current status.
+
+* Added support for releasing test code. Mrp files now support a new keyword - 'testbinary' (and also
+  -testbinary). The syntax for this is very similar to the original 'binary' keyword.
+
+* Added support for displaying a summary of all releases to date of a particular component
+  in ViewNotes.
+
+* The ini file can now be in either \epoc32\relinfo for the directory the tools are installed
+  in. \epoc32\relinfo is checked first. If not found there, but found in the tools dir then
+  a warning is issued. To disable this warning use the new "no_ini_location_warning" keyword.
+
+* check_ignore.txt is no more. The standard ignores that used to ship in this file have been moved
+  into the body of the Perl scripts (IniData.pm to be precise). Project specific customisations
+  can be added to reltools.ini using the "ignore_binary" keyword. See the Installation Guide for
+  details.
+
+----------------------------------------------------------------------------------------
+
+Version 2.10
+Made by Lee Luchford 02/11/2001
+
+From Lee Luchford:
+
+* Rewrite of Crypt modules. Broken up into a base module Crypt.pm and 2 modules Crypt::PGP.pm and
+  Crypt::GPG.pm both of which implement an abstract interface defined in Crypt.pm
+
+* Fixed decryption bug in Crypt::GPG.pm. Open2 was not killing off child processes, now uses open
+  instead but dumps the output to a file which is then parsed for errors.
+
+* Rewrite of RemoteSite modules. Broken up into a base module RemoteSite.pm and 2 modules RemoteSite::FTP.pm and
+  RemoteSite::NetDrive.pm both of which implement an abstract interface defined in RemoteSite.pm
+
+* RemoteSite::FTP now has support for reconnect and resume for downloads and uploads
+
+* RemoteSite::FTP and RemoteSite::NetDrive both use temporary files during uploads and then rename the
+  temporary file to the final release name. Therefore .log files are no longer needed to confirm that
+  an upload was successful
+
+* RelExporter and RelImporter replaced by a base module RelTransfer.pm and 2 modules RelTransfer::Export
+  and RelTransfer::Import which inherit from the base module.
+
+* pgp passphrase errors handled better in RelTransfer::Import. Keep asking for passphrase until
+  correct
+
+* ExportRel, ExportEnv and ImportRel now have a -f option which forces the export and import of
+  releases even if they already exist
+
+* reltools.ini and check_ignore.txt now assumed to be stored in \epoc32\relinfo instead of the
+  release tools directory
+
+* Changed pgp_path keyword in reltools.ini to pgp_config_path
+
+* Changed pgp_users_keyid keyword to pgp_encrpytion_key in reltools.ini. Also this keyword can
+  be used more than once to build up a list of default keys used for encryption
+
+* Remote site type no longer determined by remote_host value in reltools.ini. Added remote_site_type
+  keyword which should have the value FTP or NETDRIVE
+
+* Added zero compression option to Utils::ZipList function
+
+* Replace globs with readdir in RelTransfer modules and EnvDb.pm
+
+From Joe Branton:
+
+* Partially fixed bug to do with the way file modified times are stored in the environment
+  database. The WIN32 Perl implementation returns file modified times taking into account
+  daylight saving. Previously they were stored in this form in the environment database,
+  which meant that when daylight saving changed, environments were reported as dirty. The
+  fix attempts to undo the daylight saving accounting, and store the times in GMT.
+
+  It is a partial fix, because testing has revealed that certain time zones (e.g. Cairo, GMT +2)
+  cause unexpected hour shifts in some files. The reason for this is currently unknown (although
+  some test code was written in C using the Windows stdlib, and this showed the same behaviour).
+
+  NOTE, ANY EXISTING ENVIRONMENT DATABASES WILL HAVE THEIR TIMES IN THE WRONG FORMAT. This
+  will manifest itself as the environment appearing completely dirty. To fix this, either run
+  ValidateEnv, or re-run GetEnv. In most cases, this problem should not return. Because of the
+  issue described above, users in some time zones may experience a recurrence of this problem
+  when daylight saving changes. Also, users that change their time zone to one of the affected
+  ones, may see this problem recur.
+
+* Release notes source files are now checked for existance as well as whether they are
+  actually a file (results in a more meaningful error message if the file does not exist).
+
+* DiffRel now removes the drive letter if specified for the source path.
+
+* PrepRel/Env now removes the drive letter if specified for the mrp file name.
+
+----------------------------------------------------------------------------------------
+
+Version 2.09
+Made by Lee Luchford 17/10/2001
+
+From Lee Luchford:
+
+* Fixed critical bug in MrpData.pm. Iprtool parsing failed in some cases causing some source
+  files to be missing from release
+
+-----------------------------------------------------------------------------------------
+
+Version 2.08
+Made by Joe Branton 12/10/2001
+
+From Lee Luchford:
+
+* Fixed bug in RemoteSite::FTP. Sometimes a release was getting exported
+  even though it already existed on the remote site. This problem occurs if the connection is
+  dropped during the check for existence of a release on the remote site. Now attempts to reconnect
+  several times if the connection is dropped, if this does not work then dies marking the export
+  as failed
+
+* Improved error handling for components mistakenly ommitted from the export table. Now throws an
+  error if the component does not exist in the export table and the release does not exist on the
+  remote site.
+
+From Joe Branton:
+
+* Added more status checking to GetEnv - now checks the status of components that will be removed
+  and warns if their status is pending release (providing an oportunity to abort the GetEnv).
+
+* Fixed a bug in PrepRel. If called with no version argument, the specified component is removed
+  from the environment database. Previously, if a component name that did not exist was specified
+  PrepRel would still report successful removal from the database. It now reports an error. It
+  also removes that component's signature file as well as the database entry (i.e. fully cleans up).
+
+* Tweaked the code in MrpData that interacts with the build tools to cope with the version shipped
+  with Hurricane. The build tools now use GNU Make for most task (rather than Microsoft's NMake),
+  and this reports errors in a different way. The old build tools should still be supported.
+
+* Automatic calling of bldmake and generation of makefiles now only does one attempt of each (rather
+  than getting stuck in an infinite loop if there is a problem).
+
+* Add protection against makefiles that list files for release with double back slashes (e.g.
+  "\epoc32\release\wins\udeb\\test.dll") since these cause problems for the zip. Double slash
+  is replaced with a single slash.
+
+* Added a check in GenMrp to ensure that the bld.inf file exists - dies cleanly if not.
+
+* Fixed a bug in DiffEnv that caused components present in "environment 2" but not in "environment 1"
+  to be wrongly assigned to "environment 1".
+
+* Added "keep going" style error handling to PullEnv.
+
+* Added "-l" switch to GenMrp to allow the source directory nesting level to be specified. This allows
+  the tool to be used effectively with GT's new sub-system directory structure.
+
+* Fixed bug that meant whitespace in the release tools installation directory name caused the
+  tools to fail badly.
+
+* Fixed "uninitialised variable" warning in the exporting commands that occurs when there is no
+  pgp_path keyword in the reltools.ini.
+
+----------------------------------------------------------------------------------------
+
+Version 2.07
+Made by Lee Luchford 19/9/2001
+
+From Lee Luchford:
+
+* Replaced CryptTool with Crypt::PGP and Crypt::GNUPG grouping
+  together all modules with a common interface for encrypting and
+  decrypting files into one directory
+  Crypt::PGP uses NA command line PGP client (executable name pgp.exe)
+  Crypt::GNUPG uses GNU Privacy guard PGP client (executable name gpg.exe)
+
+* Changed FtpSite to RemoteSite::FTP and NetworkDrive to RemoteSite::LANShare
+  grouping together all modules with a common interface for accessing
+  a remote site into one directory
+
+* Updated modules which are affected by above changes
+
+* ExportRel replaced by RelExporter and ImportRel replaced by RelImporter
+
+* All Export and Import related modules now use named argument lists in constructors
+
+* Fix to Net::Config module to remove 'uninitialized value' warning when exporting/importing
+
+* Fixed handling of PGP passphrases with blank spaces
+
+* Added the ImportRel tool for importing single releases
+
+* MrpData.pm now handles single source files listed in the mrp file.
+  Runs IPRTool on the directory where the file is stored to get the
+  category of the file.
+
+* ExportData.pm now allows comment lines starting with #
+
+* ExportData.pm now allows spaces in recipient names in column headers
+
+* ExportData.pm returns empty anonymous array references instead
+  of undef. Fixes potential dererencing a non array reference bugs
+
+* RelExporter now checks to see if PGP keys listed in export data file exist on keyring
+  before attempting to encrypt releases
+
+* Crypt::PGP and Crypt::GNUPG include fixes for handling directory names with spaces
+
+From Joe Branton:
+
+* Fixed bug in GenMrp that caused an extra invalid binary statement to be printed.
+
+* Fixed bug in EnvDb::InstallComponent that caused an invalid database entry to be
+  written if the components reldata file fails to open.
+
+* Changed EnvDb::CheckEnv so that warnings about "unknown origin" files are not displayed
+  if there were any errors parsing mrp files. This was done because errors in mrp files
+  are likely to cause many "unknown origin" as a knock on effect.
+
+* Fixed bug in MakeRel.pm that causes releases to fail if they didn't contain any source
+  or binaries (release directory not made correctly).
+
+* Fixed bug in MakeRel.pm that caused an "Uninitialised value" warning to be displayed
+  when no internal version was specified.
+
+* Fixed bug in ViewNotes that cause the page displayed by the web browser to be invalid.
+  The temporary file was getting deleted before the browser had had a chance to read it.
+  ViewNotes now pauses until the user hits a key before deleting.
+
+* Added FAQ section to documentation.
+
+* Changed EnvDb::ValidateComp to pick up evalid from anywhere in the user's path, rather
+  than only \epoc32\tools (mainly to make running the test code easier).
+
+* Added an automated test suite for testing core (non-interactive) commands.
+
+* Added 'keep going' error handling functionality to PrepEnv - total number of errors is
+  listed at the end.
+
+* Added check to PrepRel.pm to ensure that a valid mrp file name is specified.
+
+* Fixed bugs in PushEnv/PullEnv that caused UNC paths to fail.
+
+* Added better parameter checking to PushEnv and PullEnv.
+
+* Fixed bug in EnvDb::CheckComp that caused an invalid db entry to be written if a check
+  was attempted on a component that did not exists. This manifested itself in EnvInfo if
+  you give the name of a non-existent component as a parameter.
+
+------------------------------------------------------------------------------------------
+
+Version 2.06
+Made by Joe Branton 30/8/2001
+
+From Joe Branton:
+
+* Fixed (another) bug in GetEnv that cause getting an environment on a clean drive
+  to fail (doh!).
+
+------------------------------------------------------------------------------------------
+
+Version 2.05
+Made by Joe Branton 24/8/2001
+
+From Lee Luchford:
+
+* Added some additional information about setting up PGP to the Installation Guide.
+
+From Joe Branton:
+
+* Fixed a bug in GetEnv that caused environment upgrading to fail.
+
+* Fixed a bug in CleanEnv that caused re-installation of dirty components to fail.
+
+* Fixed some cosmetic problems relating to the 'dot' progress information when
+  performing an environment scan.
+
+* Added additional status output to ValidateEnv.
+
+* Added additional feedback to PrepEnv and PrepRel.
+
+* Added implementation of interactive mode to PrepEnv.
+
+------------------------------------------------------------------------------------------
+
+Version 2.04
+Made by Joe Branton 20/8/2001
+
+From Lee Luchford:
+
+* Updated CPan Net module to latest release.
+
+* Change to CryptTool to display less warnings.
+
+* EnvDb.pm, ExportRel.pm and ImportRel.pm now use File::DosGlob as a workaround to glob
+  bug in latest Perl release.
+
+* Added a new ExportRel tool to export individual releases.
+
+* Source filtering (with IPR tool) is now used by default. Therefore the source_filter
+  keyword in reltools.ini is deprecated. A new keyword, ignore_source_filter_errors, maybe
+  used to switch off displaying of source filter errors in release notes.
+
+
+From Joe Branton:
+
+* Added new tools CleanEnv, PullEnv and PushEnv (see documentation for details).
+
+* Added progress dots to environment scanning code (when used with a verbosity of 0).
+
+* Added 'keep going' type error handling to mrp file parsing during an environment scan.
+
+* Added makefile generation functionality to GenMrp.
+
+* Changed behaviour of GetEnv to work in phases. Phase 1 checks that each component in the
+  requested environment is physically available. Phase 2 removes all old binaries. Phase 3
+  installs all new binaries. This makes the process robust when binary files have moved from
+  one component into another.
+
+* Added -l option to MakeRel which causes lib files to be copied from the thumb release
+  directory if they are not found in the armi release directory.
+
+* Added progress info (via verbosity level 1) and exit info to PrepEnv.
+
+* Fixed uninitialised variable bug in GetSource when an install path is not specified.
+
+* Added extra progress info to GetSource and PrepEnv.
+
+* Changed PrepEnv to have the same syntax as PrepRel - now uses '-m' to denote an mrp file name.