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
6 * Added a GTK+ VNC viewer example.
8 - LibVNCServer/LibVNCClient:
9 * Added support to build for Google Android.
10 * Complete IPv6 support in both LibVNCServer and LibVNCClient.
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
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)
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.
35 - Fixed a regression that crept in with the Apple Remote Desktop support.
38 - Fixed an ABI compatibility issue.
42 * Automagically generated API documentation using doxygen.
43 * Added support for pkg-config.
44 * Fixed Mingw32 cross compilation.
45 * Fixed CMake build system.
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.
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
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
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.
82 * Is now resizable and can do key repeat, mouse wheel scrolling
83 and clipboard copy and paste.
86 * Fix for no input possible because of ctrl key being stuck.
87 Issue was reported as Debian bug #555988.
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.
96 - Added -q switch (quiet) to suppress printing all the debug-looking output.
98 - Added -bg switch to fork into background after everything is set up.
99 (checks for LIBVNCSERVER_HAVE_FORK and LIBVNCSERVER_HAVE_SETSID)
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)
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
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
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
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
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
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
182 inserted a deferUpdate mechanism (X11 independent).
183 removed deletion of requestedRegion
184 added rfbLoadConsoleFont
185 fixed font colour handling.
187 added rfbDrawCharWithClip to allow for clipping and a background colour.
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
197 fixed two deadlocks: when setting a cursor and when using CopyRect
198 fixed CopyRect when copying modified regions (they lost the modified
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
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)
233 rewrote API to use pseudo-methods instead of required functions.
235 Example can show symbols now.