/*Version 0.3.8*/
* Extensive refactoring and cleanups of the code from Martin Nordholts.
* Cursor-flickering bug has been fixed, by Martin.
* Improved consistency on the format of the commandline options 
and updated the manpage to reflect the changes (also by Martin ;) ).
* Applied patch by Luca Bonavita, that corrects the rgb
to yuv algorithm and provides near perfect colorspace conversion
(fixes bug #1961505)
* Compositing Window managers are now recognised through the _NET_WM_CM_Sn 
hint instead of a simplistic namelist (which means that dual-mode wm's like 
kwin or yet uknown ones will be handled correctly).
* Changed the way Jack support is offered, from dlopening at runtime to normal
linking at compilation.
* other minor changes and bugfixes.

/*Version 0.3.7.3*/
* Fixed bug #1886713 (XCB related crash)


/*Version 0.3.7.2*/
* Updated src/skeleton.c from libboggz trunk
(fix for big endian hosts)

/*Version 0.3.7.1*/
* Added skeleton bitstream in encoded files.
* minor bugfixes

/*Version 0.3.7*/
*Added configurable,global shortcuts for 
pause/unpause and stop.
*Added frame that surrounds the capture area.
*New rescue feature (allows encoding of 
crashed/interrupted sessions).
*fixed overcapture on no-sound
*fixed deadlock and behavior on fps<=1
*fixed crash when using --no-shared
*other minor bugfixes

/*Version 0.3.6*/
* Corrected segmentation fault when recording non-fullscreen areas, using the
full-shots mode(i.e. no Xdamage)
* Fixed arrays boundary overstep in BlocksFromList (resulting in segfault,
especially when compiled with -fstack-protector)
* Removed the need for Xdamage to be present even when it is not used.
* Added follow-mouse option(i.e. capture area tracks the mouse cursor).

/*Version 0.3.5.1*/
* Corrected segmentation fault when recording non-fullscreen areas
(bug-report and solution to the problem provided Sander Jansen)
* Corrected incorrect allocation of queued sound buffers
(could cause segmentation faults in FreeBSD)
* Corrected dlopen lookup on *bsd (libc instead of libdl)

/*VERSION 0.3.5*/
*Corrected cursor top/left behavior, fixed xfixes cursor placing.
*Double buffered capturing on full-shots, to convert only changed pixels to yuv.
*Cache block information is now is more efficiently extracted from the damage list
(when using xdamage) and during the rgb2yuv conversion(when using full shots).
*Jack client uniquely named, to allow simultaneous recordings when using it.
*updated man page
*removed uneccesary calculation of the alpha component when
calculating average pixel value for the u and v planes
*Ub,Vr replaced with UvBr
*changed scope of image buffer to be local in GetFrame

/*VERSION 0.3.4*/
*Fixed configure script to exit when zlib is not found.
*Fixed behavior of the program when using both the MIT-Shm and Xdamage extensions.
As a result, less memory is now required and all options related to conditional usage of
shared memory are gone. Shared memory is now on by default and the --with-shared
option is substituted by --no-shared.
*The --drop-frames option has been removed.
*The dummy cursor has been updated to look better.


/*VERSION 0.3.3.1*/
*Fixed ring buffer size, to be independant of the
size that jack uses internally
(small buffer sizes could create sound distrortion problems).

/*VERSION 0.3.3*/
*Improved cache format. Blocks are now cached at 16x16 for y plane
and 8x8 for u,v planes.
*Added support for compiltion with OSS instead of alsa.
(Minor other changes to make compilation on FreeBSD possible)
*Added support for recording audio through Jack.
*Many other bugfixes.

/*VERSION 0.3.2*/
*Added support for displays with 16bpp color depth.
*A bug has been fixed, that caused the Xfixes cursor to appear
distorted on amd64.
*A lot of code refactoring and cleanups of duplicated parts.

/*VERSION 0.3.1*/
*Added Added custom X error handler, to avoid BadWindow on
XGetWindowAttributes, with XQueryTree.
*Fixed sound_buffer initialization, which could cause segfault in startup.
*Corrected buffer size in sound recoding.
(Added new option to specify buffer size).
*Corrected interleaving of audio and video streams.
*Fixed missing end-of-stream in generated files.
*Applied patch submitted by Andreas Zwinkau,
correcting program crash/segfault, when run under
window managers that don't conform
to the FreeDesktop specification.


/*VERSION 0.3.0r2*/
*Minor corrections on the inclusion of the include/ directory in the project.

/*VERSION 0.3.0r1*/
*Fixed paused function, which was broken in 0.3.0

/*VERSION 0.3.0*/
*Implemented cache functionality
(Encoding by default happens right after the recording)
*Better damage event handling.
*Saving under the same file-name,no longer deletes the previous one,
instead it saves under a number postfixed file.
*Opening the sound device doesn't block anymore.
*A few new options were added related to caching.
*Program now checks if it is run uder a known 3d compositing window manager
and set behavior accordingly, to reduce the need for extra options at launch.
*documented all fuctions in header.
*Removed unneeded casts that bloated the code.
*Updated man page.
*Corrected X11 library checking during configuration.
*Removed uneeded bitmap screenshot function.


/*VERSION 0.2.6*/
*Behavior on stream desync has been changed.
Now, instead of dropping sound buffers, image
capturing speeds up. That is, waiting for timer to
expire is disabled until sync is achieved.
When not recording sound, this does not apply.
*Theora return values are now properly checked,
to avoid inserting corrupt packages into the stream.
*Major memory leaks have been fixed. These were related
to the rectangle insertion algorithm and discarding of
used sound buffers,
*Segmentation fault on seemingly random occasions has been
found and is now fixed. Reason was lack of thread safety over
libogg calls.


/*VERSION 0.2.5*/
*Drawing of the correct cursor is now supported through
the Xfixes extension.
*Change of behavior on lack of any Xserver extension and
failure to open sound device. The program now exits and informs
instead of continuing with a different configuration.
*Exit status also indicates the nature of any error that occured.
*Documentation has been updated with exit status explanations.
*Subsampling of the chroma planes is made by averaging, while
pixel discarding is an option(used to be otherwise).


/*VERSION 0.2.4*/
*Behavior on lack of $DISPLAY evironment
variable has been corrected.
*Size adjustment is now quantized at 16 pixels,
in order to avoid complete image distortion,
present at certain resolutions, when using shared memory
(conditional or not).
*Some other minor bugfixes, related mostly to default
values of options.


/*VERSION 0.2.3*/
*Problems on big-endian architectures, corrected
(thanks to Marcel Unbehaun for bringing up the problem
and providing the neccessary feedback to resolve it).
*Failure to respect change in channels number, while
opening soundcard, which resulted in crashes, segfaults
and repeated error-messages has been fixed.
*other minor bugfixes


/*VERSION 0.2.2*/
*Changes to the configure script.
*BGR to YUV convertion corrected.


/*VERSION 0.2.1*/
*Unupdated lines bug fixed.
*Fuzzy cursor at border bug fixed.
*Incorrect display of windows that
extended beyond recording height fixed.
*Size adjustement that resulted in extra
or missing pixels at borders has been corrected.
New adjustment is 8 pixels max,split evenly if possible.
*The option to drop frames has been added.
*The option to do better subsampling has been added.
*Default behavior now is to use shared memory when
size of image gets over 75% of total (or a user set threshold).
*Many other minor bugfixes.



