+--------------------------------------------------------------------+
|   This is a brief summary of changes introduced in each TightVNC   |
|   release. For more details, please see ChangeLog files included   |
|   in TightVNC source and binary archives.                          |
+--------------------------------------------------------------------+

* TightVNC 1.2.3

  - Unix and Win32 versions: zlib library was updated to the most
    recent version (1.1.4) where a potential security issue was fixed.

  - Unix and Win32 versions: fixed blocking I/O problems in built-in
    HTTP servers. Older versions had to wait while one client finishes
    his transaction, only then they served new client connections,
    thus making easy denial-of-service attacks possible.

  - Unix and Win32 versions: updated built-in Java viewer, see details
    below.

  - Win32 version: Added support for mouse wheel events. Wheel mouse
    support is fully compatible and interoperable with Unix version
    where this feature was available for a long time.

  - Win32 version (WinVNC): The -connect command-line option now
    accepts a display number after a hostname.

  - Win32 version: Creating associations for .vnc files in the
    installer.

  - Java viewer was GREATLY improved: the code was converted to Java
    1.1, painting techniques were re-designed completely (now the
    viewer should work in MacOS), several new parameters were added,
    all parameters were documented in the README file. Most important
    new features include: support for 24-bit colors, JPEG support in
    Tight encoding, RFB Bell message support, new "Refresh" button, a
    possibility to operate in a separate scrollable window, dynamic
    view-only mode. Many more changes were introduces, see the
    ChangeLog for more information. Please note that new Java viewer
    class names were changed, e.g. vncviewer.jar file has become
    VncViewer.jar etc.

  - Unix version: a number of changes in the vncserver script, e.g. 
    the default color depth is now 24, extra delay after Xvnc startup
    removed, font path is now configurable in the beginning of the
    script, and more.

  - Unix version: zlib library was removed from the core X sources. 
    Instead, both vncviewer and Xvnc now can use either system zlib
    and JPEG libraries, or ones packaged within TightVNC source
    archive in the lib/ directory. Unix sources are distributed in two
    versions: one with these libraries for those who don't have them
    installed in the system, and another version without libraries,
    copied directly from CVS, for those who do have zlib and/or JPEG
    libraries installed. In the former case, build procedure would
    include additional "make libs" step. System libraries will be
    linked dynamically, libraries included in the source archive will
    be linked in statically.

  - Unix version now includes comprehensive manual pages for
    vncviewer, vncserver, Xvnc, vncconnect and vncpasswd programs. The
    vncinstall script in the source distribution now accepts one more
    parameter allowing to specify where to install manual pages.

  - Unix version (Xvnc): a number of patches from Red Hat Linux vnc
    package were incorporated into the TightVNC codebase. This adds
    support for more architechtures including s390 and s390x, adds a
    possibility to use tcp_wrappers for Xvnc access control.

  - Unix version (Xvnc): several bugfixes, e.g. applied patch to fix
    crash in the code dealing with font server; fixed word alignment
    problem in raw encoder experienced by Sparc users.

  - Unix version is no more distributed as patches to a standard VNC
    release. This is because patches cannot handle changes in binary
    files and handle file removals very inefficiently.

  - Other minor fixes and cleanups.

----------------------------------------------------------------------

* TightVNC 1.2.2

  - Win32 server: long-standing Win9x resource consumption problem has
    been fixed. Now the server thread does not use blocking I/O, and
    therefore is always ready to process messages from the VNCHooks
    DLL.

  - Win32 server: now built-in HTTP daemon may be enabled and disabled
    interactively from the Advanced Preferences dialog (this setting
    is saved in new "EnableHTTPDaemon" registry key).

  - Win32 server: changes in layout and text of the Advanced
    Preferences dialog.

  - Xvnc: Minor bugfix which should prevent potential dereference of a
    NULL pointer.

  - Unix viewer: Now viewer window would be raised on beep (bell)
    event, unless new -noraiseonbeep option is provided in the command
    line or "raiseOnBeep" resource set to False.

  - One more packaging option for the Unix source: ready to build
    archive with Zlib and JPEG libraries inside.

  - Other minor fixes and cleanups.

----------------------------------------------------------------------

* TightVNC 1.2.1

  - Win32 server: added support for reverse connections on ports other
    than 5500, modified patch from Steve Kann.

  - Win32 viewer: added support for new command-line options:
    -noshared and -encoding XXX.

  - Bugfixes in Win32 viewer: changes in exception handling eliminate
    Borland C++ compilation problems causing application crashes on
    repetitive connections, notably in the listen mode. Also, now
    warning exceptions causing disconnects are reported to user,
    except for the case when a user has closed the viewer window.

  - Better packaging in Win32 version: self-installing package is
    available, vncviewer now shows correct icon image.

  - Unix vncviewer: Default tunneling command template has been
    changed, to allow tunneled connections to hosts where only
    loopback VNC connections are enabled. New -via <GATEWAY>
    command-line option provides enhanced tunneling functionality, now
    one can make vncviewer tunnel connections to a VNC host via third
    machine acting as a gateway.

  - Java viewer: Addition of new parameters PASSWORD, "Show Controls",
    and "View Only", modified patch from Steve Kann.

----------------------------------------------------------------------

* TightVNC 1.2.0

  - Tight encoding is now configurable and can operate at different
    compression levels where low compression levels are very fast in terms of
    CPU usage. New "-compresslevel N" option implemented in vncviewer to set
    compression levels for Tight encoding (1 - fast, 9 - best).

  - Enhanced techniques to split large rectangles in Tight encoder; now it
    tries to find large solid-color areas and send them in separate
    rectangles.

  - Lossy JPEG compression in Tight encoding has been implemented, new
    "-quality N" vncviewer option should be used to enable this feature (0 -
    low image quality and best compression, 9 - best image quality). JPEG
    compression is used only for screen areas that seem to be suitable for
    JPEG compression (although algorithms to detect such areas are not
    perfect, of course).

  - New "XCursor" and "RichCursor" encodings implemented. They are used to
    transmit cursor shape updates from server to clients ("local cursor"
    feature requested by many users). Mouse movement no longer causes
    framebuffer updates to happen, vncviewer processes mouse locally when
    this feature is active. New -nocursorshape vncviewer option turns this
    feature off.

  - A number of recent changes from both TridiaVNC and AT&T's releases merged
    into the sourse, now the code is based on version 3.3.3r2 for Unix part,
    and on 3.3.3r9 for Win32.

  - Unix vncviewer: When -tunnel option is specified in the command line,
    special rules are now used to choose preferred encoding. Now viewer does
    not think that server is running on the same machine when tunneling is on
    and the preferred encoding is now "tight" with default compression
    instead of raw.

  - Xvnc: Rules to set default pixel formats have been changed: now they are
    RGB565 instead of BGR556 for color depth 16, and RGB888 instead of BGR888
    for depth 24. This makes Xvnc compatible with Imlib renderer used in
    Gnome and also helps to avoid unnecessary pixel format translations in
    many cases.

  - Xvnc: X11 modifier mapped to META key is now Mod4 instead of Mod1. New
    -compatiblekbd option implemented in Xvnc to force META and ALT keys
    behave the same way as they do in the original AT&T's version.

  - A number of bugs fixed: viewer crashes after inflate() call, Xvnc CoRRE
    encoding problems, Xvnc bit-order issues in XCursor and RichCursor
    encodings, etc.

  - Java viewer now supports Tight encoding and cursor shape updates. Drawing
    techniques were changed, settings "Raw pixel drawing: Fast/Reliable" and
    "CopyRect: Fast/Reliable" removed from the Options panel since they do
    not make sense in new drawing model.

  - Other new features, optimizations, fixes and cleanups, see ChangeLog
    files.

----------------------------------------------------------------------

* VNC Tight Encoding 1.1

  - New ``gradient'' filter implemented in servers (it can be disabled in
    Xvnc with new -lazytight option). The filter preprocess full-color screen
    areas prior to compression in order to achieve better compression ratios
    (with the cost of slower compression). Vncviewers of version 1.0 had
    support for this filter already, but there was small bug causing image
    distortions in certain cases. So it is recommended to upgrade both
    servers and viewers.

  - Stupid bug fixed: extra unused color was included in palettes in many
    cases; compression ratios used to be worse than they should be.

  - The algorithm used to split large rectangles into parts has been changed. 
    This change can increase compression ratios in many situations.

  - Byte-order issues in servers have been (hopefully) fixed.

  - Performance tuning, code rewrites and cleanups in various places.

----------------------------------------------------------------------

* VNC Tight Encoding 1.0

  - Initial release.

----------------------------------------------------------------------
