2002-03-21  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.man: New, doctools manpage.

2002-02-14  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.tcl: Frink run.

	* ftp: Version is now 2.3.1 to distinguish this from the code in
	  tcllib release 1.2

2002-01-26  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* ftp_geturl.tcl: Re-opened FR #476804 to add support for
	username and password and for non-unix based FTP servers.

2002-01-16  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* Bumped version to 2.3

2002-01-16  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.tcl: Fix for bug #503471. The commands Get, Reget, and Newer
	  now check if the directory the local file is to be placed in
	  does exist. They now immediately throw an error if the directory
	  does not exist instead of starting the download and getting
	  confused.

	* ftp.n: Typo fix. Updates in the descriptions of Get, Reget, and
	  Newer explaining the new behaviour, s.a.

2001-11-20  Joe English <jenglish@users.sourceforge.net>

	* ftp.n: (r1.6 -> r1.8) Update for bug report #474999 
	  "ftp man page description typo" -- attempt to clarify
	  description of "ftp::List" command.  Also fixed minor 
	  markup errors.

2001-11-19  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.tcl: Tested implementation of FR #481161. Fixed the errors
	  found that way (incomplete cleanup by 'Get', interfered with the
	  following 'Put' command).

2001-11-16  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.tcl, ftp.n: Implemented and documented FR #481161.

	* ftp.tcl: Applied patch #428053 provided by Sreangsu Acharyya
	  <srean_list@myrealbox.com>. The patch extends 'Reget' to allow
	  download of an exactly specified slice of the the source
	  file. This enables the implementation of a 'resume' after a
	  partial download and also the parallel download of
	  non-overlaping parts of the same file from different servers.

	* ftp.n: updated documentation to cover the new code above and
	  below.
	
	* ftp_geturl.tcl: New file, provides a geturl command for use by
	  uri. Declared in a separate package to avoid a cyclic dependency
	  between the ftp and uri packages. The uri package is changed to
	  try for a scheme::geturl package first and then for a scheme
	  package to get the desired functionality. Implements FR #476804.

2001-11-06  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.tcl: Applied patch in #478478 to handle non-standard date
	  information from servers with a buggy y2k patch. 2001 is
	  rendered as 19101 (19*100 + 101 = 2001).

2001-11-04  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.n: Updated description of DisplayMsg to the changed
	  behaviour and added a discussion of what happens should it throw
	  errors. Also added a description of option -output to the
	  description of ftp::Open.

	* ftp.tcl: Fixed bug #476729. Instead of describing the behaviour
	  of the default 'DisplayMsg' the procedure is changed instead to
	  throw no errors, and to use the log module of tcllib. Thanks to
	  Larry Virden <lvirden@users.sourceforge.net> for pointing out
	  the deficiencies in the documentation.

2001-10-20  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.tcl: Fixed bug #466746. Reporter of bug unknown, provided
	  fix too. Problem was incomplete handling of [gets] return
	  values. Value -1 signaling an incomplete line was not handled.

2001-10-16  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.n:
	* ftp.tcl:
	* pkgIndex.tcl: Version up to 2.2.1.

2001-09-17  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* example/hpupdate.tcl: Some cleanups in the example code,
	  provided by Larry Virden <lvirden@users.sourceforge.net>. This
	  fixes [440064].

2001-09-12  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* Added manpages for ftp package.

2001-08-01  Don Porter  <dgp@users.sourceforge.net>

	* example/hpupdate.tcl:  Workaround for moving Tk internal
	command [tkButtonInvoke].  [Bug 450914]

2001-08-01  Jeff Hobbs  <jeffh@ActiveState.com>

	* ftp.tcl: added eval in ftp::List wrapper when used in tkcon.
	[Bug: #439779] (loring)

2001-07-10  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftp.tcl: Frink 2.2 run, fixed dubious code.

2001-06-21  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* ftpdemo.tcl:
	* ftp.tcl: Fixed dubious code reported by frink.

2000-10-01  Dan Kuchler <kuchler@ajubasolutions.com>

      * ftp.tcl: Moved the call to 'DisplayMsg' from inside of the
      fileevent loop (in ftp::StateHandler) to WaitorTimeout.  Now
      errors that occur in StateHandler won't be thrown until after the
      the asynchronous (fileevent) portion of the code has completed.
      ftp::OpenActiveConn and ftp::OpenPassiveConn can both still generate
      errors in the event loop, which will cause a bgerror to be thrown.
      Added some (untested) code to support Tenex mode ftp transfers.  So
      far tenex mode sends across 'TYPE L', and then does the transfer with
      a binary encoded channel. Since I don't have a tenex system to test
      it with, this feature is very alpha at this point.

2000-09-28  Dan Kuchler <kuchler@ajubasolutions.com>

      * ftp.tcl: Fixed a line of code in the "list_close" state of StateHandler,
      switching a ![info exists... to [info exists... 

2000-09-25  Sandeep Tamhankar <sandeep@ajubasolutions.com>

       * ftp.tcl: Fixed a line of code in the "connect" state of StateHandler,
       switching a ![info exists... to [info exists...  It was originally
       stack tracing when opening a connection.

2000-08-29  Steve Ball   <Steve.Ball@zveno.com>

       * README
       * ftp.tcl
       * pkgIndex.tcl
       * docs/Open.html: Added '-command' configuration to the Open
       command.  This option indicates that all operations performed
       on this connection are to be made asynchronously.  The value
       given to the option is a script which is invoked when operations
       have finished.  Updated documentation and bumped the version
       number from 2.1 to 2.2 because a new feature was added.

2000-08-16  Dan Kuchler  <kuchler@ajubasolutions.com>

       * README
       * ftp.tcl
       * pkgIndex.tcl
       * docs/*.html: Added new optional arguments to the Get, Put, and
       Append commands.  The Append and Put commands have a new optional
       argument '-data "data"' that can be used to specify data to transfer
       instead of transferring data from a local file.  The Get command has
       a new optional argument '-variable varname' that specifies a variable
       to store the retrieved data into, that can be used instead of
       specifying a local filename.  Updated the documentation to reflect
       the changes and bumped the version number from 2.0 to 2.1 because
       new features were added.


2000-08-10  Dan Kuchler  <kuchler@ajubasolutions.com>

        * ftp.tcl
        * pkgIndex.tcl: Fixed the ftp package to allow for
        the destination location of the ftp::Get command to
        be a directory as well as a file.

2000-07-08  Dan Kuchler  <kuchler@ajubasolutions.com>

        * README
        * ftp.tcl
        * ftpdemo.tcl
        * pkgIndex.tcl
        * example/README
        * example/hpupdate.tcl
        * example/mirror.tcl
        * example/newer.tcl
        * docs/*.html: Updated for the change of ftp_lib.tcl -> ftp.tcl, for
        the change of ftp_demo.tcl to ftpdemo.tcl, and for the FTP namespace
        change.  Made lots of fixes to complete the partially done work to
        make ftp handle multiple concurrent ftps at the same time. Updated the
        version in the docs, examples, source, and pkgIndex to be version 2.0

2000-06-02  Eric Melski  <ericm@scriptics.com>

	* ftp.tcl: Changed namespace to ftp (from FTP).  Updated license
	information.  Renamed ftp_lib.tcl to ftp.tcl in preparation for
	inclusion in tcllib.

1999-12-31  Peter MacDonald  <peter@pdqi.com> 
	* ftp_lib.tcl: Modified to allow multiple concurrent ftps at the same
	time.  Unfortunately this is incompatible with the old procs.
	Rewrite proc headers to be declared outside namespace eval.
	Incremented version to 2.0.

-------------------------- Released 1.2 -----------------------------

1999-04-30  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl: added new FTP command FTP::Append to append local
	files to remote files.

	* ftp_lib.tcl: Added TkCon support to make FTP::List inside TkCon
	more readable. 

	* ftp_lib.tcl: In some strange cases ftp_lib overlaps the state
	machine, to prevent this the state handler disables fileevents on
	control socket a the beginning and enables it again at the end
	(this failure comes with an earlier release of tkcon, it is only a
	debugging feature now and commented).

	* examples/*.tcl: Store the example files in a separate directory.
	
-------------------------- Released 1.12 ----------------------------

1999-02-28  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl: Disabled remote Abort command, it doesn't work.
	Insert an internal CloseDataConn command instaed of Abort.
	Get/Reget: create local file only if the remote file really
	exist.  Fix major bug for passive mode that ftp_lib blocks in
	every cases if file or directory doesn't exist at the remote
	machine, THANKS to Brian Lalo <blalor@hcirisc.cs.binghamton.edu>
	for his investigation.  Added current namespace prefix to
	InitDataConn procedure.

1999-01-31  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl: Changed return values of the FTP::Quote command,
	sent back the string it received instead of any parsing THANKS
	Keith Vetter <kvetter@us.oracle.com> for his patch.  Improved
	buffer mechanism in StateHandler, buffer represents the whole
	received data.  VERBOSE variable controlled output now will be
	handled by the package not by the application.  New online HTML
	help files are available under the directory docs.
	
1998-11-30  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl:  Can now also operate in the passive data transfer
	mode, added "PASV" ability for every command that uses data
	connection.  Improved procedure return codes for a better error
	handling.  Restore correct type after switching to ascii mode in
	FTP::List and FTP::NList.  Insert a hook for using a graphical
	progress bar that shows the elapsed time.  Added new command
	FTP::FileSize which gets the file size of the file on the remote
	machine.  FTP::Newer now is able to compare the modification date
	of a remote file with the date of any local file.  Enabled DEBUG
	variable displays in additional the real FTP commands (old VERBOSE
	feature).  Signification of the VERBOSE variable is changed, if
	enabled it shows the responses from the remote server.  Allows to
	call FTP::Cd without any parameter.  Include some examples in
	ftp_lib distribution.
  
1998-05-31  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl: Fixed a little bug in FTP::Open that makes it not
	possible to use this procedure in a proc (upvar #0 ..)

1998-03-31  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl: Non-Blocking I/O of the control channel doesn't
	work on Windows, changed to block the I/O channel

-------------------------- Released 1.0 -----------------------------

1998-03-30  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl: Complete redesign to handle timeouts after
	specified amount of time.  Added new FTP command FTP::Quote for
	sending verbatim commands to the FTP server THANKS to Ron Zajac
	<Ron.Zajac.zajac@nt.com> for inspiration
	
-------------------------- Released 0.9 -----------------------------

1998-02-28  Steffen Traeger  <Steffen.Traeger@t-online.de>

	* ftp_lib.tcl: Uses only the highest-order digit of the 3-digit
	reply code for switching in procedure StateHandler.  Added new FTP
	command FTP::ModTime to show the last modification time of a file
	on the remote machine.  THANKS to Bill Thorson
	<thorson@typhoon.atmos.colostate.edu> for the patch.  Added new
	FTP command FTP::Newer to get remote file only if it is newer than
	local file.  DEBUG flag.  VERBOSE flag.  Added two options for
	FTP::Open command: -timeout seconds, sets up timeout; -blocksize
	size, writes "size" bytes at once.  Procedure DisplayMsg now is
	provided to display in different colors.
	
0.84 (02/98)
-----------
- FTP commands now runs only if control connection is available
- changed ls-output, removed "total"-line and blank lines from
  the list

0.83 (02/98)
-----------
- changed the FTP::NList command to query data of empty directories
- added new FTP command FTP::Reget to skip over big files after
  broken file transfer
  THANKS to Paulo da Silva <pdasilva@mail2.esoterica.pt> for help
- specially interpretation of the 421 reply code ("Service
  not available, closing control connection"), it is necessary
  for reget
  
0.82 (12/97)
-----------
- added current namespace prefix to CopyNext procedure,
  because of ftp_lib doesn't work correctly with tlc/tk8.0p2
  
0.81 (08/97)
-----------
- replaced tkwait with vwait, this allows only to use
  tcl shell for FTP library

0.8 (07/97)
-----------
- redesigned to support namespace
- added simple installation program
- modified to support the tcl package specification

0.7 (06/97)
-----------
- changed to tcl/tk version 8.0
- used the new fcopy command to transfer binary data

0.6 (02/97)
-----------
- bugfix: close data socket after every data transfer
- added the rename command

0.5 (02/97)
-----------
- bugfixes
- added directory manipulation commands

0.4 (02/97)
-----------
- changed to tcl7.6/tk4.2
- added put/get commands

0.1 - 0.3 (01/97)
-----------------
- ???

