VanDyke Software

VShell Server History


        VShell(R) Server 5.0 (Beta 2) -- February 24, 2026

         Copyright (C) 1995-2026 VanDyke Software, Inc.
                    All rights reserved.


This file contains a VShell product history.  It includes lists
of new features, changes, and bug fixes sorted by release.  For a
product description, installation notes, registration, and contact
information, please refer to readme.txt (downloaded with this
package).


Changes in VShell 5.0 (Beta 2) -- February 24, 2026
---------------------------------------------------

Changes:

  - Log messages for deletes that fail now explicitly state whether
    the failure is due to file system permissions or VShell virtual
    root permissions.

  - Windows: The VShell installer now allows you to exclude the 
    SSH2/SFTP service as a VShell feature.

Bug fixes:

  - HTTPS: Logging into VShell's User Web Interface could produce 
    CSP "default-src 'self'" errors.

  - HTTPS: The upload button on VShell's User Web Interface upload
    dialog could be placed incorrectly.


Changes in VShell 5.0 (Beta 1) -- January 15, 2026
--------------------------------------------------

New features:

  - Added two new trigger types that fire when uploads and downloads
    fail.

  - A new option, subconfigurable by location, allows specification 
    of the host key algorithms that VShell will offer to clients. 

  - SSH2: Added support for the diffie-hellman-group15-sha512 and 
    diffie-hellman-group17-sha512 key-exchange algorithms.

  - SSH2: A new option allows restriction of the algorithms accepted
    for public-key authentication. With this feature, a new Public 
    Key Options page was created in the VShell Control Panel for all
    public-key related options.

  - SSH2: A new option allows configuration of the minimum bit size
    for RSA public keys.

  - SSH2: Added pseudo terminal (PTY) support.

  - SSH2: To assist when informing end users of the need to verify 
    new host keys before accepting them, a new button copies the 
    fingerprints of all configured host keys to the clipboard.

  - Windows: Added a new trigger type that fires every time an 
    authentication attempt fails.

  - Windows: A new trigger condition allows a trigger to fire only 
    when a file or folder name matches the specified pattern.

  - Windows: Subconfiguration XML files can now be generated from the
    VShell Control Panel.

  - Windows: A new button on the VShell Control Panel lets you run
    a set of checks to validate the current VShell configuration.

Changes:

  - At login, no single virtual root will block other virtual roots
    from being resolved.  This results in improved responsiveness 
    when one or more roots are slower than the others to resolve.

  - The default debug level for logging is now 5.

  - Session channel failing unsupported  request 
    messages are now logged only at debug level 3.

  - SSH2: The maximum value of the "Session Channel Maximum Packet" 
    option is now 256K.

  - FTPS, HTTPS: A warning is now logged when a *.crt or *.cer file is
    loaded that does not have a public key matching the configured
    *.pfx file's private key.

  - FTPS, HTTPS: TLS versions 1.0 and 1.1 are now disabled by default.

  - HTTPS: Modified the HTTPS response headers so that Content-
    Security-Policy no longer includes 'unsafe-inline' for 
    "default-src".

  - HTTPS: Added a new option, "HTTPS Enable OPTIONS". When enabled,
    requests of the OPTIONS method are allowed; when disabled, a "403 
    Forbidden" response status code is returned.

  - HTTPS: Modified the HTTPS response headers as follows:
    + Deleted X-XSS-Protection 
    + Deleted X-Frame-Options
    + Changed Content-Security-Policy to "default-src 'self' 
      'unsafe-inline'; script-src 'self' 'unsafe-inline'; 
      img-src 'self'; connect-src 'self'; frame-ancestors 'none'; 
      upgrade-insecure-requests"
    + Added Referrer-Policy set to "no-referrer"
    + Added Permissions-Policy set to "bluetooth=(), camera=(),
      display-capture=(), microphone=()"

  - Windows: During public key authentication, if Kerberos Protocol
    Transition (KPT) failed due to the connecting user not having a 
    UPN formatted name configured, VShell would not try KPT for 
    subsequent authentication attempts by that user until VShell was 
    restarted.

  - Windows: When the size of the Access Control List is reached and
    no more entries can be added, the message displayed now explicitly
    states the issue.

  - Windows: When a Virtual Root is added or edited, and no users
    or groups have been granted access to it, a prompt to add users
    or groups is displayed.

  - Windows: For SFTP Virtual Roots, VShell now logs the messages 
    sent between VShell and the remote SFTP server when files are
    transferred.

  - Windows: VShellConfig now requires a non-blank passphrase when
    exporting a configuration that contains saved credentials.

  - Windows: When the VShell configuration is exported, the resulting
    XML file now contains the version information.

  - Windows: When importing or exporting the configuration, the 
    resulting log file now includes the version and all arguments 
    of the command executed to perform the import or export.

  - Windows: When the Help button on the VShell Control Panel is 
    pressed, the help page displayed is now the one for the currently
    selected Category.

  - Windows: SSH2: When managing public keys for user authentication, 
    the bit size of the keys is now displayed.

  - Windows: FTPS, HTTPS: In the VShell Control Panel, the SHA-1 
    thumbprint is no longer shown on the Listen Addresses pages.


Bug fixes:

  - When a login trigger was configured with an Email action to fire
    for all users, and a large number of users logged in at or near 
    the same time, VShell could crash.

  - When file types were disallowed using the "Restrict File Types" 
    option, VShell would still allow a file to be renamed or copied 
    using the restricted file extension.

  - When using newer versions of OpenSSH's scp client to recursively 
    upload a directory structure to VShell, the upload may have 
    failed if the base directory name did not already exist on the 
    remote host.

  - Authentication settings specified in a subconfiguration would not
    take effect when VShell was used with an evaluation license.

  - If a user had access to a virtual root but the virtual root 
    folder was inaccessible, a misleading error would be logged 
    stating the user did not have any virtual roots specified. 

  - FTPS: When an FTPS file transfer client disconnected from the 
    server normally, VShell may have incorrectly logged the message 
    "The specified network name is no longer available".

  - FTPS: When an FTPS client disconnected from the server, VShell may 
    have unexpectedly logged a "426 Connection closed; transfer 
    aborted" error.

  - HTTPS: When accessing VShell via the HTTPS User Web Interface
    and the full path to a file was specified as part of the URL, the
    file may have been opened by the browser instead of downloaded.

  - HTTPS: With Single Sign On (SSO), if a login error occurred,
    the standard login page could appear behind the error dialog.

  - HTTPS: VShell could leak memory when it closed HTTPS 
    connections, and when it performed a directory listing in 
    response to a PROPFIND request.

  - HTTPS: When an HTTPS file transfer client disconnected from the 
    server normally, VShell may have incorrectly logged the message
    "Received illegal SSL shutdown from the client".

  - HTTPS: When uploading a folder structure with a filename that 
    matched a character sequence in the parent folder, the folder 
    would have been created with the incorrect name.

  - Windows: If RADIUS authentication was disabled while a client was
    attempting to authenticate using that method, VShell could crash.

  - Windows: If an empty file was specified for a subconfiguration, 
    VShell could crash when the file was loaded.

  - Windows: The VShell control panel could crash when attempting to 
    read an invalid certificate placed in a user's public key folder.

  - Windows: When a configuration was imported that included an SFTP 
    virtual root configured with password authentication, the 
    PublicKey authentication method may have been unexpectedly enabled 
    after the import.

  - Windows: Edited LDAP users would be displayed with the old 
    username in the VShell Control Panel.

  - Windows: If a client specified a UPN formatted username (i.e., 
    user@domain) that the remote system was unable to translate, 
    VShell would use an empty username for logging and authentication.

  - Windows: When a "Send email" or "SFTP Transfer" trigger action 
    was executed and the option to allow the action time to complete
    was enabled, an "OnRead: The pipe has been ended" message may 
    have been logged.

  - Windows: When exporting the configuration, the evaluation 
    license may have been unexpectedly included in the export.

  - Windows: If a user's public key folder contained unusually 
    large files, a configuration export could appear to hang while 
    those files were being processed.

  - Windows: If a client sent xterm-256color for the terminal type, 
    TTY mode would be unexpectedly used.

  - Windows: When multiple instances of VShell's "who" utility were 
    run in parallel, some instances may not have reported their open
    connections correctly.

  - Windows: When the license in place has expired and an older 
    evaluation license key existed in the registry, VShell may not 
    have run using a new evaluation license as expected.

  - Windows: When a remote SFTP virtual root was accessed via an HTTPS 
    or FTPS connection, the connection from VShell to the remote SFTP 
    virtual root target may have been left open after the client 
    disconnected.

  - Windows: When the Deny Host feature was enabled and multiple 
    authentication attempts from the same host failed simultaneously,
    the host's IP address could have been duplicated in the deny host 
    file.

  - Linux, macOS: If the subconfiguration file path specified as 
    part of the SubconfigurationNetworkMap option included any spaces 
    before the path, the subconfiguration would not have been loaded.

  - Linux: When a user with an expired password connected to VShell, the 
    prompt indicating a password change was required would have been 
    displayed 3 times.

  - Mac: On certain macOS operating systems, connecting to VShell 
    using keyboard-interactive authentication may have resulted in 
    the vshelld child process crashing.