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