Home | History | Annotate | Download | only in libvncserver
      1 0.9.10
      2    - Overall changes:
      3      * Moved the whole project from sourceforge to https://libvnc.github.io/.
      4      * Cleaned out the autotools build system which now uses autoreconf.
      5      * Updated noVNC HTML5 client to latest version.
      6      * Split out x11vnc sources into separate repository at
      7        https://github.com/LibVNC/x11vnc
      8      * Split out vncterm sources into separate repository at
      9        https://github.com/LibVNC/vncterm
     10      * Split out VisualNaCro sources into separate repository at
     11        https://github.com/LibVNC/VisualNaCro
     12      * Merged Debian patches.
     13 
     14    - LibVNCServer/LibVNCClient:
     15      * Fixed some security-related buffer overflow cases.
     16      * Added compatibility headers to make LibVNCServer/LibVNCClient build on native
     17        Windows 8.
     18      * Update LZO to version 2.07, fixing CVE-2014-4607.
     19 
     20    - LibVNCServer:
     21      * Merged patches from KDE/krfb.
     22      * Can now do IPv6 without IPv4.
     23      * Fixed a use-after-free issue in scale.c.
     24 
     25 0.9.9
     26    - Overall changes:
     27      * Added noVNC HTML5 VNC viewer (http://kanaka.github.com/noVNC/) connect possibility
     28        to our http server. Pure JavaScript, no Java plugin required anymore! (But a
     29        recent browser...)
     30      * Added a GTK+ VNC viewer example.
     31 
     32    - LibVNCServer/LibVNCClient:
     33      * Added support to build for Google Android.
     34      * Complete IPv6 support in both LibVNCServer and LibVNCClient.
     35 
     36    - LibVNCServer:
     37      * Split two event-loop related functions out of the rfbProcessEvents() mechanism.
     38        This is required to be able to do proper event loop integration with Qt. Idea was
     39        taken from Vino's libvncserver fork.
     40      * Added TightPNG (http://wiki.qemu.org/VNC_Tight_PNG) encoding support. Like the
     41        original Tight encoding, this still uses JPEG, but ZLIB encoded rects are encoded
     42        with PNG here.
     43      * Added suport for serving VNC sessions through WebSockets
     44        (http://en.wikipedia.org/wiki/WebSocket), a web technology providing for multiplexing
     45        bi-directional, full-duplex communications channels over a single TCP connection.
     46      * Support connections from the Mac OS X built-in VNC client to LibVNCServer
     47        instances running with no password.
     48      * Replaced the Tight encoder with a TurboVNC one which is tremendously faster in most
     49        cases, especially with high-color video or 3D workloads.
     50        (http://www.virtualgl.org/pmwiki/uploads/About/tighttoturbo.pdf)
     51 
     52    - LibVNCClient:
     53      * Added support to only listen for reverse connections on a specific IP address.
     54      * Support for using OpenSSL instead of GnuTLS. This could come in handy on embedded
     55        devices where only this TLS implementation is available.
     56      * Added support to connect to UltraVNC Single Click servers.
     57 
     58 0.9.8.2
     59    - Fixed a regression that crept in with the Apple Remote Desktop support.
     60 
     61 0.9.8.1
     62    - Fixed an ABI compatibility issue.
     63 
     64 0.9.8
     65    - Overall changes:
     66      * Automagically generated API documentation using doxygen.
     67      * Added support for pkg-config.
     68      * Fixed Mingw32 cross compilation.
     69      * Fixed CMake build system.
     70 
     71    - LibVNCServer/LibVNCClient:
     72      * All files used by _both_ LibVNCServer and LibVNCClient were put into
     73        a 'common' directory, reducing code duplication.
     74      * Implemented xvp VNC extension.
     75      * Updated minilzo library used for Ultra encoding to ver 2.04.
     76        According to the minilzo README, this brings a significant
     77        speedup on 64-bit architechtures.
     78 
     79    - LibVNCServer:
     80      * Thread safety for ZRLE, Zlib, Tight, RRE, CoRRE and Ultra encodings.
     81        This makes all VNC encodings safe to use with a multithreaded server.
     82      * A DisplayFinishedHook for LibVNCServer. If set, this hook gets called
     83        just before rfbSendFrameBufferUpdate() returns.
     84      * Fix for tight security type for RFB 3.8 in TightVNC file transfer
     85        (Debian Bug #517422).
     86 
     87    - LibVNCClient:
     88      * Unix sockets support.
     89      * Anonymous TLS security type support.
     90      * VeNCrypt security type support.
     91      * MSLogon security type support.
     92      * ARD (Apple Remote Desktop) security type support.
     93      * UltraVNC Repeater support.
     94      * A new FinishedFrameBufferUpdate callback that is invoked after each
     95        complete framebuffer update.
     96      * A new non-forking listen (reverse VNC) function that works under
     97        Windows.
     98      * IPv6 support. LibVNCClient is now able to connect to IPv6 VNC servers.
     99      * IP QoS support. This enables setting the DSCP/Traffic Class field of
    100        IP/IPv6 packets sent by a client. For example starting a client with
    101        -qosdscp 184 marks all outgoing traffic for expedited forwarding.
    102        Implementation for Win32 is still a TODO, though.
    103      * Fixed hostname resolution problems under Windows.
    104 
    105    - SDLvncviewer
    106      * Is now resizable and can do key repeat, mouse wheel scrolling
    107        and clipboard copy and paste.
    108 
    109    - LinuxVNC:
    110      * Fix for no input possible because of ctrl key being stuck.
    111        Issue was reported as Debian bug #555988.
    112 
    113 
    114 0.9.7
    115    Mark sent me patches to no longer need C++ for ZRLE encoding!
    116    added --disable-cxx Option for configure
    117    x11vnc changes from Karl Runge:
    118       - Changed all those whimpy printf(...)'s into manly fprintf(stdxxx,...)'s.
    119 
    120       - Added -q switch (quiet) to suppress printing all the debug-looking output.
    121 
    122       - Added -bg switch to fork into background after everything is set up.
    123         (checks for LIBVNCSERVER_HAVE_FORK and LIBVNCSERVER_HAVE_SETSID)
    124 
    125       - Print this string out to stdout:  'PORT=XXXX' (usually XXXX = 5900).
    126         Combining with -bg, easy to write a ssh/rsh wrapper with something like:
    127         port=`ssh $host "x11vnc -bg .."` then run vncviewer based on $port output.
    128         (tunneling the vnc traffic thru ssh a bit more messy, but doable)
    129 
    130       - Quite a bit of code to be more careful when doing 8bpp indexed color, e.g.
    131         not assuming NCOLORS is 256, handling 8bit TrueColor and Direct Color, etc
    132         (I did all this probably in April, not quite clear in my mind now, but
    133         I did test it out a fair amount on my old Sparcstation 20 wrt a user's
    134         questions).
    135    introduce rfbErr for Errors (Erik)
    136    make rfbLog overridable (suggested by Erik)
    137    don't reutrn on EINTR in WriteExact()/ReadExact() (suggested by Erik)
    138    use AX_PREFIX_CONFIG_H to prefix constants in config.h to avoid
    139 	name clashes (also suggested by Erik)
    140    transformed Bool, KeySym, Pixel to rfbBool, rfbKeySym, rfbPixel
    141 	(as suggested by Erik)
    142    purged exit() calls (suggested by Erik)
    143    fixed bug with maxRectsPerUpdate and Tight Encoding (these are incompatible)
    144    checked sync with TightVNC 1.2.8:
    145 	viewonly/full passwords; if given a list, only the first is a full one
    146 	vncRandomBytes is a little more secure now
    147 	new weights for tight encoding
    148    checked sync with RealVNC 3.3.7
    149 	introduced maxRectsPerUpdate
    150    added first alpha version of LibVNCClient
    151    added simple and simple15 example (really simple examples)
    152    finally got around to fix configure in CVS
    153    long standing http bug (.jar was sent twice) fixed by a friend of Karl named Mike
    154    http options in cargs
    155    when closing a client and no longer listening for new ones, don't crash
    156    fixed a bug with ClientConnectionGone
    157    endianness is checked at configure time
    158    fixed a bug that prevented the first client from being closed
    159    fixed that annoying "libvncserver-config --link" bug
    160    make rfbReverseByte public (for rdp2vnc)
    161    fixed compilation on OS X, IRIX, Solaris
    162    install target for headers is now ${prefix}/include/rfb ("#include <rfb/rfb.h>")
    163    renamed "sraRegion.h" to "rfbregion.h"
    164    CARD{8,16,32} are more standard uint{8,16,32}_t now
    165    fixed LinuxVNC colour handling
    166    fixed a bug with pthreads where the connection was not closed
    167    moved vncterm to main package (LinuxVNC included)
    168    portability fixes (IRIX, OSX, Solaris)
    169    more portable way to determine endianness and types of a given size
    170 	through autoconf based methods
    171 0.5
    172    rpm packaging through autoconf
    173    autoconf'ed the whole package (including optional support for zlib,
    174 	pthreads and libjpeg as well as zrle/c++)
    175    moved appropriate files to contrib/ and examples/ respectively
    176    fixed long standing cargs bug (Justin "Zippy" Dearing)
    177    Even better x11vnc from Karl J. Runge! (supports different kbd layouts of
    178 	client/server)
    179    Better x11vnc from Karl J. Runge!
    180    fixed severe bug (Const Kaplinsky)
    181    got patch from Const Kaplisnky with CursorPosUpdate encoding and some Docs
    182    sync'ed with newest RealVNC (ZRLE encoding)
    183    a HTTP request for tunnelling was added (to fool strict web proxies)
    184    sync'ed with TightVNC 1.2.5
    185 0.4
    186    support for NewFB from Const Kaplinsky
    187    memory leaks squashed (localtime pseudo leak is still there :-)
    188    small improvements for OSXvnc (still not working correctly)
    189    synced with TightVNC 1.2.3
    190    solaris compile cleanups
    191    many x11vnc improvements
    192    added backchannel, an encoding which needs special clients to pass
    193 	arbitrary data to the client
    194    changes from Tim Jansen regarding multi threading and client blocking
    195 	as well as C++ compliancy
    196    x11vnc can be controlled by starting again with special options if compiling
    197 	with LOCAL_CONTROL defined
    198 0.3
    199    added x11vnc, a x0rfbserver clone
    200    regard deferUpdateTime in processEvents, if usec<0
    201    initialize deferUpdateTime (memory "leak"!)
    202    changed command line handling (arguments are parsed and then removed)
    203    added very simple example: zippy
    204    added rfbDrawLine, rfbDrawPixel
    205 0.2
    206    inserted a deferUpdate mechanism (X11 independent).
    207    removed deletion of requestedRegion
    208    added rfbLoadConsoleFont
    209    fixed font colour handling.
    210    added rfbSelectBox
    211    added rfbDrawCharWithClip to allow for clipping and a background colour.
    212    fixed font colours
    213    added rfbFillRect
    214    added IO function to check password.
    215    rfbNewClient now sets the socket in the fd_set (for the select() call)
    216    when compiling the library with HAVE_PTHREADS and an application
    217 	which includes "rfb.h" without, the structures got mixed up.
    218 	So, the pthreads section is now always at the end, and also
    219 	you get a linker error for rfbInitServer when using two different
    220 	pthread setups.
    221    fixed two deadlocks: when setting a cursor and when using CopyRect
    222    fixed CopyRect when copying modified regions (they lost the modified
    223 	 property)
    224    WIN32 target compiles and works for example :-)
    225    fixed CopyRect (was using the wrong order of rectangles...)
    226    	 should also work with pthreads, because copyrects are
    227 	 always sent immediately (so that two consecutive copy rects
    228 	 cannot conflict).
    229    changed rfbUndrawCursor(rfbClientPtr) to (rfbScreenInfoPtr), because
    230    	   this makes more sense!
    231    flag backgroundLoop in rfbScreenInfo (if having pthreads)
    232    CopyRect & CopyRegion were implemented.
    233 	if you use a rfbDoCopyR* function, it copies the data in the
    234 	framebuffer. If you prefer to do that yourself, use rfbScheduleCopyR*
    235 	instead; this doesn't modify the frameBuffer.
    236    added flag to optionally not send XCursor updates, but only RichCursor,
    237 	or if that is not possible, fall back to server side cursor.
    238 	This is useful if your cursor has many nice colours.
    239    fixed java viewer on server side:
    240 	SendCursorUpdate would send data even before the client pixel format
    241 	was set, but the java applet doesn't like the server's format.
    242    fixed two pthread issues:
    243 	rfbSendFramebuffer was sent by a ProcessClientMessage function
    244 	(unprotected by updateMutex).
    245 	cursor coordinates were set without protection by cursorMutex
    246    source is now equivalent to TridiaVNC 1.2.1
    247    pthreads now work (use iterators!)
    248    cursors are supported (rfbSetCursor automatically undraws cursor)
    249    support for 3 bytes/pixel (slow!)
    250    server side colourmap support
    251    fixed rfbCloseClient not to close the connection (pthreads!)
    252 	this is done lazily (and with proper signalling).
    253    cleaned up mac.c (from original OSXvnc); now compiles (untested!)
    254    compiles cleanly on Linux, IRIX, BSD, Apple (Darwin)
    255    fixed prototypes
    256 0.1
    257    rewrote API to use pseudo-methods instead of required functions.
    258    lots of clean up.
    259    Example can show symbols now.
    260    All encodings
    261    HTTP
    262