FTP Explorer by Alan Chavis
===========================


Copyright Notice
----------------

Copyright (c) 1995-1996 by FTPx Corp.
FTP Explorer is a trademark of FTPx Corp.

Windows, Windows NT, and Visual C++ are registered trademarks of Microsoft Corp.
WS_FTP is a registered trademark of Ipswitch, Inc.
CuteFTP is a trademark of Alex Kunadze
fpArchie is a trademark of fpWare
All other trademarks are owned by their respective companies.


Warranty Disclaimer
-------------------

THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM
EXTENT PERMITTED BY APPLICABLE LAW, FTPX CORP. FURTHER DISCLAIMS ALL WARRANTIES,
INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF THE
USE OR PERFORMANCE OF THE PRODUCT AND DOCUMENTATION REMAINS WITH RECIPIENT. 
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL FTPX CORP.
BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, DIRECT, INDIRECT, SPECIAL, PUNITIVE, OR
OTHER DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER
PECUNIARY LOSS) ARISING OUT OF THIS AGREEMENT OR THE USE OF OR INABILITY TO USE
THE PRODUCT, EVEN IF FTPX CORP. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


Release Notes
-------------

PLEASE HELP ME TO IMPROVE THE PROGRAM BY REPORTING ANY PROBLEMS OR
SUGGESTIONS TO:

achavis@ftpx.com

The main objective of FTP Explorer is to provide an FTP client that looks
and feels just like the Windows 95 Explorer interface.  Please keep this
in mind while evaluating it.

Registration
------------

Please read the license agreement for complete information.

FTP Explorer is FREE for home or educational use.

The registration fee for all other uses is $30 U.S.

If you are not entitled to a free license, you may use FTP Explorer for 30
days for the purpose of evaluating whether to purchase it.

Even if you are eligible for a free license, you may register anyway if you
wish to support and encourage the further development of this program.

Checks may be mailed to:

FTP Explorer
P.O. Box 20574
Okc, OK  73156-0574

For credit card orders, print out the registration form from the help file, and
either mail it to the above address, or fax it to:

405-755-0158

Extra Special Thanks
--------------------

Ben Reser and StealthMan for your initial encouragement that night on IRC.
Had it not been for you guys, this program would have never made it this far!

Casey Hart for his awesome work on the help file.

Daniel Beckham and Chris Chase for the coolest web site I've ever seen.

Rodney Herrmann for getting me started on the BBS program that inspired 
FTP Explorer.  We'll have to finish it someday, ok?

Edward Mendelson for his early encouragement and the write up in Internet User.

My wife Cheryl and my sons Gregory and Preston for putting up with me for the
last 7 months while I worked on this project.

Everyone else who has sent me words of encouragement, suggestions and bug 
reports!  It's the users who have really made this program what it is!


The Torture Test Team
---------------------

Ben Reser
Casey Hart
Chris Chase
Daniel Beckham
Dave Taylor
Donny Jasperson
Kerry Sanders
Kevin Dente
Paul Geller
Rami Anati
Randy Jack
Rodney Herrmann
StealthMan
T.J. Weber
Tim King
Tom Cantor

The Localization Team
---------------------
Andrea Matta        (Italian)
Dale Gillham        (German)
Hans O. Sorteberg   (Norwegian)


Distribution Sites
------------------

THE LATEST RELEASE WILL ALWAYS BE AVAILABLE AT:

FTP Explorer Home Site (U.S.):

http://www.ftpx.com
ftp://ftp.ftpx.com/pub/ftpx/ftpx.zip

Italy:

ftp://ftp.volftp.vol.it/pub/pc/windows/win95/progs/communications/internet/ftp/

Norway:

ftp://powertech.no/users/crossrec/ftpx


Mailing List
-------------

If you would like to subscribe to the FTP Explorer mailing list and be 
notified via email about new releases, send email to:

	listserv@ftpx.com

with no subject, and put this in the body of the email:

	subscribe ftpx-announce

NOTE: DON'T PUT ANYTHING ELSE IN THE BODY OF THE MESSAGE.  IF YOUR EMAIL
PROGRAM ALWAYS ADDS A SIGNATURE TO THE END OF EVERY MESSAGE, PUT "end" BY
ITSELF ON THE LINE FOLLOWING THE SUBSCRIBE STATEMENT, LIKE THIS:

	subscribe ftpx-announce
	end

If you would like to participate in general discussion about FTP Explorer
you may wish to subscribe to the ftpx mailing list instead.  Do so by
putting this in the body of the email instead.

	subscribe ftpx

If you thought you were on the mailing list, but didn't receive a
notification about the latest build, you may want to subscribe again.


IRC Chat Channel
----------------

I'm frequently available on the EFNET IRC channel: #ftpx

Feel free to join me if you would like to discuss FTP Explorer online.


System Requirements
-------------------

FTP Explorer requires Windows 95 or Windows NT (3.51 or higher, the shell
extension will probably only work on 4.0)

Please note that FTP Explorer requires a 32-bit TCP/IP stack.  If you are
using a 16-bit stack you will need to upgrade to a 32-bit stack to use
FTP Explorer.


Disclaimer of Warranty
----------------------

THIS SOFTWARE AND THE ACCOMPANYING FILES ARE PROVIDED "AS IS" AND
WITHOUT WARRANTIES OF ANY KIND WHETHER EXPRESSED OR IMPLIED.

In no event shall the author be held liable for any damages whatsoever,
including without limitation, damages for loss of business profits, 
business interruption, loss of business information, or any other loss 
arising from the use or inability to use  the software.


What's New
----------

* Changes in Version 1.00.002  (10/07/96)

 - Fixed a bug that was causing downloads to fail on VAX systems.

 - Added "Upload" option to list view context menu.


* Changes in Version 1.00.001  (10/07/96)

 - Fixed a bug that was preventing the uninstall routine from working if
   the program was not installed in default directory.


* Changes in Version 1.00.000  (10/06/96)

 - Program now displays a license dialog the first time it is started.

 - Added "Contents", "License", and "Register" options to the help menu.

 - Fixed a bug that was causing certain sites (ftp.pitt.edu) not to display
   properly.

 - Fixed a bug where "Quick Connect" was not using PASV mode if it was enabled.


* Changes in Version 0.00.063  (09/15/96)

 - Program will now prompt the user to switch to BINARY transfer mode if if ASCII
   transfer mode is selected and a file with one of the following extensions is
   transferred: ARJ, AVI, BMP, DLL, DBF, EXE, GIF, GZ, JPG, LIB, MDB, OBJ, TIF, 
   TGA, TGZ, XLS, Z, ZIP, LZH.


* Changes in Version 0.00.062  (09/12/96)

 - Fixed a bug that was causing a stack fault GPF when opening or quick viewing large
   (>200k) files.  This may also fix some problems when listing large directories.

 - Disabled "Maximize" and "Size" options on transfer progress dialog.

 - Moved strings on transfer progress dialog to resource table.


* Changes in Version 0.00.061  (09/09/96)
 
 - Fixed a problem with the setup program where it was unable to install the
   shell extension if it was in use.

 - Added code to save the application directory so that it can be utilized
   by the setup program.  The setup program can now use the existing app path
   for the default target directory.  (Note: This will only take effect after
   you have executed build 061 for the first time)


* Changes in Version 0.00.060  (09/08/96)

 - Fixed a bug with some of the "File Types" in the upload dialog not 
   displaying files properly.

 - Fixed a bug that caused the program to report "Insufficient disk space"
   when attempting to download to a UNC (network) path.

 - Added a "Quote" command to the tools menu.  This allows special commands
   to be sent directly to the server.

 - The "Paths" options page now verifies that the specified paths are valid.

 - Fixed a bug that was causing the date/time on downloaded files to reflect
   the date/time that they were downloaded instead of the original date/time.

 - Added menu options to Transfer Manager to allow for cancelling and re-
   submitting transfers.  Note that active transfers can only be cancelled
   via the "Cancel" button on the transfer progress dialog.

 - Added "Progress" and "Bps" columns to the transfer manager.

 - Added a "KeepAlive" option to the connection options page that sends NOOP
   commands to the server periodically to prevent timeouts.

 - Added a "New Window" option to the file menu.  This allows you to easily start
   a new instance of FTP Explorer.

 - Added some additional sites to the sample profiles that are set up when the 
   program is run for the first time, and added descriptions to all of them.

 - Widened "Description" text box on connect dialog, removed horizontal scroll
   bar and added a vertical scroll bar.

 - CuteFTP import routine now imports descriptions.

 - Added support for several proxies/firewalls to the firewalls options page.

 - The files in the build are now compressed and must be installed via the setup
   program.

 - The setup program now detects if the shell extension is already installed and
   will only prompt to reboot if it is necessary.


* Changes in Version 0.00.059  (09/03/96)

 - Created a setup program and an uninstall routine.  The program can
   now be uninstalled via the "Add/Remove Programs" feature in the control
   panel.

 - Fixed a problem with the login:password@ option for URLs if there
   was an @ in the password.

 - Fixed a problem with "Quick Connect" not working correctly when only
   a host name name was entered instead of a URL.

 - Added some common file types to the upload dialog.

 - Program now refreshes the directory automatically after renaming a file if
   the new name is the same as an existing file or if the new name contains a
   path.  The rename command can now be used to move files to a different path.


* Changes in Version 0.00.058  (08/23/96)

 - Fixed a problem with ftp.cdrom.com that was caused by the fix for
   ftp.symantec.com.  Jeez!

 - A CDUP command is now issued before the current directory is removed
   with an RMD command.


* Changes in Version 0.00.057  (08/23/96)

 - Fixed a problem with some UNIX sites that do not display group names
   (ftp.symantec.com).

 - Program should now not prompt to delete files in temp dir if other
   instances are active.  Last instance to close should clean up temp
   path normally.

 - The "auto-download" feature for command line URL's and the "Quick Connect"
   option now uses the "Background download threshold" setting from the transfer
   options dialog to determine if it should download the file in the background.

 - Program will now prompt for confirmation if a foreground transfer active and
   an attempt is made to connect to a new site, disconnect, or close the program.

 - Added a "Refresh" button to the toolbar.

 - Fixed a bug where the login name was not being filled in on the password
   prompt dialog that appears when you leave the password blank.

 - URL's that include the login name and password are now handled properly
   (ftp://username:password@ftp.site.com)

 - Added a "File Types" option page.  This allows you to specify which files
   are used as description files, and what types of files always transfer
   using ASCII mode.


* Changes in Version 0.00.056  (08/19/96)

 - Fixed another bug that was causing a GPF when the connection timed out.

 - Added code to resolve links that are linked to files in the same directory.
   If a link is linked to a file in the same directory, then it should reflect
   the correct information from the file it is linked to (i.e. size, type, etc.)

 - Added a "Download File" check box to the "Quick Connect" dialog.  This option
   is enabled if a URL is entered that does not end with a slash (/).  If checked,
   the last segment of the URL is interpreted as a file and a download will be
   initiated after the connetion is established.  If it is not checked, the last
   segment will be interpreted as a folder.

 - The program now uses RMD (remove directory) instead of DELE (delete) to remove
   folders.  This should fix some problems with some sites that do not allow the
   delete command against folders.


* Changes in Version 0.00.055  (08/15/96)

 - Fixed a bug that was causing PASV mode not to work on certain servers for
   file transfers.

 - PASV mode is now selectable on a per profile basis via the connection dialog.

 - New connection profiles now default to anonymous login.

 - Added "Timeout attempt after" option to "Connection" options page to allow
   adjustment of timeout value.  This should help with dial up connections that
   take a while to connect.

 - Removed unused options from "Edit" menu.

 - Added option to convert case of short filenames when uploading to "Paths"
   options page.  (This probably should go on the "Transfers" page but there's
   not enough room left, and it does have something to do with paths anyway.)

 - Added the ability to automatically download files specified via a URL on the
   command line or via the "Quick Connect" option.

 - Fixed a bug that affected UNIX sites when there was not a space after the
   permissions field in the directory listing.


* Changes in Version 0.00.054  (08/13/96)

 - Fixed a bug that was caused by the implementation of PASV mode that caused
   the resume function to corrupt downloaded files.

 - Fixed some problems with the ABOR (abort) command.

 - Fixed a bug that was causing GPF's that cropped up when the timeout code
   was added.

 - Fixed a bug that was causing miscalculated transfer rates and remaining time
   estimates for resumed transfers.


* Changes in Version 0.00.053  (08/03/96)

 - Added "Download Path" field to connect dialog to allow for custom download
   paths on a per site basis.

 - Added "Description" field to connect dialog.

 - The delete command now works recursively when deleting folders.

 - Fixed a bug where folders and drives were not treated case-sensitively.

 - Program will now attempt to create target directories automatically if they
   downloading if they do not exist.

 - Fixed a bug where UNIX "setuid" files were not listed properly.

 - Fixed a bug where program was not saving a profile if only the profile name
   was changed.

 - Fixed a bug where an invalid directory would still show up in the tree view
   when it was entered via the "goto" command.

 - Fixed a bug that caused the program to hang if you tried to "goto" a path
   that had a tilde (~) char in it.

 - Added options to context menus to allow user to manually toggle a link from
   a folder to a file and vice versa.

 - Added code to handle connection timeouts.  If the connection times out, then
   the program should automatically attempt to reconnect and continue.

 - Fixed a bug that caused all queued transfers to be cancelled when one was
   cancelled.


* Changes in Version 0.00.052  (07/29/96)

 - Fixed a problem with PASV mode and NT FTP servers.

 - Fixed a bug where an additional backslash was being appended to the destination
   path if the default download path had a backslash at the end.

 - Added 00INDEX to files recognized as description files.


* Changes in Version 0.00.051  (07/28/96)

 - Added "Firewall" options page.

 - Added support for "PASV" mode via "Use PASV mode" option on firewall page.

 - THANK YOU MICROSOFT!  ExtractIconEx() is now documented in Visual C++ 4.2,
   so extracting large and small icons is alot easier and faster!  This should
   provide a nice performance boost to loading directories with lots of files
   in them.


* Changes in Version 0.00.050  (07/23/96)

 - Double clicking a list box entry on the connection dialog is now the same
   as selecting it and clicking "Connect".

 - Changed email address to: achavis@ftpx.com

 - Changed "FTP Explorer Home" sample profile to point to: ftp.ftpx.com


* Changes in Version 0.00.049  (07/21/96)

 - Revamped connection dialog.  It now has a list box instead of a combo box
   to select connection profiles.

 - Fixed a bug that was causing the toolbar buttons to remain disabled after
   connecting.

* Changes in Version 0.00.048  (07/14/96)

 - Fixed a bug that was causing the "Quick Connect" option to save profiles.


* Changes in Version 0.00.047  (07/13/96)

 - Added "Quick Connect" option.  This allows you to type in an address or URL
   to connect to without having to setup up a connection profile.  If the URL
   includes a path, the last character must be a slash (/).


* Changes in Version 0.00.046  (07/12/96)

 - Fixed a bug that prevented upload dialog from appearing.


* Changes in Version 0.00.045  (07/07/96)

 - Fixed a bug that could cause a GPF during the connection sequence.

 - Enabled drag and drop uploading from the shell to the tree view pane.

 - Improved resume functionality.  Resume no longer requires target file
   to have the same date/time.  Fixed a bug that was causing the target
   file to remain opened after a transfer was aborted, causing the resume
   not to work properly.  This also left a thread active after the program
   was closed.

 - Downloads initiated with drag and drop now prompt when a resume is
   possible.

 - Optimized CPU utilization during file transfers.  Transfers were using
   100% of CPU time, now down to 2-4% on my P133.


* Changes in Version 0.00.044  (07/04/96)

 - Program now saves the upload path selected with the upload dialog between
   sessions.

 - Added "Cache data between sessions" option to connect dialog.  If this
   option is enabled, all of the directory and file information for the 
   selected connection profile is cached to disk so it can be reloaded.  
   This allows a site to be browsed without actually having to connect first.
   Any operation that requires a connection will establish a connection 
   automatically.  The "Refresh" command can be used to force a folder 
   to be updated.

 - Removed "Automatically re-connect" option from connection options page.  The
   program now always attempts to re-connect whenever it is necessary.


* Changes in Version 0.00.043  (07/03/96)

 - Fixed a bug that was causing the directory to not be refreshed properly
   after a rename.  This bug was created by the bug fixes in 040.  Jeez!


* Changes in Version 0.00.042  (07/03/96)

 - The Select All hotkey (CTRL-A) was not working.  Fixed.

 - Fixed a bug that was causing the transfer dialog to pop up with every
   new file when transferring a group of files via the primary connection.

 - Fixed a bug where the upload dialog was not allocating enough memory
   to handle large multiple file selections.


* Changes in Version 0.00.041  (07/03/96)

 - Fixed a bug that was created by the fixes in 040 that caused the search
   animation on the list view to continue after the list was finished
   refreshing.


* Changes in Version 0.00.040  (07/03/96)

 - Fixed a bunch of bugs that were causing the views not to be refreshed if
   a menu was pulled down, or if the window was being resized.  This should
   also fix the problems related to the tree view folders staying green after
   they have completed refreshing.


* Changes in Version 0.00.039  (07/02/96)

 - Fixed bug that was causing a page fault if you hit the "Cancel" button
   while connecting.


* Changes in Version 0.00.038  (07/01/96)

 - Enabled recent file list.

 - The first fix for the "FTP Log" pane didn't work, so there is now a registry
   setting (MaxFtpLogSize) that determines the maximum number of chars that it
   will hold.

 - Context menus now reflect current status properly. (i.e. List view
   type, auto arrange, etc.)

 - Modified password dialog so that login name can also be specified if the
   password is left blank in the connection dialog.


* Changes in Version 0.00.037  (06/30/96)

 - Moved options dialog into it's own thread.  This should fix some problems
   that occurred when the options dialog was opened while connecting.


* Changes in Version 0.00.036  (06/29/96)

 - Fixed a bug where if a folder was deleted, it was not removed from
   the tree view properly.

 - Added the ability to upload entire directory structures.

 - Added the ability to download entire directory structures.  Unfortunately,
   you can no longer drag drop a folder to create a shortcut.  You can still
   create shortcuts to folders via the file and context menus.  I'm looking
   for a work around for this.

 - Fixed a bug that was causing directories to not be parsed properly.  This
   usually made the permissions show up in the filenames column.

 - Added a facility to assist me in supporting various servers.  If you run
   into a directory that is not listed properly, look in the folder that the
   program uses for temp files and you should find a file named "dirlist.txt".
   Email this file to me and it will help me to debug the problem.  You must
   grab this file before listing any other directories because it is overwritten
   every time.

 - Fixed a bug where the "FTP Log" pane was filling up after which it not longer
   worked.  The "FTP Log" pane should now hold up to 4294967295 bytes.  Hopefully
   this will be sufficient.

 - Fixed a conflict with the DELETE key where it was causing the "File Delete"
   dialog to appear if you used it while renaming a file.

 - The "Download To" dialog now remembers the last path that was selected so that
   you don't have to browse for the path when downloading multiple files.  You
   still have to hit "Save" for each selected file.

 - Links that contain periods are now treated as files.  I'm still going to add
   a menu option to allow the user to change this manually on a per link basis.


* Changes in Version 0.00.035  (06/06/96)

 - Added "Cancel" command to "Tools" menu and toolbar.  This command
   will cancel all pending commands and issue an FTP abort command to
   the server.  It may not work in all cases.  Please let me know if
   you have problems with it and what the circumstances were.

 - Added "Resume" feature.  Program will now prompt to resume download
   if file exists in target directory and is same date/time and smaller
   size.


* Changes in Version 0.00.034  (06/04/96)

 - Changed "Save As" menu options to "Download To".

 - Added support for Mac "NetPresenz" server.  (Tested with v4.0.1)


* Changes in Version 0.00.033  (06/04/96)

 - Fixed a bug that was causing the columns in the details view to be
   sized to 0 width if program was closed in any other view.

 - Fixed a bug where program was unable to start fpArchie if fpArchie
   was located in a "long filename" path (i.e. \Program Files).

 - Fixed a bug where if the folder was empty, the tree view icon stayed
   green after the LIST command was complete.

 - Fixed a bug where certain shell functions (such as changing wallpaper)
   were performed while connected, a blocking thread was not allowing the
   function to complete.

 - Fixed a bug where transfer progress dialog was not appearing on top
   of the main window properly.

 - Added code to check for insufficient disk space before a file is 
   downloaded.

 - Fixed a bug when "Quick Viewing" files that "Quick View" does not
   recognize where the file would be deleted before quick view could
   open it.

 - Added percentage complete indicator to transfer progress dialog's
   caption.

 - Added "Port" option to connect dialog.

 - Enabled transfer progress dialog for non-background transfers.

 - Enabled non-background uploading.

 - Added "Transfer Dialog Threshold" option to transfer options page.
   This options controls how large a file has to be before the transfer
   progress dialog is displayed.  When transferring many small files,
   displaying the transfer dialog can degrade performance slightly.
   NOTE: The transfer dialog is always displayed for background
   transfers.

 - Added option to connection options page to hide files that begin
   with a period.


* Changes in Version 0.00.032  (06/01/96)

 - Fixed some problems with date/time display on certain VMS systems.


* Changes in Version 0.00.031  (06/01/96)

 - Program no longer terminates until last active transfer is either
   completed or cancelled.

 - Fixed bug which prevented "Small Icons" or "List" list view settings
   from being restored between sessions.
 
 - Program now saves column width settings for list details view. Sorry,
   still no way to change the order of the columns. :(

 - Fixed a bug related to background transfers where if password was
   entered via password prompt dialog, the password was not available
   to the background transfer so it couldn't log in.

 - Fixed bug on VMS servers where rename command was not working.

 - Improved support for multiple drives.


* Changes in Version 0.00.030  (05/30/96)

 - Fixed some problems with server reporting "UNKNOWN Type: L8" in
   response to SYST command.  (listserv-ftp.dartmouth.edu)

 - Fixed a bug that was causing the SYST command to be issued every
   time a list command was issued.

 - Improved VMS support.  Program now remembers current drive info.
   Please note that to use the "Go to" command on a VMS system, you
   currently have to specify the path with unix style slashes instead
   of VMS style paths.  (i.e. drive:[pub.misc] becomes drive:/pub/misc)

 - Fixed a bug that was preventing larger files from being transferred
   at all unless they were transferred in the background.

 - "Go to" command now treats path relative to the current directory.
   If you enter a path that doesn't start with a slash "/" character,
   or a drive specification, then it will append it to the current
   directory and attempt to change to that directory.
      

* Changes in Version 0.00.029  (05/29/96)

 - Added "Sequential or Simultaneous" option to transfer options page.
   This options allows the user to specify whether to transfer queued
   items sequentially, or to start multiple threads for simultaneous
   transfers.  There is also an option to specify the maximum number
   of logins.

 - Moved english resources back into main executable to facilitate
   development.  The program will now look for "ftpxres.dll" and use
   it if it finds it, otherwise it will use the built in resources.
   If you are using english resources, you can delete the file
   "ftpxres.dll" that was provided with earlier builds.  Localized
   DLL's for Norway, Russia, and France are under development.
   

* Changes in Version 0.00.028  (05/28/96)

 - Fixed a bug that was causing the program to consume large quantities
   of system resources when listing large directories.  (i.e. Microsoft's
   /Softlib/MSLFILES).

 - Program now saves the state of the toolbar and status bar between
   sessions.

 - Fixed some problems with a Silicon Graphics server.


* Changes in Version 0.00.027  (05/27/96)

 - Fixed a bug that was causing the "Go to" command to not work if you
   tried to go to a folder you hadn't been to before.

 - Fixed a bug that was causing folders not to be listed completely if
   the program encountered a "process" file.

 - Fixed a bug that was causing a thread not to terminate when the
   program was closed.  This caused the program to show up in the task
   list once for every time it was executed.

 - Moved program resources to a separate DLL (ftpxres.dll) to facilitate
   localization.

 - Transfer progress dialog was only showing download animation whether
   uploading or downloading.  Fixed.

 - Fixed a bug that was causing the "Search" animation to continue
   playing after disconnecting.

 - Added a line to the .reg file for the shell extension to allow it
   to install the extension properly under Windows NT.

 - Fixed a bug that was causing the list command to "hang" when listing
   folders with a lot of entries.
   
 - Fixed some more problems with specific server types.


* Changes in Version 0.00.026  (05/25/96)

 - Dates should now be displayed appropriately for the current locale.

 - Connection attempts setting must now be greater than 0.

 - Added "Go to" button to toolbar.  The bitmap for this might change
   but "Open" seemed sort of appropriate.


* Changes in Version 0.00.025  (05/25/96)

  - Fixed a bug where the TEMP directory cleanup routine was detecting the
    "." and ".." entries as files.


* Changes in Version 0.00.024  (05/23/96)  (NOT RELEASED)

  - Added support for VMS FTP sites.  It's not perfect, but it works (I think).
    Please let me know how it works for you.  I tested it against a  VMS 
    MultiNet V3.4 system (ftp.iup.edu).  NOTE: VMS seems to use some weird
    numbers for the file sizes it reports, so the sizes are not very accurate.
    Also, I was unable to test uploading to this server, so if anyone has
    access to a VMS system that you can upload to, please test this and let
    me know if it works for you.

  - Fixed a bug where the tree view was not being refreshed sometimes if the
    corresponding folder was opened from the list view.

  - Threshold for background transfers now defaults to 50k.
    

* Changes in Version 0.00.023  (05/22/96)  (NOT RELEASED)

  - Revamped Drag and Drop routines.  A shell extension is now required
    to enable download drag and drop functions.  This was necessary to be able
    to queue files for download and then download them in the background.
    
    The program will be unable to perform the drop operation if the shell
    extension is not installed, and it will probably create a folder named 
    "ftpxdrop" in whatever folder you dropped the item into.  Hopefully 
    I'll be able to improve this and be able to detect whether the shell
    extension is installed in the future.

    Also, you can only drop files on shell windows.  If you try to drop a
    file on an application, you'll get an error message.  I'm looking into
    a work around for this.

  - You can now select multiple items and drag them out of FTP explorer and
    drop them on a shell window.  Selected files will be queued for download,
    and shortcuts will be created for any selected folders.

* Changes in Version 0.00.022  (05/19/96)  (NOT RELEASED)

  - Added hot keys:

    F2      =  Rename
    F5      =  Refresh
    CTRL-G  =  Go To

  - Totally revamped FTP subsystem to run in a separate thread
    and to "Queue" commands for sequential execution.  
	
    This allows the user to change directories in rapid succession
    and the FTP subsystem will eventually catch up, refreshing the
    directories in the order that they were requested.  This should
    make the user interface much more responsive overall.

    The tree view now reflects the status of folders that are being
    refreshed.  Folders are gray as before when they have not been
    listed yet and now they turn green while they are pending an
    update, and finally turn yellow when the refresh process is
    complete.  

  - The "FTP Log" view now has it's own thread.  This was necessary
    to allow any of the various threads to post log updates and for
    the log to remain sequential.  When you queue up alot of actions
    the log thread may lag behind, but it should eventually catch up.

  - The tree view should now properly update itself when folders are
    added, deleted, or renamed.

  - Fixed a bug where the "FTP Log" view size was not always being
    restored properly between sessions.
    
  - The "Byte Counter" on the status bar now increments in 128 byte
    intervals.  Previously it only incremented in 1024 byte intervals
    and it had a bug that made it reset itself which made it useless
    for the most part.
    
  - Fixed several bugs related to logging in to "Home" directories.
    Previously, if the "Initial Dir" setting for a given profile was
    left blank, FTP Explorer would attempt to change to the root of
    the server, which caused problems on some servers.  Now, it just
    goes wherever the server takes it and determines where it is once
    it gets there.
    
  - Finally got around to fixing the small icons!  Someone tell Microsoft
    to fix and document ExtractIconEx()!

  - Added "Search" animation to "List" view when folder is being
    refreshed.

  - Multiple selection delete is now functional.

  - Rename command now de-selects all selected items except for the
    focused item.  (This is how the Windows 95 explorer works)

  - Reworked the description parsing routine to be more intelligent
    when parsing index files.  Please report any sites that are not
    parsed correctly.

  - Debugged shutting down while the program is busy communicating with
    the server.  It should be much more robust now.

  - Added code to trim leading and trailing whitespace characters off of
    "Host", "Login", and "Initial Path" values.  The program will now also
    trim trailing slash "/" characters off of the initial path value if
    it is not a single slash.  Let me know if this causes problems for
    anyone.

  - Added "Remember" option to tools menu.  This stores the current folder's
    path to the current profile's "Initial Path" value.

  - Added options to "Paths" options page to automatically clean up the temp
    dir at shutdown.  By default the program warns the user before deleting files from
    the temp dir to prevent accidental deletions.  This warning can be disabled
    if desired.

  - If you "QuickView" a file, a low priority thread is launched to watch
    for the "QuickView" program to end.  When "QuickView" ends, the temporary
    file is deleted.  If you quit FTP Explorer before quitting "QuickView",
    the file will not be deleted automatically, but the file should be
    deleted eventually by the temp file cleanup routine if it is enabled.

  - Added option to warn if excessively large file is selected for "QuickView"
    or "Open".  This option can be configured via the "Transfer" options page.

  - Added "Find" option to the "Tools" menu to launch fpArchie if it is installed.
    If it is not installed, a dialog box will appear that will prompt the user
    to connect to a site so they can download fpArchie.

  - Moved "Connect" and "Disconnect" menu options to the "Tools" menu to be more
    consistent with the Windows 95 explorer interface.

  - Added "Download" option to "File" and context menus, and added a "Download"
    button to the tool bar.  This option downloads the selected files to the
    default download path.  The user is prompted if the file(s) already exist.

  - Added "Upload" option to "File" menu and added an "Upload" button to the
    toolbar.  This option presents the user with a "File Open" dialog box to
    allow them to select files to be uploaded to the current folder.  Multiple
    files can be selected.

  - Transfers are now "Queued" and handled by a separate thread, which
    initiates a separate FTP connection automatically.  This allows the user
    to connect to a site, queue up a few transfers, then connect to a different
    site and queue up some more.  The transfer thread will process each transfer
    in the sequence it was queued.

  - Added "Transfer Manager" option to the "Window" menu.  This window displays
    the status of queued transfers.  (It will eventually allow for control over
    the transfers, such as cancelling, re-submitting, etc.)

  - Fixed bug on "Transfer Progress" dialog where progress meter was freaking
    out when large files were transferred.  Please report any bugs related to
    this.

  - Disabled "New Folder" menu option when not connected.

  - Program now accepts FTP URLs on the command line.  Connections via URLs
    are not saved as connection profiles, although I may add an option for this
    later.  URLs must end in a slash (/) character because the program trims
    all characters beyond the last slash to eliminate filenames.

  - Program now uses shell API to aquire the correct path to the
    "Desktop".  This should solve some problems for international users
    whose "Desktop" is not called "Desktop".

  - Added "Select All" and "Invert Selection" options to the "Edit"
    menu.  These currently only affect the "List" view.

  - Browse buttons on "Paths" options page now use the Windows 95
    ShBrowseForFolder() routine to present a better looking browse
    dialog box.

  - Decided this was a bigger project then initially thought. :)
	  

* Changes in Version 0.00.021  (05/06/96)

  - Program now saves splitter positions between sessions.
    (This also saves the "FTP Log" option setting on the 
    view menu)

  - Program now optionally saves window size, position
    and state (minimized, restored, or maximized) between 
    sessions.  Size and position are only saved if the
    program is closed from a restored (not minimized or 
    maximized) state.

  - Fixed bug that occured when window was sized too small.

  - Added toolbar button to toggle "FTP Log" view on and off.

  - Added option to "Include description bar for right and
    left panes" to "Options" dialog to allow toggling the
    "All Folders" and "Contents of ..." captions on and off.

  - Fixed bug on "General Options" page where "Index file size"
    edit control was not disabled initially if "Autoload
    Descriptions" was turned off.

  - Fixed bug where the "Sort by type" option was not working
    correctly.

  - Fixed bug that prevented use of backspace key while renaming
    files because backspace was defined as an accelerator key
    for moving to the parent directory.  Added code to handle
    backspace key separately and only when not editing a list item.

  - Added "File/New/Folder" option to "File" and context menu to
    allow subdirectory creation.

  - Browse buttons on "Paths" options page are now functional.

  - Program can now import "CuteFTP" site lists (TREE.DAT).  This 
    has only been tested with CuteFTP v1.4 Final Beta 7 32-bit.
    Please let me know if you run into problems with other versions.

  - Program no longer echos password to "FTP Log" view for security
    reasons.

  - Program will now prompt for a password if the login name is
    anything other than "anonymous" and no password is specified
    for the profile.  Added an option to the "Connection" options
    page to disable this.  This can also be disabled directly from
    the dialog that prompts for the password.

  - Fixed bug where anonymous login password (email address) values
    were not updated for each profile if the email address was
    changed.  The connect dialog now reads the password value
    directly from the email address value if the "Anonymous" option
    is selected.

  - Passwords stored in the registry are now encrypted.  The program
    should automatically encrypt any existing passwords the first
    time the new version is executed.

  - Added "Save As" button to toolbar.

  - Removed "Cut", "Copy", "Paste", and "Undo" buttons from toolbar.
    These may come back in a future build when I make them do something.
    These options still exist under the "Edit" menu, but don't do
    anything.

  - Program now prompts user to create sample connection profiles if
    no profiles exist.  If you have any really good sites that you
    feel should be part of the samples, let me know.

  - Added a prompt that warns the user that the email address is
    empty and will launch the options dialog if allowed to.  This
    is intended to point new users in the right direction, and will
    only appear once.  After that, you're on your own. :)


* Changes in Version 0.00.020  (04/24/96)

  - Initial public beta release.


* Changes in Version 0.00.019  (04/19/96)

  - Fixed bug where "Options" dialog was not saving changes
    to the "Connection" page.

  - Added "Import" option to "Tools" menu to allow importing
    connection info from WS_FTP.  Other formats will be supported
    in the future.

  - Added "Byte Counter" indicator to the status bar to give
    some feedback when downloading directory contents.

  - Program now attempts to retain creation original date
    and time for downloaded files.


* Changes in Version 0.00.018  (04/18/96)

  - Fixed the description feature.  It's been broken for a while
    and I just noticed it!


* Changes in Version 0.00.017  (04/17/96)

  - Added icons to the transfer dialogs.

  - Changed drag and drop operations from list view to work as
    "move" operations so that the TEMP dir is cleaned up
    automatically.

  - Added code to the "Connect" dialog to set the focus to the
    profile name combo box after an "Add" or "Remove" operation.

  - Fixed bug that was caused by fix for older Windows NT FTP
    servers.  Newer NT servers list directory contents differently.

  - Fixed bug caused by code attempting to update transfer dialog
    after the dialog was closed.


* Changes in Version 0.00.016  (04/09/96)
  
  - Program now detects if "Quick View Plus" is installed and
    reflects this in the "File" menu and context menus.  Right
    now I'm doing this manually, but I hope to add support for
    any installed "Shell Extension Context Menu Handlers" in
    the future.  For more info about "Quick View Plus" check
    out http://www.inso.com

  - Added "Attempts" and "Retry Delay" options to "Connect"
    dialog to allow customizing these settings on an individual
    connection basis.  These settings default to the settings
    from the "Options" dialog.  


* Changes in Version 0.00.015  (04/08/96)

  - Fixed some bugs on the "Connect" dialog.  If you added a
    new profile, or deleted a profile, the "Profile Name"
    combo box was not being reloaded.  If you changed the name
    of the current profile, and then saved it or selected a
    different profile from the combo box, the combo was not
    updated with the new name properly.

  - Fixed a bug with the "File" context menu where the "Save As"
    and "Open" options were not functioning properly.


* Changes in Version 0.00.014  (04/07/96)

  - Fixed a bug that was causing the program to lock up or GPF
    if you opened the file menu without being connected.  This 
    crept into 013 when I added the "Create Shortcut" option 
    to the file menu.


* Changes in Version 0.00.013  (04/07/96)

  - Changed "Autoload File Descriptions" to default to on.

  - Added "Autoload File Descriptions" size limit to "Options"
    dialog.  This was previously hard coded to 50k.
    
  - Implemented asynchronous host lookup call to prevent
    non-responsiveness during connect sequence.  Program was
    blocking on host lookups before and would not respond
    or repaint itself until the host name was resolved.

  - "Options" dialog is now a tabbed dialog with "General",
    "Paths", and "Connection" pages.
  
  - Fixed several problems with date and time field.  Program
    now displays appropriate date and time for current locale.
    Also, this fixed a problem with sorting by date.

  - Changed the transfer animations.

  - Fixed a memory leak that was occurring when a download was 
    cancelled.

  - Changed "bps" indicators to read "bytes/sec" for more clarity.

  - Fixed another bug that was causing Log pane to scroll to the
    right for long lines.

  - Worked on optimizing download throughput.  Program is now
    performing at least as well as other popular FTP clients.

  - Added "transfer complete" and "transfer incomplete" notices
    to FTP log stream.  The "transfer complete" notice also displays
    throughput information.

  - Added "Create Shortcut" option to "File" and context menus to
    create a shortcut to a folder on the desktop for the currently
    selected folder.

  - Added "Connection Retry" feature.  This allows user to configure
    the number of times to try to connect, and the number of seconds
    to wait between each try.

  - Added "Enable sound" option to "General" options page.  This
    allows the user to enable or disable any sounds generated by the
    program.

  - Added sounds to connection progress.  Program will now play the
    default "Ding" sound on connecting, and the default "Asterisk"
    sound when a connection attempt fails.  (The specific sounds
    are configurable via the control panel.)

    I'll be adding additional sounds in the future.  Please let me 
    know where you would like to see sounds added.

  - Added "Automatically reconnect" option to "Connection" page.
    This option is currently disabled, but when completed it will
    allow the program to automatically reconnect if the connection
    fails.
    

* Changes in Version 0.00.012  (04/05/96)

  - Added keyboard accelerators to "Connect" and "Options"
    dialogs.

  - Added "Window" menu to allow quick switching between Tree,
    List, and Log views.

  - Added "Vertical Split" and "Horizontal Split" options to the
    "Window" menu to allow maniplating splitters via the keyboard.

  - Added confirmation dialog for delete operations.

  - Changed "Name" caption on "Connect" dialog to "Profile Name"
    and "Host" caption to "Host Address" for greater clarity.

  - Fixed bug where context menu initiated by Shift-F10 was not
    properly positioned over selected item.

  - Changed context menus so that they are more context sensitive
    depending on what is selected.

  - Added "Save Log As" option to file menu.  This allows the FTP
    log file to be saved.

  - Removed trailing line feed chars from FTP Log view entries.
    This eliminates that annoying blank line that used to appear
    at the bottom of the Log view.

  - Added "Folder Shortcuts".  You can now drag folders to the
    desktop or shell windows to create a shortcut to the FTP site!
    I plan to add the ability to drag folders from the Tree view 
    as well.
	
  - In implementing the shortcut feature I added a command line 
    option as follows:  //Profile Name!/Initial/Path  The command 
    line option must start with two slashes, followed by the profile
    name.  The initial path is optional, but if included, must be
    separated from profile name by an exclamation point.  If a path
    is not specified, then the profile's default path is used.  If
    this syntax ends up being too confusing, I'll probably change it.

  - Added "Shortcut" button to "Connect" dialog to provide an easy
    way to add a shortcut for the profile to the desktop.

  - Added an option to automatically highlight the last line in the
    FTP log.

  - Added the rest of the possible "Sort" options to the "Arrange Icons"
    menus.
	

* Changes in Version 0.00.011  (04/04/96)

  - Changed connect dialog so bytes transferred is displayed as
    "(xxx of xxx bytes transferred)".

  - Fixed tooltips on delete and properties toolbar buttons.

  - The main program icon got hosed when I added the "Go to"
    feature.  It's now been changed back to the correct icon.

  - Added code to make the TAB key cycle through the Tree, List,
    and Log views.

  - Added code to auto select the first item in the List view
    when it is loaded.

  - Fixed bug that was causing Tree and List views to not regain
    the focus when the program lost and regained focus.

  - Changed the transfer buffer sizes to 1024 bytes.  This seems
    to help the throughput some, but there's probably some more
    tuning to do to find the right size.  This may become an option.


* Changes in Version 0.00.010  (04/03/96)

  - Fixed bug in connect dialog where garbage was sometimes being
    appended to strings stored in the registry.

  - Fixed bug where if invalid initial path was specified in the
    connect dialog, it would still be added to the tree view.

  - Password field on "Connect" dialog now hides the password
    based on whether or not "Anonymous" is selected.

  - Backspace key now changes to parent directory.

  - Fixed bug where tree view was not properly tracking the
    current directory when CD was changed via method other
    than via tree control.

  - Added "Go to" command on new "Tools" menu to allow user
    to go to any specified directory.

  - Upload dialog now has same indicators as download dialog.
    (i.e. file size, bytes transfered, etc.)
  
  - Added "Bps" (bytes per second) indicator to transfer dialogs


* Changes in Version 0.00.009  (04/01/96)

  - Implemented background downloading.  This works by opening
    a new FTP connection, so it takes a little while before it
    starts up.  Background transfers are only functional for 
    "Save As" and are not available for "Open" and "Quick View"
    commands due to dependancy issues.  Eventually I may come
    back to this and try to make it work somehow.

  - Added option to "Options" dialog to allow user to specify
    the file size threshold for background transfers.

  - Added code to release the mouse capture after a drag
    drop operation to fix bug where mouse was not working during
    download initiated by drag drop.

  - Added "Add" and "Save" buttons to "Connect" dialog to add and
    save entries.

  - The "Remove" button on "Connect" dialog is now functional.

  - Added filename being transferred to download dialog caption.

  - Added file size to filename label on download dialog.

  - Added bytes transferred status indicator to download dialog.

  - Fixed the sorting routine for the list view.  It's been broken
    since I added the "Description" column.  If you clicked on the
    size column, it sorted by description.  Also added the rest of
    the columns to the sort routine so you can now sort by
    "Permissions", "Owner" and "Group".

  - Added "Properties" dialog for item detail information.

  - Fixed a bug that was making the tree view folders turn yellow
    before they had been actually opened.  This bug was also slowing
    down the process of filling the tree view.


* Changes in Version 0.00.008  (03/28/96)

  - Program now saves the list style to the registry so that it
    is restored the next time you run it.

  - Added an option to specify the default download path to the
    options dialog.  This only effects the "Save As" command.

  - The "FTP Log" pane is now read only.  A side effect of this
    is that it turned gray.  I'm not sure if I like it or not so
    let me know what you think and maybe I'll force it back to
    white.

  - Added an "FTP Log" option to the view menu to easily toggle
    the "FTP Log" pane on and off.  Actually all it does is resize
    it.

  - The "FTP Log" pane now attempts to remain the same size when
    the main window is resized.

  - You can now cancel a connection attempt by selecting "disconnect"
    from the file menu or clicking the "disconnect" icon on the toolbar.

  - Fixed the "connect" icon on the toolbar so that it is disabled
    during connection attempts.

  - Removed horizontal scroll bar from "FTP Log" pane.

  - Transfer dialog is now closing the data socket when the cancel
    button is selected.  This is just a quick fix to kill the transfer,
    you will probably have to disconnect.

  - Changed the toolbar icons for "connect" and "disconnect".

  - The options dialog's caption is now "Options" instead of "Dialog" - DUH.

  - Fooled around with the main icon a little.  Whadaya think?
  

* Changes in Version 0.00.007  (03/26/96)

  - Program now uploads files dropped on it to the current directory.

  - Added quick fix for crash if you tried to close the program
    while it was busy doing something.

  - Now loading version info from resource info.

  - Changed EXE name to ftpx.exe.

  - Added my email address to the about dialog.

  - Added "initial path" option to connect dialog.

  - Fixed bug related to new "initial path" option where tree was
    not working properly if the parent directory had not been listed
    before.


Known Problems
--------------

1.  The file formats for the INDEX files on the various FTP sites vary
    widely, so you can help by using the "Autoload File Descriptions"
    feature and reporting any problems you have with it.  Currently the
    program only looks for INDEX, INDEX.TXT, and 00_INDEX.TXT, so if you
    find other filenames or ones that don't load in correctly email them
    to me.  Don't forget to include the address of the server that you
    get them from so I can test the fixes.

2.  If you drag a group of files to the desktop, you sometimes have to hit
    F5 to refresh the desktop for them to show up.  I have a fix for this
    that I'll be implementing soon.

3.  Resume is always attempted for drag and drop downloads.

4.  The program only warns about overwriting the initial directory when
    transferring complete directory structures.  I'll add overwrite prompting
    in a future build.

5.  High color icons, like the ones that you can set up with Microsoft Plus! are
    not utilized.  Hopefully I can fix this eventually.


Planned Changes and Additions
-----------------------------

1.  Will probably add an option to the menu structure to allow you to
    load in an INDEX file manually, so you don't have to wait every time
    you change directories.

2.  Add drag drop support from list view to tree view.

3.  Add some sort of notification when an action fails, i.e. if the user
    doesn't have rights to rename a file.  This would be useful if you
    have the "FTP Log" pane sized small enough where you can't see what's
    going on.

4.  Add context menus to the Tree view.

5.  Might add a menu option to expand and collapse tree view branches.

6.  Add option to allow changing file permissions from properties page.

7.  Add proxy and firewall support.

8.  Might add some sort of directory synchronization mechanism to allow
    transferring only files that have changed.  This is way down the
    road!

9.  Add option to change the "FTP Log" font.

10. Might add an option to allow selection of files via wildcards.

11. Add options to allow customization of the order of the columns in 
    list view.

12. Add some sort of capability to move files from one remote folder
    to another.

13. Add an option to disable the prompt that asks you if you are sure
    you want to delete a profile from the connection dialog.

14. Add the ability to delete files when you drag them to the recycle
    bin.

15. Add "Sounds" page to the options dialog to allow for custom
    sounds.

16. I've looked into adding the local drives into the tree view, and
    it is also possible to integrate FTP Explorer with the Windows 95
    shell.  These would both require major changes to the fundamental
    architecture of the program, so I've decided to finish what I've
    started and release a stable, full featured stand alone product
    before delving into anything like this.

17. Add the ability to drag files from one FTP Explorer instance to
    another.

18. Make the goto-dialog store directories only when pressing save.

19. Choose directory option for creating shortcuts.

20. Add a "Treeview" toggle to the "View" menu.

21. Add the ability to disable auto-refresh of directories after uploads.

22. Allow filters to be specified such as *.txt and only display/download
    files that match the filter.

23. Add an "Upload To" option.

24. Add the ability to "LIST" the entire directory tree of a site with one
    command.

