What's new in the Windows VNC package?See the main VNC History page for an explanation of the version numbers.
A more complete list of changes can be found in the files called History.txt included in the source packages of both the viewer and the server. This is just a summary.
Want to get the latest version? Go to the Download Page.
New in Windows package 3.3.3r1
Fixed bug in the 3.3.3 server which was stopping the Java viewer from working. This package consists of version 3.3.3r1 of the server and 3.3.3 of the viewer.
New in Windows package 3.3.3
The documentation has been updated. Please read it again if you're upgrading.
The Windows VNC package is now built using Visual C++ 6.0. We recommend that you use the same or later if you wish to rebuild it from the source code.
Changes to thread scheduling and locking which should improve reacitivity of local GUI (menus, scrollbars etc) on slow links.
Information about the current connection including, optionally, the password, can be saved to a '.vnc' file, which can then be specified on the command line. You can use the IniFileMapping facility of NT if you would prefer these to be saved in the registry. Also an option to register '.vnc' files as belonging to vncviewer, so that you can double-click on them.
Fairly primitive scaling facility allows you to see desktop at different sizes.
In Connection dialog, display defaults to :0 if not specified, so when connecting to WinVNC servers you can usually just type the machine name.
Command line options to change the appearance of the local cursor.
3-button emulation (create a middle-button click by pressing left and right together) is now the default, so an option has been added to disable it if required.
Updated copyright notices and About... boxes.
An 'Add New Client' option has been added to the server menu, which initiates a connection to a listening VNC viewer (one started with the -listen option). This allows you to send your desktop to a helpdesk, for example, without them needing to know your password or IP address.
The WinVNC settings for the currently logged in user are now correctly loaded even when running as a service under Windows NT, provided a small 'helper' app is run when the user logs in. This helper is installed automatically when WinVNC is run as a service.
Limited client IP-address based filtering of connections is now supported, through the new Machine-Local registry setting "AuthHosts".
Incoming connections may be restricted on a server-wide basis to being accepted only on the local-loopback interface, through the "LoopbackOnly" registry setting.
Nagle's algorithm is now disabled on all WinVNC connections, decreasing latency considerably in many cases.
Dynamic priority adjustments are made to WinVNC threads to increase performance without impacting other running applications.
The machine's name is now included in the title of the web page used to access the Java version of the VNC client.
Timestamp information is now added in the debug log output.
MAJOR FIX: Two significant handle leaks which could occur when running as a service under Windows NT have been fixed.
MINOR FIX: The "LockSetting" registry option is now correctly loaded.
MINOR FIX: A bug which would sometimes cause an Application Fault when stopping a service-mode WinVNC has been fixed.
New in windows package 3.3.2 R6The R6 package consists of:
Windows VNCviewer (R11)Added middle-button emulation for two-button mice by clicking both buttons simultaneously. This need to be turned on from the command line or the Options dialog. Many thanks to Randy Brown <firstname.lastname@example.org> for providing this very useful feature, which we've been meaning to do for some time! A few new command line options to control this.
You can start connections in full-screen mode by specifying -fullscreen on the command line.
You can disable transfer of the clipboard in both directions from the Options dialog or the command line.
WinVNC Server (R6)Fixed a bug in polling of DOS-prompt boxes under Windows 95.
Fixed minor protocol non-compliance bug with regard to clients which fail to send SetPixelFormat messages.
New in windows package 3.3.2 R5See the documentation for further details. The R5 package consists of:
Windows VNCviewer (R9)More internal restructuring so that more code can be shared with the Windows CE viewer. Fixed some resource/handle leaks.
Added a 'Request Refresh' option to the menu.
WinVNC Server (R5)The WinVNC registry settings have now been reorganized and improved to allow better control over individual user's capabilities when running it, whether as an application or as a service. Full details in the documentation.
Mouse events are now produced to reflect those sent on the wire, regardless of whether the mouse buttons would locally be swapped by the OS. This means that left- or right- handedness is a client-side feature.
If you hold the mouse over the WinVNC icon in the System Tray, it will attempt to display the local IP addresses of the machine. Useful if these are dynamically allocated.
Some of the more important fixes:
If a client chose to send multiple update requests to the server without waiting for the update data, then the server would only consider the last request. This behaviour was incorrect and has now been fixed. As a result, WinVNC will now work properly with the PalmVNC viewer.
The HTTP server section of WinVNC could end up listening on the wrong port number when automatic display number selection was in use. This is now fixed.
A small memory leak in the WinNT side of the vncService::CurrentUser function has been fixed. Although the amount lost on each execution was small, the function is called often enough for this to cause problems over long periods of use.
Fixed a potential lockup when the Properties dialog is closed by the
OS rather than by the Ok or Cancel buttons.
New in windows package 3.3.2 R2See the documentation for further details. The R2 package consists of:
Windows VNCviewer (R5)Added full-screen mode. Many thanks to Greg Hewgill <email@example.com> for providing much of the basis for this.
Creates a palette for much better colour on 256-colour clients.
Added -viewonly and -restricted switches.
In addition to Ctrl-Alt-Del, you can send individual Ctrl-up, Ctrl-down, Alt-up and Alt-down keystrokes from the menu.
Updates are not requested from the server while iconified.
The initial state of the clipboard is not sent on connection as it was in the past.
Substantial source code restructuring.
The local 'dot cursor' is only used when the viewer window has the focus.
The modifiers are all raised when losing focus.
In 'listen' mode, the tray icon is checked every 15 seconds and restored if not there. If your Explorer dies as often as mine, you might appreciate this.
Fixed session dialog box so longer host names could be entered.
WinVNC Server (R2)Palette-based clients (such as the Linux SVGAlib client) are now properly supported by WinVNC.
Local-loopback connections, from viewers on the same machine as the server, can now be enabled.
Null-password connections can now be enabled.
WinVNC server logging features are in place, allowing remote connections and error conditions to be logged.
More of the keypad keys are now recognised from remote clients. This means that Ctrl-Alt-keypadDel will cause the server to perform the standard Ctrl-Alt-Del procedure.
Extra hook code is in place to make updates of pop-up menus, etc, work better.
The new ConnectPriority option is available, on a per-machine basis, to indicate how the server should deal with multiple non-shared connections.
Automatic display number selection is now available.
The CopyRect optimisations are now better handled.
Screen update notifications are now handled more efficiently.
The WinVNC -kill command will now wait until any old copies of WinVNC
have quit before attempting to continue.
New in 3.3.2The MRU (most recently used) list on the viewer now works much better. Extra command line options allow for more debugging output.
WinVNC now returns explanatory message text to the viewer when an incoming connection is refused because of an empty Password field or a local-loopback connection.
Mouse movements are now pre-processed by the Desktop handler and only passed to the Client handlers immediately before an update is triggered, resulting in less overhead and therefore lower latency.
If a client requests the CopyRect encoding in the list of encodings it supports then WinVNC will now use the CopyRect primitive when doing simple tasks like dragging windows. This still has some flaws in it but generally improves performance.
Updated the Java classes exported by WinVNC to include the Send-Ctrl-Alt-Del button.
Added a "-about" option, which will cause an _already running_ copy of WinVNC to display its About box, making it easier to check that you have the latest version!
Added version information to the VNCHooks Dynamic Link Library. This
can be viewed selecting the properties dialog for the vnchooks.dll file.
New in 3.3.1 Revision 19:MS-DOS applications can now by typed into! Thanks to Gur Stavi for pointing out that WinVNC didn't previously generate keyboard scancodes for key events. This means that the COMMAND.COM and EDIT programs, for example, may now be used through VNC.
Lookup-table based colour translations are now incorporated into WinVNC. This means a small increase in memory usage but delivers a noticable performance boost on most screen formats.
1, 4 and 8 bit palette-based local displays are now handled directly by WinVNC, resulting in a significant performance boost, although there are currently problems with the palette layout being confused in places.
More intelligent culling of unchanged regions of the screen from the list of rectangles to be sent has been implemented. Generally, this isn't noticable but over low-bandwidth links, it should have a significant effect.
WM_ENDSESSION is handled properly for full system shutdown. WM_DISPLAYCHANGE is now handled, so that when the display resolution changes, all remote VNC users are disconnected, to prevent corrupt display updates.
The mouse cursor rendered to VNC clients is now correct most of the time.
When installing WinVNC as a service, quotes are now placed around the executable's name, to avoid problems if there are whitespace characters in the path. (Common because of installing to "program files\orl\vnc").
The command-line options available have changed slightly - see the WinVNC documentation for details.
The Java viewer class files have been updated. The new classes are slightly more compatible with borderline Java VMs.
Deferred update messages are no longer removed from the application's message queue behind its back, hopefully resulting in more reliable behaviour & fewer lock-ups.
The screen-saver is now not disabled when WinVNC is running in service mode and a connection is made, to avoid a potential race condition. This will be handled better in a future revision.
WIN-NT ONLY:When running as a system service, WinVNC no longer disconnects all remote VNC connections whenever the current desktop changes.
Corrected some problems with shift-key release code confusing Windows NT.
WIN-95 ONLY:WM_USERCHANGED is handled, so that when no user is logged in, the machine-local password is used, otherwise the user's own VNC password and settings are used. (This assumes that Windows 95 is set to Multiple User Profile mode)
Under Windows 95, WinVNC running in service mode no longer crashes when told to stop by the -kill or -remove options.
The main text area of the Windows 95 console will now be polled by WinVNC
properly when the Poll Console Windows Only option is set.
New in 3.3.1 Revision 16:The big change is that WinVNC can now run as a service under both 95 and NT, so you can log in and log out remotely. This is still under development, so please excuse some rough edges! For more details see the WinVNC documentation. It will still run in its conventional mode if preferred.
The viewer now has a 'Send Ctrl-Alt-Del' option on the menu for use with the above. Unix viewers can generally send this anyway, as can Java viewers on platforms which don't use it locally.
A bug which often caused the entire screen to be transmitted twice to a connecting client is now fixed.
The general Shift, Alt and Control-related bugs, affecting non-UK/US keyboard layouts in particular, are now corrected, with one important exception:
When typing into an application set to use international keyboard layout A, using WinVNC run with keyboard layout B, problems may be experienced because WinVNC sets the wrong Shift key states to generate particular characters. As long as only one keyboard layout is used consistently across all applications, this shouldn't be a problem.
The viewer now generates AltGr international characters according to
the keyboard layout in use. The right Ctrl key can be combined with these
so that on a German keyboard, for example, AltGr-Q gives @ and RightCtrl-AltGr-Q
gives Ctrl-@. Dead keys are not properly supported yet.
New in 3.3.1 Revision 13:The Caps-Lock, Num-Lock and Scroll-Lock keys are now correctly disabled whenever a new client connects, if that client has keyboard input enabled.
Left and right versions of the Shift, Alt and Control keys can now be distinguished on NT if the viewer distinguishes.
The right and middle mouse buttons can now be set to trigger window updates, although by default these options are not used. This can be handy for things which use right-click for something other than popping up a menu.
For comments, feedback, etc, please see the 'Keeping
in touch' page.