New in 6.1.3:16-1-96
--------------------

New
    Another compression method added - this is based on gzip - in
	fact, most of the code is ripped straight out of the gzip
	code. Advantage is that the whole file doesn't have to
	be read into memory for compression - hence lower memory
	usage - slight penalty on speed, of course.

Changes
    For compress 2, buffers are allocated at start of
      taper instead of continually allocating/deallocating
      
    Doesn't refer to longs and ints etc.. They are all typedefed.
      Now, when moving to another operating system, just have to
      changed typedefs.
      
    Tightened up memory a bit more - frees memory as soon as 
      it's not needed, rather than waiting to end of procedure
      
    Removed the LIBPATH=-L/usr/lib in the Makefile to avoid
      signal 11 errors in some distributions
      
  
Bug fixes
    Major bug in internal compression routines for files > 32K

    Files not being closed in backup routines on certain
      errors

    Bug if archive only contained one file

    

New in 6.1.2a:16-1-96
---------------------

Changes
    Mentioned that need at least gcc 2.6.1 to compile
    
    Can use home/end keys in the menu
    
    More logging with regard to forking of children
 
    Removed superflous reading error messages
    

Bug fixes
    In restore, was printing info messages to log file
	even if log level set to errors only

    Problem if deleting exclude preferences with 
	residual space

    Divide by zero error in backup if didn't backup any files
    
    Problem is only files selected for backup and not directories
    
    Problem with files not appearing in restore windows because of
      negative checksums
    

New in 6.1.1:31-12-95
---------------------


New
    New utility checks to see if you have recursive links
    
Changes
    Now use the file info from the info file and not the tape 
      when restoring. Thus, if there's a problem with the 
      file info on tape, it can be overcome if you have an
      intact info file. Also, uses volume header from info
      file rather than tape.
      
    Use alloca for locally defined memory blocks. Less chance
      of memory leaks

    In backup, when erasing tape, writes a null header so that
      in future, tape is recognized as blank
      
      
Bug fixes
    Saving taper.1 as taper.1 in man/cat8 therefore, man page
      not being found - changed taper.1 to taper.8

    Made checksums absolute value to avoid problems with wrap
      arounds
      
    Workaround to make it work with zftape 1.03
    
    Problem with the TRIPLE_BUFFERING system - SERIOUS bug
      since backup integrity could be affected

   Not closing tape device in test fast fsf
    

New in 6.1:31-12-95
-------------------

New
    Can exclude directories from the backup using the
      --exclude-dirs (-R) options. It is case sensitive
      and recursive. Default is "/tmp /usr/tmp /var/tmp".
      
    Can limit the size of log files via new preference. If
      the log file is too big, the beginning of the log file
      is removed. Preferences is --limit-log-file num (-L)
      where num is the max number of megabytes (default 2)
      the log file should be.

    Makefile target to allow making of a statically linked 
      taper for use in rescue disks
      
    New option in utilities menu - test make tape determines
      whether your tape drive requires the use of make tape


Changes
    Made Makefile slightly more efficient

    Made recursively sizing directories a bit quicker

    In backup/restore selection, file sizes are now in KB

    Removed the missed memory segment message in log - wasn't an
     error but was confusing too many people

    Man page in section 8 instead of section 1.    
    
    Slight change in preference file handling to accommodate multiple
      preferences for different tape drivers. See the section
      Special preferences in the documentation for details

    Changed the default device names for zftape to qft0 & nqft0

    Changed the process_dir to a non-recursive routine - people
        were running out of stack space on large directories

    Use the process_dir routine in backup

Bug fixes
    Divide by zero error when writing stats to log if took
      0 seconds for backup/mkinfo
      
    Bug if the temporary file directory was mounted on a different
      device to the restore directory
      
    In mkinfo, closes the info file after use - should fix a lot of
      problems
    
    Mkinfo prints the title line correctly
    
    Ignores errors on tape_fsf in mkinfo - if it gets an error, 
      assumes end of archive reached
      
    Mkinfo prints errors if unable to write to the info file
    
    Does a waitpid to prevent zombie children
    
    Invalid argument errors when doing a test_fastfsf
    
    In preference file, was always setting Y/N preferences to Y

    When saving preference to preference file, was ignoring any
	name other than ~/.taper_prefs

    Bug in the handling of long Y/N options
    
    Bug in deleting selected entries in backup
   
    Bug if specifying preference file on command line 



New in 6.0:17-12-95
-------------------

New
    The ancillary programs have been merged with the main taper
      program. Everything is accessed from the set of menus - 
      where_proc, testfast_fsf, testzero etc.. are all in
      the utilities menu.

    The compile time settings for different tape drives have
      been changed to runtime options - you just start taper
      with the -T (--tape-type) option to use different tape
      drives. Alternatively, you can set it in your preference
      file or in the environment (TAPE_TYPE).

    You are now able to delete the last 'n' volumes on an
      archive. The files are permanently removed.

    Most of the Makefile options have gone and are replaced by
      run-time options.
      
    Colors can be set from command line - long names only

    Support for removable media including floppies

    At end of backup/restore/mkinfo, prints stats about backup and
      also writes to the log

Changes
    Changed the exit key from preference menu to ESC (was F10)
    
    Major change in header file structures/organization - mainly to
      make maintenance a bit easier

    Backup now checks to make sure that the archive you are appending
      agrees with the tape in the drive.

    Change in the info file format to accommodate remountable/floppy
      drives. Run mkinfo/check archive on all archives created prior
      to version 6.0 - you do NOT have to re-backup.

    Major change in the background write code. Now it only forks
     	off one child - should help people who had problems with
	running out of processes and virtual memory in 5.6

    The long command line options (GNU style) and the preference
	file options are now the same. Most of the preference
	file options have changed name. You will have to rebuild
	any preference files you have.
    
    Lot of changes in code handling preferences. A lot easier to
      add preferences etc.. now

    If have an illegal preference, prints an error
    
    Two new variables, have_rewind, have_fsf - should allow easier
      addition of new backup devices

    If there's no tape in drive, will print an error message
      before it lets you select files for backup
 
    If can't fork for a write, the parent will try and write

    Another hack to overcome a problem in zftape - to do with
      block sizes when a new tape is inserted

Bug fixes
    Problem in Makefile - not able to make taper.1 properly

    Plugged some shared memory leaks
    
    Exclude list was case sensitive
    
    Problems with children not closing the tape device so parent
      was getting device busy/resource busy errors

    A few bug fixes in the multiple tape code

    Bug in restore caused it to hang on certain occassions - 
	cross use of _still_writing

    Error messages on setting links & permissions
  
    When printing archive directory to screen, was not printing
      volume selections correctly. Also printing negative
      volume numbers.
      
    Not printing archive differences with -A

    When changing preferences, if first line was a selection, was 
      not printing the selected option in reverse

      

New in 5.6:5-12-95
------------------

New
    New triple buffering system - forks off a child to do its
      writing so should improve backup performance. The tape drive
      won't have to stop so much. You'll really notice this in
      uncompressed backups - performance gains in compressed backups
      depend on your processor speed. If you wish to utilise this,
      your kernel must have SYSV_IPC support.
      
    Internal compression support. Taper now uses LZRW-3 compression
      code, written by Ross Williams. It has been modified for use
      under Linux by Claus-Justus Heine (the author of zftape) and to both
      people I am eternally grateful (saved me a lot of hassle). The
      internal compression support is a lot faster than gzip, however
      not as efficient - it can produce compressed files that are
      about 30% larger than gzip would have produced. Thus you have
      the option of still using gzip - change using preference
      files, command line options or the preference menu. You can
      mix different compression methods in an archive, but not
      within a volume. Note that the compression option is
      now --compress-type and the preference is COMPRESS_TYPE
      
    New option - --comp-head-start (preference COMP_HEAD_START). This
      gives the compression program a head start to allow taper to
      continually stream the tape drive on very slow systems. You 
      may need to give a value as high as 10 minutes
      so that there is enough compressed programs in the buffer for taper.
 
    Uncompressing of files in restore is now done in the background.
      This should speed restore operations considerably

    You can now abort backups. Press q or Q during the backup.


Changes
     Changed the backup/mkinfo/restore rate messages - now prints
       the actual tape transfer rate and then the effective tape
       transfer rate. Also changed from K/sec to M/min

     Changed everything from bytes to MB.
       
     Few changes to the Makefile - separate Makefiles are now
       distributed for different tape drives. Also changes
       to enable easier version upgrades for me	 

     A further level of logging has been provided - level 4. This
       is very verbose and really shouldn't be used unless debugging.
       I'll need it if you have a bug report
       
     Disabled ctrl-c - no interruption now. To stop a backup,
       restore or compress operation, press q.

     Added .jpg files in default of files not to compress
     
     Lots of changes to common.c code to reduce its size and
       place code more appropriately amongst files

     Improved memory usage when compressing in background
     
     Prints Checksum OK messages in restore/mkinfo in log level 1
     
     No longer checks if the compressed file is larger than the
       original file using gzip. This situation occurs very rarely, and 
       if it does occur, the compressed file is seldom more than a few bytes
       longer than the original file - thus the overhead of checking
       each file is not worth it. 

     Mkinfo will update volume counts if they differ
       

Bug fixes
    Bug in mktape - not closing the tape deiveice --> giving
       resource busy errors

    Mkinfo was not restoring volume counts and volume selections
	properly in a few obscure cases

     Plugged another memory leak - occurred if got a memory allocation
       error while allocating blocks
       
     Errors if tried to overwrite a regular file. Now the regular
       file is correctly deleted.
       
     Counts etc.. in restore
     
     Backup crashed if it couldn't read a directory it needed to - 
       now ignores it and doesn't back it up
       
    When selecting which archive to restore from, wasn't printing
       all the entries on screen correctly

    Seg fault after printing usage
    
    Errors with the FIFO in backup don't cause the file to be not
       backed up. It now saves the file uncompressed.

    When saving preferences to a command line file, was always saving
       to start_taper despite what you typed in


New in 5.5:3-12-95
------------------


Changes
      In main menu, put Check archive after mkinfo to reflect its
        action
	
      Exit key from preferences (default F10) can be changed in 
        common.h
	
      No .. entry provided if in root directory for backup/file set

      Enabled support for get block size ioctl of zftape - if you
  	are going to use zftape, you must use at least version 1.02
	
      Can now unselect from the top directory window in backup. If
        the file is indirectly selected, then an error is printed.
	Similarly, can unselect from restore menu.
	
      Unselecting a file has changed from `d' to `u'.

      Fixed problem with zftape-1.02 and taper interaction. Causing
	 multiple "unknown tape data" errors. Downside is that it
	 takes longer to identify a tape.

      Fixed problem with zftape-1.02 when using different block sizes
         in different volumes.
	

Bug fixes
       Fixed a couple of compile time warnings - they were only warnings

       Problem if information messages, etc. were too long for
         message boxes

       Seg fault when trying to load a file set
	 
       Bug in testzero caused a segfault

       Was ignoring all files if the exclusion list was empty. Same
         with the compression list.

       Not setting the SCSI default block size correctly

       Incorrectly adding the size of directory entries (not directory
         contents) to backup sizes


New in 5.4:11-11-95
-------------------

New
       AT LAST - support for unattended backups. See documentation
         for details on how to do it. New preferences menu for
	 unattended preferences.
	 
       Support for the new floppy tape driver, zftape.
       
       Drives that have leading zeroes do not need a compile time
         option - it is automatically built in. You still, however,
	 need to using mktape on tape before you can use them with
	 taper.

       Support for fully fixed block reading and writing. All transfers
         to/from the tape drive are in strictly blocksize blocks.
	 
       It is possible to get taper to call MTSETBLK to set the tape
         block size before doing an erase. Define 
	 SET_BLOCK_SIZE in the Makefile. With the option, the block
	 size is also set using an ioctl call after each open (but
	 only for zftape).
	 
       Support for quick fast forwarding. Some tape drives are able to
         fast forward a volume while in the middle of a tape. In addition,
	 they correctly fast forward if at the end of a volume.
	 If your tape drive is one of these, performance can be
	 improved up considerably by defining -DFAST_FSF in the
	 Makefile. A new program, testfast_fsf will tell you
	 if your tape drive is capable of this.
	 
       When selecting entry from on_archive list, prints
         an error message if the file/directory no longer
	 exists, as opposed to just ignoring you.
	 
       Using the --version option also prints which options taper
         was compiled with
	 
       When doing a backup, prints the total size of archive.
	 

Changes
       Changed the Makefile option MEMORY to MEMORY_TIGHT
       
       Changed the output of the log file slightly if an
  	  error was encountered

       More logging for tape changes	
       
       In incremental backups, if a file needs to be backed up,
         all the relevant directory entries will be backed up
	 even if they haven't changed - saves having to get a 
	 directory entry from one volume and the files from another.
       
       
Bug fixes
       Not recognizing some long options (specifically, those
         that required a -on or -off)
	 
       Size of files to be backed up didn't take into account the
         length of the filename or the file_info structure

       Seg fault if using a regular file, only restored a part of
         a volume

       If there was a fatal error, was recording this as a 
         warning in the error/warning count

       When creating a directory from a `made up' one, was setting
         permissions as --------- instead of rwxr-xr-x

       When retrieving files for backup from file set, wasn't taking
         into account the hard-links option

       Problem if there was an unexpected blank line in file set



New in 5.3.1:11-11-95
---------------------


Changes
	Write code optimised.
	
	Read code optimised.

Bug fixes
	When loading a file set, was not taking links into
	  account
	
	In Makefile, was a reference to do_compress which is
	  no longer used

	Cursor wasn't being turned off after changing preferences
	
	Problem if info file was >100K in size


New in 5.3:11-11-95
-------------------

New
	In backup and restore, you can select files & directories
	  for backup & restore from the "on_archive" window 
	  (ie. the top right). Just press 's' and the appropriate
	  file will be selected, the same as if you had pressed
	  's' in the top left window.

	New option (-A id [--archive-diff]) lets you print a list of files
	  that have changed since the last backup was made. The
	  list is printed to the screen. id is archive ID to
	  compare, -1 means use the archive in the tape drive


New in 5.2:11-11-95
--------------------

New
        In backup, compression of programs in now done in the
	  background to speed up execution time

        Memory is now allocated in blocks when required. This
	  has the slight overhead of increased memory requirements,
	  (maximum extra is 100K) but means that reallocation of memory
	  blocks is greatly reduced, reducing system overhead &
	  load

        Auto-descend option in restore. If a directory only has
	  one directory entry in it, it will automatically descend
	  into this directory. Similarly, it will auto-ascend.

	In effect, two versions of taper are available - one is a 
	  fast, but memory & resource hungry taper. The other is
	  much more modest in memory requirements (but still improved
	  over earlier tapers - approx 15% memory required than
	  5.1.5) but you pay with an increase in load and decrease
	  in speed. Define the appropriate option in the Makefile
	  
	If you overwrite an archive, taper will delete the old 
	  info file

Changes
        Optimised code for calculating directory sizes. Much quicker
	  now.

	Optimised code for selecting files to restore. Much quicker.
	  
	Changed the most recent restore handling. For restoration, the
	  file on the latest volume is regarded as the most recent.
	  This has speeded up the code considerably, the penalty is
	  that if a file on an older volume is actually more recent,
	  it won't be picked up. This will happen extremely rarely.
	  
	When selecting directories in restore, will now print the
	  size of the directory that will be restored taking into
	  account most recent restore.
	  
        Tightened up handling of /proc device
  
        Make common path takes into account volume restriction
	  (if any)
	  
	Minor changes in the log file messages printed by restore
	
	When saving file sets, will create set directory if
	  doesn't exist.
	  
	The -d (--print-dir) option now requires the archive_id
	  of the archive whose contents you wish to print. A
	  -1 will print the directory of the archive currently
	  in the tape drive

        Not allowed to change directories when selecting an info
	  file

	Does not have to traverse through a whole regular file
	  archive now while restoring - will stop when all files
	  been restored.
	  
	Few more status boxes etc.. to give user idea of what's
	  going on

	Mkinfo will verify checksums. Prints an error to the log	
	  if it doesn't match

Bug fixes
        Minor screen corruption in backup after restoring from
	  set 
	  
	Not reading all entries in when restoring from file set

	Changing directories inadvertantly after reading in
	  file set

        When calculating total selected sizes in restore, was
	  including the size of the directory entry, as well
	  as the sizes of the files in the directory
	  
        Was not backing up backup device entry in /dev.
	
        Not a bug, but in backup, was getting file info for a file
	  twice - waste of time.
	  
	Not backing up missing directories when found.

        If entry was too long in on_archive window, was not truncating
	   properly

	If backup didn't correctly make missing directories,
	  restore was stuffing up
	  
        When doing an incremental backup, sometimes had problems
	  with missing volumes in restore
	   
	Problem with incremental backups of recursive directories
	
	Not printing title line correctly if tape not in drive


New in 5.1.5:5-11-95
--------------------


Changes
	Minor changes to LSM file to fit the auto-daemon
	
	Remove trailing spaces in volume & archive title
 
        If you try to select a file that would be automatically
	  excluded (eg. test.o), then you will get a message to
	  this effect
	  

Bug fixes
	Fixed problem with deleting selections in backup & restore.
	  Also fixed problem of jumping to end of window when
	  deleting.
	
	When trying to go into a directory in which you have no
	  permission, occassionally was segfaulting
	  
	Long filenames were causing minor screen problems

        When toggling between most-recent-restore mode in restore &
	  between incremental-backup mode in backup, doesn't scroll
	  the screen to bottom anymore.
	  
	When paging down, occassionally would print some garbage
	  after last entry
	  

New in 5.1.4:5-11-95
--------------------

Changes
    After many requests, memory usage has been dramatically reduced by
	re-organization of the way taper handles files currently on the
	archive. Unfortunately, no-one gets anything for free and this
	memory saving comes about by taper suffering a bit of a 
	performance hit. It doesn't affect backing up/restoring - only
	selecting files. It shouldn't make too much of a difference,
	but if you have a large number of files on your archive, you
	may notice the keyboard a bit sluggish. However, your
	memory usage will only be 30% of that in taper 5.1.3. 

Bug fixes
    Not correctly storing missing directories - resulted in problems
	with incorrect file counts. Most common symptom is restore not
	printing all the files on the archive, or funny files in the
	restore screen. The archives written with earlier versions will
	still contain the incorrect file count, however, to overcome
	it, run mkinfo on your old archives, and the info file will
	be fudged to overcome the error. A message will be printed
	in your log file saying that the info file has been fudged.

    Minor bug in .sgml file - stuffed up a bit of formatting	

    Restore screen was cutting out last digit of size
 


New in 5.1.3:4-11-95
--------------------

Bug fixes
     Problem with getting volume & archive title in backup

     Fixed Makefile to correctly install man page



New in 5.1.2: 31-10-95
----------------------

Changes
     I now use linuxdoc-sgml for documentation hence taper.ps, taper.txt,
       and taper.1 are supplied as documentation. Because taper.1 is
       already formatted, it is placed in /usr/man1/cat1, rather than
       /usr/man1/man1.
     
     When going up directories in restore, goes up to the volume that
       you were in 

     In restore window, prints the volume we are restricted to

     In restore module, if you have selected most recent restore,
       will print the volume from which it will restore the file


Bug fixes
     Problems with restore tree     

     Major bug with --exclude-files option corrected

     
New in 5.1.1: 31-10-95
----------------------

Changes
     Prints "F10 to exit" in changing preference menus


New in 5.1: 30-10-95
--------------------

NOTE:  You now need ncurses 1.9.6 for taper to work


New
     New option (-X --exclude-compress) which allows you to specify 
        which group of files to exclude from compressing.

     New option (-F --exclude-files) which allows you to specify 
        which group of files to exclude from archives.
 
     Files selection sets 


Changes
      Fixed minor problems that arose with updating to ncurses 1.9.6 -
        mainly with \n and \r

      Volume title & archive title have been removed from the preference
        file. You are now prompted for them both before entering
        backup module. They are still in the command line options. 
	
      Upper case command line options are now different from lowercase
        ones.
	
	
Bug fixes
      Not initialising all variables correctly
      Allowed you to select a file twice in backup module
      In restore, printing the size of compressed file rather than
        uncompressed one




New in 5.03: 22-10-95
---------------------

Changes
       If two files are the same in an archive, then most recent
         restore will restore the file in the latest volume
	 
       Changed status screens in restore & mkinfo a bit

       When doing a backup, if a taper archive is found, user is
	given the option of appending or erasing (ie. the append
	preference is ignored - it's left in for when I get
	around to doing unattended backups)
	
       Default is now not prompting for directories.

Bug fixes
       Bug in mkinfo so that if you did a mkinfo after a restore,
	 it didn't restore volume header details correctly
	
       In backup, it was ignoring the fact that do_read_voldir 
         could return an I/O error
	 
       When saving to a preference file, if you didn't change
         the default name, the filename was garbage
	 
       When read preferences, was not ignoring the quotes
         used to surround volume & archive title
	 
       Changed the colour of the help screen so that it was 
         clearer using shells under X
	 
       Prints the volume number when restoring from regular files
       
       Few bugs in the tape_readheader code with regard to tape
         drives that have a leading zero problem
	 
       Was changing the global preference strip inadvertantly. Only
         mattered if you saved preferences after running 
	 backup or restore.

	Slight problem trying to overwrite existing archives
	
	
New in 5.02: 20-10-95
---------------------

New
	At last, a man page! Finally got around to doing it.
	
	New option in Makefile - make install will automatically 
	  place files in correct location - binaries in /sbin and
	  man page in /usr/man/man1. make uninstall will
	  remove the files
	  
	New option: +/-k [--erase-tape] - allows one to specify 
	  whether taper will erase a new tape before using it.
	  Default is yes but some SCSI drives don't need erasing
	  before use. Floppy tape drives need it set to yes.
	  
	When changing preferences within program, for YES/NO
	  options, can use y/Y and n/N keys.
	  

Changes
	Changed to preference & environment names for the tape
	  devices. Non-rewinding preference and environment is
          NTAPE and rewinding preference & environment is TAPE.
          This was done to accommodate SCSI users who don't use
	  ftape.
	  
	If you press an illegal key, automatically prints help
	  screen

	Prompts for tape insertion before commencing mkinfo


Bug fixes
	Prints a cursor in changing preferences if the string
	  line is NULL
	  
        The HAVE_SCSI line in Makefile should have been
	  -DHAVE_SCSI



New in 5.01: 18-10-95
---------------------

New
        Added a QUIT signal handler so that if you abort or terminate,
	  your screen is not mucked up and memory is not lost.

	In restore, when you go up a directory, the cursor points to
	  the directory you were in (like backup & mc)
	  

Changes
	Reworked the missing directories search. It was working in 5.0
	  but was so slow that people thought taper had crashed. Was only
	  evident on >1000 files.

	Slight optimization of cp counter

	Change to Makefile - have another variable HAVE_SCSI, which if set
	  sets the default device names to SCSI device names rather than
	  floppy device names


Bug fixes
	Prints error message for info file mismatch now
	
	Updated select_box to handle changes to ncurses 1.9.6.

	Wasn't handling restore to different paths properly

	Added trailing '/' to recursively included directories

	Added a zero to the time so that it prints as 21:08 not, 21:8

	Blank cursor line in on_vol window for blank lines

        Clears title line at program end



New in 5.0: 1-10-95
-------------------

MY ADDRESS HAS CHANGED TO:  yusuf@mail.bogo.co.uk
-------------------------------------------------


New
	Major archive format change - basically, more information was 
	  added to volume headers to make incremental backups easier. 
	  This means that archives created under taper 4.x are not
	  compatible with 5.0. The volume & archive magic numbers have
	  been changed to reflect this.

	Restore even more intelligent with regular file restores - 
	  doesn't have to traverse the whole archive now. Stops 
 	  when restored all files required

	Info files have been renamed from taper_xxx to taper_info_xxx
	  (to allow use of backup sets which will be named taper_set_xxx)

	In restore, you get to select which archive you wish to restore from.
	  Taper prints a list of all archives it knows about. The default
	  archive selected is the one in the tape drive (or the one
 	  that pertains to the regular filename given). The tape doesn't
	  have to be in the drive to peruse an archive.

	Changes to incremental backup & incremental restore. See TAPER.DOC
	  for details


Changes
	In selecting files for a backup, when you move up a directory,
	  the cursor points to the directory you were in (like mc)

	If there is no title (archive, volume etc..), rather than printing
	  a NULL string, the string <no title> is printed

	In backup & restore, permissions are no longer printed. They were
	  wasting too much valuable screen real-estate, and really, are
	  not of much use in an archiving system. In restore, the date/time
	  the file/directory was backed up is not printed - that information
 	  can be obtained from the right hand window (volume information)

	Restore now prints details of what's on archive like backup

	Major change to TAPER.DOC to reflect all new features

	Better handling of status reports in restore


Bug fixes
	Mktape - was proceeding even if you answered 'no'	

	Mktape - better error handling

	Testzero - better error handling

	Better handling of errors when erasing a tape in backup

	Mkinfo - was closing standard input accidently if no archive
	  was found

	Backup - incorrect archive size if no archive existed 

	Allowed abort if don't have correct tape in drive

	Backup/Restore - confusing directories with files for recursive 
	  recursive selections

	Problem creating extra directories when restricting restore to
	  a certain volume


New in 4.4:
-----------

New
	Change so that there is only one program, taper, which presents
	  the user with a menu so that s/he can select which program to
	  run

	Allows preferences to be changed within taper. Also allows saving
	  of preferences to preference file or as command line command

	Made restore a bit more intelligent. If you just want to restore
	  a directory (with no files in it) or devices etc..,
	  then it uses the information in the info file & doesn't have to
	  read anything in from the archive

Changes
	Changed the completion message from "Backup completed successfully"
	  to "Backup completed". Even though the screen reported errors 
	  (if any) people were getting confused saying that how could backup
	  have completed successfully if there were errors. The fact is that
	  these errors were non-fatal errors, and therefore, IMHO, backup
	  did complete successfully. But due to popular demand, 
	  the message has been changed. Of course, this applies to mkinfo &
	  backup as well.
	
	Changed the TAPER.DOC file to reflect better information about SCSIs
	  especially with regard to rewinding & non-rewinding devices.
	
	Changes to the documentation to reflect the fact that you don't need
	  to do a 'make dep' anymore

	Changed the 'update' option in backup to follow the format of other options:
	  ie. on = +u (or --update-on) and off = -u (or --update-off)

Bug fixes
	Problem with the restore tree if files were being backed up 
	  individually rather than by directory selection
	Problem in backup when selecting files. If you selected a file
	  and then selected the directory in which the file resided, the
	  file was backed up twice. Now backup will recognize when files
	  have been selected twice and act accordingly
	Problem in working out common path (common.c:make_cf) - incorrectly
	  counting number of files in archive
	Multiple bug problems with the restore tree


New in 4.3:28/5/95
-------------------

New
	Restore is now fairly intelligent. That is, it works out which
	  volume files are on and skips to that volume immediately. It
	  also realizes when no more files are to be read from a particular
	  volume and stops reading from that volume
	Prints the number bytes in archive in both restore & backup
	Added a -w num option to restore which tells restore to show only those
	  files on volume 'num'. Default value of 0 means show all volumes 

Changes
       	Changed "Average transfer rate" to "Average backup rate" since it
          is not an average transfer rate - it takes into account time to
	  advance volumes, rewind tape etc.. Similarly, "Average restore/mkinfo
	  rate"
       	More Makefile tweaks to improve performance
     	Made some improvements to byte counts - still ignores tape headers and
	  volume headers but this really is negligible
	Rationalised the use of non-rewinding & rewinding tape devices. 
 	  The non-rewinding tape device is used only to reposition the
	  tape, otherwise the rewinding device is used.
	Restore prints the volume a file is on and also the position in the
	  archive that the file in
	Print directory (from restore) also prints the above two pieces of
	  information
	User interface for restore changed. The files on an archive are now
	  presented in tree form.
	Made the user interface with regard to restore and multiple volumes
	  a bit clearer and more logical.

Bug fixes
       	Wasn't erasing tape correctly in backup and flush_buffers
	Problem displaying full pathname in top left window of backup if
	  pathname was wider than window
	In backup, wouldn't enter a link that pointed to a directory
	Forgot to update volume/tape table in mkinfo
	Incorrectly printing month file was backed up in restore

       
New in 4.2.1:25/8/95
---------------------

New
	Checks to see if it can open get tape device status before
	  writing to it. To avoid problems with no tape in drive.

Changes
	Changed the making of .depend in the Makefile. Slightly quicker now
	Cleaned up the log level 3 messages and make them more detailed


New in 4.2:24/8/95
------------------

New
	Added a -u [--update] option in backup. If -u is specified, and
	  a taper backup exists on the backup device, taper will automatically
	  select all files that have been changed since the backup was made.
	  Equivalent preference file option is UPDATE

	Added a title line showing the name and ID of archive 

	Added another place where preferences can be stored. If a 
	  .taper_prefs doesn't exist in /$HOME, then taper now looks
	  in /usr/local/etc (can be changed in common.h). This allows
	  global defaults to be used without having to set environment
	  variables

	Added option [-j num, --proc-device] for ignoring the /proc filesystem.
	  Program which_device will attempt tell you which device your /proc
	  filesystem is mounted on.  See TAPER.DOC for more details

	New program mktape (to prepare tapes for taper use - only needed if
	  your tape drive writes leading zeroes) and testzero (to see if your
	  tape drive write leading zeroes). See TAPER.DOC for more details


Changes 
	Changed the -o [-/+-overwrite option] in restore so that three levels
	  are available: -o 0 = no overwrite (if the file exists, then it is
	  not overwritten); -o 1 = more recent overwrite (if the file on the 	
	  backup device is more recent than the file on the hard disk, then
	  the hard disk file is overwritten. If the file on the backup device
	  is older than the one on the hard disk, then it is not overwritten);
	  -o 2 = unconditional overwrite (the hard disk file is always 
	  overwritten)

	When a program is finished, prints how many warnings & how many
	  errors were encounterd

	Changed the word 'Volume' to 'Archive' in backup & restore to make
	  it more consistent with the documentation

	Changed default color of directory to black on green

	Changed the handling of long (GNU style) options. Instead of
	 [+/-]-option, you now use --option-on or --option-off. See TAPER.DOC
	 for more details

	Removed the +/-e (--erase-tape) option. You can use the append option
	  to do the same thing. If you specified --append-off (or -a), and
	  if there is data on the tape, then taper will erase the existing
	  archive and replace it with the new archive. 
	  
	Changed handling of leading zeros problem. If your tape drive writes
	  leading zeroes, define the appropriate variable in the Makefile.
	  When doing backups, you will have to use mktape to prepare tapes
	  for taper use. Taper will not automatically erase tapes for you. If
	  you use an unprepared taper tape, then you will run into problems.
	  See TAPER.DOC for more details

	Changed handling of directory sizes in sel_restore to make it quicker
	  on large archives.

	In restore, prints the position in archive of each file 

Bug Fixes
	Problem with -d option in restore (trying to open status_box)
	Problem in restore if archive was empty
	Erase tape when prompting for 2nd, 3rd.. tape of backup
	Rewind tape after finished writing in multiple tape backups
	Problem if backup extended by less than one blocksize onto a new tape
	Problem with calculating how many files to advance when appending to
	  multi-tape archive
	


New in 4.1:14/8/95
------------------

New 
	Added support for multiple tape archives. Required a change to
  	   the info file structure therefore, previous taper backups will
	   need to have their info files recreated (easily done with
	   mkinfo - no need to re-backup)

	Changed	Mkinfo to provide a nice screen (user interface change
	   only)

	Enabled escape mkinfo (of course, if escaped, the info file is
	  incomplete)

	Logged errors if failed to make a directory in restore

	Created directory for info files if doesn't exist

	When reading in the tape header at the beginning of the tape,
	  ignores leading zeroes

	Added a message box at end of backup/restore/mkinfo saying that
	  everything went OK

	Added support for long options (GNU style)


Changes
	Internal code change so that the common code between mkinfo &
	  restore is in common.c

	Changes $ in filenames to \$ to avoid shell expansions when
	  decompressing & compressing files

	Filename changed to taper-4.1.tar.gz (instead of taper41.tar.gz)
	  to bring it in line with other Linux packages

	Apart from the tape header, information is written to the tape
	  device in blocks. The size of a block defaults to 28K, but
	  can be changed with the -x option (BLOCK_SIZE in preference
	  file) - the old -x option (or MAX_TRANSFER_SIZE preference option)
	  has been superseeded by this.

	Changed name of README to TAPER.DOC (it was too big to be a README
	  file)


Bug fixes
	Error in calculating volume count when using mkinfo

	Error handling soft links in mkinfo

	Added BOTH option in preference file (was in documentation but
	  never made it into program)

	The preference file option for location of info files is 
  	  TAPER_INFO_FILES. The README was incorrect and has been updated

	Fixed bug that caused extra directories to be created if an absolute
	  path was supplied with -r in restore

	If backed up an absolute pathname, can now restore using that 
	  absolute pathname



New in 4.02
------------

New
	Added option -x num which allows one to specify the maximum
	  number of bytes to transfer to the tape device in one hit.
	  This is to avoid variable mode SCSI drives returning a 
	  EOVERFLOW error

Changes
	Changed the code for parsing arguments so that some of it
	 is modularized in common.c. In preparation for multiple tape
	 archives

	Internal changes to reading/writing to tape. All calls pass
	 through tape_read & tape_write in common.c. 



New in 4.01
-----------

New
	More detailed error messages if couldn't open/read/write to 
	  backup & info files etc..

Bug fixes
	Fixed -p option not working correctly

	Changed preferences LOG_FILE & LOG_LEVEL to LOGFILE & LOGLEVEL
	  to match what was in the README file



New in 4.0
----------

Major change	
	Use of archive information files. Please see the README file
	and the VERSION4 file for details of the change. This means
	that version 4 archives are not compatble with other taper
	archives.

Other changes
	Lots of command line letters have been changed. Mainly to allow
	accommodation of feature addition.

	Changed the handling of stripping pathnames. The full pathname is
	stored in the information file and on tape. You have the option at 
	restore time of stripping excess pathnames. See README for more details.

	Played around with restore & backup status boxes a bit. Nothing major.

	Changed the way selected files are stored in the restore module. 
	Should speed things up.

New
	Command Line Options
	  -?          on the command line prints help on command line options
	  -v          prints current version
	  +/-y	      allows the directory to be displayed in alphabetical order
	              or the order in which the files were backed up. +y 
		      means sort in alpha order
          -/+z        if on, then confirmation is required when a directory
                        is selected for restore/backup. If off, no confirmation
                        is sought  
			
 	Checksums are calculated for every file that is written to the
	  archive. When restoring, if the checksum is not correct, the
 	  file is still restored but the checksum error is recorded in 	
	  the log file.

	Better support of errors while backing up (eg. unable to read
  	  file because no permission etc..).

	Added support for log files
	
Bug Fixes
	Makes filename compare case sensitive (as should be under U*IX)
	Stopped calling setup_colors if only wanting to print directory in
	  restore
	Checked to make sure that a second argument was supplied for those
	  options that required an argument (eg. -f, -t).
	Had a heart attack on recursive links. Now if a link points to
	  itself, it is ignored

	
New in 3.0
----------
In house. Not released for public


New in 2.3.1
------------

Bug Fixes
	Another attempt at trying to avoid the seg fault on startup
	Preference file not mandatory now


New in 2.3
----------

Enhancements
	Changed the way volume directories are sorted. Directories are placed
	first in the volume directory, next come non-regular files, 
	then come regular files. If two filenames are the same, then
	the one backed up earlier is first. Thus, when the same file is
	backed up several times, the latest version of the file will be
	the one at the bottom of the volume directory list.
Bug Fixes
	floating point exception caused if backing up files with a 
	  total count of zero bytes (eg.  backing up /dev directory)
      	floating point exception caused if restoring files whose total
          byte count was zero (eg. restore a /dev directory)
 	seg fault if no volume name specified on command line
	in backup, if volume name was greater than window width, ugly
          messying up of window
New
	Colour support - required ncurses library >= 1.9.2
	Preference file support
	Backup - prints the size of the current directory in the files panel
	Restore - prints the size of the files contained in the directory in
          the top window (previously printed the size of the directory
          entry - usually the i-node size)
	Use of arrow keys enabled in dialog boxes
	Can use spacebar to select a file in backup & restore
	Prints a '*' to the right of a selcted file in the directory 
          view in backup and restore


New in 2.2
----------

Minor Makefile changes
	Allows make dep and make depend
	Adds /usr/lib/ncurses in include search path
	Fixed including of .depend file
Bug Fixes
	Crashed if soft link pointed to a non-existent file
	Not correctly using fixed directory sizes
	Default values not correctly initialized 
	Crashed if no environment variable TAPE specified and no filename given
New
	Added a FAQ file


2.1
---

First public release
