VERSION.TXT (Serv-U Release Notes) (+ new feature / enhancement, - bug fix)

9.4.0.2 (April 1, 2010)
=======================
+ Added functionality for keyboard arrow keys to toggle focus between buttons for FTP Voyager JV confirmation dialogs.
+ Changed data socket shutdown to be more forgiving of FTPS clients that do not perform SSL shutdown correctly.  Affected clients would appear to "lock up" when performing directory listings or downloading files via FTPS (FTP over SSL).  The solution is to add a 5-second timeout after SSL shutdown has begun.
+ Added right-click context menus to the Events list in the Management Console.
- Corrected a bug where Serv-U would truncate very large directory listings when bandwidth limits were in place.  In some cases downloaded files could be truncated too.
- Corrected a bug in the Management Console where the disable and delete dates displayed in the User list were incorrect on some non-English operating systems.
- Corrected a bug when overwriting a zero-byte file, Serv-U was incorrectly requiring append privileges.
- Corrected a bug where the "User Disabled" and "User Enabled" events might not fire when changing the account type.
- Corrected a bug where admin events were being fired for an administrator's domain not the user's domain.
- Corrected upgrade notices from Serv-U versions <= 6.4 where Serv-U 8 and Serv-U 8.0 was referenced.
- Corrected a bug in FTP Voyager JV where a file could not be deleted after it was renamed without performing a refresh first.


9.4.0.0 (March 23, 2010)
========================
+ Added Portuguese (Brazil) Web Client support.
+ Updated Spanish strings.
+ Added Spanish Management Console help translation.
+ Added the ability to disable user accounts at the group level as well as at the user level.
+ Added new static font properties to the Management Console and Web Client for better visual appearance.
+ Added dynamic sizing in the Image Preview dialog for better visual appearance when using different screen resolutions.
+ Changed Domain Administrators so that they can view information about themselves.
+ Improved hover events for dialogs in the Management Console and Web Client to decrease CPU usage.
+ Changed the log file lines when listening on "<< Any IP Address >>" so that the "0.0.0.0" IP address is shown and all IP addresses are shown in parentheses.
+ Added IPv6 addresses to the Serv-U Tray's About dialog Network Information page.
+ Changed the STOU (store unique) FTP command to accept and return full paths instead of using the current directory only.  When a full path is not specified the current working directory is used.  This is to remain consistent with Serv-U versions <= 6.4.
+ Changed the STOU (store unique) FTP command 150 response to include the full path name of the new file.  This is to remain consistent with Serv-U versions <= 6.4.
+ Changed FTP PORT connections back to the client to be more forgiving.  RFC 959 (section 3.2, paragraph 1; section 5.2, paragraph 2) requires the socket to bind to the command channel port -1 (L-1).  However, in Windows, this may cause the socket error WSAEADDRINUSE (10048).  When this specific error occurs on the data channel, Serv-U attempts to connect without binding to the command channel port -1 (L-1).
+ Added an FTP LIST/NLST command option to list a specific file's full path name as part of the listing when a specific file's listing information is requested.
+ Added a directory listing setting for server-side sorted listings using natural language comparison like Windows Explorer (i.e., FTP and SSH listings).  This setting is available at the server, domain, user, and group levels.  The default is enabled.
+ Added an error message when attempting to use the tray application's menu option to change the Windows service setting fails.
+ Signed Serv-U.exe and Serv-U-Tray.exe so that Windows recognizes Rhino Software, Inc. as the publisher.
+ Updated Microsoft DLLs to the latest release.
+ Updated OpenSSL libraries from 0.9.8k to 0.9.8m.
+ Updated zlib (compression) library from 1.2.3 to 1.2.4 and built with Developer Studio 2008.
+ Updated the FTP Voyager JV code certificate, which now expires on March 10, 2013.
+ Added a timestamp to the signing of FTP Voyager JV's JAR files allowing the Java Runtime to validate FTP Voyager JV's JAR files after their certificate's expiration date.
+ Changed the FTP Voyager JV "Save Login" dialog controls so they cannot be changed to reflect a different configuration other than the current login information.
+ Changed the layout of the FTP Voyager JV "Save Login" and "Preferences" dialogs to a standard layout.
+ Updated the FTP Voyager JV JIDE user interface library to version 2.7.7.
+ Changed the User Collection Combo box to locale sort its contents upon loading of the user pages in the Management Console.
- Corrected a bug where Serv-U could crash with a very large number of concurrent HTTP requests.
- Corrected a bug where Serv-U could crash when HTTP command and/or reply screen logging was enabled and the log tab was selected.
- Corrected a bug where it was possible to change the local administrator configuration by changing server settings, causing undesired results for tray application administration.
- Corrected a bug where requiring reverse DNS to login at the server level, would cause tray configuration to become unavailable.
- Corrected an Integration DLL bug where Serv-U would not recognize loaded group names.
- Corrected an internal file security check where it was possible for domain read-only administrators to gain access system level files.  Other internal checks would have prevented access to unauthorized data.  This was a very minor security bug which had no affect on Serv-U's overall security.
- Corrected a security bug when importing users, restricted administrators could create user accounts outside their home directory.
- Corrected a security bug when exporting users, restricted administrators could see a user's full path for home directory, virtual paths, and directory access rules.
- Corrected a security bug where a restricted domain administrator could create a user or group that was not locked in the user's home directory.
- Corrected a bug where CIDR IP access rules were not being interpreted correctly for deny rules.
- Corrected a bug where Windows Users, granted administrative privileges, and didn't have write permissions to Serv-U's data directory, Serv-U was unable to save its configuration changes.
- Corrected an SSL shutdown bug where an open SSL socket was being closed while the server and client were performing an SSL shutdown exchange (SSL_shutdown()).  This problem appeared when listing very large directories with certain FTP clients using GnuTLS.
- Corrected a bug where toggling FIPS 140-2 mode would not work.  Restarting Serv-U would change to the desired FIPS mode.
- Corrected a licensing bug where sessions that were not logged in were being counted against the license.
- Corrected an FTP bug where Serv-U was not returning an error response to LIST, MLSD, RETR, THMB, STOU, or STOR when a data channel had not been specified with either the PORT or PASV command.
- Corrected an FTP LIST/NLST switch processing bug when specifying a directory format (-h:DOS, -h:IIS, -h:UNIX) any following path names would be ignored.
- Corrected a logging bug where system administrators were being identified as domain administrators.
- Corrected a database problem when using PostgreSQL and adding columns to tables.  PostgreSQL's syntax for adding multiple columns to a table is different than other SQL servers requiring the "ADD COMMAND" text before each new column name.
- Corrected a bug where the "FileTransferStats_BytesUploaded", "FileTransferStats_BytesDownloaded", "FileTransferStats_FilesUploaded", and "FileTransferStats_FilesDownloaded" columns were not being written to the database with the other runtime statistics for database users.  File transfer statistics were being cleared when viewing database user statistics after the last session for a user logged out.  This bug was introduced in 9.2.0.1.
- Corrected a bug when deleting a database group, user membership in that group was not being deleted.
- Corrected several minor database user and group bugs.
- Corrected a bug where the user added and deleted events were not being fired for administrator users with these events.
- Corrected a tray application service installation / removal problem from the when UAC was enabled, Serv-U was unable to switch from being started as a service to stand-alone and stand-alone to a service.
- Corrected two string formatting errors in the Spanish translation.
- Corrected one string formatting error in the Swedish translation.
- Corrected a Web Client bug where the browse button on the upload dialog was partially hidden when using Firefox on Linux Fedora.
- Corrected a Web Client bug where the background for the Image scroll buttons in the Image Preview dialog were not transparent in Internet Explorer 6.
- Corrected a Management Console and Web Client bug where dialogs would be placed too high when the page was scrolled down.
- Corrected a Management Console bug where clicking repeatedly on the "Add" button in the users' page then pressing the "Cancel" button in the user dialog would cause a script error in Internet Explorer.
- Corrected a Management Console bug where combobox lists would pop-up at the wrong position on the page when using a Google Chrome or Safari browser.
- Corrected a Management Console bug where the "Member of Groups" list, in the user properties dialog, was not showing all groups when the list reached a certain size.
- Corrected a Management Console bug where combobox lists could become too large and span past the viewable display area with no scrolling available.
- Corrected an FTP Voyager JV bug where the "Login" dialog would fail to launch if an error occurred during an automatic login operation.
- Corrected an FTP Voyager JV bug where the "Save Login" dialog "Is Secure" check box was not checked when connected securely.
- Corrected an FTP Voyager JV bug where a file or folder name would not revert back to the original file name if a rename operation failed.
- Corrected an FTP Voyager JV bug where the status bar was not showing the correct file path for certain local directories (e.g., Desktop, Computer).
- Corrected an FTP Voyager JV bug where the "Select All" and "Invert Selection" operations were causing the focus to move away from the file list.


9.3.0.1 (January 12, 2010)
==========================
+ Added Spanish Management Console and installation.
+ Added a "Move Group" button to allow moving groups to and from the database collection.
+ Changed the Web Client to not pause the loading of thumbnails when the slideshow is auto loaded via the slideshow URL flag.
+ Added a "Copy to Clipboard" button to the Domain and Server Log tabs and to the Spy Log dialog.
+ Added a new Serv-U logo to the Management Console.
+ Substantially improved remote FTP Voyager JV directory listing performance.
+ Changed FTP Voyager JV to use compression when listing directories.
- Corrected a bug in the Image Preview dialog where the thumbnail scroll would not scroll to the correct image when in thumbnail view.
- Corrected a bug where the failed upload event would fire even for successful uploads.
- Corrected a bug, introduced in 9.2.0.1, where database users' expiration was not being loaded within the grid causing expired users to appear in the list.  Expired users attempting to login would still be denied.
- Corrected a SQL statement problem where customized templates were being changed for the addition of database categories.  The change now only changes the "= ?" for the NULL statement request to "IS NULL".
- Corrected an upgrade bug from Serv-U versions <= 6.4.0.6 would not upgrade non-ASCII characters such as home directories and user names.  This conversion bug was introduced in 9.0.0.1 with Serv-U's support of UNICODE.
- Corrected a bug in the SQL template dialog where the "select a value" dialog would not appear when the Edit button was selected.
- Corrected a bug in the Management Console where fonts in Korean language browsers would not align properly in text fields and controls.
- Corrected a bug in the Management Console where the anti-hammer connection limit, for Connection Settings, was not updated with the save button.
- Corrected a bug in the Management Console where an error would occur when trying to edit a user with a "#" symbol in their login ID.
- Corrected a bug in the Management Console where an error would occur when using the context menu to toggle the "enable/disable" option for the MKD and XMKD FTP commands.
- Corrected a bug in FTP Voyager JV where a crumb button refresh of the current working directory would fail to resort the list view contents.


9.2.0.1 (December 17, 2009)
===========================
+ Added a thumbnail image preview scroller to the Image Preview dialog in the Web Client.
+ Added Web Client support for Windows mobile phones.
+ Added Web Client support for Android OS mobile phones.
+ Added PhotoShop, Adobe Illustrator, and Adobe InDesign extension icons for the Web Client.
+ Added Spanish Web Client support.
+ Added the time period User and Group statistics were collected on the User and Groups statistics page.
+ Added database user categories for better administration organization and better system performance for large numbers of database users.
+ Improved database user listing for large number of users by 30% or more.
+ Improved user group lookup when a very large number of groups is used.
- Corrected a bug in Microsoft Internet Explorer 8 where IE would make requests of JavaScript instead of files(appears to be a buffer problem in IE).  The symptom would present itself in the Management Console as a "Permission Denied" page.  This is a work-around for Microsoft Internet Explorer's (version 8) bug.
- Corrected a tray bug when using Microsoft Internet Explorer as the default browser.  Changing from using Windows' Default Browser to the tray's embedded browser would cause the Management Console to show the "Loading" dialog until being restarted.
- Corrected a security issue where it was possible to see directories above a user's root directory (Secunia SA37847).
- Corrected an SFTP (via SSH2) bug where certain clients requesting both read and write access to a non-existent file, would not be able to upload or create that file unless the file already existed.
- Corrected several Simplified Chinese translation errors.
- Corrected a Simplified and Traditional Chinese translation error where the "SSH public key" was translated as "SSH private key".
- Corrected a database problem when using Microsoft Access Serv-U to alter tables.  Unlike other databases Microsoft Access prevented Serv-U from adding columns to a table while the table was already open.
- Corrected a bug in the New User Collection dialog where the enter key did not save the added collection.
- Corrected a bug in the Group dialog where focus was not being placed on the Group Name input.
- Corrected a bug in the User Group Membership dialog where double click did not remove the selected group from the "Member of Groups" list.
- Corrected a bug in the user list where sorting was lost when changing collections.
- Corrected a permissions bug, introduced in Serv-U 8.1.0.1, where when denying create directory permission to a parent directory, but allowing it for a sub-directory, Serv-U would not allow directory creation in the sub-directory.
- Corrected a bug where Serv-U could crash when using 3 or more local administrators, requires special undocumented parameters to cause, and only occurs locally.
- Corrected a bug where renaming a user Category would cause Serv-U to crash if a user in that Category was logged in.
- Corrected a bug in the Web Client where resizing the window, in Internet Explorer, when in thumbnail mode would cause an error.


9.1.0.4 (November 24, 2009)
===========================
+ Updated Russian and Swedish strings.
- Corrected a bug where the uninstaller would uninstall the data directory (in C:\ProgramData) but then recreate the directory while removing Windows firewall settings.
- Corrected a bug in the Management Console where the User Collection and Filter Users group boxes were hidden when using the Internet Explorer 6 browser.
- Corrected a bug when login IDs contained trailing or leading spaces, Serv-U would be unable to find these user accounts.
- Corrected a bug where disabled user accounts where immediately disconnecting the session, causing IE anonymous login to work "incorrectly".


9.1.0.2 (November 19, 2009)
===========================
+ Fire the user added event when importing users from a CSV file.
+ Added extra socket level error handling and crash logging.
- Corrected a bug, introduced in 9.1.0.0, where Serv-U could crash if transfer rates for the user, group, domain, or server were set and several connections for a single user account were being opened then closed.
- Corrected a bug, when using the anti-hammer limits, Serv-U could crash while attempting to fire the SUEVENT_ID_IP_ADDR_AUTO_BLOCKED_TIME (304) event.
- Corrected the installer setup status dialog to allow for longer text (i.e., some localized strings would be truncated).
- Corrected a bug where uninstallation might not delete the "C:\ProgramData\RhinoSoft.com\Serv-U" directory.
- Corrected a tray bug, introduced in 9.1.0.0, where the menus were using the wrong font on Windows 2000, Windows XP, and Windows 2003 Server.


9.1.0.0 (November 17, 2009)
===========================
+ Added Web Client support for BlackBerry mobile phones.
+ Added the ability to filter user and group lists in the Management Console.
+ Added support for interpreting <LF> (line feed) characters as end-of-line markers when transferring files in ASCII mode.  When enabled <LF> end-of-line markers are converted to <CR><LF> sequences.  This transfer limit applies to both FTP uploads and downloads.
+ Added an option to the Serv-U Tray to start Serv-U as a service or manually.
+ Changed database user storage to store only required user attributes at login, logout, and user password change.  These changes allow database administrators to manage their database much more independently.
+ Added support for PostgreSQL databases.
+ Changed transfer speed limits so they are applied to active sessions even when the session previously had no limit.  Previous versions did this only if active sessions had a limit already in-place (i.e., a speed limit was changed, not added).
+ Added additional security checks to ensure Serv-U application integrity.
+ Added the ability to search drop lists using keyboard presses in the Management Console.
+ Added the ability to close dialogs using the Escape key in the Management Console and Web Client.
+ Added support for CIDR notation for IP ranges in addition to Serv-U's wildcard method.
+ Added the ability to permanently block an IP address using the anti-hammer rule for the domain or server.  When triggered an IP address is added to the top of the IP access rules permanently.  When added, the server's configuration files are updated so the IP address remains blocked even between Serv-U restarts.
+ Added the "FTP password type" password limit to the Server, Domain, and Group levels in addition to the user level.  A global or group setting may be applied to use MD4/MD5 OTP passwords for FTP.
+ Added "MaxDomainSessions", "MaxDomainSessionsIP", "MaxDomainUploadRate", and "MaxDomainDownloadRate" to the server limits & settings in addition to the domain limits and settings.
+ Added the ability to export the users in all collections and database from the user's tab and externally with the Serv-U-Setup.exe program.
+ Added a drop down list of available IP addresses in the Listener dialog and in the Domain Creation Wizard.
+ Added the ability to specify %HOME%, %USER%, or %DOMAIN_HOME% as part of the SSH public key path.
+ Added additional Domain Administrator restrictions so a domain administrator cannot change the following limits: "MaxDomainSessions", "MaxDomainUploadRate, "MaxDomainDownloadRate"
+ Changed configuration, account configuration, startup log, and data files location to "C:\ProgramData" (ALLUSERSPROFILE environment variable) in Windows Vista and above on new Serv-U installations that are installed in "C:\Program Files" only.  This is required on Windows 7+ when UAC is in effect.
+ Removed some unused HTTP files.
+ Removed some Server and Domain session management code that was duplicated elsewhere.  This change will save a small amount of RAM for servers with many concurrent connections.
- Corrected "Cookie Buffer Overflow Vulnerability" (Secunia SA37228).
- Corrected a bug where Serv-U could crash after disabling an active user.
- Corrected a bug where user accounts whose login ID ended with a period character were not being shown in the users grid.
- Corrected a bug where downloading 0-byte files using FTPS could cause the data channel to be disconnected during SSL negotiation causing 0-byte downloads to intermittently fail.
- Corrected a bug where the Advanced Directory Access rule password was being saved incorrectly when using a database.  When using MS SQL the bug would appear as a lost directory access rule.  When using other databases, the password would just be invalid; if using these advanced settings and storing to a database, modification of the user record would cause improper access to the directory access rule.  This problem only occurred on MS SQL 2005+ because MS SQL throws an error instead of truncating the value.
- Corrected a bug when saving encrypted strings to database or .Archive file, Serv-U would archive values even when the encrypted string was empty.
- Corrected a bug in the Web Client where the "Playlist" button would not work when in "Search" mode.
- Corrected a bug where user lookups would occur after a session's login ID was cleared.  This resulted in unnecessary user and database user lookups.
- Corrected a bug where database users' statistics were not being loaded correctly after loading data from the database.
- Corrected a bug when FTP Voyager JV, the .jar files were being downloaded every time FTP Voyager JV was started.  Now, when unchanged, Java uses its cached copy of the FTP Voyager JV .jar files.
- Corrected a bug in FTP Voyager JV, where the Last-Modified timestamp of a file that was uploaded from a non-English operating system would fail.
- Corrected a bug in the Web Client where focus was being lost when using the keyboard to navigate the file list.
- Corrected a bug when upgrading from Serv-U 6.4 and lower when using a database domain, installation / conversion would cause the installer to crash.
- Corrected a bug when upgrading from Serv-U 6.4 and lower when using a database domain, group membership for users would not be imported under certain rare circumstances.
- Corrected a bug when upgrading from Serv-U 6.4 and lower when using a database domain, import would not work correctly if the old table names matched the new default table names in Serv-U 7+.
- Corrected a database bug when upgrading from Serv-U 6.4 or lower, and using the table names "User" or "Group" would cause the upgrade to fail.
- Corrected a database bug where daily session counts were not being written to the database.
- Corrected a bug where Tray messages boxes (confirmation, error, warning) would be displayed without text in all languages.
- Corrected an SFTP logging bug where the SSH_FXP_REALPATH was not being logged, just the reply.
- Corrected an SSH2 problem where Serv-U was not responding to the SSH_MSG_GLOBAL_REQUEST command.
- Corrected a user group membership problem when changing group membership for a user that is connected, certain variables applying to limits, were not being properly adjusted.  For example limiting access by IP address.
- Corrected a bug where passwords that were stored in an unencrypted form (i.e., clear-text) were not checked letter case sensitive.
- Corrected a bug where users created with the User Wizard were being stored without encryption.
- Corrected a Windows 7 UAC problem where Serv-U was unable to communicate with the tray application to identify Serv-U status and enable tray / engine communication.
- Corrected a problem, introduced in Serv-U 7.0, where the STOU FTP command would append a digit to a specified file name even when the specified file name doesn't exist, an inconsistency with Serv-U versions <= 6.4.


9.0.0.5 (October 13, 2009)
==========================
+ Added support for the 64-bit Internet Explorer 8 browser on Windows Vista 64-bit.
+ Added the ability to disable the Web Browser's login page check for older web browsers.  When disabled, the login page no longer suggests upgrading Internet Explorer.
+ Added the ability to set the "SSH Authentication Method" at the domain and server levels in addition to the user and group levels.
+ Changed SSH public key authentication to recognize the lack of a public key and require password only.
+ Improved SSH public key authentication support for Windows Authentication, where a specified public key can be used in addition to password authentication.  Password authentication for SSH is always required.
+ Remember the last selected user when entering the Domain Activity and Server Activity pages.
+ Added context menus to the user and group lists in the Management Console.
+ Updated Japanese, Traditional Chinese, and Simplified Chinese Administrator Help text.
+ Updated Traditional Chinese and Simplified Chinese Management Console strings.
- Corrected some text in the License.rtf file.
- Corrected a bug, introduced in version 9.0.0.1, where Windows Authentication would fail with SSH2.
- Corrected a bug where the incorrect custom logo would be displayed in domain settings when using the inherited default value from the server.
- Corrected a bug when using Windows Authentication and a custom logo, Serv-U would not be able to show the custom logo in the Web Client if the user didn't have read permissions in Windows for the custom logo.
- Corrected a bug where blowfish and/or cast128-cbc were allowed for SSH2 while running in FIPS 140-2 mode.  When used, OpenSSL would fail terminating Serv-U.
- Corrected an SSH2 bug where Serv-U would send the client an invalid list of supported ciphers and MAC algorithms while running in FIPS 140-2 mode.


9.0.0.3 (October 5, 2009)
=========================
+ Added the ability to log into the Management Console and Web Client when using the 64-bit Firefox browser.
+ Changed the group selection dialogs in the Management Console to move focus to the last selected group list in order to avoid confusion over which list has current focus.
+ Corrected a few Russian Management Console strings.
- Corrected a bug where hidden files were being listed for MLST / MLSD FTP operations, when hidden files were configured to be hidden (i.e., not returned in the listing).
- Corrected a bug in the web client where the history navigation would lose its current location in the history list.
- Corrected a problem where Serv-U could not create private key pair files with passwords when FIPS 140-2 mode was enabled.
- Corrected a memory / handle leak when using Windows Authentication, Serv-U was not releasing memory when attempting to retrieve a Windows User's home directory.
- Corrected a bug where FTP Voyager JV would not launch from a Macintosh computer running Snow Leopard with the Safari web browser.


9.0.0.1 (September 29, 2009)
============================
Serv-U Engine:
+ Added FULL UNICODE support.  Serv-U is now capable of supporting file paths, user names, and passwords in any language supported by Windows.
+ Added the ability to install any supported language on any localized version of Windows.  For example, installing Japanese, Chinese, or Russian Serv-U is now supported on Windows in English.
+ Added FIPS 140-2 support for OpenSSL.  SSL and SSH (FTPS, HTTPS, and SFTP) encryption is FIPS 140-2 certified through OpenSSL (Certificate #1051).  (Serv-U Gold only)
+ Added support for user and group SSH public key authentication.
+ Added 4 SSH authentication methods; "password only", "public key only", "public key and password", and "public key or password".
+ Added the ability to create SSH public key files (SSH RFC 4716 format) for SSH public key authentication.
+ Added Integration DLL support, allowing DLLs to be written to interface directly to Serv-U for user access, events, and common operations.  (Serv-U Gold only)
+ Added the ability to define custom "SITE" FTP commands via Integration DLL support.  (Serv-U Gold only)
+ Added the ability to define custom FTP commands via Integration DLL support.  (Serv-U Gold only)
+ Added the ability to act as a Windows user for individual directory access rules.  A Windows user name, password, and domain may be optionally specified for individual directory access rules.  This allows Serv-U to access network resources even while running as a system service using the Windows local system account.  (Serv-U Gold only)
+ Added the ability to send email messages to users with account login ID and password.  (Serv-U Gold only)
+ Added "User Added" event so that custom Events events may be triggered when a user is created.  (Serv-U Gold only)
+ Added "IP Address Auto Added" event, triggered when an IP address has been automatically added to the IP access rules.  (Serv-U Gold only)
+ Added the ability for users to recover or reset their passwords in the HTTP login page.  If using one-way password encryption, the password is changed to a randomly generated password based on administrator defined password requirements.  (Serv-U Gold and Silver only)
+ Added new login statistics for the Server, Domain, Group, and User, all individually viewable.  These new statistics include: number of logins, number of logouts, current logins, most concurrent logins, last login time, last logout time, average login time, longest login duration, and shortest login duration.
+ Added options to save Users and Groups statistics to CSV file.
+ Added support for SFTP (via SSH2) welcome messages.  If a welcome message or welcome message file is specified, Serv-U sends the message with the SSH2_MSG_USERAUTH_BANNER message.
+ Added the ability to limit when a user or group can log in based on the day-of-the-week and/or the time-of-day.
+ When an IP address is in an approved IP address list that approved IP address is no longer blocked when automatically blocking IP addresses unless the IP address is approved because of *.*.*.* or * in the IP access list.
+ Added new system variables intended for use by events only; $Password, $LocalHomeDirectory, $LogFilePath (log deletion event only)
+ Added new system variables: $UserEmailAddress, $FullName, $SpaceFullName, $FullNameSpace, $ComputerName
+ Added the ability to send email events to multiple recipients.  Email recipient lists may be specified by separating email addresses by a comma or space.
+ Added the ability to enable or disable events.
+ Added the ability to use $UserEmailAddress for the destination email address in email events.
+ Added the ability to send email events to groups members.
+ Added the ability to BCC (blind carbon copy) email addresses for email events.
+ Changed email messages to retry for a period of time when unable to connect to the specified SMTP server and when the server appears to be using grey listing.
+ Added the ability to use SSL when connecting to an SMTP server for email messages.
+ Added two new user events identifying whether or not password recovery was successful.
+ Added a new domain event identifying when a log file is purged.
+ Added the ability to add comments to individual IP Access rules.
+ Added the ability to wait for up to 30 seconds for an executable event to complete before continuing execution in Serv-U.  This is useful if an executable needs to move or copy a file before Serv-U deletes it (such as purging a log file).
+ Added the ability to download the current log file from within the Management Console.
+ Changed log file format to UTF-8.
+ Added the ability to purge log files based on the total size or total number of log files in a directory.  This feature deletes the oldest log files when either limit is exceeded.
+ Added the ability to use the PASV IP Address / Domain Name only for FTPS (FTP over SSL) connections to help with certain routers.
+ Added the ability to use the PASV IP Address / Domain Name for LAN connections (via private IP addresses) as well as WAN / Internet connections.
+ Added the ability to import and export users from the Users' tabs in CSV (comma separated value) format.
+ Added a new Connection limit to Users, Groups, Domains, and the Server which can require users to have a reverse DNS name to connect or login to the server.
+ Added the Advanced Limit to disable renaming files and directories to paths that already exist; applies to users, groups, domains, and the entire server.  FTP, FTPS, HTTP, HTTPS, and SFTP (via SSH2) versions 3 & 4 are the affected protocols.  SFTP versions 5 and above uses a different mechanism as defined by the protocol, unless the client uses the SSH_FXP_RENAME_NATIVE flag.
+ Added the ability to disable specific database tables.  Disabling unused tables can reduce the number of ODBC calls.
+ Changed the default User and Group table names from "User" to "SUUsers" and "Group" to "SUGroups" in order to avoid "reserved" Microsoft SQL keywords.  Microsoft reference page: http://msdn.microsoft.com/en-us/library/ms189822(SQL.90).aspx
+ Added new FTP system variables: $CurrentUncompressedTransferBytes and $CurrentCompressedTransferBytes
+ Reduced the database column sizes for non string columns by default.  This is due to some restrictions by some databases on the total row length.
+ Added "Windows 7" to the $OS system variable.
+ Changed Serv-U's automatic listener recovery (periodically attempts to listen again when unable to listen) so that this feature is disabled when more than 50 domains are defined.  This is done to save CPU cycles on slower computers.
+ Automatically create log file directory structure if the parent directory of a specified log file doesn't already exist.
+ Changed the "OPTS UTF8 ON/OFF" command to be available prior to login.
- Corrected a bug where the "SITE SET TRANSFERPROGRESS ON" FTP command could cause Serv-U to crash.
- Corrected a bug where the "SITE SET TRANSFERPROGRESS ON" FTP command was using the wrong system variable ($NoFormatTransferBytes).  $CurrentUncompressedTransferBytes is now used.
- Corrected a bug where database column mapping would not work.
- Corrected an attribute availability bug when specifying the start time "after" the end time, Serv-U would not properly handle this condition.
- Corrected a security bug where Serv-U was showing all drives and virtual paths to drives for "\" when a user may not have had permission to list all drives or virtual paths to drives.
- Corrected a directory listing / change directory bug where Serv-U was not allowing access to a parent directory, in some cases, if permissions for the parent directory were not explicitly set.
- Corrected a bug in the MFF FTP command where Serv-U was not ignoring the space between the "fact" and the "path name", causing MFF to fail with an incorrect path response.
- Corrected a bug where the UNIX directory mask would not work correctly if "r" (read) and "w" characters were not being used in the same locations as the default.  This was changed to remain consistant with Serv-U version <= 6.4.

Management Console:
+ Added a domain navigation tree for one-click access to any configuration page, including any server configuration page.
+ Changed the group membership dialog in the Management Console to hide the "Add" and "Remove" arrows when nothing is selected in the corresponding list.
+ A randomly generated password is automatically created when creating new users.  The password is fully highlighted so if not desired simply typing a new password over the existing requires no extra work for an administrator.
+ Changed the Domain wizard to prompt either for one-way or two-way password storage.
+ Added the ability to set the advanced properties for database user and group limits.
+ Changed all lists, inside the Management Console, to use "natural sorting" to properly sort items according to the current locale.
+ Changed the default button from "Yes" to "No" in destructive confirmation dialogs.  Pressing enter automatically answers "No" instead of "Yes".
+ Changed domain administrator operations to include those shown on the "Settings" tab for the domain "Limits and Settings".
+ Removed the "Windows Authentication" tab for domain administrators.
+ Added the domain events tab for domain administrators.
+ Changed the events list to exclude listings of balloon tip and execute events.
+ Added "Domain" and "System" admin icons to the users list to identify them from normal users.
+ Added the ability select a private key size (in bits) for SSL certificate creation (1024, 2048, and 4096).
+ Added a Windows Vista & Windows 7 style "bread crumb" navigation bar to the file and directory browse dialogs for easier navigation.
- Corrected a bug where the user was unable to close a combo box when clicking on the combo box drop down arrow.
- Corrected a bug in the Domain Wizard dialog where the pages where not all the same height.
- Corrected a bug where the User & Groups Statistics would hang when changing the Collection.
- Corrected a bug where the domain log would not properly clear out the log contents after resetting the filtering.
- Corrected a bug where the RhinoSoft.com logo located in the footer had an incorrect background.
- Corrected a bug where "Transfer Ratios" were not being saved correctly causing the wrong information to appear in the dialog.
- Corrected a bug where the UNIX directory mask could not be saved.

Web Client:
+ Added a powerful file search feature to the Web Client that allows users to recursively search for specified files using exact file name matches or wildcard matches.
+ Added a Windows Vista & Windows 7 style "bread crumb" navigation bar for easier directory navigation.
+ Added a history navigation menu for faster navigation to previously viewed directories.
+ Added the ability to auto play video files in the Web Client by setting a URL parameter (playmedia=1).
+ Changed file and folder list, to use "natural sorting" to properly sort files and folders according to the current locale.
+ Changed the default theme for Windows 7 to use "Windows Vista".
+ Added an alert dialog on the login page to inform users to upgrade to IE8 to improve performance.
- Corrected a Web Client upload bug, where uploading a small file, locally or on a very fast connection, the Web Client could think the file did not upload, even when it did.  This problem occurred mostly in Firefox browsers.
- Corrected a Web Client upload bug, where uploading a file that would overwrite a file with the same name, and had encoded characters, would fail to prompt the user for accepting the overwrite.
- Corrected a bug where when logging in using an Opera browser on Japanese Windows would fail to read cookies needed to set the language and cause the page to reload continuously.
- Corrected a bug where the wrong string was used for the alt tag in the Web Client header image.

Tray:
+ Added a tray option to use the system browser instead of the embedded Internet Explorer.  Using the system browser can be faster, depending on the browser, and can reduce the amount of RAM used by the tray application.
+ Improved accuracy of "XX KB", "XX MB", and "XX GB" displays to round up to the next highest value instead of checking for any amount over the unit (as older versions of Windows did).  (Tray Application and FTP Voyager JV)
+ Added support for saving the tray's Management Console Window coordinates over multiple monitors.
- Corrected a bug in some dialog boxes that caused the font to shrink and adjusted the sizing on some images.  This bug was only noticeable on Japanese Windows.

FTP Voyager JV:
+ Added the "Synchronize Folders" feature which allows for easy folder comparison for mirroring either a local or remote folder.
+ Added the ability to search for files and folders within FTP Voyager JV.
+ Added the ability to create an automatic login file for FTP Voyager JV.
+ Added the number of items, number of selected items, and current directory to the status bar of FTP Voyager JV.
+ Changed FTP Voyager JV's default value of "Remove files from Transfer Pane after completion" to "false".
+ Changed FTP Voyager JV's file sorting to use "natural sorting" to properly sort file names according to the current locale.
+ Changed the FTP Voyager JV File Properties dialog to show the "Date Created" and the "Date Last-Accessed" fields when launched from a selected remote file.
+ Changed the formatting of FTP Voyager JV's file sizes and transfer stats to include one or two digits past a decimal character.
+ Changed the FTP Voyager JV startup page to recognize when FTP Voyager JV logs out.  The page queries the server every 10 seconds, if logged out, the page automatically redirects to the logged out page.
- Corrected a bug in FTP Voyager JV that displayed the Change Password option to users who are not allowed to change their password.
- Corrected a bug in FTP Voyager JV's tree control that allowed the user to try to rename the root folder of the particular file system.
- Corrected a bug in FTP Voyager JV where the Main Toolbar's right-click menus did not represent all the buttons of the toolbar.
- Corrected a bug in FTP Voyager JV where the preview pane was not handling error states for failed preview images.
- Corrected a bug in FTP Voyager JV where the preview pane could enter an invalid state by rapidly switching the selected file of a directory listing.
- Corrected a bug in FTP Voyager JV where the preview pane was not refreshing its image after a file was transferred.
- Corrected a bug in FTP Voyager JV where the about box's Build Date would sometimes show the timestamp of a previous build.
- Corrected a bug in FTP Voyager JV where the File Properties fields for formatting dates were not taking into account the Preferences option "Automatically adjust timestamps for Daylight Saving Time".
- Corrected a bug in FTP Voyager JV where the Remote Pane's tree was not correctly inserting the child tree nodes for remote drives.
- Corrected a bug in FTP Voyager JV where the right-click menu of the dockable frame's tab was not refreshing its check mark status for the right-click menu options.
- Corrected a bug in FTP Voyager JV where the Tree and Preview titles were not using the translated strings.
- Corrected a bug in FTP Voyager JV where the application location and size between sessions was failing to load for dual-monitor setups.
- Corrected a bug in FTP Voyager JV where the active frame would move from the local frame to the remote frame after a "New Folder" operation was completed.
- Corrected a bug in FTP Voyager JV, introduced in version 8.2.0.1, where uploading files with non-ASCII characters would fail in many cases.
- Corrected a bug in FTP Voyager JV that failed to change the password for users that had non-ASCII characters in their "User Name" and/or "Password" fields.
- Corrected a bug in FTP Voyager JV that failed to overwrite and move a remote file between two remote directories that had the same file name.
- Corrected a bug in FTP Voyager JV where the overwrite dialog would show the resume button even if copying or moving files across the same file system.


8.2.0.3 (August 17, 2009)
=========================
+ Upgraded to Inno Setup UNICODE installer to provide greater localization flexibility in the future.
- Corrected a bug where Serv-U might crash when starting while using a valid registration ID.
- Corrected a bug where the User Statistics page in the Management Console would hang when trying to select "Database Users" when no database is configured.
- Corrected a bug in the Management Console where the license expiration balloon tip dialog would cause a JavaScript error and would not close correctly.


8.2.0.1 (August 4, 2009)
========================
- Corrected a bug in the Management Console where the text in buttons would wrap when using certain languages.
- Corrected a bug in FTP Voyager JV where uploading a file with non-ASCII characters in the file name, Serv-U would receive an incorrect file name.
- Corrected a problem where Serv-U was unable to operate on UTF-8 encoded file names for FTP, FTPS, and SFTP (via SSH2) when the "Convert URL characters in commands to ASCII" limit was set to "yes".  This limit is a very old FTP option, that should probably always be disabled or "no".  This limit now only applies to FTP sessions.


8.2.0.0 (August 3, 2009)
========================
+ Substantially reduced the RAM requirements for servers with many domains and very high traffic servers.  Serv-U requires about half of the RAM or less as with previous versions through 7.0.
+ Updated the look and feel for the "Windows | Office 2003" styles for FTP Voyager JV.
+ Added additional checks to prevent high frequency login attempts on a single session (i.e., dictionary login attacks).
+ Serv-U 8.1.0.1 through 8.1.0.3 cached Windows login tokens, user IDS, and passwords; previous versions did not.  For potential security reasons, token logging has been removed for login.
+ Improved the load time of the FTP Voyager JV startup page by loading only images that apply to the browser.
- Corrected a bug in FTP Voyager JV, introduced in version 8.1.0.1, where the active frame failed to receive focus when the user clicked within the empty space of a grid.
- Corrected a bug where FTP Voyager JV would fail to launch if certain JavaFX resources could not be loaded.
- Corrected a bug in FTP Voyager JV where sorting drives was being performed on the display name instead of the drive letter.
- Corrected a bug in FTP Voyager JV where sorting special Window directories interfered with the sort results of certain folders and files.
- Corrected a bug where "Port Forwarding" could prevent FTP Voyager JV from getting a listing from Serv-U.  This would only happen if the router's public port was different from Serv-U's private port that was listening for HTTP connections.
- Corrected a problem when starting Serv-U as a service, the service initialization could fail (timeout) when a very large number of domains were defined.
- Corrected a bug where French and Italian result strings were being interpreted incorrectly by the browser.  In the case of the Web Client, an error message would appear for French and Italian once a file began uploading.
- Fixed a bug in the User's Group Membership dialog where scrolling would not work correctly when the number of groups in the list exceeded the viewable area of the list.
- Corrected an SSL/TLS bug where Serv-U would not recognize a closed socket after calling SSL_read() from OpenSSL.


8.1.0.3 (July 21, 2009)
=======================
+ Updated Japanese, Traditional Chinese, Simplified Chinese, and Russian strings.
+ Added a new Password Limit to use either one-way (more secure, less functional) or two-way (less secure, more functional) password encryption when storing passwords to disk.
- Corrected the FTP FEAT response to comply with RFC 2389 (http://tools.ietf.org/html/rfc2389) so that the listed features are always preceded by a single space, and never the response code.  This deviation from the RFC was introduced in Serv-U 7.
- Corrected a bug in FTP Voyager JV, introduced in version 8.1.0.1, where FTP Voyager JV was not saving the file list column order between sessions.
- Corrected a bug where a Swedish string warning about the trial expiring could cause the Tray application to crash.  Only Swedish installations were affected.
- Corrected a Web Client problem with the Safari and Opera browsers, when downloading files with spaces in the file name, Safari and Opera would incorrectly use %20 for spaces as part of the file name instead of the actual file name.
- Corrected a bug where it was impossible to change if passwords are encrypted on disk or not.  Introduced in 8.1.0.1.


8.1.0.1 (July 8, 2009)
======================
+ Added read-only administrator support.  Two new administrator user types have been added, "Read-Only System Administrator" and "Read-Only Domain Administrator".
+ Substantially increased internal HTTP parsing to improve the speed of the Management Console and Web Client.
+ Changed localization (translations) internally to use individual string files instead of separate resource DLLs.
+ Converted all ReadMe_??.txt files translations to UTF-8.
+ Eliminated License.txt from the installation, License.rtf is the exclusive licensing file instead.
+ Added support for UNICODE / UTF-8 passwords.  This allows passwords to be extended beyond the ASCII characters.  NOTE: some FTP clients do not use UTF-8 for S/Key encoding and therefore may fail.
+ Changed the RhinoSoft.com company logo in the "Program Information" tab to the new 3D version.
+ Changed certificate creation to use UTF-8 allowing certificates to contain any character.
+ Changed certificate viewing to decode UTF-8 encoded certificates.
+ Added the ability for the browse dialog in the Management Console to use the specified directory path as the starting point.
+ Added the ability to export users to CSV (comma separated value) files to complement Serv-U-Setup.exe's ability to import.  See the Serv-U Knowledge Base for full details.
+ Increased the width of the path fields so that space is more effectively used as a result of the size reduction of the "Browse" button in 8.0.0.7.
+ Improved the availability for user system variables for events that do not have an associated login (e.g., User Delete and User Create).
+ Improved browser error message handling retrieving result codes server-side instead of client side.  Saves bandwidth and memory allowing only needed messages to be transferred to the browser.
+ Improved numeric field verification in the management console to provide more specific information about invalid entries.
+ Improved file and directory path field verification in the management console to disallow invalid characters.
+ Changed the group membership to a side-by-side list to make adding and removing membership much more efficient.
+ Added support for the X-Forwarded-For HTTP header to identify the actual IP addresses of client computers.  This is primarily set by proxy servers and load balancers.
+ Added cipher information to the active session monitor grid and "Spy & Chat" dialog.
+ Changed SSH login so that the "none" login request, used by most SFTP clients to determine the supported authentication modes, doesn't cause an event to fire and extra entries added to logs.
+ Hide the "Create Directory" button in the Web Client if the logged-in user does not have any directory creation permissions.
+ Added a cancel button for FTP Voyager JV's logout dialog.  This allows the user to go back into FTP Voyager JV.
+ When launching FTP Voyager JV for the first time, the column widths expand evenly to fill the available space.
+ Optimized FTP Voyager JV downloads to use less server-side RAM when a user is logged in.
+ Changed the format for FTP Voyager JV error codes for easier debugging.
+ Added extra support information to FTP Voyager JV's launch page that responds to the Apple Java Update 1.6_13 for Macintosh machines.  This update can break the automatic startup of the "Java Web Start" application which opens "jnlp" files.
- Corrected a bug where multi-byte path names would not be interpreted correctly in some cases.
- Corrected an HTTP bug where a user could bypass the password requirement gaining normal access as granted by the user account.
- Corrected an HTTP bug where HTTP sessions would not immediately end when Windows Authentication was enabled.  The HTTP sessions would eventually timeout, however failed logins should have caused the sessions to close immediately.
- Corrected an HTTP bug when downloading a file that is actually a Virtual Path where the file name is different than the Virtual Path's file name, Serv-U would provide the actual file name to the browser when downloading instead of the Virtual Path file name.
- Corrected a bug where using IP Access rules to block access for a user (by setting the user's IP access rules) could cause Serv-U to crash.
- Corrected a help bug when viewing Japanese Management Console Help the table of contents frame was in English.
- Corrected a Macintosh Firefox problem where the "Browse" button in the upload dialog would be partially truncated.
- Corrected an FTP PASV command problem when using PASV port ranges, on some systems Serv-U could rarely run out of PASV listeners.
- Corrected a problem when upgrading from Serv-U 6.4 or lower, certain configurations would not upgrade to Serv-U 8.0.
- Corrected mistakes in ReadMe.txt and License.rtf.
- Corrected a bug where email event messages were not being identified as UTF-8 even though they were encoded as UTF-8.
- Corrected a bug where certain user events (User Deleted, User Enabled, User Disabled, User Password Changed, User Password Change Failure) would not fire for the user's domain or would fire for the session's domain.  Now these events are fired for the domain in which the user is defined.
- Corrected a bug in the "Do not log IP rule" dialog in the Management Console where the buttons were misaligned.
- Corrected a bug in the Management Console where dialogs could not be moved when the page was scrolled down.
- Corrected a bug where viewing a certificate could cause Serv-U crash the next time OpenSSL was used due to the inadvertent closing of the OpenSSL libraries.
- Corrected a bug in the Management Console where some dynamically loaded dialogs would not allow for text selection in input fields.
- Corrected a bug in the Management Console where the Login ID was not being URI encoded when editing the user causing editing to fail when non-ASCII characters were used.
- Corrected a bug when an email event was setup for Server Shutdown, Serv-U would not send the message.  Now Serv-U waits for up-to 30 seconds to shutdown if pending email events exist.
- Corrected a event bug where execution of an external program could fail if a user was logged in as a Windows User that didn't have the proper permissions to execute that file.
- Corrected an SFTP (via SSH2) bug when the client uses SSH_FXP_OPEN to open a file, and didn't request any access permissions, Serv-U would create a 0-byte file.
- Corrected an SFTP (via SSH2) bug when the client uses SSH_FXP_OPEN to open a file, requesting both read and write permissions, Serv-U could create a 0-byte file.
- Corrected an SFTP (via SSH2) bug where Serv-U would always truncate a file when the SSH_FXF_CREAT and SSH_FXF_WRITE flags were specified to open a file.  Serv-U now truncates the file only when the SSH_FXF_TRUNC flag is specified.
- Corrected a database bug; when the search value for the primary table was changed to something other than "LoginID" (for users) or "GroupName" (for user groups), updates to database records could not be performed.
- Corrected a bug where FTPS transfers could drop the last few packets of data depending on how the client uploads files.
- Corrected a Web Client bug when uploading a file, the file name was not being encoded in UTF-8 causing Serv-U to store UTF-8 encoded file names incorrectly.
- Corrected a Web Client bug where the "Home" button would not appear in the "/" directory when the user's home directory was elsewhere in the path, and the user wasn't locked in the home directory.
- Corrected a bug where users containing a comma in the Login ID could not be modified, deleted, or moved to a different user category.
- Corrected a bug where users were not being unloaded after being created.  Creating many users, in one session, could cause excessive use of memory.
- Corrected a bug where administering Serv-U using a browser (i.e., remotely) and deleting the remote administrator's user account could cause Serv-U to crash.  This operation is now denied.
- Corrected a directory access bug when a user is locked in the home directory, and the home directory is a drive root, the user could access directories to which permission was not granted.
- Corrected a Virtual Paths bug where Serv-U versions 6.4 and lower checked visibility of both the virtual path and the physical path, Serv-U 7.0 - 8.0 were not.
- Corrected a rename bug where the destination file or directory name could contain invalid characters and Serv-U would incorrectly report a successful rename operation.
- Corrected a bug where an invalid Windows Shortcut could cause Serv-U to fail, leaving the connection in an invalid state where the session would appear to hang.  Other connections were not affected.
- Corrected a tray pop-up menu bug where, on systems running for a very long period of time, the "Themes" menu would appear only as a bar, instead of the submenu.
- Corrected an installation bug when upgrading from Serv-U 6.4 and lower and using s/key passwords.  The conversion would incorrectly set this value for converted user accounts.  Introduced in version 8.0.0.7 only.
- Corrected a bug in FTP Voyager JV where a rename of a local file that had its file extension hidden would cause the file to lose its extension.
- Corrected a bug in FTP Voyager JV where a Drag and Drop operation between two remote listings would fail if the user was locked into their home directory.
- Corrected a bug in FTP Voyager JV where the "Multiple Files/Folders Properties" dialog was failing to format numerical values.
- Corrected a bug in FTP Voyager JV where the "Properties" dialog would fail to show the current working directory information if nothing was selected in the listing.
- Corrected a bug in FTP Voyager JV on *NIX machines where the logout confirmation dialog was too small to show all the text of the dialog.
- Corrected a bug in FTP Voyager JV where Windows Link (LNK) files would fail to upload if the files were dragged and dropped.
- Corrected a bug in FTP Voyager JV where it would try to load a Windows Look and Feel on a Linux OS.
- Corrected a bug in FTP Voyager JV where pressing the [PAGE_UP] and [PAGE_DOWN] keys was causing the listing to scroll one extra row.
- Corrected a bug in FTP Voyager JV on Macintosh machines where the gradient colors for the Local, Remote, and Transfer tabs would be drawn outside of their boundaries.


8.0.0.7 (April 6, 2009)
=======================
+ Updated OpenSSL libraries from 0.9.8j to 0.9.8k.
+ Moved "Password Type" to the Password Limits & Settings to unclutter the main user tab.
+ Changed the "Password Type" value to read "FTP Password Type" since it applies only to FTP connections.
+ Changed all "Browse..." buttons to use an easy to understand graphic, like most operating systems do already.
- Corrected a licensing issue with old Serv-U Home and Professional licenses.
- Corrected a problem where some SFTP clients would cause recv() on the socket to fail by improperly closing the socket.
- Corrected a bug where certain SFTP clients could cause Serv-U to crash when uploading a file either locally or on a very fast connection on a busy server.
- Corrected an SFTP (via SSH2) bug where the SSH_FXP_FSETSTAT command would fail because the file was already open.
- Corrected an SFTP (via SSH2) bug where Serv-U would close all open files when an unsupported operation was requested.  This caused certain SFTP clients to be unable to upload files to Serv-U.
- Corrected an SFTP (via SSH2) logging cosmetic error where failed close operations would log the command twice, once with the specified handle, once without.
- Corrected a user statistics bug where certain values such as "Total Sessions", "Average Session Length", "Longest Session", and "Highest Number of Sessions" was inaccurate.
- Corrected an event bug where using the "Test" button would fail for email events, from within the Tray's Management Console only, when SMTP settings were not set for the server.
- Corrected a tray bug where the tray would unnecessarily wait 15 seconds after shutting down the server before exiting.
- Corrected a tray bug where clicking very quickly could cause the trial expired bubble to appear twice.
- Corrected a bug in the Management Console where a flashing cursor would be placed in a combo box when using a Firefox browser.


8.0.0.5 (March 27, 2009)
========================
+ Implemented more flexible licensing options.
- Corrected a bug where Windows Links to directories might not allow operations on that directory or its children.
- Corrected a bug where a session's home directory may be incorrectly interpreted when the user is locked in the home directory.
- Corrected a bug where Serv-U could assume that a remote directory name such as "/temp" was the same as "D:\temp" where the drive letter is the drive upon which Serv-U is installed.  This only occurred when the user had full access to the machine and the user account listed drives.
- Corrected a layout issue where the HTTP login page would improperly position the login button for Finish in Firefox under Windows Vista.
- Corrected a bug in FTP Voyager JV where multiple directory listings would occur when navigating to a parent folder while in Thumbnails mode.
- Corrected an SFTP (via SSH2) but where Serv-U would not fully resolve Windows shortcuts as specified.  Certain SFTP attributes referenced the .LNK file instead of the target, this included the file type, file attributes, and the date and times of the target.


8.0.0.4 (March 26, 2009)
========================
+ Added the connected server name to the FTP Voyager JV title bar.
- Corrected a bug, introduced in 8.0.0.1, where UTF-8 encoding and decoding was not working correctly in all cases.
- Corrected a bug, introduced in 8.0.0.1, when using virtual hosts with any protocol, could cause garbage information to appear in the connecting domain's session list.
- Corrected a bug where clicking on the "Check for an update at www.RhinoSoft.com" link in the tray's About Dialog "Update Check" tab did not include all of the information for the license.
- Corrected a security issue where FTP Voyager JV would show drive information for users locked in their home directory and the home directory is a drive.
- Corrected a security issue where FTP Voyager JV would show drive information for virtual paths mapped directly to drives.
- Corrected a bug in the Management Console where certain languages would cause the "Login" button to expand past its containing element.
- Corrected a bug where multi-byte paths could be interpreted incorrectly.  Introduced in version 8.0.0.1.


8.0.0.2 (March 24, 2009)
========================
- Corrected a bug, introduced in 8.0.0.1, where HTTP connections on a virtual host domain would never disconnect and would show garbage information in the connecting domain's session list.


8.0.0.1 (March 23, 2009)
========================
Serv-U Engine:
+ Added programmable server, domain, user, and group events to send email messages, display balloon tips, or execute third-party software (Serv-U Gold only).
+ Added support for SFTP versions 5 & 6 (via SSH2), in addition to SFTP versions 3 and 4.
+ Added support for SFTP (versions 5 & 6) attribute bits to help identify file and directory types such as read-only, system, hidden, archive, sparse, compressed, and encrypted.
+ Added sub-second support for SFTP (versions 5 & 6).
+ Added the ability to set file types via SFTP (version 5 & 6), read-only, system, hidden, and archive.
+ Added the ability through SFTP versions 5 & 6 to get and set file times to sub-second resolution.
+ Added the ability to specify the maximum SFTP version to use for users, groups, domains, or the server.
+ Added support for substantially faster and more efficient SFTP file transfers for clients supporting SFTP versions 5 & 6.  Clients may perform reads and writes to files of sizes greater than previous SFTP versions (34,000 bytes).
+ Added support for "diffie-hellman-group14-sha1" for SSH key exchange.
+ Added support for "hmac-sha1-96" for SSH MACs.
+ Added the ability to change user passwords through SSH2.
+ Added the ability to specify a PEM file for SSL Certificate Authority (CA) certificates (Serv-U Gold only).
+ Automatically redirect from HTTP to HTTPS when a secure connection is required and a corresponding HTTPS listener is found.
+ Added a connection limit to ban an IP address for a period of time after a session has timed out.  This limit is available for users, groups, domains, and the entire server.
+ Added user and group connection limits to enable or disable individual protocols; FTP/FTPS, HTTP/HTTPS, and SFTP (via SSH2).
+ Added millisecond resolution to FTP file times for FTP/FTPS MLST/MLSD results.
+ Added millisecond resolution when setting file times via FTP (MDTM, MFMT, MFCT, and MFF).
+ Added an option to the FTP MKD/XMKD commands to enable creation of parent directories if they do not exist.
+ Added the ability to set a maximum file size for uploads for users, groups, domains, or the server.
+ Added new system variables; $Protocol, $OldPathName, $OldFileName, $LocalPathName, $LocalFileName, $OldLocalPathName, $OldLocalFileName, $DomainName, $DomainDescription, $FileSizeFmt, $FileSizeKB, $TimeRemaining, $NoFormatActualTransferBytes
+ Updated OpenSSL libraries from 0.9.8i to 0.9.8j.
+ Added support for UTF-8 encoded message files (welcome message, directory change messages, etc.).
+ Changed self-signed SSL certificate support to use SHA-1 instead of MD5 for added security.
+ Created a new default self-signed SSL certificate using SHA-1 instead of MD5 for added security.
+ Changed the installer to install the default SSL certificates even when they already exist in an installation.
+ Changed the logging path for HTTP_LIST to show the file name as well as the directory when listing a specific file.
- Corrected a DOS vulnerability where FTP could become saturated for a long period of time before allowing new connections.  This vulnerability would not cause a crash, but would lock the server for a long period of time.
- Corrected a directory traversal vulnerability where it was possible to create a directory outside of a locked user's home directory.  All protocols were affected.
- Corrected a logging bug where HTTP logouts for a single session would appear twice in the log.  Introduced in version 7.4.0.0.
- Corrected an FTP login bug where passwords starting with a '-' character would not allow logins.  This was due to the compatibility with certain older UNIX systems where specifying a '-' character as the first character for a password, would disable multi-line FTP responses (see release below notes for Serv-U 2.4).
- Corrected an FTP MLST bug where listing a virtual path would return the physical path's file or directory name instead of the virtual path name.
- Corrected an HTTP upload and download statistic bug where more bytes than the actual number transferred were being tallied; in most cases almost twice as much.
- Corrected an automatic home directory creation bug, when logging in as a Windows User, where the logged in user doesn't have read and write permission to the parent directory of the user's home directory; Serv-U was unable to create user's home directory automatically.
- Corrected an SFTP bug where relative paths were not working.  The SFTP specification identifies "file names" not starting with the "/" character to be paths relative to the user's home directory.
- Corrected an SFTP bug when attempting to set the file attribute; failure would cause Serv-U to close any open file and invalidate the client's file handle causing uploads or downloads to fail.
- Corrected a cosmetic bug where Serv-U would not correctly set the letter case for Windows Shortcuts when Shortcuts are treated as links instead of files (the default setting).
- Corrected a bug where paths containing wildcard characters "*" and/or "?" could return the first matching file or directory and allow non-wildcard operations to be performed (such as delete, upload, and download).
- Corrected a bug where performing a wildcard listing in a directory, and a subdirectory matched the wildcard, the subdirectory's content was listed instead of the parent directory using wildcard matching.
- Corrected a bug where wildcard listings on "\" (the computer's available drives for the logged in user's account) would not work correctly.
- Corrected a bug when listing with wildcards in directories with virtual paths.  When no physical file existed matching the wildcard but a virtual path did Serv-U would not list the virtual path.
- Corrected a bug when specifying a domain home directory, if the directory path contained a trailing "\" character, Serv-U would not correctly limit the directory size.

Tray:
- Corrected a problem where pressing the Escape key in the About dialog while viewing release notes for a new version did not always dismiss the About dialog.

Management Console:
+ Substantially improved the Management Console speed in which Users and Groups pages are loaded, especially on single-core machines.
+ Decreased size of all Management Console pages by 15%-50%.
+ The default encoding for all pages delivered through HTTP is now UTF-8.
+ Automatically scale lists (users, groups, events, listeners, active sessions, etc.) and logs based on the browser's size to provide for more working area.
+ Automatically scale column widths in lists based on the browser's size to provide for more viewing area.
+ Added the ability to use a customized 400x100 graphic within the login page, logout page, Web Client, and the Mobile Web Client (Serv-U Gold only).
+ Added the ability to change visual themes.
+ Added the ability to move users from .Archive to ODBC database.
+ Added the ability for users to choose whether to create a limit when trying to edit a default limit.
+ Added the ability to view statistics for users and groups under the domain and server activity pages (Serv-U Gold only).
+ Added the "Go" (to Directory) button in the Management Console Browse dialog.
+ Added the Event dialogs for Server, Domain, Users and Groups.
+ Added the ability to copy an existing user to create a new user.
+ Changed checkboxes for SSH Ciphers and SSH MACs under Server Limits & Settings to use standard checkboxes.
+ Updated Help documentation for new system variables.
+ Updated Swedish strings.
+ Added the ability to paste a registration id using the "Paste Registration ID" button in the Registration ID dialog (IE browsers only).
- Corrected a Management Console help bug where translated keyword lists were not being shown.
- Corrected a bug in the Management Console where some language translations would not fit correctly in elements on the page.
- Corrected a bug in the Management Console where trying to move a user to a new collection returned a undefined variable when no other collections exist. 
- Corrected a bug in the Management Console where dismissing a bubble tip would cause other elements to become un-clickable.
- Corrected a bug in the Management Console where viewing secure certificate information would not display correctly if the information contained long strings.
- Corrected several images that incorrectly showed a gray background on Internet Explorer 5.5 and 6.0.
- Corrected an error that occurred when attempting to open the "Create Directory" dialog when viewing the Browse dialog from within "Domain Details".
- Corrected a bug in the Management Console that prevented automatic dismissal of the New Certificate Creation dialog after confirming that the new certificate should not be used.
- Corrected a bug that prevented configuring NLST to also list directories in the Advanced FTP Settings dialog for the NLST command.
- Corrected a bug in the Management Console where the drop down list for drives on the browse dialog would not hide after closing the dialog.
- Corrected a bug in the Management Console where the opaque background would not fill the screen when the main window was scrolled.
- Corrected a bug in the Management Console where the "Include in Max Size" checkbox in the virtual paths dialog did not work.

Web Client:
+ The language selector on the login page now displays each option in the current language as well as the selection's native language.
+ Added the "thumbnail=1" parameter to start the Web Client in Thumbnails mode after login.
+ Added the "slideshow=1" parameter to start the Web Client slide show immediately after login.
+ Added the "playlist=1" parameter to play media files immediately after login to the Web Client.
+ Added the "dir=" parameter to navigate directly to any directory immediately after login to the Web Client.
+ Added the "file=" parameter to download a file located in the directory specified in the "dir=" parameter immediately after login to the Web Client.
+ Changed the image preview dialog to use a single click event on the image to view the next image.  The double click event to download the image has been removed.

FTP Voyager JV:
+ New FTP Voyager JV Dockable User Interface.
+ Added many new user interface styles and colors selectable from the "View | Style" menu.
+ Added the ability to auto hide any tab.
+ Added the ability to upload files greater than 2GB.
+ Added the ability to resume or restart uploads and downloads.
+ Added the ability to open different local and remote views in FTP Voyager JV.
+ Added the ability to download or upload to any open tab by using the right mouse click button, then selecting "Download To".
+ Added local and remote tree panes for easier navigation through the corresponding file system.
+ Added local and remote preview panes so image files may be viewed.  The preview pane works like a sizable thumbnail view of a file.
+ Added local and remote Windows Vista style "Crumb Bar" for easier navigation through the corresponding file system.
+ Substantially improved FTP Voyager JV performance by utilizing multiple threads to perform certain tasks.
+ Reformatted the error dialogs to give detailed error information.
+ The build date in About Box now displays using current locale.
+ Added help in Japanese, Simplified Chinese, and Traditional Chinese.
+ Added the ability to adjust the thumbnail size from the toolbar.
+ Added newer style forward and back buttons with drop down history list.
+ Added the ability to configure the buttons that are available on each toolbar in the "Preferences" dialog.
+ Added the ability to configure the available toolbar buttons by right mouse clicking on the toolbar.
+ Added the main and transfer pane toolbars.
+ Added docking toolbars.  Toolbars can be undocked or moved wherever needed.
+ Enhanced Drag `n Drop support so dropping files to a Windows-ShortCut (.LNK) directory functions as the target directory.
+ Added ability to view system icons for Mac OS X operating system.
- Fixed the toolbar buttons to allow all buttons to be displayed, even if the buttons exceed the toolbar's length.
- Fixed a bug for the "Preferences" dialog where the tree labels would not show Chinese or Japanese strings.
- Fixed Drag`n Drop to handle subsequent calls more efficiently.
- Fixed a bug for Mac OS X where the file type was never displayed while viewing a listing in details mode.


7.4.0.1 (January 6, 2009)
=========================
- Corrected a rename bug where attempting to change the letter case of a path would not work correctly.  Introduced in version 7.4.0.0.
- Corrected an upload bug where uploading an existing file with different letter case the resulting file would use the old file name.  Introduced in version 7.4.0.0.
- Corrected an XCRC bug where Serv-U was unable to open the requested file if it was open by another application.


7.4.0.0 (January 5, 2009)
=========================
+ Added the SFTP client name to the log when identifying the client's requested version number.
+ Allow SFTP SSH_FXP_REALPATH commands to work on "." even when the directory rights don't allow listing the directory.  This function returns the full path of the current directory as used by some SFTP clients.
+ Allow SFTP SSH_FXP_REALPATH commands to work on "" (an empty path) as many SFTP servers do.  When an empty path is specified, the user's home directory is assumed.
+ Removed the obsolete FTP command "SITE INDEX".  This functionality is available through the LIST command and the recurse ("R") parameter.  For example "LIST -lR *.txt" lists all text files recursively.
+ Changed the FTP QUIT, HELP, FEAT, AUTH, PBSZ, PROT, HOST, and REIN commands so they can be executed even while the session is required to change the password.
+ Upgraded development environment from Microsoft Developer Studio 2005 to Microsoft Developer Studio 2008.
+ Added support for Opera 9.
+ Added an informational alert dialog to the domain log file path input to clarify to users to include the log's file name in the path.
+ Updated a Russian log string.
+ Updated Swedish strings when starting FTP Voyager JV.
- Corrected a bug where HTTPS sockets may not process received data when running on multiple core machines where there are more than 2 cores or processors (3 or more).
- Corrected a Basic Web Client problem where the cursor was not placed in the edit field for rename.
- Corrected a Basic Web Client bug when using Safari where Safari would download and save files using the server name or IP address instead of the actual file name.
- Corrected a problem where XCRC would not abort when operating on large files.
- Corrected a problem where performing XCRC, STOU, DSIZ, AVBL, RNTO (moving a large file to another volume), RMDA (remove directory and contents) operations could cause Serv-U to stop accepting connections and commands when these commands were lengthy.
- Corrected an FTP PORT bug when using multiple IP addresses on the same subnet, Serv-U might not bind over the correct IP address (interface).
- Corrected an FTP LIST bug where listing recursively using wildcards would not recurse directories.
- Corrected an FTP LIST bug where listing recursively when a mask was specified, the mask was shown as part of the subdirectory label.
- Corrected an FTP HELP bug where nested commands such as "HELP SITE CHMOD" would show only the command information for "HELP SITE".
- Corrected an FTP HELP bug where "HELP OPTS UTF8" would show only the help information for "HELP OPTS MODE".
- Corrected an FTP USER bug when a password was expired, but the original password was blank, "500 INTERNAL ERROR" response was returned instead of "233 User logged in, PASSWORD EXPIRED - please change before proceeding.".
- Corrected an FTP SITE PSWD bug where if either specified password was blank, the command would be interpreted incorrectly.
- Corrected an FTP THMB bug where specifying an invalid thumbnail type could cause an invalid result code.
- Corrected an FTP STOR bug with certain clients where uploading many small files over a LAN could cause Serv-U to neglect telling the client a file was uploaded.
- Corrected an FTP CCC bug when using a fast connection, Serv-U could switch out of SSL mode after the next command comes in causing Serv-U to misinterpret the next command.
- Corrected a thumbnail creation bug while logged in as a Windows User where the logged in user doesn't have read and write permission to the Windows Temporary directory, Serv-U was unable to create thumbnail images.
- Corrected an SFTP bug where setting the file attributes for a read-only file was not possible.
- Corrected an SFTP bug where setting the file size using the SFTP attributes would fail, Serv-U was not returning an error.
- Corrected an SFTP bug when creating a directory, the attributes parameter was being ignored.
- Corrected an SFTP bug where certain permissions where not being verified correctly.  For example, a writable file could be over written when delete permissions were not enabled for that file.
- Corrected an SSH bug where the login ID and passwords were not being UTF-8 decrypted.
- Corrected an SSH bug where client-server key re-exchange would succeed, but Serv-U was unable to decrypt subsequent SSH packets due to Serv-U failing to use the previous SSH Session ID.  SSH key re-exchange usually occurs after each gigabyte of data transfer or each hour of connection time.
- Corrected an SSH bug where disabling all ciphers or MACs could cause Serv-U to crash or leak memory when a client connects.
- Corrected an internal HTTP file request bug while logged in as a Windows User where the logged in user doesn't have read permission in the installation's HTTP directories, Serv-U was unable to download and use certain files, such as larger image files.
- Corrected an HTTP download bug, introduced in version 7.3.0.2, where compression was being used when downloading already compressed files.
- Corrected an HTTP download bug when compression was being used and the result of run-time compression was larger than the original file, a partial file could be downloaded due to the client's use of the "Content-Length" HTTP parameter.
- Corrected an HTTP logging bug where smaller downloaded files may not be logged after successfully downloaded.  This race condition appeared more frequently on multi-core computers.
- Corrected an HTTPS download bug where IE 7+ could truncate the downloaded file under certain circumstances.  The solution involves removing the HTTP parameter "Content-Length" for IE 7+.  When not included IE is not able to show the download progress for the file.
- Corrected a user database bug when enabling or disabling a user account outside of the Serv-U Management Console would not allow logins from the user account until Serv-U was restarted.
- Corrected an Oracle database bug where Oracle performs case-sensitive searches, however Serv-U uses non-case-sensitive searches.
- Corrected a bug in the Management Console when entering and saving the Credit value for "Count bytes over all sessions", the value would be retrieved as NaN.
- Corrected a bug where creating SSL certificate and SSH private key files might fail, when an administrator's home directory is "\" (the entire computer).
- Corrected a tray balloon tip bug when Serv-U wasn't listening on all IP addresses when users would login Serv-U would show the balloon tip saying Serv-U was on-line.
- Corrected a log file rotation bug where Serv-U would not properly rotate log files when using monthly or yearly.  The rotation would be delayed approximately 24 hours causing 1 day of log information to be placed in the wrong log file.
- Corrected a logging bug where the proper letter case for paths was not being used in the log.
- Corrected a problem when using many IP addresses (255 or more) on a single computer, Serv-U would use too much CPU time every 15 seconds causing certain operations to be delayed.
- Corrected a problem when using many listeners (255 or more), Serv-U would use too much CPU time every 5 seconds.


7.3.0.2 (October 10, 2008)
==========================
- Corrected a bug introduced in 7.3.0.1 where moving a file to another directory or renaming in the same directory would fail when the user account was locked in the home directory.
- Corrected a bug with UTF-8 encoding / decoding, where certain names would cause an incorrect result.
- Corrected a problem when downloading files with non-ASCII file names in the Basic Web Client, where the file name was not UTF-8 encoded.
- Corrected a bug in the Management Console where borders for group boxes were missing when using Internet Explorer 6.
- Corrected a bug in the Management Console where the code column in the FTP Response list was not being populated on initial loading.
- Corrected a bug in the Basic Web Client where file names with an ampersand character were not being encoded properly.


7.3.0.1 (October 8, 2008)
=========================
+ Added the ability to view and download 3 different sized images on the iPhone/iPod Touch (small, medium, and full-sized).
+ Changed iPhone/iPod Touch keyboard so that it doesn't start automatically with CAPS on for all input fields.
+ Improved "Unable to establish SSL connection" log message when the client simply disconnects during the negotiation phase.  This usually indicates that the client has rejected the SSL certificate.
+ Improved the Basic Web Client for the iPhone and iPod Touch by disabling the parent directory buttons when in the user's root directory.
- Corrected an iPhone/iPod Touch bug where the "Up Directory" button would not work in the home directory if the user wasn't locked in the home directory.
- Corrected a problem where large HTTP/HTTPS uploads could pause indefinitely.  This problem could appear when Serv-U was running on a multi-processor / multiple-core server.
- Corrected a Basic Web Client bug where keyboard focus was not reset to the file list after a delete confirmation dialog was displayed.
- Corrected an FTP display bug when specifying a wildcard character such as "*" or "?" as a parameter for a path name, Serv-U would return the first file with the matching name in its response.
- Corrected an SFTP bug where closing a file handle, and attempting to set the file attributes on a file where permission is denied could cause Serv-U to crash.
- Corrected a bug in FTP Voyager JV where uploading a directory with the same name as the destination would produce an error.
- Corrected a security bug where specifying a Windows port (such as CON:, LPT1:, PRN:, etc.) when using the STOU command, could cause Serv-U to consume all of the CPU time on a processor.  This problem could only occur when write privileges were granted to the specified directory.  (Secunia SA32150)
- Corrected a security bug with rename where moving a file or directory to a location where delete privileges were not granted for an existing file or directory, would cause the file or directory to be moved.  (Secunia SA32150)
- Corrected a security bug with rename where placing the destination in "\" (i.e., "My Computer") would cause the file to moved to the current Windows directory.


7.3.0.0 (October 1, 2008)
=========================
+ Added Basic Web Client support for the iPhone and iPod Touch.
+ Added a new path macro, %DOMAIN_HOME% to allow home directories, Virtual Paths, and directory access rules to use the specified home directory for the domain.
+ Added the ability to use the "Enter" key to save settings in the limits dialog.
+ Added a log message that identifies when a file has been downloaded as a thumbnail instead of just identifying the file as having been downloaded.
+ Added a log message that identifies the start of an upload or download in SFTP.  FTP and HTTP both included this log message, but SFTP did not.
+ Added the ability to enable or disable automatically starting of the tray application from the tray's pop-up menu.
+ Added support for the MFMT (Modify Fact: Modification Time), MFCT (Modify Fact: Creation Time), and MFF (Modify Fact: Facts) FTP commands (according to draft-somers-ftp-mfxx-04).
+ Added Management Console support for Google Chrome.
+ Added additional trouble shooting information for the FTP Voyager JV start page when running Safari.
+ Changed the installer to recognize whether or not the tray application is started automatically upon login to Windows.  The installer now maintains this setting between installations.
+ Improved reverse DNS handling for servers implementing very large numbers of banned IP addresses, Serv-U now places priority on session reverse DNS requests.
+ Improved background timer handling in the case where a server is so busy the process is CPU starved; in such situations internal timer execution is forced to ensure execution of background processes.
+ Improved several Russian strings.
+ Improved support for certain FTP clients that send extra invalid characters as part of their "ABOR" FTP command.
+ Removed the Serv-U Version number from all HTTP pages except for the Management Console.
+ Removed the HTTP restriction ensuring session requests were coming from the same IP address.  This is necessary for clients, such as the iPhone, whose IP address changes very frequently.
+ Updated OpenSSL libraries from 0.9.8h to 0.9.8i.
- Corrected a Windows Authentication (NT-SAM/AD) bug where disabling Windows Authentication while a Windows user was logged in using HTTP, could cause Serv-U to crash (GPF).
- Corrected a Windows Authentication (NT-SAM/AD) bug when logging to a file where the Windows user didn't have write permissions; Serv-U was unable to write to the log file.
- Corrected an SFTP bug where SSH_FXP_OPENDIR was not returning an error code when the specified directory didn't exist.
- Corrected an SFTP bug where certain SFTP clients were unable to resume uploads because they were not requesting append permissions on the file to be written.
- Corrected an SFTP bug where file transfers were not being recorded to prevent session timeouts.
- Corrected an SFTP bug where upload transfer limits were not being observed.
- Corrected an SSH bug where some SFTP clients could cause Serv-U to consume excessive amounts of memory and eventually crash during an upload on a LAN connection.
- Corrected an SSH bug where the initial protocol identification exchange and key exchange packets (SSH_MSG_KEXINIT) when included in one physical packet from the client, Serv-U would not recognize the key exchange causing the connection to fail.
- Corrected an SSH bug where the incoming and outgoing sequencer values could go negative causing SFTP clients to fail after transferring a lot of packets.  This is a very rare problem, almost impossible to occur, affecting transfers of incredibly large files.
- Corrected an SSH bug where the server-to-client cipher's block size was being used instead of the client-to-server cipher's block size for incoming SSH data packets.
- Corrected an SSH bug where the server-to-client MAC length was being used instead of the client-to-server MAC length for incoming SSH data packets.
- Corrected an SSH bug where some clients would select encryption algorithms that were disabled via the Management Console.
- Corrected an SSH bug where some clients would select SSH MAC algorithms that were disabled via the Management Console.
- Corrected an SSH problem where the Solaris 9 client waits for Serv-U to send SSH2_MSG_NEWKEYS after the SSH2_MSG_KEXDH_INIT command.  Now Serv-U sends SSH2_MSG_NEWKEYS immediately after a successful SSH2_MSG_KEXDH_INIT command.
- Corrected an SSL (FTPS and HTTPS) bug where when closing a socket the SSL connection was not properly shutdown via the SSL protocol.
- Corrected a Basic Web Client bug in the upload dialog where scroll bars were visible when running Firefox 3 in Windows Vista.
- Corrected a bug when using Firefox 3, and the selected user's last command was too large for the display, the information would go beyond the group box's boundary.
- Corrected a group box display issue when using Internet Explorer, under the Encryption tab in the Management Console for the server.
- Corrected a bug when restricting use to secure connections only; Windows Authentication would allow non-secure logins for users even when secure connections were required via the server, domain, or group.
- Corrected an HTTP/HTTPS transfer limit bug where domain and server transfer limits were not being applied.
- Corrected an HTTP/HTTPS session timeout bug, where "Session idle time out" would appear in the log even though there was no actual timeout that occurred.
- Corrected an HTTP/HTTPS upload bug where uploading very small files could cause the Basic Web Client to appear hung, especially on faster multi-core computers.
- Corrected an HTTP/HTTPS upload bug where uploading very large files on fast networks could cause Serv-U to use large amounts of memory and fail during the upload.
- Corrected an HTTP/HTTPS logging bug where the "HTTP_ERROR: unable to store..." message would contain garbage information for the file name.
- Corrected a bug where automatic home directory creation would not work, in some cases, when macros were being used as part of the home directory.
- Corrected a Russian translation error.
- Corrected a problem where the Russian Navigation menu would wrap to another line.
- Corrected a MySQL bug when using older MySQL versions lower than 5.0, Serv-U would not escape backslash characters.  MySQL 5.0 and greater provide a method for disabling the need for escaping certain characters.
- Corrected a bug in FTP Voyager JV where certain files would not open on Windows Operating Systems.
- Corrected a bug in FTP Voyager JV where overwriting directories would request a confirmation from the user.
- Corrected a bug in FTP Voyager JV where double-clicking on the remote toolbar's back or forward button would cause an invalid state to occur.
- Corrected a User Creation Wizard bug where the incorrect error message could be displayed when the password didn't meet length and complexity limits.
- Corrected a bug where password length and complexity was being checked for the anonymous user account.  Anonymous user accounts don't normally have associated passwords so verification during account creation or modification is not required.
- Corrected a Management Console bug where a certain sequence of selections could cause buttons to appear incorrectly in the user dialog.
- Corrected an installer upgrade bug, when upgrading from Serv-U 6.1.0.5 and lower; installation as a system service would not work correctly.
- Corrected an installer upgrade bug, when upgrading from Serv-U 6.1.0.5 and lower; the installer was unable to shutdown Serv-U.
- Corrected an installer bug when reinstalling from a service to not as a service, the service settings were not being removed during the second installation.
- Corrected an inconsistency in the FTP LIST command, where Serv-U versions < 7.0 would perform an empty listing, but Serv-U 7 would return a 550 error code.
- Corrected an MLST/MLSD bug where UTF-8 paths might not be interpreted correctly.
- Corrected an MDTM bug where specifying the time zone offset to set the date and time of a file would fail.
- Corrected a bug while using compression via FTP, Serv-U could stop accepting uploaded data if conditions were right.
- Corrected a bug where changing to a directory that should be hidden was allowed.  User permissions for reading and writing were working correctly, however clients could change to the directory, which could allow the client to identify the existence of a directory.
- Corrected a group database bug where changing the group name would cause a new group to be created in the database with the changed group name.
- Corrected a group database bug where changing the group name would not update users using the group.
- Corrected a cosmetic bug where updating a group name by only changing the letter case Serv-U would not update the group name for users in the group.
- Corrected a cosmetic bug where changing the letter case of user information that is displayed in the administrator's user list, the list wouldn't update.


7.2.0.1 (July 30, 2008)
=======================
+ Added the ability to attempt to set SFTP file attributes for directories so certain SFTP clients don't fail after directory creation.
+ Placed focus on the "OK" button in the welcome message dialog.
+ Added the ability to include or not include virtual paths when determining maximum directory sizes.
+ Added a disabled icon to identify automatically disabled users in user lists.
+ Placed focus on the directory path input in the Create Directory dialog.
- Corrected a scroll bar issue in the Management Console when using the Safari browser.
- Corrected a bug in the Management Console where group boxes were missing borders when using Internet Explorer 7.0 in Windows XP with the theme set to Windows XP.
- Corrected a bug when connecting using NetBIOS computer names over a LAN, the Management Console would not "remember" the selected domain and other settings.
- Corrected an SSH bug where login using accounts without passwords was not working.
- Corrected an SFTP (SSH) bug where directory creation and logging SFTP commands could cause Serv-U to show invalid information for the directory name or crash Serv-U.
- Corrected a Basic Web Client bug in the browse dialog where the "@" character was not decoded properly when selecting a directory path.
- Corrected a Basic Web Client bug where only using wildcard masks to specify upload directory permissions (such as *.txt, *.jpg, etc.), the Upload button would not be available to users.
- Corrected a Basic Web Client bug where directories containing more than 100 files or directories would not fully appear in the list when the size of the browser window was very tall.
- Corrected a Basic Web Client bug where the wrong object was being loaded for the Media Player in Safari.
- Corrected a bug where logging to a file with an invalid path would cause user login failure.
- Corrected a bug with automatically disabled user accounts, where editing an automatically disabled account was not allowed, and a message appeared saying the user already existed.
- Corrected a bug where automatically disabled users could cause memory consumption to grow more than what was required.
- Corrected a bug when uploading via HTTP using the Basic Web Client or FTP Voyager JV and an upload was unable to start (such as when permission is denied), Serv-U would report the wrong error code back to the client.
- Corrected a duplicate write operation (to disk or database) when user passwords were changed by clients.
- Corrected a problem when using multiple copies of Serv-U, sharing the same database, user information could get lost.
- Corrected a Microsoft Access database bug when attempting to retrieve column information from the database would cause an error causing Serv-U not to recognize users stored in a Microsoft Access database.  Other supported databases were not affected.


7.2.0.0 (July 16, 2008)
=======================
+ Added support for FTP Voyager JV to run on the Mac OS X operating systems that have Apple's Java SE 6 update installed.
+ Added support for Apple Safari.
+ Added support for Mozilla Firefox 3.
+ Greatly decreased memory usage while maintaining user collections in the Management Console, especially while working with very large numbers of users.
+ Improved database access times, mostly apparent while the Management Console is building the database users list.
+ Added support for Oracle databases.  Tested with Oracle XE.
+ Added the ability to set a maximum disk space size for a domain, configurable only by a system administrator, not a domain administrator.  This feature allows hosting companies to limit the amount of disk space used by a single domain.
+ Added the "Venture" theme for the tray icon.
+ Decreased memory usage while upgrading from Serv-U 6.x.
+ Added Russian language installation.
+ Added the ability to manually enter a directory path to go to in the Basic Web Client.
+ Added an upgrade message (when upgrading from Serv-U 6.x) that explains message variable formats have changed to start with "$" instead of "%".  Message files must be converted manually.
+ Updated Swedish, Finish, Norwegian, and Danish strings.
+ Improved the Basic Web Client upload error handling.  When errors occur during an upload, the Basic Web Client now displays an error message on certain failures such as insufficient disk space and over quota messages.
+ Improved the FTP Voyager JV upload error handling.  When errors occur during an upload, the Basic Web Client now displays an error message on certain failures such as insufficient disk space and over quota messages.
+ Added the ability to switch domains (using Virtual Hosts) during login for FTP clients that do not user or support the HOST command.  The format for the USER command is "USER SP FQDN | username CRLF" where FQDN is the Serv-U virtual host (i.e., "USER host|userid").
+ Added the ability to switch domains (using Virtual Hosts) during login for SSH clients.  The user ID can be specified as the virtual host name, followed by "|" then the login ID.
+ After a successful HOST FTP command, Serv-U also returns the sign on message for that domain.
+ Changed the use of the PASV port range to circulate through each of the ports instead of using the first available port.  This was done so that some NAT routers work better with Serv-U and to be more consistent with previous versions of Serv-U.
- Corrected a bug on some systems when running as a service when access to removable drives was enabled only for the console user, not the service account (via HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, values allocatefloppies, allocatedasd, and allocatecdroms set to 1), Serv-U would prompt for a password when trying to configure Serv-U via the tray application.
- Corrected a bug where clicking the next button in the Media Player dialog when the last media file is selected would cause an error.
- Corrected a bug in the Tray's Theme Editor where the "Running" and "Listening Error" states were reversed.
- Corrected a bug in Serv-U's Group support where Serv-U was not ignoring the letter case of a group name, so when using database configurations from Serv-U 6.4 and lower, Serv-U would not recognize matching groups.  In some cases this could lead to excessive use of memory.  Servers not configured by previous versions data set are not affected.
- Corrected a bug where user collections were letter case sensitive by name.
- Corrected a bug in FTP Voyager JV where the application would become unresponsive when attempting to open certain local file types.
- Corrected a bug in FTP Voyager JV where date/time formats for different regions would cause FTP Voyager JV to become unresponsive at startup.
- Corrected a bug in FTP Voyager JV where overwritten files were not being refreshed with the updated file information.
- Corrected a bug in FTP Voyager JV where the formatted text in the transfer table's "Name" column was including directories for the number of files in the transfer group.
- Corrected a bug where window load events in the web browser were not being handled correctly.  FTP Voyager JV would not automatically load due to this bug.
- Corrected a bug where backgrounds were being shown on images in the web page for starting FTP Voyager JV, when running Internet Explorer 6.
- Corrected a bug where the horizontal scroll bar would be shown in certain grids due to a sizing problem with grid columns.
- Corrected a bug where the FTP command, MDTM, was not allowing dates and times to be set on directories.
- Corrected a bug where the "Always allow login" input check box in domain groups was not being saved correctly.
- Corrected a bug where using Upload/Download Ratios could cause Serv-U to crash (GPF) when a user logs off.
- Corrected an HTTP quota bug where quotas were being ignored, and bytes would be counted double.
- Corrected a quota bug where the current quota bytes could go negative.
- Corrected a quota bug where overwriting existing files from the first position in the file (i.e., not resuming), would not restore credit to the quota.
- Corrected a quota bug where bytes uploaded were being recorded even when a quota was not in place.
- Corrected a bug where transparent PNG images on the login page were not rendering correctly when using IE 6.
- Corrected a Management Console bug where the rows in certain tables would not be displayed.
- Corrected a bug where changing the listener to a different type, but keeping it on the same port, would cause Serv-U to think it wasn't listening correctly, showing warning icons in the listener list and on the tray.  This was a rare user configuration bug, and only occurs due to user action.
- Corrected a bug where Serv-U would attempt to recreate listening sockets when it didn't need to.  This didn't affect Serv-U's performance, but this timed operation did use unnecessary CPU cycles.
- Corrected a problem where the floppy drive could be accessed when starting the tray's Management Console.
- Corrected a problem in the Management Console where images in the alert dialog would be broken if the connection with Serv-U was lost.
- Corrected a bug when using a Domain or Server level FTP message file containing a blank line, Serv-U could crash (GPF).
- Corrected a bug where setting a directory access rule maximum size for %HOME% or a directory containing %USER% would be ignored.
- Corrected a bug where setting a directory access rule for a directory without the Inherit permission, would cause listings using specific file names or wildcard file names to fail with a "Permission Denied" error.
- Corrected a wildcard permission problem where specifying wildcard access prior to other access, the wildcard access may not work as it did in previous versions.
- Corrected a permissions bug when resuming an upload.  Serv-U was requiring delete permissions when append permissions were required for the resume.  Delete permissions are only required when resuming anywhere other than at the end of the file.
- Corrected a bug where $DFree was returning the free disk space in KB instead of MB, as documented.
- Corrected a bug where message files using $IP could incorrectly assume an IP address returned by $IP (or other $ variable starting with a 3 digit number) was part of the FTP response code.
- Corrected a help documentation error where "$ServerDownloadAvgKBs" was documented, where it should have read "$ServerDownloadAvgKBps".
- Corrected a help documentation error that included incorrect information about disabling SSLv2 support.
- Corrected a bug where $UNonAnonAll could return a huge number (18,446,744,073,709,551,615 [0xFFFFFFFFFFFFFFF]).
- Corrected a bug where $U24H would return large numbers when HTTP connections also occurred.
- Corrected a bug where the bubble tip on the console page for domain administrators would not be shown.
- Corrected a bug where users just added to Serv-U would be required to change the password immediately instead of the specified number of days.
- Corrected a bug where Serv-U was not allowing "level 1: CA certificate" (the second level) and higher Certificate Authorities to be verified with clients.
- Corrected a bug where certain path fields could not be cleared, such as the Log File Path field for a domain.
- Corrected a database bug where numeric login IDs were being incorrectly selected from the database, due to missing quotation marks in the SQL search string.  Databases were considering login ID "1" to be the same as "01".
- Corrected a database bug where custom column mappings were not working.


7.1.0.2 (June 2, 2008)
======================
+ Updated OpenSSL libraries from 0.9.8g to 0.9.8h.
+ Changed the verification for FTP Voyager JV to show whether the license is a trial, enabled, or disabled depending on the license status.
+ Updated Swedish and Italian strings.
+ Added icons for ISO files in the Basic Web Client.
- Corrected a user file name bug where using a reserved Windows file name such as "PRN" as the login ID, Serv-U was unable to store the user's archive file.
- Corrected an upgrade bug concerning the way files are opened when downloading.  The setting, if not the default, was not being imported.
- Corrected a bug where the check for cookies being enabled was not working correctly when logging in through the tray.
- Corrected a bug where text was allowed to be selected in the Basic Web Client when using Firefox.
- Corrected a rare bug in the Management Console where a script error could occur when viewing the list of groups available for a user to join.
- Corrected a bug when updating from previous versions, the local administrator password may not have been imported when custom certificates were being used.
- Corrected a bug in FTP Voyager JV where dropping files outside of the table's columns would not initiate the transfer to the working directory.
- Corrected a bug in FTP Voyager JV where if a rename of a file failed, the GUI would not refresh itself to show the original file name.
- Corrected a bug in FTP Voyager JV where uploading nested directories would cause the transfer to stop working.
- Corrected a bug in FTP Voyager JV's remote panel where attempting to get thumbnails when there weren't any to retrieve would cause serious errors and unexpected results.
- Corrected a bug where Serv-U wasn't following individual file mask directory access WRITE rules when uploading when LIST for the mask was also disabled.  For example, disabling all permissions of "*.exe" using directory access rules, Serv-U would still allow uploading of any .EXE file if the proper parent permissions were set.
- Corrected a problem where directories using the "[" character would not list correctly due to *NIX wildcard comparison support.  Support for character set filtering has been removed from Serv-U.
- Corrected a bug where moving users to a different user collection would lock up the Management Console (not Serv-U itself) and the move would fail.
- Corrected a bug where using the enter key to move to the next section in the User Wizard dialog would fail to put focus in the next input field.
- Corrected a bug where changing a user's password type would lock up the Management Console and the dialog could not be closed.
- Corrected a bug where using the drive volume combo box in the browse dialog would cause the select and close buttons to no longer work.


7.1.0.1 (May 27, 2008)
======================
+ Added the ability to go directly back to the home directory in the Basic Web Client.
+ Added the ability to shuffle playlists in the Basic Web Client (Internet Explorer only).
+ Added the ability to use the previous and next buttons, in the Basic Web Client, to skip audio files when using the playlist feature.
- Corrected an Internet Explorer 6.0 problem after login, where the background of the Basic Web Client and FTP Voyager JV icons was not transparent.
- Corrected a bug where archival of user and server settings when the disk drive is full, would cause configuration files to become lost.
- Corrected a bug where Serv-U could crash (GPF) when attempting to add a user when the disk is full.
- Corrected a bug when saving administrative changes to the archive file when the disk is full.  Serv-U would update objects in memory even when it couldn't archive to the hard drive due to a full disk.
- Corrected an SFTP problem where the response SSH_FX_FILE_IS_A_DIRECTORY was returned instead of SSH_FX_NO_SUCH_PATH when attempting to create a file whose parent directory doesn't exist.
- Corrected the text of an SSH message regarding a file being a directory, the message returned said the directory was a file.
- Corrected a Management Console bug introduced in version 7.1.0.0 that prevented configuration of Global Groups.
- Corrected a Management Console bug introduced in version 7.1.0.0 where secure FTP connections labeled in the Activity Monitor used "%20" instead of a space.


7.1.0.0 (May 19, 2008)
======================
+ Improved the speed of directory listings in Basic Web Client and browse dialog by 65%.
+ Greatly improved the speed at which listings of large amounts of data are displayed, especially large User collections.
+ Greatly improved the sorting speed in the Basic Web Client and browse dialog when reversing the sort direction.
+ Added the ability to play audio and video files from within the Basic Web Client.
+ Added the ability to play all audio files continually from within the Basic Web Client.
+ Added UTF-8 file name and path support to FTP.  Serv-U supports the "OPTS UTF8 ON|OFF" command to enable or disable UTF-8.  By default UTF-8 is enabled for the FTP protocol (RFC 2640), but can be disabled if desired.
+ Added support for CSID (Client / Server Identification Exchange) to identify the client to the server, and the response identifies the server to the client.  The information exchanged includes the name and version number of the client and server, and information about the server including the operating system, file system letter case sensitivity, operating system version number, and directory separator.  This command obsoletes the CLNT command.
+ Added the "SITE HELP" and "SITE HELP cmnd" command to support clients, such as Internet Explorer, that make this request.
+ Added a new configuration option for NLST, where NLST can be configured to list empty directories instead of returning "550 No file found.", which is more meaningful to FTP clients than returning an error code.
+ Added new tags for FTP and HTTP (welcome message) string replacement.  The new tags are $ServerName, $OS, and $OSVer.
+ Added new tags to the System Variables section of the Help documentation under Additional Reference.  The new tags are $ServerName, $OS, and $OSVer.
+ Added client identification to the list of active connections for SSH connections.
+ Added the ability to disable the server identification for SSH for the entire server or for individual domains.
+ Added the ability to disable the use of Windows User (Active Directory / Windows Login) home directory in favor of the group home directory.
+ Improved the use of the SSH local "Window Size" to improve SFTP performance, especially for uploads.
+ Changed the default NLST operation to list empty directories instead of returning an error code; "550 No file found.".  Upgrades from Serv-U 6.4 and earlier will still return the error code unless changed manually.
+ Changed the default open file mode for downloads to "Full Access" like in previous versions of Serv-U.
+ Changed the installer to convert Serv-U 6.4 and previous to also keep the open file mode for download.
+ Changed Virtual Paths' physical path to allow the use of %HOME% and %USER% in the physical path in addition to in the virtual path fields.
+ Changed the XCRC FTP command to accept parameters even when the file name isn't wrapped with quotation marks.
+ When Windows shortcut files (.LNK files) are encountered, and the target no longer exists or cannot be found, Serv-U treats the shortcut like any other file.
+ Updated Swedish and Japanese tray strings.
+ Removed the "Windows Authentication" tab from the server global user settings, as it was non-functional.  Windows authentication may be enabled only on a domain-by-domain basis.
+ Slide Show mode for the Basic Web Client now navigates images according to the current sorting arrangement.
+ Increased the size of the Address column in the IP access rules list.
+ Added the removal of files that are not found when performing a delete, copy, or rename operation in FTP Voyager JV.
+ Added better status information to the delete and copy dialogs of FTP Voyager JV.  It now shows the files inside a directory that is currently being processed.
+ Improved responsiveness of user interaction by reducing the load on the worker threads of FTP Voyager JV.
+ Improved FTP Voyager JV's transfer speed by using buffers with dynamic sizes.
+ Added a password change confirmation dialog to FTP Voyager JV that shows if the operation was successful.
+ Appended an index counter that is shown in FTP Voyager JV's "Name" column of the transfer panel.
+ Decreased the size of the FTP Voyager JV download file by about 85 KB.
+ Removed the email address field from certificate creation dialog as it is not accepted by many certificate authorities.
+ Added the ability to launch FTP Voyager JV from the Basic Web Client.
+ Changed the client selection dialog to use radio buttons instead of a drop down combobox.
+ Added the ability to go back to the Basic Web Client from the FTP Voyager JV launch page.
- Corrected a problem where long path names would cause the logout button to be hidden in the Basic Web Client.
- Corrected a problem with the certificate requests generated by Serv-U that caused Certificate Authorities to reject the CSR file as invalid.  The CSR files generated by Serv-U have been successfully tested and signed using Thawte and GeoTrust.
- Corrected a problem on some systems, usually upgrades from previous versions, where the Management Console could prompt for a password even when one isn't defined for administering Serv-U.
- Corrected a bug where delete privileges were not required to overwrite an existing file.  This change is designed to maintain compatibility with previous versions of Serv-U.
- Corrected a bug where append privileges were not required when resuming transfers with the REST FTP command.  This change is designed to maintain compatibility with previous versions of Serv-U.
- Corrected a bug where the AVBL and DSIZ commands would return an invalid value when attempting to list the non-existent "\" directory (i.e., all drives).
- Corrected a bug where an FTP active data socket that was supposed to bind on 127.0.0.1 (localhost) Serv-U wouldn't bind to that IP address only.
- Corrected a bug when attempting to rename a drive, Serv-U would not return with an error code.
- Corrected a bug where issuing PASV then ALLO instead of immediately trying to transfer a file, the ALLO command (or any non-transfer threaded command) could fail due to a misinterpretation of an internal result code.
- Corrected a bug in the XCRC FTP command where sending "XCRC file.fid", then "XCRC file.fid 0 100" would generate the same result even though the second command checks only part of the file, not the entire file.
- Corrected a bug in the log where the log would show a blank user name when a user not requiring a password would login.
- Corrected an HTTP / HTTPS login bug with Windows Authentication, where the login could appear to hang with the "Loading" dialog.
- Corrected an HTTP / HTTPS login bug with Windows Authentication, where the welcome message may not be displayed correctly.
- Corrected improper usage of and punctuation concerning "i.e." and "e.g." in the Management Console and Basic Web Client Help documentation.
- Corrected a problem where the bubble tip dimensions in the management console were not calculated correctly when long title names were used.
- Corrected a bug where the update notification dialog / balloon tip would appear every 2 hours if an update was available.  This notification now only appears every 3 days, as was originally intended.
- Corrected an FTP data socket bug where Serv-U was not recognizing a data socket was closed, and would not allow another data socket on that IP address and port.  This problem showed when attempting to do server-to-server (FXP) transfers.
- Corrected a potential GPF (crash) bug when shutting down Serv-U after clients have connected, using FTP, and changed hosts via the HOST command, to the non-primary domain on the IP address.
- Corrected an SFTP (SSH) bug with the SSH_FXP_FSTAT command where Serv-U would always return SSH_FX_NO_SUCH_FILE.
- Corrected an SFTP (SSH) bug when setting the file attributes, Serv-U was using the "world" bits instead of the "owner" bits for read, write, and execute.
- Corrected an SFTP version 3 (SSH) bug where Serv-U was not setting the permissions attribute of the SFTP file attribute to S_IFREG for files, stopping some SFTP clients from being able to download files.
- Corrected an SFTP (SSH) bug where Serv-U could pause when uploading or downloading files using the *NIX SFTP client.
- Corrected an SFTP (SSH) bug where Serv-U could crash (GPF) when a session timed out due to inactivity.
- Corrected an SFTP (SSH) logging bug where an invalid session number (18446744073709551615) would be logged for some transactions.
- Corrected an SSH problem where Serv-U was not properly handling the SSH remote "Window Size" established by the client.
- Corrected an SSH protocol problem where Serv-U could crash (GPF) when compression wasn't being used, and the client sent an invalid packet size.
- Corrected broken links to additional command information in the FTP Settings dialog where the command consisted of multiple words, e.g., SITE HELP.
- Corrected a bug where Serv-U could crash (GPF) when automatically blocking an IP address for a domain based on invalid login attempts.
- Corrected an ODBC problem with MS SQL 2005 where the database returns failure when data doesn't exist.  Serv-U was attempting to reconnect to the database assuming it had timed out, but it hadn't.  Now Serv-U uses a built-in 5 minute timeout before attempting to reconnect to the database upon errors.
- Corrected an ODBC problem with MS SQL 2005 where the database would return an error regarding "Connection is busy with results for another hstmt".
- Corrected a Basic Web Client bug where the Slide Show could show a placeholder image for the first image if no file is currently selected or the currently selected file is not an image.
- Corrected a Basic Web Client upload dialog width problem where German text would cause the upload path field to scroll.
- Corrected a bug where non-default database column map values displayed HTML bold tags (<b>) surrounding the value when they were edited.
- Corrected a bug where changes to the maximum directory size of a Directory Access rule were not saved if the Enter key was used to save the changes when the keyboard focus was still in the maximum directory size input field.
- Corrected a bug where the right-click context menus were not shown for the FTP command and Limits lists for the Server and Domain.
- Corrected a bug where the limits list did not sort correctly.
- Removed a redundant confirmation dialog from FTP Voyager JV when deleting server-side read-only files.  By default, Serv-U does not allow this operation.  Therefore, a "Permission Denied" failure appears.
- Corrected the height of the View Certificate dialog that caused it to be capable of being dragged partially out of view from within the Management Console.
- Corrected a duplicate FTP response in the Global FTP Properties response codes, for paths that are ports.
- Shortened a partially obscured German string on the Universal Plug-and-Play device configuration screen displayed during installation.


7.0.0.4 (April 23, 2008)
========================
- Corrected an FTP bug with STOR, STOU, and APPE when specifying the destination file path with back slashes instead of forward slashes, and the destination file doesn't already exist, Serv-U would place the file in the user's home directory instead of the requested directory.
- Corrected insertion of erroneous text at the beginning of each page of the Japanese Help documentation for FTP Voyager JV.
- Corrected a bug where Japanese Help documentation was sometimes displayed using an incorrect character set.
- Corrected a bug introduced in 7.0.0.3 where opening the Help documentation from the FTP Voyager JV launch page reset the current display language.
- Corrected a bug where auto login failed when auto selecting a language.


7.0.0.3 (April 22, 2008)
========================
+ Added the ability to move Directory Access Rules, IP Access Rules, and Group Membership to the top or bottom of the list with one click.
+ Improved file transfer performance for SSH.
+ Improved general HTTP performance, this includes the speed of the Management Console, the Basic Web Client, and FTP Voyager JV.
+ Improved the FTP response for the RNFR operation to identify whether permission is denied or a file or directory doesn't exist.
+ Added Japanese help translation.
+ Updated Japanese Management Console strings.
+ Added tray notifications for trial expiration and update period expiration.
+ Optimized socket code so less CPU time is used during receive operations.
- Corrected an SFTP (SSH) bug with the SSH_MSG_CHANNEL_REQUEST command where Serv-U was ignoring the "want reply" parameter and always sending a reply, causing some SSH clients to become confused.
- Corrected an SFTP (SSH) bug with the SSH_FXP_REALPATH_FMT command where Serv-U was always returning a directory, instead of the real path for a file path.
- Corrected an SFTP (SSH) bug when trying to list a directory that doesn't exist.
- Corrected an SFTP (SSH) bug where strings were not being UTF-8 encoded and decoded.
- Corrected a problem when uploading large files via SFTP (SSH), an SSH packet could be missed causing the upload to stop.
- Corrected a problem with the upgrade notice (from versions prior to 7.0) where Asian installations were unreadable due to the use of an incorrect font.
- Corrected a problem with the log filter where it would not update the log with the filtered content correctly.
- Corrected a bug where FTP Voyager JV would receive an incomplete directory listing of large directories while operating in SSL mode.
- Corrected a bug where reseller PNG footer logos were not visible in IE6 or less due to the width and height not being set for the images.
- Corrected a bug in the "FTP Settings" tab under "Limits & Settings" of the Management Console where check boxes for commands with Advanced Options did not properly initialize their values to reflect the current state of the option.
- Corrected a bug where the "NLST command also lists directories" check box under the NLST Advanced Options tab was not visible in Internet Explorer and did not function properly in Firefox.
- Corrected an installation problem when the tray's about dialog was up, and installing, the tray application would not close.
- Corrected a problem when entering registration IDs with carriage return, line feed, space, and/or tab characters in the ID.  When entered into the dialog, Serv-U strips these characters.
- Corrected a bug in the Management Console where <Shift>+Ins would do nothing, it should paste like <Ctrl>+V.
- Corrected a bug when uploading with HTTPS through the Basic Web Client where protocol information was being inserted at the head of the file.
- Corrected a bug where Virtual Path names could be deleted or renamed if the logged in user had the correct permissions for a file or directory that wasn't a virtual path.
- Corrected double punctuation in the "Do not show this message again." checkbox included in Management Console balloon tips.
- Corrected a logging bug where information about a downloaded file was not being logged for any protocol.
- Corrected a logging bug where information about a renamed file or directory was not being logged for HTTP and HTTPS.
- Corrected a logging bug where information about a deleted directory was not being logged for HTTP and HTTPS.
- Corrected a bug when upgrading from previous versions of Serv-U to 7.0 and invalid characters were used for login IDs (/\:*?"<>|) Serv-U would continually show duplicate user accounts in the account list.


7.0.0.2 (April 9, 2008)
=======================
+ Updated Traditional and Simplified Chinese license files.
+ Updated Japanese Management Console strings.
+ Reduced the size of several translated license files.
+ Updated Swedish translation and added as an installation option.
+ Changed the VARCHAR definitions from 512 to 255 for database creation so Microsoft Excel and Microsoft Access can be used as a database for Serv-U.
- Corrected a bug where Serv-U would allow certain operations in the computer root ("\") instead of on a UNC path or drive path.  The computer root is not a physical entity that can be written to or read from.  Because of this operations must be denied.
- Corrected a bug where the copyright text on the Server Details page under the Program Information tab was being wrapped incorrectly.
- Corrected an ODBC bug where the SQL statement used to add columns to an existing table did not work for MS SQL 2000.
- Corrected an ODBC bug where if the columns of data were requested "out of order" (according to the column ordinal) MS SQL 2000 would fail.
- Corrected a problem with old Serv-U Corporate registration IDs.
- Changed how anonymous FTP login works when anonymous login is not allowed.  As with previous versions of Serv-U, when "USER anonymous" is received, it is accepted, until the "PASS xxxx" command is received, when the anonymous login is rejected.  This change is due to Windows Explorer and Internet Explorer, rejecting the user after the USER command causes the login to fail, and not prompt for a user ID and password.
- Corrected a bug where Windows shortcuts to drives would cause a GPF (crash) if Serv-U is treating Windows shortcuts as the target.
- Changed the default ASCII / BINARY transfer mode (which is only cosmetic in Serv-U) to ASCII as with versions prior to 7.0.0.1.
- Corrected a problem where the TYPE FTP command was not supporting the "REPRESENTATION TYPE (TYPE)" format as outlined in RFC 765.
- Corrected a bug in FTP Voyager JV where SSL uploads would insert an HTTP protocol header into the uploaded file.  This also improves the transfer speed.
- Corrected a bug in FTP Voyager JV where the Help button of the About dialog was broken.


7.0.0.1 (April 2, 2008)
=======================
+ Added support for the HTTP protocol with a built-in web client.
+ Added support for the SFTP (via SSH2) protocol.
+ Added support for FTP Voyager JV via the HTTP protocol.
+ Added the THMB command to convert graphical files to thumbnails then download.  The THMB command acts exactly like RETR, except prior to transfer the file is reduced to the specified format and maximum size.
+ Added the HOST command which allows the FTP client to change to a specific domain on the server.  This allows the FTP server to support multiple domains on a single IP address and port.  NOTE: not all FTP clients support this feature.  FTP Voyager, for example, does.
+ Added the DSIZ command to return the size of a directory's contents, including sub-directories.  A directory may be specified, or if left blank, the current working directory is used.
+ Added the AVBL command to return the number of bytes available in a directory.  A directory may be specified, or if left blank, the current working directory is used.
+ Added support to enable and disable specific FTP commands.
+ Added support to change nearly any FTP command responses.
+ Added dynamic HELP information where HELP sends all supported and enabled commands.
+ Added command level HELP.  For example "HELP LIST" returns help specifically about the LIST command
+ Added the use of a floating buffer size when reading from files being downloaded by a client.  The floating buffer size is based on the transfer rate for the ongoing transfer, making transfers much more efficient.
+ Added directory rename rights setting.
+ Added file rename rights setting.
+ Added the "\" path concept.  The "\" path is similar to "My Computer" in Windows Explorer.  When a user's home directory is set to "\" a listing of "/" shows the available disk drives.  Users who are not logged in their home directory can also take advantage of this feature when the "Allow root ("/") to list drives for unlocked users" is set to true at the user, group, domain or server levels.
+ Changed FEAT to list special commands only when they're enabled.
+ Changed the "OPTS MLST" command to be more forgiving of clients that don't follow the RFC exactly.  For example, Serv-U now accepts both "OPTS MLST Type;Size;Modify;Perm;" and "OPTS MLST Type;Size;Modify;Perm"
+ Added the "Perm" feature for MLST and MLSD commands, "Perm" identifies permissions for an item in an MLST/MLSD listing, relative to the connected user.
+ Added the "Win32.dt" feature for MLST and MLSD commands, "Win32.dt" identifies a drive type for disk drive listings, when listing /C:/, /D:/, or /.  This feature will not be returned in a directory listing if the item is not a disk drive.
+ Added the "Win32.dl" feature for MLST and MLSD commands, "Win32.dl" identifies a drive label for disk drive listings, when listing /C:/, /D:/, or /.  This feature will not be returned in a directory listing if the item is not a disk drive.
+ Added more information to the MLST / MSLD Type fact for "os.UNIX=slink" where Serv-U now also appends ":linked_path" if this information is available to the user.
+ Improved Windows Shortcut resolution to also include shortcuts using relative paths and other combinations of attributes.
+ Added the ability to specify path names with spaces when using the "SITE EXEC" command.  If spaces are required, Serv-U parses the file name in quotes.
+ Added the XDEL command, same as DELE.
+ Added RMDA directory as a superset of RMD, allowing the client to delete a directory an all of its files and sub-directories in one command.  An error response indicates that the client should refresh its directory listing to determine which files and sub-directories were deleted and which where not.
+ Changed Windows Link support so that when Windows .LNK files are encountered they are treated as the file they reference when listing, for the SIZE command, and transfer operations.
+ Removed the -L LIST and NLST option because it can conflict with other settings.
+ Perform all lengthy commands in a worker thread, freeing up the main thread to service other clients.  These operations include LIST, NLST, MLST, MLSD, RMDA, RETR, THMB, RNTO, XCRC, STOR, APPE, STOU, SITE EXEC, and all other lengthy operations.
+ Added the use of multiple CPUs to perform CPU intensive activity.
+ Added transfer totals and transfer rates to the "226 Transfer complete." reply.
+ Added compression totals, statistics, and transfer rates to the compressed "226 Transfer complete." reply.
+ Added the ability to define anti-hammer limits for the domain in addition to at the server.
+ Increased the maximum string length in a message file from 195 characters to 512 characters.
+ Added an option to include server response values to the FTP command processor to include the numeric response code in every line of a multi-line response.
+ Added an option to include server response values for individual message files.
+ Moved message file settings with the appropriate FTP command and to individual command processors.
+ Added the ability to set maximum file sizes for files of certain types, based on the file extension.  This feature is implemented through directory access rules where wild cards can be used to identify file access rights.
+ Added maximum directory size restrictions for directories specified in the directory access rules, replacing disk quotas.
+ Added upload and download bandwidth limits for the entire server, each domain, each group, and each user, in addition to session bandwidth limits.
+ Added additional statistics to the STAT command.
+ Improved the ALLO command to check the amount of disk space available to the user, instead of just the hard drive space available.  This change takes into consideration quotas and directory size limits.
+ Added the ability to show directory listings in Microsoft IIS FTP Server (-h:IIS) format or DOS (-h:DOS) (command line from Windows 2000 or greater) format with the FTP LIST command.
+ Added -h:"DOS", -h:"IIS", and -h:"UNIX" (default) LIST directives.  -h:"DOS" lists files and directories similar to the Windows command line.  -h:"IIS" lists files and directories similar to Microsoft's IIS FTP server.  -h:"UNIX" lists files and directories similar to BSD UNIX FTP servers.  Any other -h"xxx" directive reverts back to "UNIX" style listings.  This directive is not letter case sensitive.
+ Changed the operation of IP access rules.  If there are no "allow access" rules, "*.*.*.*" is automatically assumed
+ Added the ability to see blocked IP addresses in the IP access rules list when disconnecting a user from the active session list.
+ When uploading and overwriting a file, the original file is renamed to the specified file name.
+ Changed directory listings not to show "." and ".." when the user is locked in the home directory.
+ In directory listings that show "." and ".." normally, these are properly shown whether or not they exist in Windows.  This helps to aid both in navigation and in preventing the user from being able to determine if a directory is a root virtual path or not.
+ Added the ability to see passwords in the logs on failure, and with FTP commands.
+ Added categorization for users to help organize users into logical groupings.  When users are placed into separate categories the Management Console can perform more efficiently as can Serv-U.
+ Access to virtual paths can now be granted by allowing access to the physical path only.  Previous versions required an explicit access setting to the virtual path as well.
- Corrected an error when exceeding the maximum number of login attempts after being logged in at least once, where Serv-U would return two error replies instead of one.
- Corrected an error where certain LIST and NLST parameters did not work correctly, for example -I:"*.txt" to ignore certain files.
- Corrected an error in MLST/MLSD where Serv-U could return file times 1 hour incorrectly when the server is currently running in Daylight Saving Time and the file date and time is not and vice versa.
- Corrected a bug where "Sub-directory Inherit" was ignored when a full path is specified containing a wildcard string.  For example C:\Windows\*.jpg would not include C:\Windows\System32\*.jpg even when the inherit flag was selected.
- Corrected a bug where recursively listing directories where Virtual Paths referenced the parent directory, would cause Serv-U to crash.
- Corrected a bug when using "blind" directories, where directory access to directories nested at least two deep have access, it was possible for sessions to never be able to go back to the home directory with the CWD command.

Tray
+ Added new style menus.
+ Added the ability use different themes.
+ Added Theme Editor.
+ Added balloon tips.
+ Added automatic update checker.
+ Added support links to pop-up menu.
+ Added more statistics to the mouse over tool tips.


6.4.0.6 (January 2, 2008)
=========================
+ Updated OpenSSL libraries from 0.9.8e to 0.9.8g.


6.4.0.5 (October 1, 2007)
=========================
- Corrected a spelling error in the Serv-U Administrator wizard at step 6 when creating a new domain.
- Maintenance release.


6.4.0.4 (April 16, 2007)
========================
- Corrected a GPF problem when running without a registration ID, or as a trial version.


6.4.0.3 (April 9, 2007)
=======================
+ Updated OpenSSL libraries from 0.9.8d to 0.9.8e.
- Corrected a GPF introduced in version 6.4.0.0 by the upgrade to Microsoft Developer Studio 2005.  The GPF could occur when attempting to connect to a user immediately after the creation of Serv-U's first domain.
- Corrected a GPF introduced in version 6.4.0.0 by the upgrade to Microsoft Developer Studio 2005.  The GPF could occur when attempting to change General server settings while using a non-SSL capable license.


6.4.0.2 (January 29, 2007)
==========================
- Corrected invalid Start menu shortcut to the Serv-U Help file.  It now brings up Serv-U.chm
- Updated all DLL and .EXE resource version numbers to match.
- Corrected an installer error where an old link to "Serv-U Online Help" under the Start menu may not have been deleted when upgrading.


6.4.0.1 (January 24, 2007)
==========================
- Corrected a GPF problem when running without a registration ID, or as a trial version.


6.4.0.0 (January 23, 2007)
==========================
+ Converted help files to Windows CHM (Compiled HTML Help) files for Windows Vista compatibility.  Microsoft eliminated WinHlp32.exe (Windows Help) support in Windows Vista.
+ Upgraded development environment from Microsoft Developer Studio 2003 to Microsoft Developer Studio 2005.  Microsoft changes and additions here address certain Windows and MFC security issues.
+ Added the ability to disable SSL version 2 (SSLv2).
+ Windows 98, 98 SE, Me, and NT 4.0 are no longer supported.  Microsoft has discontinued support for these operating systems and no longer provides DLLs and libraries to developers that are compatible on these operating systems.


6.3.0.1 (October 5, 2006)
=========================
+ Updated OpenSSL libraries from 0.9.8b to 0.9.8d.
- Corrected bug where installer and uninstaller attempted to shutdown the Daemon and tray applications, even if they weren't initially installed.
- Corrected a bug, introduced in version 2.5 (April 1999), where caching of disk quota would not work properly if a user account logged into Serv-U multiple times.


6.3.0.0 (June 12, 2006)
=======================
+ Increased the maximum user name size from 39 to 150.
+ Changed the RClientEventStr add-on structure to have a user size of 151 bytes (150 characters plus a NULL terminator) from 40.  This requires add-ons to be rebuilt with the new structure size.
+ Updated OpenSSL libraries from 0.9.8a to 0.9.8b.
+ Updated the Splash graphic and other graphics to a new look.
+ Added Windows XP style alpha blended icons.
- Updated User Quota image and text in Help documentation that indicated quotas were displayed by the Administrator in KB.  Quotas have been displayed in MB since version 5.1.0.0.
- Corrected usage of kilobits (kb or Kb) throughout Help documentation where kilobytes (kB or KB) was intended.
- Corrected a problem where zlib1.lib was actually 1.2.2.0, not 1.2.3.0.  Now the distribution contains the correct zlib DLL.
- Corrected a bug where changing the PASV port range would cause UPnP to perform operations.
- Corrected a path conversion bug introduced in 6.2.0.0 discovered only in testing environment.  This problem never turned up in production environments.


6.2.0.1 (March 6, 2006)
=======================
+ Changed the UPnP interface to be more forgiving of different brand routers and to search for other resources that might help to perform port mapping.
+ Changed the UPnP behavior when disabled, the UPnP discovery no longer occurs, no UPnP requests are made when disabled.
- Corrected a bug, introduced in 6.2.0.0, where virtual directories would not work when using long physical path names.
- Corrected a bug, introduced in 6.2.0.0, folder names ending with a tilde character (~) were treated as the user's home directory to the left of the tilde (~)
- Corrected a bug, introduced in 6.2.0.0, folder names either "COM" or "LPT" (without the port or printer number) were treated as DOS devices.


6.2.0.0 (January 23, 2006)
==========================
+ Added support for Asian character sets.  Serv-U now properly handles Asian characters in paths and file names on Asian language Windows.
+ Added support for "Universal Plug and Play" (UPnP) to automatically configure NAT routers to allow incoming connections.
+ Added support to add Serv-U to the Windows Firewall exception list.
+ Changed "Start Administrator" menu option to be bold, since this is the default tray icon (i.e., double click action on the tray).
+ Many enhancements and optimizations throughout to use MS Visual C++ 2003 .NET compiler.
+ Converted tray icon to be built by MS Visual C++ compiler.
+ Converted from using Wise installer to using Inno Setup, resulting in smaller installation executable (approximately 33% smaller).
+ Added %ServerVersionShort and %ServerVersionLong keywords to the system parameters list.
+ Added additional command line parameters for ServUDaemon.exe.  See "Engine Overview" topic in the Help documentation for more information.
+ Optimized help documentation images, reducing help doc size by 50% without noticeable image quality degradation.
+ Updated ServUPerfCount.dll to build with MS Visual C++ 2003 .NET compiler.
+ Added version information to resources for all .EXE and .DLL files.
+ Updated Version.txt style to be consistent with other RhinoSoft.com products.
+ Removed McAfee warning dialog from installer (added in version 6.0.0.1 release).
+ Increased automatic server shutdown time from 15 seconds to 30 seconds to compensate for longer shutdown times due to UPnP.
+ Added the Serv-U Daemon build date to the global system log.
- Corrected daemon string that reported trial usage in the log as "Professional Edition."  Serv-U operates as the "Corporate Edition" during trials.
- Corrected a minor memory leak at shutdown only.  This memory leak did not have any affect on Serv-U itself while running.


6.1.0.5 (November 7, 2005)
==========================
- Changed "150" connection response of STOU command to comply with RFC1123.
- Fixed bug in handling 64-bit numbers caused by porting to MSVC compiler.


6.1.0.4 (October 31, 2005)
==========================
+ Added 1 second timer tick event for add-on DLLs, EVNT_TimerTick.
+ Added support for S/Key one-time-passwords for remote administrator accounts.
+ Changed to ZLib v1.2.3 and OpenSSL v0.9.8a.
+ Changed timer code in Serv-U to use multi-media timers, to avoid timer starvation on a busy server.
+ Many code changes due to porting code to MS Visual C++ compiler.
+ File ServUDaemon.ini now restricted to Serv-U directory.
- Fixed bug when using '~' as part of path names.
- Fixed bug allowing malformed packets to remotely crash the server.
- Fixed bug causing server crashes when using the option to disable an account at a specified date.
- Fixed bug causing excessive memory use by Daemon under certain conditions.
- Fixed bug in handling of CCC command.


6.1.0.1 (July 4, 2005)
======================
+ Added version resources to ServUTray.exe file.
+ Removed pointed-to-path for links from MLSD, to avoid possibility of spaces within 'facts' section.
- Fixed bug in MLST preventing listing of some files.


6.1.0.0 (June 30, 2005)
=======================
+ Added support for MLST/MLSD commands.
+ Added support for Windows event logging.
+ Added support for minimum password length, password expiration, and requiring complex passwords.
+ Changed dir listing code for "LIST -T" to include all files (as per '-a' option).
+ Added option to interpret Windows' shortcuts as UNIX-style links, or regular files.
+ Changed "only lower case for files/dirs" from server to domain setting.
+ Added tamper-proofing of the executable to prevent abuse of Serv-U for Trojans.
+ Changed code to restrict INI file to ServUDaemon.ini only, it is no longer optional.
+ Changed code to restrict EXE file to ServUDaemon.exe only.
- Fixed bug where upper case %USER% was not recognized for the physical part of virtual paths.
- Fixed bug that erronously showed 127.0.0.1 as the server IP for connected clients.
- Fixed bug where REST offset did not get canceled after STOR or RETR.


6.0.0.2 (January 5, 2005)
=========================
+ Changed default socket buffer sizes from 8K to 32K to improve server throughput.
- Fixed bug causing compressed uploads to fail occasionally.


6.0.0.1 (December 13, 2004)
===========================
+ Changed "Always allow login" so this user also has no bandwidth limits.
+ Added dialogbox to installer to warn against McAfee flagging/deleting Serv-U.
- Fixed bug in NT-SAM/AD domains, causing users to be unable to use network shares.


6.0.0.0 (December 7, 2004)
==========================
+ Added support for NT-SAM / Active Directory domains.
+ Added support for local Admin password.
+ Added support for disabling account on expiration.
+ Added support of %user% directive in the physical part of virtual directory mappings.
- Fixed bug causing compressed downloads to fail occasionally.


5.2.0.1 (September 27, 2004)
============================
- Fixed bug in STOU command causing Daemon crashes.


5.2.0.0 (September 7, 2004)
===========================
+ Major rewrite of ODBC code to be compatible with more dB engines.
+ Added SQL templates used by Serv-U to Admin program.
+ Added detailed ODBC logging at the domain level.
+ Changed all ODBC lookups to use upper case account names.
+ Changed ODBC account storage to only store changed fields.
+ Added Admin option to enable low-security SSL ciphers.
+ Changed password checking code to be case insensitive to storage in INI file and registry.
+ Changed ODBC code to work around MS SQL Server bug.
- Fixed bug causing empty lines in long dir listings.
- Fixed bug causing Admin to hang at startup if many client-to-server messages are saved.


5.1.0.0 (July 8, 2004)
======================
+ Added support for CCC ( = Clear Command Channel) command.
+ Added support for MODE Z ( = ZLib compression) command.
+ Added support for XCRC calculation of files while in transfer.
+ Changed quota setup in Admin program to use MB instead of kB.
- Fixed bug in log file name and rotation mechanism.


5.0.0.11 (May 21, 2004)
=======================
+ Changed registration key auto-enter-from-clipboard to be less sensitive to format.
+ Added domain ID and name to log file name options.
+ Added logging of resume point for transfers.
- Fixed bug of S/Key failing for unencrypted passwords.
- Fixed bug in auto-reconnect for ODBC domains.
- Fixed bug in SSCN handling, causing server-to-server (FXP) dir listings to fail.


5.0.0.9 (April 15, 2004)
========================
+ Added support for SSCN command.
+ Added ODBC connection retry in case connection fails immidiately after server start.
+ Changed registration key mechanism, key is valid when the last major version was released within update period.
+ Ported code to Borland C++ Builder v6.
+ Changed MDTM so it can now change the date/time of directories as well as files.
+ Added better crash logging to Administrator program, logs to file ServUCrashReport.elf.
- Fixed bug in performance counters, value for 'Total KB transferred' was wrong.
- Fixed bug in path parser causing crashes for certain paths.
- Fixed a number of Admin bugs causing crashes.
- Fixed bug in Daemon dir listing code causing crashes.
- Fixed bug causing crashes on Daemon exit.


5.0.0.4 (February 23, 2004)
===========================
+ Added domain settings option to auto-create homedir if it doesn't exist.
+ Added automatic connection retry in case ODBC connectivity is lost.
+ Changed Windows' port checking code to better detect ports in paths.
- Fixed bug where enabling/disabling directory cache does not get saved.
- Fixed bug of tray-icon not starting automatically upon reboot.
- Fixed SQL statement bug for lookups in dir access and IP access rules tables.
- Fixed bug in access DLL mechanism, causing events to not get dispatched under certain circumstances.
- Fixed bug causing SSL transfers to fail when a speed limit is used.
- Fixed bug in MDTM command that potentially caused the daemon to crash.


5.0.0.0 (January 20, 2004)
==========================
+ Added ODBC database support.
+ Added XCRC support.
+ Added support for CLNT command.
+ Added support for independent server-level uplink/downlink bandwidth limits.
+ Added support for more SSL ciphers.
+ Added support for Corporate Edition.
+ Added support for user account setting that requires a secure connection to log in.
+ Added support for putting individual domains online/offline.
+ Added 'Apply' and 'Restore' buttons to various panes.
+ Added support for NLST command to list dirs on a per-domain basis.
+ Added 'up' button to Administrator program. 
+ Changed Admin code to trap certain exceptions in XP.
+ Added code to auto-create user's homedir if it does not exist yet.
+ Added code to enforce that domain/group admins cannot assign rights they don't have.
+ Changed symbolic message parameters to show "unlimited" when needed.
+ Changed check for the need of a secure connection from PASS to USER command.
+ Changed MDTM command to work with UTC instead of local time.
+ Changed PORT command to block use of ports below 1024.
+ Changed NLST command to return 550 error reply in case no entries are found.
+ Made tray icon persistent in case of Explorer crashes/restarts.
+ Added license volume checking.
+ Added per-domain user/group account settings cache time-to-live.
+ Changed password encryption from a server-wide setting to a per-domain setting.
+ Changed listening socket handling, now running in seperate thread.
+ Fixed XP problem with long server startup times.
- Fixed bug in deleting user accounts starting with same partial name.
- Fixed bug not showing custom domain message for "no anymous access".
- Fixed bug causing crashes when using "%ServerAvg" message directive.
- Fixed bug in dir listing of root dirs with path as argument.
- Fixed bug with Windows 2003 in setting up listening sockets.
- Fixed bug causing use of ports (ie. printing-via-FTP) to fail.
- Fixed bug causing disk quota to fail under certain conditions.
- Fixed bug in dir listing cache, when caching more than 63 entries.
- Fixed buffer overflow bug in MDTM command.


4.1.0.3 (January 3, 2003)
=========================
+ Changed handling in case Anonymous account doesn't exist.
- Fixed bug causing status bar info to get sent when status bar is hidden.
- Fixed bug in renaming files for Win95.
- Fixed bug where SSL certificates were erronously tagged as v4, now they are v3.


4.1.0.0 (November 4, 2002)
==========================
+ Added support for files over 2GB, now works for files up to around 9,000,000TB. 
+ Added universal dynamic-DNS support.
+ Changed install and master wizard so Serv-U is not a (system) service by default.
+ Added support for P@SW command to allow certain SMC Barricade routers work with passive mode. 
+ Changed certificate creation to verify country code input.
+ Internationalized forms and code, to enable localization.
+ Various layout changes to accomodate localization of the Administrator program.
+ Changed code to remove unescaped telnet characters.
+ Added code to block paths using "alternate data streams".
+ Created 90 second session time-out before login.
+ Log message "Starting FTP Server..." now logged by all domains to indicate server start.
+ Changed RNTO command so it works when a different destination volume is specified.
+ Added domain port and domain ID fields to access verification DLL structure.
+ Added domain port and domain ID fields to event verification DLL structure.
+ Changed Administrator program to load SSL libraries on demand.
+ Changed telnet escape sequence handling to fix problems with 8-bit languages.
+ Changed layout of Admin for local server login.
+ Added option to enable/disable SSL for remote admin connection.
+ Changed "Apply" button/menu layout to make confusion less likely.
+ Changed socket handling to make daemon less sensitive to DOS attacks.
+ Implicit SFTP now allows insecure data channel if negotiated through PROT command.
+ Added tray icon shortcut to start menu.
+ Changed code to pass SRVU_Password to add-on DLLs in case account has no password.
+ Added menu toggle for startup splash screen.
+ Added support for clipboard entry of alternate registration key format from SERV-UID.TXT file.
+ Changed code so Admin program no longer requests status bar info when bar is not visible.
+ Removed TZO support.
- Fixed bug allowing read-only admins to kick users.
- Fixed bug with MDTM not sending a reply in case no date is available.
- Fixed bug where WinSock activity didn't get logged for data sockets with limited port range.
- Fixed bug allowing clients to start transfers while server stop was pending after transfers finish.
- Fixed bug with dir listing mask for some mapped UNC paths not showing read-write bits.
- Fixed bug in SITE CHMOD command when file name starts with digits.
- Fixed bug in session time-out mechanism.
- Fixed bug allowing entry of ports over 65535 for a domain.
- Changed code so account home directory cannot be deleted by client.


4.0.0.4 (February 4, 2002)
==========================
+ Added TLS/SSL support, both for implicit and explicit SFTP.
+ Adherence to RFC2228, RFC2246, RFC2389 and the IETF draft "Securing FTP with TLS".
+ Added support for FEAT, OPTS, PBSZ, PROT and AUTH commands.
- Fixed bug in tray icon not showing server stop in case performance counters are used.
- Fixed bug in Admin program about clearing all sysop messages not working.


3.1.0.3 (January 1, 2002)
=========================
- Fixed bug causing crashes with access verification DLLs.
- Fixed bug in Admin program about clearing all sysop messages not working.


3.1.0.1 (December 26, 2001)
===========================
- Fixed bug causing Daemon crashes on Win98 due to insufficient stack space.
- Fixed bug of tray icon not auto-starting in some instances.
- Fixed installer bug causing start-menu to be missing on Win9x.


3.1.0.0 (December 20, 2001)
===========================
+ Added event notification for raw FTP commands and FTP replies.
+ Added support for TZO.com dynamic DNS.
+ Removed left-click menu from tray-icon due to conflict with double-click.
+ Fixed various problems related with Terminal Services and Fast User Switching (XP).
+ Changed installer to install start menu items for all users.
+ Added option to enable/disable conversion of URL characters (like '%20').
+ Changed QUIT reply code from 220 to 221 to be in compliance with RFC959.
+ Changed admin program to be hidden when minimized while viewing local server.
+ Changed no. of login attempts after a successful login to only 1.
- Fixed bug in reporting cause of failed transfers ("killed by server" used erronously).
- Fixed bug causing Admin program crashes upon exit.
- Fixed bug not showing user info when very long file paths were involved.
- Fixed bug preventing user info details from auto-updating.
- Fixed bug preventing program from getting minimized.
- Fixed bug in using a passive mode port range.
- Fixed bug to list contents for NLST with a specific directory argument.
- Fixed bug preventing renaming of directories in some cases.


3.0.0.17 (May 30, 2001)
=======================
+ Added menu item to find lost registration ID via Internet.
+ Changed tray-icon to (also) enable/disable its auto-start when starting/stopping.
+ Added installer code to replace IMAGEHLP.DLL when old DLL has no version info.
+ Added caching of domain settings to speed up server start and reloading of settings.
+ Added registration button to license panel.
- Fixed bug in file times displayed in dir listings, sometimes off one hour.
- Fixed bug when using "\" as an access rule.
- Fixed bug with "Help | Getting Started" menu selection.
- Fixed bug with "Del" key not working when editing in some panels.
- Fixed bug in total user acount count shown in license just after install.
- Fixed bug in uninstaller when admin program is running.
- Fixed installer bug causing errors with IMAGEHLP.DLL when a reboot was needed.
- Fixed bug erronously enabling current quota button for remote admin.
- Fixed bug when running server on systems without C:\ drive.


3.0.0.16 (May 15, 2001)
=======================
+ Created brand-new administrator program for server setup.
+ Changed RNTO command so renaming to same file/dir name always succeeds.
+ Added crash logging to server and admin program. Logs in ServUCrashReport.txt file on crashes.
+ A successful login now resets anti-hammering for that user.
+ Changed "delete" access to no longer auto-include "write" and "append" access.
+ Added support for automatic account expiration date.
+ Added support for limiting PASV port range for use over firewalls.
+ Changed product name from "FTP Serv-U" To "Serv-U".
+ Changed SIZE command to work with either read, write, append, modify or list access.
+ Changed memory managers for daemon and admin to use SmartHeap instead of RTL.
+ Added support for messages to/from the sysop between client and server.
+ Changed defaults for keep-alive and inlining-OOB, now off by default.
+ Added support for killing file transfers.
+ Added auto-blocking for 1 minute of users where session time-out is exceeded.
+ Added support for system tray icon.
+ Added support for maximum session duration.
+ Completely removed OWL class library from daemon code.
+ Changed "current transfer speed" in user activity info to be more accurate.
+ Changed daemon compiler from BC++ 5.02 to BCB 5.0.
+ Added menu item to view local IPs (for people with dynamic IP).
+ Various installer changes/enhancements.
+ Added logging of blocked IPs as part of the "security" related log messages.
+ Changed dir listing code to improve efficiency.
+ Changed reported current speed for users to be a 6 second average.
+ Added support to lock files while downloading.
+ Extended blocking FTP_bounce attacks to also block FXP.
+ Added support for disabling PASV.
+ Added support to disable date/time changes through MDTM.
+ Added support to block future date/time changes through MDTM.
+ Added SITE CHMOD command to set/reset read-only and hidden attributes.
+ Changed dir listings to properly reflect read-only and hidden attributes.
+ Added option to filter domain and session log text.
+ Added support for mapped directories (virtual paths).
+ Added full support for UNC paths.
+ Added various ways to kick a user off the server.
+ Added remote viewing of current list of blocked IPs on server.
+ Added support for F6 to toggle focus between left and right panels.
+ Added NT performance monitor support.
+ Added support for running as Win95/98 or native NT system service.
+ Added support for registry based domains in addition to .ini file domains.
+ Added extensive caching for user setup data.
+ Added caching for message files (signon, login etc).
+ Added caching for server response messages.
+ Added support for various user defined server response messages.
+ Added support for configurable log file name when using automatic rotation.
+ Added domain-specific user activity.
+ Changed WinSock logging to be more efficient.
+ Added split speed limits for uploads/downloads to user setup.
+ Added support for dynamic IP and multiple domains sharing same listening socket.
+ Added support for remote server shutdown and placing server offline.
+ Added support for domain-specific logging.
+ Added support for domain-specific server ports.
+ Changed passwords to use MD5 hash instead of UNIX 'crypt'.
+ Changed speed calculations to use more precise (1ms) timer.
+ Added control over low-level socket options.


2.5k (April 16, 2001)
=====================
+ Changed RNTO command so renaming to same file/dir name always succeeds.
- Fixed bug in setting server user limit to 0.


2.5j (March 19, 2001)
=====================
+ Added (much) more WinSock logging.
- Fixed bug in link handling of certain Windows' shortcuts.
- Fixed bug causing server to run out of memory during DOS attack.
- Fixed problem with using UNC paths from the Emerald access DLL.
- Fixed bug sometimes causing 'hidden' files to get listed while they should not. 


2.5i (December 4, 2000)
=======================
+ Changed default for LIST to show all files (ie. '-a' option of 'ls').
- Fixed bug allowing unauthorized access using paths like "\..%20.".


2.5h (November 3, 2000)
=======================
+ Limited no. of login attempts for account changes after a successful login.
- Fixed bug in NLST causing it to only show files regardless of command line.


2.5g (October 30, 2000)
=======================
+ Now flushing dir listing cache when using "ReloadSettings=TRUE" in .ini file.
+ Changed server-to-stack transfer buffer back from 8192 to 4096 bytes.
+ Changed REST command to allow PORT and PASV without canceling the restart.
+ Changed NLST command to only show files (no more dirs).
+ Added 'e' option to the 'ls' dir listing emulation, for files-only.
+ Changed MDTM to not allow future date/times.
- Fixed bug which sometimes caused stuck connections to stay after their time-out.
- Fixed bug in log message in case client is kicked off by sysop or server.
- Fixed bug in transfer count in case of tranfers ending in error.
- Fixed bug causing premature time-out when anti-time-out is enabled.
- Fixed bug handling Telnet command sequences.


2.5f (August 1, 2000)
=====================
+ Changed event hook handling to allow file/path changes.
+ Changed server-to-stack transfer buffer from 4096 to 8192 bytes.
- Fixed bug causing crashes when rapidly receiving large amounts of bogus commands.


2.5e (March 24, 2000)
=====================
+ Changed quota handling to allow a maximum of around 4000000000 Gb.
- Fixed handling of Windows' shortcuts that point to mapped drives.
- Fixed bug in use of multiple backslashes in paths.


2.5d (February 14, 2000)
========================
- Fixed bug introduced in v2.5c causing inability to rename directories.


2.5c (February 8, 2000)
=======================
- Fixed bug causing ill-formed Windows' links (shortcuts) to crash the server.
- Fixed bug using ports in certain commands which caused server to hang.
- Fixed problem in dealing with characters values over hex F0 in paths.
- Fixed handling of UNC paths, was fixed in v2.5a, broken again in v2.5b.


2.5b (December 4, 1999)
=======================
+ Added control of PacketTimeOut via .INI file.
+ Removed check for UNC paths, they are allowed now but (still) not supported.
+ Added support for HEX password strings with S/KEY.
+ Changed handling of passive mode transfers that never connect.
+ Changed default dir listing mask to 'rwxrwxrwx' to make AOL FTP clients happy.
+ Changed handling of uploads for UL/DL ratios to be less sensitive to abuse.
- Fixed bug in S/KEY causing it to store the wrong password after changing seed.
- Fixed bug denying access when using wildcards in rules for a drive root.
- Fixed bug in file transfer percentage of user info when file gets renamed.
- Fixed bug causing alternate passive IP to be ignored.
- Fixed bug in SITE PSWD command causing server to crash with bogus input.
- Fixed bug causing crashes upon exit in NT.


2.5a (May 5, 1999)
==================
+ Fixed the "check for update" menu bitmap to equal that of FTP Voyager.
+ Bitmap-enhanced menus are now disabled in NT3.51.
+ Added logging of speed and bytes tranferred for aborted transfers.
+ Added control over low-level socket options.  
- Fixed bug in count of transferred bytes.
- Fixed problem of showing Serv-U window from tray-icon in Win2000 or with IE5.
- Fixed bug introduced in v2.5 causing crashes with long paths in FTP commands.
- Fixed bug in handling links in root directories, sometimes caused server to hang.
- Fixed bug which caused Windows shortcuts in root dir to fail as links.
- Fixed bug which caused no transfer progress to be sent during uploads.
- Fixed label for SRVU_QuotaMax event during logging of DLL events.


2.5 (April 14, 1999)
====================
+ Added on-line help.
+ Added SITE SET TRANSFERPROGRESS command, to inform client of the progress of data transfers for server-to-server use.
+ Added automatic update checking to the 'help' menu.
+ Added support for Win9x/NT .lnk 'links', they are now resolved like Serv-U links.
+ Changed user info mechanism to be vastly more efficient in CPU use.
+ Added support for home-IP specific sign-on and sign-off messages.
+ Added 'SRVU_SignOnMes' and 'SRVU_SignOffMes' access verification DLL events.
+ Added file/path info to the user information dialogbox.
+ Added percentage complete info for downloads to the user informatino dialogbox.
+ Added menu item to toggle between conventional/enhanced style menus, to make screen readers work (they can't read bitmap menus).
+ Added server IP address(es) to "About" dialogbox
+ Added 'append' access right for users, to facilitate resuming of uploads.
+ Added 'SRVU_AppendFile' access verification DLL event for append access.
+ Added button to "Kill user" dialogbox to auto-calculate subnet mask.
+ Added keyboard shortcuts to menus.
+ Added anti-hammer measures.
+ Added menu item and button to suspend logging to screen.
+ Changed menu style in 32-bit to have images associated with them.
+ Changed 'resume' for uploads, now only requires write access if upload is resumed within 12 hours.
+ If server is closed while maximized this is now properly restored on startup.
+ Maximum concurrent no. of logins from same IP is now configurable.
+ Password changes by the client are now logged.
+ S/KEY passwords can now also be changed remotely through SITE PSWD.
+ Logging of local IPs is now switched off by default, and part of the logging setup.
+ Added log file rotation, on daily, weekly, monthly, or yearly basis.
+ Added logging of access DLL event info for debugging.
+ Added support for listening to home IP addresses only.
+ Added EVNT_ProgUp and EVNT_ProgDown for event nofication DLL progress notification during file uploads and downloads.
+ Added .ini file 'OpenFilesUploadMode' option to force server to open files exclusively or shared during uploads (32-bit only).
+ Added .ini file 'DirListMask' option to select a dir listing access mask.
+ Default dir listing access mask is now "rwx------".
+ Added dynamic adaptation of packet time-out for uploads to a minimum of 1.5 minute for fast consistent uploads. Helps free up files faster for resuming.
+ The user is now warned if a new user/group is entered which already exists.
+ Added .ini file 'ReloadSettings' entry to force the server to reload its settings.
+ Added dynamic caching of disk quota, making this much more efficient.
+ Added protection for starting Serv-U with a vastly wrong date, also fixed crashes in case the date gets out-of-whack.
+ Fixed bugs in try-out mechanism, added use of TCP to reach permission server.
- Fixed bug causing premature time-outs during file transfers.
- Fixed bug with user names containing '@'.
- Changed SITE INDEX command to be non-recursive, to solve crashes on Win98.
- Fixed bug which denied access to ports, even if proper access rules were present.
- Fixed bug causing Serv-U to slowly leak sockets.
- Fixed bug in key entry mechanism when reading new style key (with "[BEGINKEY]" ...) from KEY.TXT file.


2.4a (September 23, 1998)
=========================
+ User/group setup now prompts if homedir does not exist and offers to create it.
+ Added "/s" option to start only a single instance of Serv-U.
+ Changed access rule interpretation mechanism.
+ Changed path resolver to convert double backslashes to single ones.
+ In case the password type is changed the user is now prompted for a new password.
+ Single dir/file names (with/without wildcards) are now allowed as access rules.
+ Added user interface to option for not logging connections from certain IPs.
+ Added tray icons to represent offline state, with a little help from John Hiemenz.
+ Changed on/offline mechanism to simulate going offline rather than destroying its listening socket due to problems reliably reacquiring a new listening socket.
+ Added two access verification DLL events, SRVU_Connect and SRVU_Close, to make it easier for DLLs to keep track of state for a user.
+ Added more appropriate local error message in case server can not open a data connection to the client in active mode.
+ Changed share modes for files to upload/download to make opening files which are in use more likely to succeed.
+ Added "%LoggedInAll" message directive for total no. of logged in users since server start.
+ Added "%ServerAvg" message directive for average bandwidth use since server start.
+ Added "%ServerKBps" message directive for current server bandwidth use.
+ Added more socket status info to WinSock activity logging.
+ Added user selectable log screen font to logging setup.
+ Added support for S/KEY one-time passwords.
+ For external access verification DLLs the session ID is passed on now.
+ Added 'Flush cache' button to directory cache setup to flush the cache.
+ Added selection list of available IP homes to multi-homed IP setup.
+ Added button to disk quota setup to pre-set the current value.
+ Links pointing to a directory are no longer shown in the dir they point to.
+ Added support for descriptive names and passive mode address translation to IP home setup and multi-homed IP handling.
- Fixed bug in SITE INDEX command.
- Fixed bug in link handling causing long dir listing delays in some cases.
- Fixed bug in access rule mechanism to allow access to a dir if it contains files with access (while dir itself has no specified access).
- Fixed bug in socket stack handling causing WSAENOTSOCK error messages.
- Fixed bug in handling single letter absolute dirs (eg. "/c") for relative paths.
- Fixed bug in directory changes to short-name (ie. DOS8.3 style) directories.
- Fixed bug in handling of wildcards in access rules.
- Fixed bug in renaming an existing file.
- Fixed tray-icon tooltip to read proper KBps.


2.4 (July 20, 1998)
===================
+ The original user name (in original case and length) is now passed as a second parameter in the 'Aux' field for the SRVU_Password event.
+ Rename (RNTO) now renames over an existing file if needed.
+ STAT now shows ongoing transers with their progress.
+ HELP now shows the server type and version code in its last line.
+ Added browse buttons to various file selection items.
+ Added SITE ZONE command to report server timezone to client.
+ Added on/off-line menu item to tray icon menus.
+ Changed "About" dialogbox.
+ Added Web links from 'help' menu items.
+ Added small delay between last message from server and actual disconnect so clients have a chance to display final message.
+ Changed command reply to use 425 code in case the data connection fails.
+ Alternative settings file (like SERV-U.INI) is now accepted on the command line.
+ Event notification for EVNT_EndDown, EVNT_EndUp, EVNT_AbortDown, EVNT_AbortUp now have transfer mode in 'AuxTwo'.
+ Added menu item 'file - on-line' to put server on/off-line.
+ Added CWD command to the event hooking mechanism.
+ To delete or rename a directory the user now needs access to that dir, and not its parent (as used to be the case).
+ User time-out is now part of the individual user account setup.
+ Changed status bar style.
+ Changed CWD so it always returns the path with the actual capatilization.
+ Changed signon/signoff text handling so leading spaces are preserved.
+ Max. no. of users is now part of the individual user account setup.
+ The default user account "ALL" is now named "** Default **".
+ When first started a default user account is created with 45 min. time-out.
+ Added option to block anti-timeout schemes as employed by most FTP clients.
+ Added toolbar and menu items to show/hide toolbar.
+ Added hint text to menus.
+ Added a number of new message directives.
+ Made registration key entry more mutation-proof.
+ Added interface for dir listing cache setup in 'setup - server - dir cache'.
+ If user's homedir does not exist this is now logged.
+ Changed all file handling code in 32-bit version to use native Windows functions.
+ Increased listen backlog queue size to avoid "connection refused" messages.
+ Access rules now support wildcards.
+ Dir listings are now cached in 32-bit version.
+ Dir listing now supports most UNIX 'ls' options.
+ Dir listing now only shows files/dirs/links the user has access to.
+ The command connection now uses "keep-alive" at the TCP level. This solves time-out problems by certain proxy servers during lengthy data transfers.
+ Changed FTP command replies to be more like UNIX.
+ Drive letters can be without colon (':'), ie. "/c/" is equal to "/c:/", "\c\", "c:" or "\c:\".
+ Added option to server setup to block "FTP_bounce" attacks (CERT advisory CA-97.27), to limit PORT IP addresses to the client IP only.
+ Added SITE PSWD command to allow FTP clients to change their password.
+ Added support for the OPEN command. Has no functionality, for testing only.
+ A double-click on a user name in the user setup will now open the miscellaneous menu for that user.
+ Extended support for leading '-' in passwords to suppress multi-line responses to all user names (used to be only for Anonymous).
+ Added extension to MDTM for changing file date/time by the client.
+ Any path reference of "..." or more dots is now converted to the drive root.
+ Files/dirs with multiple consecutive dots embedded in the name are now preserved correctly. Trailing dots are stripped.
+ Added 'copy' and 'paste' buttons to the 'about - register - enter key' menu. Registration menu now stays visible also after registration.
+ Changed code to constrain users with relative paths to their homedir and the subdirs of their homedir.
+ Changed time-out for command connection after it is initially set up.  Now 3 minutes for receiving a packet (was 5) and 5 minutes for sending.
+ Changed FTP reply messages for successful upload and download to be identical to UNIX messages.
- Fixed bug in path handling for single character paths.
- Fixed host IP passed with SRVU_LogClientIP and SRVU_IPAccess events.
- Fixed rare bug that caused users to hang past their time-out.
- Fixed bug in event notification DLL mechanism, in case the server is suspended.
- Fixed bug in FTP reply which reports how much disk quota is left over.
- Existance of an anonymous user account is now checked before determining if there are too many anonymous users so the proper reply is sent to client.
- Fixed a rare bug which would show only the first of a list of "links".
- Changed socket stack handling to solve rare bug in 16-bit causing failed transfers.
- Fixed bug which caused Serv-U to show a window when started after it was stopped while a tray-icon in Win95/NT4.
- Fixed bug in "store unique" (STOU) command when used with (partial) path names as an argument.
- Fixed bug in recognizing the root directory of CD-ROMs under Win3.1.


2.3b (October 11, 1997)
=======================
+ Changed the end-of-try-out-time message box to show the message came from Serv-U.
+ Changed access verification DLL handling so event structure changes are only considered if the DLL handled the event (Fixes a problem with Emerald).
- Fixed bug in file transfer count displayed in the status bar.
- Fixed bug in handling of suspended events (in case of an event hook DLL) while there is an ongoing data transfer.


2.3a (October 7, 1997)
======================
- Fixed bug in NLST and LIST commands (for dir listing) which prevented the use of wildcards in dir listings.


2.3 (October 6, 1997)
=====================
+ REST (=resume command) now supported for file uploads.
+ Added support for the SITE INDEX command (only in the 32-bit version) as used by Fetch.
+ Changed path parser to recognize all possible ports and isolate them.
+ Added 'Register' menu to the help section. This allows users to generate a registration form on the fly and fill it out using NotePad.
+ Added new mechanism to enter a registration key into Serv-U, also added support for a new key format.
+ Added new message directives to keep track of server stats: Total up-time, total uploads and downloads (bytes/files), total users.
+ Changed internal string handling to improve performance.
+ The STOU (=STOre Unique) command now handles long file names in Win95 and NT.
+ Changed compilers from Borland C++ 4.52 to BC++ 5.02 for the 32-bit version.  This necessitated several code changes.
+ Tray icon will now disappear by itself after exiting Serv-U.
+ Added "Notes" field to the user and group setup for notes about each user.
+ Logging to screen and file can now be separately specified.
+ The user info window can now be frozen for easier viewing.
+ The user info window can now be resized in height.
+ Passwords can now optionally be stored unencrypted. The default is that they get encrypted.
+ The 'kill user' dialogbox now allows editing of the IP address.
+ Renaming/moving a dir now requires 'remove' access to the path being removed, and 'make' access to the destination path.
+ The maximum transfer speed can now be set for each user via the 'setup - users - miscellaneous' menu.
+ Partially uploaded files can be automatically deleted via a 'setup - server' menu option.
+ In case a client closes the command connection while there are ongoing transfers this is now properly logged and passed to the event notification mechanism.
+ Files are now kept open during transfers. This means files being uploaded show zero length during the upload.
+ The reply message after a dir listing or file transfer now shows the client his/her ratio and quota status (if the client is using ratios and/or quota).
+ Added SITE command to the event hooking mechanism. Any SITE command can now be intercepted by an event notification DLL.
+ The CWD ('change working directory') command no longer actually changes the Serv-U task's current directory which caused locking of the dir in NT.
+ Added .ini file option to avoid logging of certain clients from IP numbers.
+ Closing Serv-U from the system menu (or the 'x' in Win95/NT4) now minimizes the window in case there is a tray icon. Exit the server from the tray menu.
+ The string "%20" in paths is converted to " " (=space) to please MSIE.
+ There no longer is any 'hard' limit to the maximum number of IP homes.
+ Serv-U now shows all the IP addresses it listens on at startup.
+ Upon startup a file IPSERVU.TXT is created in the Serv-U program dir with all the IP addresses it listens on. This file is updated every 5 minutes.  Through a .ini file option the interval and file name can be changed.
+ When restoring window from the tray-icon (Win95/NT4) the log will now scroll to the end.
+ When running as a Win95 system service there is no longer a regular icon if the user logs out and back into the system again.
+ External access verification DLLs now receive the SRVU_IPAccess event, also when no IP access rules were present.
+ Users with no password (ie. 'Password' entry in the .ini file explicitly set to nothing) are logged in immediately after the USER command.
+ Users can be given an empty password (ie. no password required when logging in) by entering "<<None>>" in the password field of the user setup.
+ To create or delete directories the user now needs the appropriate access to the parent of the dirs that are being created/deleted.
+ Users with setting "allow login when max. no. of users is reached" now also have no time-out after logging in.
+ Server now switches to 'crippled' try-out when try-out time is up.
+ When the version is out-of-date the server now allows 'crippled' use.
+ FTP response messages to clients now preserve case for file/path names.
+ The "Too many users ..." message no longer shows the maximum number to clients.
+ Try-out time has been changed from 30 to 45 days.
+ Added support for limiting the maximum bandwidth used by the server.
+ The event EVNT_Login of the event notification mechanism now has the anonymous password in AuxOne (for anonymous users only).
+ Minor changes to socket stack handing with the hopes that it will work with (even) more WinSock stacks.
+ The SIZE command now works with either 'list' or 'read' access to the file.  This used to require 'list' access.
+ Data transfers now use a socket bound to the same IP as their command connection. This should fix a rare problem with multi-homed sites and firewalls.
- Fixed bug in total file transfers count as shown in the status bar.
- Changed code so the maximum path length for the 16-bit version is 80 characters. This is conform the Win16 maximum path length. Longer paths caused crashes in Win16 functions.
- Fixed bug in system tray menu (Win95) when Serv-U gets started automatically after system startup.
- In case Serv-U is started for the first time, but with a KEY.TXT file present it will no longer ask for the try-out option but read in the key.
- Transfer speed reports use 1024 bytes per Kb rather than (previously) 1000.
- Fixed bug which would show a tray icon in NT4 even when the server was started 'hidden'.
- Fixed bug in SIZE command causing it to deny access if directory didn't have 'inherit' access.


2.2 (February 22, 1997)
=======================
+ In case 'current' disk quota is set larger than 'maximum' uploads are no longer allowed.
+ Changed the data connection message for uploads/downloads to be more UNIX compatible (some browsers use this to get the file size from).
+ Serv-U now uses the native case for file/dir names, or optionally lower case.
+ The ALLO (=allocate) command now handles 4Gb instead of 2Gb of free space.
+ Added DLL interface for event notification and command hooks.
+ In case no IP address can be found for the server it'll display "?????".
+ Added support for IP names (with wildcards) in IP access rules.
+ Added option to limit a user from logging in more than once from the same IP address.
+ Changed IP access rule mechanism. It is now more flexible. Added .ini file conversion for new rule format.
+ Added option to specify IP access rules for each user individually.
+ Added tray icon support for Win95 and NT4.
+ Changed code so 32-bit version can handle more IP homes (now it'll do around 1800 IP numbers, while the 16-bit version handles about 180 IP numbers).
+ LIST now completely ignores any '-' type options. NLST only parses '-l' and converts that to a LIST command. This should make the latest CuteFTP work.
+ Added support for running Serv-U as a system service in Win95.
- The security manager no longer checks for the presense of the SERV-U.INI file which hopefully solves a very rare problem where the server cannot read the .ini file after several days (in NT3.51 SP5).
- Renaming directories works also now.
- Fixed bug which prevented multi-homed IP numbers from showing in case no users were defined.
- Fixed bug in reporting of no. of try-out days left for the 32-bit version.
- Fixed bug introduced in v2.1: Killed users that were put on the IP bounce list now work properly.
- Fixed bug introduced in v2.1: Putting the server in a directory path with spaces works now.
- Fixed bug in links introduced in v2.1 which caused crashes.


2.1 (November 8, 1996)
======================
+ Added startup options /i (=iconic), /h (=hidden), and /u (=unconditional exit).
+ When Serv-U was stopped while iconic it'll start as an icon the next time.
+ The evaluation order of IP deny and allow rules can now be choosen.
+ Changed link handling so if there is a subdir with the same name as a link preferance will be given to the subdir.
+ Changed '%dfree' message file directive so it handles >2Gb of free space.
+ All links should now be absolute paths, even for users with 'rel. paths' enabled. Serv-U takes care of the conversion for dir listings etc.
+ Added support for the FTP command STAT, showing UL/DL ratios and quota.
+ Changed %bup, %bdown, %btot, and %dfree to report in Kb instead of bytes.
+ Added support for secundary 'dir change message file' and 'link file'.
+ Added a very beautiful status bar.
+ Added a bunch of message file directives for ratios and disk quota.
+ Added disk quota limitation support.
+ Added support for 'free files' for U/D ratios.
+ Added feature to allow users to log in even when user limit is reached.
+ User ID in log now always has 6 digits (with leading zeros if needed). To make programmatic sorting easier.
+ Changed code of security manager, simplifying it (and hopefully making it more robust).
+ Added 'upload/download ratios'.
+ Added support for 'relative paths' for all users.
+ Added support for hiding 'hidden' files for every user.
+ Changed the max. no. of characters that can be entered into the multi-homed setup box for the IP number from 14 to 15.
- Fixed bug in 24h user count (sites with only a few hits a day would get bogus numbers).
- Fixed bug which would not allow dir listings if 'inherit' was not enabled and a dir listing with argument was done (ie. 'dir *.*').
- Fixed bug in 'restart' handling causing extraneous "450 Try later - Data connection in use" command error replies.
- Fixed bug which caused IP home changes to be ignored until a restart.
- Fixed bug causing GPF's for very long signon/signoff text lines.


2.0c (August 10, 1996)
======================
+ Added "%maxusers" and "%maxanonymous" directives.
+ Changed the implementation of the REST command ('resume') to be compatible with CuteFTP 1.5.
+ Added multi-homed IP support.
+ Changed dir listing format: Times before 10am now have a leading zero.  This to be more UNIX compatible and fix problems with WS_FTP.
+ More bullet proofing of the socket stack routines.
+ Added WinSock function logging.
+ Added support for external client verification DLLs. 
+ Bulletproofed the input buffer. It now handles any length strings.
- Fixed problem with user setup changes that would not show up immidiately.
- Fixed bug in MDTM command.
- Fixed problem in NT preventing directory deletion.
- Fixed bug causing GPF's while making server setup changes that resulted in a server restart.
- The '&' character in the registration key (if present) is now displayed correctly.


2.0b (May 4, 1996)
==================
+ Bullet-proofed the 'relative paths anonymous' option. Now impossible to get out of the homedir (and subdirs below), even if user has access rights for other paths.
+ Changed '~' handling.  Now works when embedded inside a path.
- Fixed bug in 'Resume' command (FTP command 'REST').
- Changed code for painting text & images in 'About' box, hopefully solving problems on Win3.1 and WFW3.11.


2.0a (April 18, 1996)
=====================
+ Remote program execution (Through SITE EXEC) now launches the program from the current directory of the user.
+ The Serv-U directory is now searched first for SERV-U.INI, then it looks for an evironment variable named SERV-U, and finally the PATH and Window's directories are searched for the .ini file (Order changed over previous).\
+ Added option to make server exit pending upon the logged in users.
+ Added the FTP command REST (=RESTart).
+ Changing the file name for directory change messages no longer causes the server to log out all users.
+ Added the FTP command MDTM (=Modification Date & TiMe).
+ Hidden directories are now hidden from anonymous users (as are hidden files) in the 32-bit version.
+ Transfer speed in 'User Info' box is now averaged.
+ Links embedded in a path will now be resolved correctly. This will make things work better with Netscape which keeps links as part of the path.
+ 'Maximize' system menu item is now disabled in the user info box.
+ Added file size to transfer logs.
- Fixed problem with window size/position when user info box got closed while minimized.
- Fixed problem with links containing trailing '\'.
- Fixed bug in '%dfree' text directive in 16-bit Serv-U.
- Fixed bug in DNS lookups that caused GPF's.
- Background colors of bitmaps (in 'About' etc.) now display correctly on non-gray windows.
- Fixed error reply for 'SITE EXEC' in case no executable was specified.
- Fixed bug that caused 'File - Exit' to skip the confirm dialogbox.
- Fixed bug in '~' handling. It can now be used in links.
- In case CTL3DV2.DLL is missing the 16-bit version will no longer throw an exception.


2.0 (March 13, 1996)
====================
+ This version will continue to work after March 15th (All previous versions stop at that date).
+ Converted code to BC 4.52 and OWL 2.5. 
+ Now 16- and 32-bit versions.
+ Added separate access right for 'list' access.
+ Added a luxurious 'user info' box.
+ Added IP Name logging.
+ Added a 'enable account' checkbox to quickly enable/disable a user.
+ Access rules can now be specific to a single directory, or inhereted by subdirs (the previous method).
+ Changed the FTP 'HELP' command reply to be more UNIX compatible.
+ Added a ton of new '%' directives for signon/signoff messages, directory change messages, and login messages.
+ Changed icons.
+ 'hidden' files are no longer indicated as such in dir listings (confused the Mac client 'Fetch').
+ The permission server now uses UDP messages instead of TCP.
+ Added support for user specific login messages.
+ Changed font and size of signon/off message dialog box.
+ Added support for 'links' (like UNIX).
+ User is now booted off the server if the password is guessed wrong 3 times.
+ Time a user was connected gets logged.
+ Inserting new paths in the access rule list is now done at current position instead of to the end of the list.
+ 'CWD ' (='cd') or 'CWD ~' will now put the user back in the home directory.
+ 'NLST *' (='ls') or 'LIST *' (='dir') will now convert to '*.*', ie. will use UNIX style globbing.
+ Now even softer on your socket stack...
+ Made the 'undocumented features' part of the setup.
+ Changed directory listing format to be more UNIX compatible.
+ Cleaned up local heap management, so the logwindow might actually work better.
+ Added transfer speed to file transfer log messages.
+ Changed all dialogboxes to use MS or Win95 3D-controls. No more BWCC.DLL.
+ Data connection now uses the RFC959 default local port, ie. local port 20 if the command connection uses 21. Should make some firewalls more happy.
+ Added the FTP command SIZE. Should make Netscape happy (so it can tell filesize on transfer).
- Fixed client message in case 'anonymous' is disabled.
- Fixed various dialogbox errors (text, formatting).
- Non-anonymous users can now also delete 'read only' files.
- Fixed logscreen: It will now do automatic horizontal scrolling when the cursor is moved.
- Fixed bug that caused filenames like '/c:' to be seen as relative.


1.1i (September 18, 1995)
=========================
+ Change of address in all the documents.
+ The try-out version will continue to work after October 15th. 1995 (v1.1h won't).
- Fixed bug in renaming long file names.
- Fixed bug that caused rare GPF's with some firewall proxy clients.


1.1h
====
+ Added switch to explicitely disable long file/directory names in Windows 95.
- Fixed a bug causing garbage to appear in some cases if a directory listing of an empty directory was made


1.1g
====
- Fixed bug in making directories for Win3.1 and WFW3.11.
- Fixed bug in deleting long file names under Win95.


1.1f
====
+ Windows 95 long file names are supported. Serv-U auto-detects the presence of Win95.
+ The current number of users is displayed in the window title.
+ The 'password' checks for anonymous users can be disabled.
+ MS-DOS or Windows programs can be started remotely, using the SITE command EXEC. The EXEC mechanism is also part of the regular access rules.
+ When the server is stopped while there are users logged in, a dialogbox will pop up to confirm the action.
+ Options to the LIST and NLST commands are handled (ie. 'ls -la' like some clients send to the server will produce output).
+ The FTP commands APPE (=append) and STOU (=store unique) are now supported.
+ Data type 'L8' (=local type 8 bits per byte) is now supported.
+ Server is not restarted any more if maximum number of users or time-out values are changed.
+ Anonymous users no longer see hidden files.
+ Drives are checked for accessability before usage, so no longer the 'retry - ignore' dialogboxes.
+ Info on the WinSock socket stack is shown on startup.
+ Made Serv-U more tolerant for firewalls using proxy servers that mix PASV and PORT commands.
- The bug causing Serv-U to beep when it could not log to screen has been fixed (actually a MS-Windows bug).
- Fixed bug causing false dir listings for 'dir .'.
- Fixed bug that caused XCWD, XRMD, and XMKD to malfunction.


1.1e
====
+ Anonymous users no longer see 'hidden' files.
+ Paths are now reported back with a leading '/'. This is to ensure  more compatibility with the UNIX format and to make a number of Macintosh FTP clients even happier.
+ The start-up message of Serv-U now reports the socket stack it is running on.
+ When a user/group has a password it is now shown as '***********' in 'setup - users/groups'. Deleting this deletes the password entry for that user/group, ie. it no longer has a password. 
+ Spaces are now allowed in user names and passwords.
+ Stopping the server is logged (if logging to file is switched on).
+ Paths are now consistently reported back using '/' instead of '\', to be more in line with the UNIX way of working. Mac FTP clients need this to function properly.
+ A leading '/' or '\' in front of a full pathname is ignored, ie. '/c:/util' is equivalent to 'c:\util'. This allows for UNIX style changes of directory, and enables WWW browsers to change drives.
+ The response to an incorrect anonymous password is changed to be more informative.
+ Displaying a file when the client changes directory is supported.
+ When 'setup - logging - FTP commands' is switched on it no longer shows passwords, 'XXXXX' instead.
- Fixed a rather nasty bug in the security system.
- Fixed bug that assigned random passwords to users that should have no password (a situation found in users belonging to a group where the group password should also be the user's password).
- Very long pathnames are now supported correctly.


1.1 (March 19, 1995)
====================
+ Added lots of logging. 
+ The SYST command now replies with the code for a UNIX system. This is because some clients use it to determine the format of directory listings.
+ Time-out values for idle/hung connections are now part of server setup. 
+ Drastically increased packet time-out for data transfer, now set at 5 minutes (was 30 seconds). Should be sufficient to allow transfer even on bad connections. 
+ Log messages for failed data transfers now have a specification showing why. 
+ Changed the HELP response to make WS_FTP work properly with Serv-U. 
+ Added support for transfer to/from ports (PRN: AUX: LPTx: and COMx:). 
+ Made a work-around for FTP Inc.'s WinSock stack. This stack does not handle SO_LINGER properly on closing a socket, causing 'data channel in use' errors. 
+ Changed response messages to file transfers, only the filename is shown now, not the path name. 
+ Added a retry period for the server to come online. This should solve problems with socket stacks that do not allow to re-use a port immediately after closing it. 
+ Changed the timing of the '150-' response message for PASV transfers. It is now sent after the data connection is established instead of at the time of a transfer command. 
+ The listening socket will now automatically be restarted when killed by the socket stack. Some stacks kill listening sockets without reason (Trumpet for one). 
+ Username 'FTP' is now synonymous to 'ANONYMOUS'. 
+ Clients that connect but never log in are now kicked off the system after 5 minutes. 
+ User can now select the try-out method: Fully functional with contacts to my permission server, or, crippled but no permission server contacts. 
+ Installed selectable path mechanism for anonymous: Either absolute paths (like a regular user) allowing for drive changes, or paths relative to the home directory (needed for WWW browsers). 
+ Changed registration key to work with user/company name instead of IP number. Every time Serv-U is started it tries to read the key from a file KEY.TXT.  Registered version displays the key in the "About" box and in reply to the FTP HELP command. 
+ Changed the RETR and STOR replies (used for GET and PUT). They are now conform the average UNIX system. This makes WS_FTP more happy, so it shows a progress bar while downloading.
- Fixed some spelling errors in messages. Fixed logging to screen for time-out messages. Added log message in case limit of no. of users is reached. Added log message when server is (re)started. 
- Fixed bug that caused path for anonymous users with root as home directory to be reported without a '\' at beginning. The same bug caused absolute paths in CWD to be processed incorrectly. 
- Fixed bug that caused random truncation of PUT files in combination with some clients. 
- Fixed bug that allowed users to get 'dir' listings for paths with explicitly no access set to them. 
- Fixed bug causing 'dir' with absolute path name to go wrong. 
- Fixed a bug that made RMD (=remove directory) fail if the directory was on a drive other than the active drive. 
- Fixed bug in very long directory listings (>64K data). 


1.0 (February 7, 1995)
======================
* Initial release.
