Described here are some of the decisions in XCB of historical interest.
You can view completed tasks.
Life before git
Our old freedesktop.org CVSROOT is in /cvs/xcb.
Life before freedesktop.org
The mailing list has been hosted by freedesktop.org since October 2003, taking over from BartMassey, who hosted it from February 2003. Before that it was hosted by , beginning in June 2002. Old mailing list addresses are being forwarded to the current list; and everyone who was subscribed to those earlier lists should still be subscribed to this one.
XCL: an Xlib Compatibility Layer
We previously worked on XCL, an Xlib Compatibility Layer, which built on XCB to emulate Xlib. We expected in doing this to allow the large base of existing applications built on Xlib to begin to take advantage of XCB's capabilities.
XCL was a qualified success. The more arcane features of Xlib were difficult to capture in new code. We eventually chose a different approach for Xlib compatibility.
In September 2002, proposed a modification to Xlib that would maintain binary compatibility with Xlib extensions and applications. The day before Halloween 2003, and hashed out a better-informed approach, which certainly maintains binary compatibility with applications, and might not require recompiles of extensions either. This was mostly implemented two days later. As of June 2004, the result is quite usable for real work, although some rare but annoying bugs remain.
Previous work on XCL is best considered a prototype. It was complete enough to run rxvt and some small utilities like xlsatoms without any changes, but more of Xlib needed to be emulated to support most applications. This new approach enables slowly migrating Xlib internals and applications to XCB, without losing any of Xlib's functionality at any point, with the exception of support for arbitrary thread packages (only pthreads is supported by XCB) and some transports and authentication methods that haven't been implemented for XCB yet. An important feature of this strategy is that fixes to XFree86's implementation may still be imported where applicable since we're not making gratuitous modifications now.
Early work on XCB applications
XCB-based libraries and applications, in addition to the Xlib work described above. These have become the xcb-util libraries and xcb-demo applications.did some early work on new
M4 protocol descriptions
has written some documentation for those who might want to understand the M4-based previously used in XCB.
In 2004, XmlXcb project. This work has been merged into XCB.replaced the M4-based protocol description macros with an XML-based protocol description data format and an XSLT-based C binding generator, as part of the