The X11 client now tries to enable the "BIG-REQUESTS" extension after the connection is established if this extension is supported by the server, and updates the maximum allowed request length accordingly. The configuration library has a new API for loading configuration, which is much more flexible than the old jc_config_load() function. A few other additions and bug fixes were also made.
The X11 client now supports SEND_EVENT requests. The configuration library can parse command line arguments. A clone of the xev program was added to test and demonstrate usage of the X11 client. Other test programs were also added. This release also adds a "getting started" document, which explains how to get started using libjc in applications. Bugs were also fixed and other minor improvements were made.
The semantics of jc_wait() were changed, and it is now much easier and straightforward to use objects from user programs. All tests have been updated to use the new interface. Functions that manage allocation of resource IDs were added to the X11 client. The configuration library now returns a descriptive error message in case of an error, instead of an error number. A few simple test programs for the X11 client were also added, and several performance improvements and bugfixes were made.
The llpoll library was re-implemented, and a document was added to describe its usage. The number of scheduler threads can now be set at runtime with a configuration parameter. The X11 client now uses a fixed-size buffer to read server messages. The size of this buffer can be configured at runtime as well. MAPPING_NOTIFY events are now sent to all windows that were registered with jc_x11_window_add(). All X11 core protocol constants are now defined in proto/x11.h. A document was added on the X11 client. Bugs were also fixed and several functions were added to some of the libraries.
This release adds an almost-complete X11 protocol library and an asynchronous X11 client. Only core protocol messages are currently supported; support for some standard X11 extensions may be added in the future. In addition, a bug in the core library was fixed, several functions were added, and some additions were made to the configuration library.