[cairo-announce] cairo (0.2.0) and libpixman (0.1.2) snapshots now available

Carl Worth cworth at cworth.org
Wed Oct 27 14:03:45 PDT 2004

A new cairo snapshot 0.2.0 is now available from:

        2ff2b3b52b862971d2baa3fede3a3d6e  cairo-0.2.0.tar.gz

A new libpixman snapshot 0.1.2 is now available from:

        3ac4f267c788c695a5d9f806ecc59af6  libpixman-0.1.2.tar.gz

The big news for the cairo release is that the license has changed from
MIT to LGPL/MPL. Also, there's a big font and glyph cache rework so text
should now be much faster. We're also up to date with glitz now and
we've got a new test suite.

More details in the release notes below.



cairo snapshot 0.2.0 (2004-10-27 Carl Worth <cworth at cworth.org>)
New license: LGPL/MPL
The most significant news with this release is that the license of
cairo has changed. It is now dual-licensed under the LGPL and the
MPL. For details see the COPYING file as well as COPYING-LGPL-2.1 and

I express my thanks to everyone involved in the license change process
for their patience and support!

New font and glyph internals
Graydon Hoare has put a tremendous amount of work into new internals
for handling fonts and glyphs, including caches where appropriate.
This work has no impact on the user-level API, but should result in
great performance improvements for applications using text.

New test suite
This snapshot of cairo includes a (small) test suite in
cairo/test. The tests can be run with "make check". The test suite was
designed to make it very easy to add new tests, and we hope to see
many contributions here. As you find bugs, please try adding a minimal
test case to the suite, and submit it with the bug report to the
cairo at cairographics.org mailing list. This will make it much easier
for us to track progress in fixing bugs.

New name for glitz backend
The gl backend has now been renamed to the glitz backend. This means
that the following names have changed:

	cairo_set_target_gl     -> cairo_set_target_glitz
	cairo_gl_surface_create -> cairo_glitz_surface_create

This change obviously breaks backwards compatibility for applications
using the old gl backend.

Up-to-date with latest glitz snapshots
This snapshot of cairo is now up to date with the latest glitz
snapshot, (currently 0.2.3). We know that the latest cairo and glitz
snapshots have been incompatible for a very long time. We've finally
fixed that now and we're determined to not let that happen again.

Revert some tessellation regression bugs
People that have been seeing some tessellation bugs, (eg. leaked
fills), in the CVS version of cairo may have better luck with this
release. A change since the last snapshot was identified to trigger
some of these bugs and was reverted before making the snapshot. The
behavior should be the same as the previous (0.1.23) snapshot.

Miscellaneous changes

Track XCB API change regarding iterators.

Various bug fixes
Fix calculation of required number of vertices for pen.

Fix to avoid zero-dimensioned pixmaps.

Fix broken sort of pen vertices.

Fix bug when cairo_show_text called with a NULL string.

Fix clipping bugs.

Fix bug in computing image length with XCB.

Fix infinite loop bug in cairo_arc.

Fix memory management interactions with libpixman.

libpixman snapshot 0.1.2 (2004-10-27 Carl Worth <cworth at cworth.org>)
New functionality
Added three new functions:


The first enables component-alpha compositing which can be used for
optimizing sub-pixel rendering of text and other geometry. This is
useful when the geometrical relationship of the sub-pixel components
of the display device are known, (eg. with flat-panel monitors rather
than CRTs).

The other two functions are simple query functions that were missing.

Bug fixes
Enabling both transform and repeat simultaneously now works.
Some byte-order fixes.
Clipping fixes: pixman now takes a copy of the client clipping region
                client clipping is now actually used, it wasn't earlier.

More information about the cairo-announce mailing list