cairo 1.1.6 snapshot available
From: Carl Worth <>
Date: 4 May 2006
Subject: [cairo-announce] cairo snapshot 1.1.6 now available

A new cairo snapshot 1.1.6 is now available from:

    which can be verified with:
        6c2c5dc688edca44f8087b6ffe8bfc1b7b1c3ba1  cairo-1.1.6.tar.gz
        (signed by Carl Worth)

  Additionally, a git clone of the source tree:

        git clone git://

    will include a signed 1.1.6 tag which points to a commit named:

    which can be verified with:
        git verify-tag 1.1.6

    and can be checked out with a command such as:
        git checkout -b build 1.1.6

Snapshot 1.1.6 (2006-05-04 Carl Worth <>)
This is the third in a series of snapshots working toward the imminent
1.2 release of cairo. For a list of items still needing work on the
cairo 1.2 roadmap, please see:

As can be seen in that list, there are no longer any API additions
left on the roadmap. Instead, there is a feature (PDF type 3 fonts) a
performance optimization (X server gradients) and a list of bug
fixes. This gives us a fair amount of freedom to cut the 1.2 release
at almost any point by deciding to defer remaining bug fixes to
subsequent maintenance releases such as 1.2.2 and 1.2.4.

Before we will do that, we must first be wiling to commit to all the
new API additions. As a heads-up, there are a couple of potential API
changes being considered. (Note that these are changes to new API
introduced during 1.1 so these will not introduce API
incompatibilities compared to the stable 1.0 series). The changes
being considered are:

  cairo_get_group_target: may acquire x and y offset return
        parameters. May also be eliminated in favor of
        cairo_get_target assuming its role

  cairo_svg_surface_set_dpi: These functions may be removed in favor
        of a new cairo_surface_set_fallback_resolution

Additionally there is the possibility of a slight change in the
semantics of cairo_set_line_width. We believe the current behavior of the sequence:

        cairo_set_line_width; ... change CTM ...; cairo_stroke;

is buggy. It is currently behaving the same as:

        ... change CTM ...; cairo_set_line_width; cairo_stroke;

We are considering fixing this bug before 1.2 with the hope that
nobody is already relying on the buggy behavior described here. Do
shout if you suspect you might be in that position.

This snapshot is backwards-compatible with the 1.0 series---it makes a
few API additions but does not remove any API. See a few paragraphs
below for details on what's new in 1.1.6.

What is cairo
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, win32, and image buffers. Experimental backends include OpenGL
(through glitz), Quartz, XCB, PostScript and PDF file output.

Cairo is designed to produce consistent output on all output media
while taking advantage of display hardware acceleration when available
(for example, through the X Render Extension).

The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo including stroking and filling
cubic B├ęzier splines, transforming and compositing translucent images,
and antialiased text rendering. All drawing operations can be
transformed by any affine transformation (scale, rotation, shear,

Cairo has been designed to let you draw anything you want in a modern
2D graphical user interface.  At the same time, the cairo API has been
designed to be as fun and easy to learn as possible. If you're not
having fun while programming with cairo, then we have failed
somewhere---let us know and we'll try to fix it next time around.

Cairo is free software and is available to be redistributed and/or
modified under the terms of either the GNU Lesser General Public
License (LGPL) version 2.1 or the Mozilla Public License (MPL)
version 1.1.

Where to get more information about cairo
The primary source of information about cairo is:

The latest releases of cairo can be found at:

Snapshots of in-development versions of cairo:

The programming manual for using cairo:

Mailing lists for contacting cairo users and developers:

Answers to some frequently asked questions about cairo:

What's new in 1.1.6 compared to 1.1.4
API additions
The long-awaited group-rendering support is now available with the
following function calls:


This API provides a much more convenient mechanism for doing rendering
to an intermediate surface without the need to manually create a
temporary cairo_surface_t and a temporary cairo_t and clean them up

Add the following missing get function to complement


PDF backend (API addition)
The PDF backend now provides for per-page size changes, (similar to
what the PostScript backend got in the 1.1.4 snapshot). The new API


Xlib backend (API additions)
The following functions have been added to allow the extraction of
Xlib surface:


XCB backend (experimental)
Update backend so that it now compiles with the recent XCB 0.9 release.

Bug fixes and memory leak cleanup
Various little things, nothing too significant though.