Skip to content

Releases: TurboVNC/turbovnc

3.1.2

08 Aug 19:05
Compare
Choose a tag to compare

Assets

Support

Code Quality: Stable
Current Support Category: Active

Documentation

User’s Guide for TurboVNC 3.1.2

Release Notes

Significant changes relative to 3.1.1:

  1. The TurboVNC Server now assigns an ordinal ID to every VNC viewer when the viewer connects, and when possible, log entries related to a specific viewer are prefixed by the viewer's ID. The TurboVNC Server now also logs the total number of simultaneously connected viewers.

  2. The TurboVNC Viewer now sends horizontal scroll wheel events to the VNC server. (These events can be generated with horizontal scroll gestures on a trackpad or, with certain mice, by side-clicking the scroll wheel.)

  3. By default, the TurboVNC Server now limits the amount of time that it will wait for a new pointer event from a connected viewer that is dragging the mouse (and thus has exclusive control over the pointer.) This prevents other viewers connected to the same session from being locked out of pointer control indefinitely if a viewer's network connection drops while it is dragging the mouse. A new Xvnc command-line option (-pointerlocktimeout) can be used to specify the time limit.

  4. The RPM and DEB packages generated by the TurboVNC build/packaging system now include a polkit rules file that prevents various authentication dialogs ("Authentication is required to create a color managed device", "Authentication is required to access the PC/SC daemon", "Authentication is required to refresh the system repositories") from popping up when using the GNOME window manager with the TurboVNC Server on Ubuntu 23.10 and later (if the polkitd-pkla package is not installed) and on RHEL 7 and Fedora 19 and later (if the polkit-pkla-compat package is not installed.)

  5. The default X startup script (xstartup.turbovnc) now throws an error, rather than trying to execute xinitrc or twm, if a window manager is specified and the session desktop file for the window manager cannot be found.

  6. Added a new parameter (ExtSSHCommand) to the TurboVNC Viewer that can be used to specify the external SSH client command. In Via/Tunnel SSH command-line templates, including the default ones, %S is now replaced with the value of this new parameter.

  7. Fixed a regression introduced by 3.0 beta1[24] that caused the TurboVNC Server to leak memory when the RFB flow control extensions were used.

  8. Fixed several issues in the TurboVNC Viewer that prevented IPv6 addresses from being used as VNC hostnames.

3.1.1

27 Jan 17:12
Compare
Choose a tag to compare

Assets

Packaging Changes

  • A new build of TurboVNC-3.1.1-arm64.dmg was uploaded on 2024-02-21 to fix an error ("JRELoadError"), caused by an oversight in the official TurboVNC build scripts, that occurred when launching the TurboVNC Viewer.

Support

Code Quality: Stable
Current Support Category: Active

Documentation

User’s Guide for TurboVNC 3.1.1

Release Notes

Significant changes relative to 3.1:

  1. By default, each instance of the Linux TurboVNC Server now listens on the abstract Unix domain socket, in addition to the pathname Unix domain socket (under /tmp/.X11-unix), associated with its X display number. This prevents recent versions of GDM, when configured with WaylandEnable=false, from attempting to use Display :1 for the local session if a TurboVNC session is already using Display :1. The previous behavior can be restored by passing -nolisten local to vncserver or adding -nolisten local to the $serverArgs variable in turbovncserver.conf.

  2. The vncserver script now checks whether the abstract Unix domain socket associated with an X display number is in use before assuming that the display number is available.

  3. Fixed an issue in the Windows TurboVNC Viewer whereby an F10 key press, followed by an F10 key release, caused the keyboard focus to be redirected to the system menu, and subsequent keystrokes were consumed by the system menu until F10, left Alt, or Esc was pressed to dismiss the menu.

  4. Fixed an issue whereby GTK applications (including the GNOME window manager) running in a TurboVNC session attempted to display to a local Wayland session if one was active.

3.1

18 Nov 14:09
Compare
Choose a tag to compare
3.1

Assets

Support

Code Quality: Stable
Current Support Category: Active

Documentation

User’s Guide for TurboVNC 3.1

Release Notes

Significant changes relative to 3.1 beta2:

  1. Improved the TurboVNC Viewer's handling of SSH usernames in the following ways:

    • Fixed a regression introduced in 3.1 beta1[3] whereby the SSH username was ignored if it was specified in the Server parameter or if it was specified in the TurboVNC Viewer Options dialog without also specifying the gateway host.
    • Fixed an issue whereby the SSH username was not saved and restored if it was specified in the TurboVNC Viewer Options dialog without also specifying the gateway host.
    • Fixed an issue whereby the SSH username was ignored if it was specified in the Server or Via parameter in ~/.vnc/default.turbovnc.
    • Added a new parameter (SSHUser) that can optionally be used to specify the SSH username. This parameter is set automatically from an SSH username specified in the Server or Via parameter, or it can be set manually.
    • To better emulate the behavior of OpenSSH, the TurboVNC Viewer's built-in SSH client now allows an SSH username specified on the command line or in a connection info file to override an SSH username specified in the OpenSSH config file.
    • The LocalUsernameLC parameter now affects the SSH username if the SSH username is unspecified.
  2. The TurboVNC Server now includes various security fixes (CVE-2022-2319, CVE-2022-2320, CVE-2022-4283, CVE-2022-46340, CVE-2022-46341, CVE-2022-46342, CVE-2022-46343, CVE-2022-46344, CVE-2023-0494, and CVE-2023-1393) from the xorg-server 21.1.x code base.

  3. The TurboVNC Viewer no longer requires that the VNC server support the QEMU LED State or VMware LED State RFB extension in order to use the QEMU Extended Key Event RFB extension. This fixes various key mapping issues when using the TurboVNC Viewer with wayvnc. However, it should be noted that, if the QEMU Extended Key Event extension is used without one of the LED State extensions, the lock key state on the client will lose synchronization with the lock key state on the remote desktop if a lock key is pressed outside of the TurboVNC Viewer window.

3.0.91 (3.1 beta2)

18 Aug 15:41
Compare
Choose a tag to compare
3.0.91 (3.1 beta2) Pre-release
Pre-release

Assets

Packaging Changes

  • The Windows installers are now signed using a code signing certificate provided by the SignPath Foundation.

Support

Code Quality: Beta
Current Support Category: EOL

Documentation

User’s Guide for TurboVNC 3.1 (Beta)

Release Notes

Significant changes relative to 3.1 beta1:

  1. Fixed an issue in the Windows TurboVNC Viewer that prevented certain UTF-8 characters in the clipboard from being transferred properly.

Significant changes relative to 3.0.3:

  1. The TurboVNC Server and Viewer now support UTF-8 clipboard transfers.

  2. The "Global" tab in the TurboVNC Viewer Options dialog now has a button that can be used to reset all options to their default values.

  3. The TurboVNC Viewer now maintains a different set of options for each unique TurboVNC host.

  4. The TurboVNC Server and Viewer now implement the QEMU Extended Key Event, QEMU LED State, and VMware LED State RFB extensions, which allow raw keyboard scancodes to be transmitted to the VNC server instead of X11 keysyms. Effectively, this means that the mapping of keycodes into keysyms is performed on the host rather than the client, which eliminates various system-specific and locale-specific key mapping issues (including issues with dead keys on international keyboards.) This feature also fixes lock key synchronization issues when using the TurboVNC Viewer with VMware's VNC server.

  5. If the NoReconnect parameter is unset (which it is by default), the TurboVNC Viewer will now offer to reconnect if the initial connection or authentication fails.

  6. The TurboVNC Server can now listen on a Unix domain socket, rather than a TCP port, for connections from VNC viewers. This is useful in conjunction with SSH tunneling, and it also allows the Unix domain socket permissions to act as an authentication mechanism for a TurboVNC session. Two new Xvnc arguments, -rfbunixpath and -rfbunixmode, can be used to specify the Unix domain socket path and, optionally, the permissions. A new vncserver argument, -uds, causes the script to automatically choose an appropriate Unix domain socket path under the TurboVNC user directory. See the Xvnc and vncserver man pages for more details.

  7. The TurboVNC Viewer can now connect to a VNC server that is listening on a Unix domain socket. This is accomplished by specifying {host}::{uds_path} as the VNC server, where {host} is the hostname or IP address of the VNC host and {uds_path} is the path to the Unix domain socket on the host. If {host} is not localhost, then SSH tunneling with an external SSH client is implied. Refer to the TurboVNC Viewer's usage screen (specifically, the documentation of the Server parameter) and the TurboVNC User's Guide for more details.

  8. The TurboVNC Viewer now asks for confirmation before overwriting an existing screenshot file.

  9. The TurboVNC Viewer now supports a new TurboVNC-specific connection info file format. TurboVNC connection info files have an extension of .turbovnc, and each line of these files contains a TurboVNC Viewer parameter name and value separated by an equals sign (=).

  10. The default values of all TurboVNC Viewer parameters can now be modified by specifying the values in ~/.vnc/default.turbovnc using the connection info file syntax described above.

3.0.90 (3.1 beta1)

02 Aug 15:47
Compare
Choose a tag to compare
3.0.90 (3.1 beta1) Pre-release
Pre-release

Assets

Packaging Changes

  • Linux/i386 RPM and DEB packages are no longer provided. Those packages were only useful for 32-bit-only Linux distributions, which are increasingly rare. Within the Red Hat and Ubuntu ecosystems, as an example, RHEL 6 (EOL 2020-11-30) and Ubuntu 18.04 LTS (EOL 2023-05-31) were the last enterprise releases to support 32-bit x86 CPUs.
  • The Windows installers are temporarily unsigned.

Support

Code Quality: Beta
Current Support Category: EOL

Documentation

User’s Guide for TurboVNC 3.1 (Beta)

Release Notes

Significant changes relative to 3.0.3:

  1. The TurboVNC Server and Viewer now support UTF-8 clipboard transfers.

  2. The "Global" tab in the TurboVNC Viewer Options dialog now has a button that can be used to reset all options to their default values.

  3. The TurboVNC Viewer now maintains a different set of options for each unique TurboVNC host.

  4. The TurboVNC Server and Viewer now implement the QEMU Extended Key Event, QEMU LED State, and VMware LED State RFB extensions, which allow raw keyboard scancodes to be transmitted to the VNC server instead of X11 keysyms. Effectively, this means that the mapping of keycodes into keysyms is performed on the host rather than the client, which eliminates various system-specific and locale-specific key mapping issues (including issues with dead keys on international keyboards.) This feature also fixes lock key synchronization issues when using the TurboVNC Viewer with VMware's VNC server.

  5. If the NoReconnect parameter is unset (which it is by default), the TurboVNC Viewer will now offer to reconnect if the initial connection or authentication fails.

  6. The TurboVNC Server can now listen on a Unix domain socket, rather than a TCP port, for connections from VNC viewers. This is useful in conjunction with SSH tunneling, and it also allows the Unix domain socket permissions to act as an authentication mechanism for a TurboVNC session. Two new Xvnc arguments, -rfbunixpath and -rfbunixmode, can be used to specify the Unix domain socket path and, optionally, the permissions. A new vncserver argument, -uds, causes the script to automatically choose an appropriate Unix domain socket path under the TurboVNC user directory. See the Xvnc and vncserver man pages for more details.

  7. The TurboVNC Viewer can now connect to a VNC server that is listening on a Unix domain socket. This is accomplished by specifying {host}::{uds_path} as the VNC server, where {host} is the hostname or IP address of the VNC host and {uds_path} is the path to the Unix domain socket on the host. If {host} is not localhost, then SSH tunneling with an external SSH client is implied. Refer to the TurboVNC Viewer's usage screen (specifically, the documentation of the Server parameter) and the TurboVNC User's Guide for more details.

  8. The TurboVNC Viewer now asks for confirmation before overwriting an existing screenshot file.

  9. The TurboVNC Viewer now supports a new TurboVNC-specific connection info file format. TurboVNC connection info files have an extension of .turbovnc, and each line of these files contains a TurboVNC Viewer parameter name and value separated by an equals sign (=).

  10. The default values of all TurboVNC Viewer parameters can now be modified by specifying the values in ~/.vnc/default.turbovnc using the connection info file syntax described above.

3.0.3

27 Feb 23:56
Compare
Choose a tag to compare

Assets

Support

Code Quality: Stable
Current Support Category: Maintenance

Documentation

User’s Guide for TurboVNC 3.0.3

Release Notes

Significant changes relative to 3.0.2:

  1. Fixed an issue in the Windows TurboVNC Viewer whereby a left Alt key press, followed by a left Alt key release, caused the keyboard focus to be redirected to the system menu, and subsequent keystrokes were consumed by the system menu until left Alt or Esc was pressed to dismiss the menu.

  2. Fixed an issue whereby Rosetta was required in order to install the TurboVNC package for Macs with Apple silicon CPUs.

  3. Fixed a regression introduced by 2.2 beta1[7] that prevented the idle timeout feature in the TurboVNC Server from working properly.

  4. The Mac TurboVNC Viewer app now informs macOS that it supports HiDPI monitors. This improves the sharpness of the remote desktop and TurboVNC Viewer GUI when using a Retina display.

  5. Fixed a regression introduced by 3.0 beta1[24] that caused the TurboVNC Server to become unresponsive if the network connection dropped and a VNC viewer disconnected before the network connection was restored.

  6. The vncserver script no longer passes -rfbwait 120000 to Xvnc. Effectively, that hard-coded the TurboVNC Server's send/receive timeout to 120 seconds, which doesn't make sense for most modern systems and networks. (The default value if -rfbwait is not passed to Xvnc is 20 seconds, which makes more sense.) The previous behavior can be restored by adding -rfbwait 120000 to the $serverArgs variable in turbovncserver.conf.

  7. Fixed an issue in the TurboVNC Viewer that sometimes caused the Java process to crash when closing the viewer window, particularly if multiple connections were open.

  8. Fixed a regression introduced by 3.0.1[3] whereby the TurboVNC Viewer's built-in SSH client tried the ssh-rsa, rsa-sha2-256, and rsa-sha2-512 signature schemes in sequence for every RSA private key stored in the SSH agent, even if the SSH server did not support one or more of those signature schemes. This caused the SSH client to prematurely exceed the SSH server's maximum number of authentication attempts.

  9. Fixed an issue in the TurboVNC Viewer's built-in SSH client whereby SSH private keys specified using the SSHKey and SSHKeyFile parameters or the IdentityFile OpenSSH config file keyword were added to the SSH agent's persistent keychain. The SSH client now maintains its own temporary keychain rather than modifying the agent's keychain.

  10. To better emulate the behavior of OpenSSH, the TurboVNC Viewer's built-in SSH client has been improved in the following ways:

    • If the SSH agent already has a copy of an SSH private key that was specified using the SSHKey or SSHKeyFile parameter or the IdentityFile OpenSSH config file keyword, then the SSH client now promotes the agent's copy of the key to the head of the SSH client's keychain rather than adding a duplicate key to the end of the keychain. If the SSH agent does not have a copy of the specified SSH private key, then the SSH client now adds the new key to the head of its keychain if a valid passphrase for the key was specified or to the end of its keychain if a valid passphrase for the key was not specified.
    • The TurboVNC Viewer now treats ~/.ssh/id_ecdsa as a default private key. Each of the default private keys ~/.ssh/id_rsa, ~/.ssh/id_dsa, and ~/.ssh/id_ecdsa, in that order, will be added to the SSH client's keychain using the rules described above if the file exists and the SSHKey and SSHKeyFile parameters are not specified.
    • +, ^, and - can now be used at the beginning of the PubkeyAcceptedAlgorithms OpenSSH config file keyword to specify a set of algorithms that should be appended to, prepended to, or removed from the default list.
    • Fixed a regression introduced by 2.2.1[5] that caused the PreferredAuthentications OpenSSH config file keyword to be ignored.

3.0.2

29 Nov 06:03
Compare
Choose a tag to compare

Assets

Packaging Changes

  • The RPM packages now contain SHA-256 header and payload digests. This fixes an issue whereby the RPM signatures could not be verified on Red Hat Enterprise Linux with FIPS mode enabled. The RPM packages now require GLIBC 2.17 or later.

Support

Code Quality: Stable
Current Support Category: Maintenance

Documentation

User’s Guide for TurboVNC 3.0.2

Release Notes

Significant changes relative to 3.0.1:

  1. The Linux/Un*x TurboVNC Viewer now works around an issue whereby Java on Un*x platforms generates a key release event without a corresponding key press event for dead keys on international keyboards.

  2. The TurboVNC Viewer no longer pops up the F8 menu if a modifier key (Shift, Ctrl, Alt, etc.) is pressed along with the menu key.

  3. Hotkeys in the Windows TurboVNC Viewer can no longer be triggered using the RCtrl-LAlt-Shift modifier sequence, because Windows uses RCtrl-LAlt to represent AltGr on international keyboards.

  4. The vncserver script now searches /usr/local/share/fonts for X11 fonts, which fixes an issue whereby the TurboVNC X server had few available fonts when running on recent FreeBSD releases.

  5. The Windows TurboVNC Viewer no longer overrides Java's default choice of high DPI scaling algorithms (nearest-neighbor interpolation) when using integral display scaling factors such as 200%. The viewer now emulates the behavior of Windows, using bilinear interpolation with fractional display scaling factors (per 3.0[6]) and nearest-neighbor interpolation with integral display scaling factors. This improves the sharpness of text when using the Windows TurboVNC Viewer with integral display scaling factors. The turbovnc.scalingalg system property can be set to bicubic, bilinear, or nearestneighbor to override the TurboVNC Viewer's default algorithm choice.

  6. The TurboVNC Server now handles multitouch events sent by the UltraVNC Viewer from touchscreen-equipped Windows clients.

  7. The Mac TurboVNC Viewer no longer uses Command-V as a hotkey to toggle view-only mode. Mac applications typically use Command-V for pasting from the clipboard. Even though Un*x applications do not typically respond to that key sequence, Mac users sometimes attempt to use Command-V with TurboVNC out of habit, which caused view-only mode to be activated accidentally because of 3.0 beta1[28]. CTRL-ALT-SHIFT-V can still be used to toggle view-only mode.

  8. The TurboVNC Viewer normally reserves CTRL-ALT-SHIFT-{arrow keys} as hotkeys to move the horizontal and vertical scrollbars. However, those key sequences are also used by Emacs and GNOME. Thus, the TurboVNC Viewer now sends those key sequences to the server if no scrollbars are visible or if keyboard grabbing is enabled.

3.0.1

15 Aug 16:59
Compare
Choose a tag to compare

Assets

Packaging Changes

  • A Mac package/DMG for Apple silicon (Arm) CPUs is now provided.

Support

Code Quality: Stable
Current Support Category: Maintenance

Documentation

User’s Guide for TurboVNC 3.0.1

Release Notes

Significant changes relative to 3.0:

  1. Fixed an error ("JRELoadError") that occurred when attempting to use the Mac TurboVNC Viewer app with a custom JRE based on OpenJDK 17.

  2. The TurboVNC Viewer's built-in SSH client now supports the OpenSSH v1 private key format. This fixes an "invalid privatekey" error that occurred when attempting to use a private key generated by a recent version of OpenSSH with the TurboVNC Viewer without ssh-agent or Pageant.

  3. The TurboVNC Viewer's built-in SSH client now supports the rsa-sha2-256 and rsa-sha2-512 signature schemes (RSA keys with, respectively, the SHA-256 and SHA-512 hash algorithms.) This improves security and compatibility with recent OpenSSH releases. (OpenSSH v8.8 no longer supports the ssh-rsa signature scheme by default, since ssh-rsa uses the now-defeated SHA-1 hash algorithm.) The built-in SSH client now also supports the PubkeyAcceptedAlgorithms keyword in OpenSSH config files, which can be used to disable specific signature schemes that both the client and server support.

  4. The TurboVNC Server and Viewer now truncate both incoming and outgoing clipboard updates to the number of bytes specified by the -maxclipboard Xvnc argument or the MaxClipboard TurboVNC Viewer parameter. Previously the server only truncated incoming clipboard updates, and the viewer truncated outgoing clipboard updates while ignoring incoming clipboard updates larger than 256 kB.

  5. Fixed an issue in the TurboVNC Viewer whereby specifying a key other than a function key (F1 through F12) using the MenuKey parameter caused "F1" to be selected in the "Menu key" combo box in the TurboVNC Viewer Options dialog.

  6. Fixed an error ("Security type not supported") that occurred when attempting to connect to a TurboVNC session using the TurboVNC Session Manager if the "VNC" security type was disabled in the TurboVNC Viewer (by way of the SecurityTypes, SendLocalUserName, or User parameter or a corresponding check box in the TurboVNC Viewer Options dialog) and the SessMgrAuto parameter was enabled.

  7. The TurboVNC Viewer now builds and runs on Macs with Apple silicon CPUs.

2.2.9 ESR

12 Aug 19:18
Compare
Choose a tag to compare

Extended Support release for project sponsors

Official binaries, source tarball, and change log are available at:
https://github.com/TurboVNC/turbovnc.esr/releases/tag/2.2.9-esr

3.0

03 May 18:55
Compare
Choose a tag to compare
3.0

Assets

Packaging Changes

  • Linux/AArch64 RPM and DEB packages are now provided.
  • The RPM packages now contain SHA-256 signatures. This fixes an issue whereby the RPM signatures could not be verified on Red Hat Enterprise Linux 9 when using its default crypto policy, which restricts the use of the SHA-1 algorithm.

Support

Code Quality: Stable
Current Support Category: Maintenance

Documentation

User’s Guide for TurboVNC 3.0

Release Notes

Significant changes relative to 3.0 beta1:

  1. Fixed an issue in the TurboVNC Viewer whereby scroll wheel events were transmitted to the VNC Server with incorrect coordinates if desktop scaling was enabled.

  2. The simple web server for noVNC (part of the TurboVNC Server) now supports Python 3, and the official TurboVNC packages now require Python 3. The TurboVNC Server must be built with CMake 3.12 or later in order for the simple web server to use Python 3.

  3. Fixed an error ("couldn't find '*/bin/webserver'") that occurred when attempting to run the vncserver script if TurboVNC was built without the optional noVNC web server.

  4. Fixed a regression in the TurboVNC Viewer whereby specifying the User or SendLocalUserName parameter did not automatically disable security types that do not use the Unix Login and Plain authentication schemes.

  5. The RPM package generated by the TurboVNC build/packaging system now includes post-install and pre-uninstall scriplets that configure/unconfigure the TurboVNC Server init.d script to run in the unconfined_service_t SELinux domain rather than the initrc_exec_t SELinux domain. This fixes an issue whereby either Xvnc or the window manager failed to launch when attempting to start a TurboVNC session from the TurboVNC Server init.d script on recent Red Hat Enterprise Linux (and derivative), Fedora, and SuSE releases.

  6. The TurboVNC Viewer now overrides Java's default choice of high DPI scaling algorithms on Windows. This eliminates visual artifacts when using fractional display scaling factors such as 125%.

  7. The vncserver script now sets the VGL_PROBEGLX environment variable to 0. This prevents VirtualGL from probing the TurboVNC X Server for stereo-capable X visuals. (Such visuals will never exist in an X proxy such as TurboVNC.) On systems that support libglvnd, probing for stereo-capable visuals caused the Mesa GLX vendor library to be loaded into the 3D application process, which led to interaction issues with certain commercial 3D applications that provide their own Mesa back ends.

  8. Fixed an error ("Server TLS ERROR: Could not load libssl") that occurred when attempting to use TLS encryption with the TurboVNC Server (built with TVNC_DLOPENSSL=1, which is the default) running on a TurboVNC host with OpenSSL 3.

  9. The TurboVNC Server is now based on xorg-server 1.20.14, which fixes several minor X server bugs.