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