10.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
250.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
580.9.8.2
59   - Fixed a regression that crept in with the Apple Remote Desktop support.
60
610.9.8.1
62   - Fixed an ABI compatibility issue.
63
640.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
1140.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
1710.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
1850.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
1980.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
2050.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
2560.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