[cairo-announce] cairo snapshot 1.5.20 now available

Carl Worth cworth at cworth.org
Tue Apr 8 03:11:25 PDT 2008

A new cairo snapshot 1.5.20 is now available from:


    which can be verified with:

        c7793ca5f0e6a9b09dd10394d67629796fc5380e  cairo-1.5.20.tar.gz

        (signed by Carl Worth)

  Additionally, a git clone of the source tree:

        git clone git://git.cairographics.org/git/cairo

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

    which can be verified with:
        git verify-tag 1.5.20

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

This is the tenth snapshot in cairo's unstable 1.5 series. It comes
just two days (and only one working day) after the 1.5.18
snapshot. The quick snapshot is due to two embarrassing bugs (both
affecting cairo-xlib) that had been introduced in the 1.5.18
snapshot. The fixes for these are described below along with a few
other fixes, (which hopefully aren't introducing new bugs this time).

We're hopeful that this release candidate holds up better than the
last one, and that we'll be able to make a 1.6.0 release soon with no
major code changes from this snapshot.

Have fun with cairo, everybody!


Major changes from cairo 1.5.18 to cairo 1.5.20
Revert fix from 1.5.18 to allow pattern expansion based on the filter
mode. This fix seemed so boring, (the use case it addresses is almost
never used in practice), that it didn't even get mentioned in the
1.5.18 release notes. However, the "fix" happened to break rendering
that is always used resulting in corrupt image rendering in mozilla,
evolution, and probably everything else that uses cairo.

Fix to avoid BadMatch errors in cairo_surface_create_similar. These
were introduced, (inadvertently, of course), as part of the fix in
1.5.18 for creating similar surfaces without the Render
extension. Again, thanks to mozilla, (and Vladimir Vukicevic in
particular), for noticing our mistake.

Correctly handle an in-error surface in
cairo_surface_write_to_png. Previously this function would cause an
assertion failure if you gave it a finished surface. Now it cleanly
returns a CAIRO_STATUS_SURFACE_FINISHED result instead.

Avoid potentially infinite wandering through memory inside
_cairo_hull_prev_valid. Thanks to Jonathan Watt for noticing this


Fix generation of "soft" masks made by drawing to a similar surface
and then calling cairo_mask_surface() with it.

Fix for code that uses cairo_mask() on an intermediate surface which
is later passed to cairo_mask_surface().

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, as well as PDF, PostScript, and SVG
file output. Experimental backends include OpenGL (through glitz),
Quartz, XCB, BeOS, OS/2, and DirectFB.

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 include 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

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


The latest versions of cairo can always be found at:


Documentation on using cairo and frequently-asked questions:


Mailing lists for contacting cairo users and developers:


Roadmap and unscheduled things to do, (please feel free to help out):


List of all changes from cairo 1.5.18 to cairo 1.5.20
Adrian Johnson (2):
      PDF: Add a function for changing the surface size
      Add PDF ref images for the smask tests

Carl Worth (15):
      Increment cairo version to 1.5.19 after the 1.5.18 snapshot
      Add underscore prefix to private _cairo_pdf_surface_set_size_internal
      Add ps-specific reference images for smask and smask-text tests
      Add svg-specific reference images for smask-fill, smask-paint, and smask-text tests
      SVG: Fix generation of mask_id identifiers
      Add svg-specific reference images for smask and smask-mask
      Revert "_cairo_pattern_get_extents: Fix to allow for expansion based on filter"
      Add filter-bilinear-extents to the XFAIL list
      Update several pdf-specific reference images
      Check surface->status and finished in cairo_surface_write_to_png
      Revert "[test] Repeat tests using cairo_push_group()."
      Prevent potentially infinite wandering through memeory in _cairo_hull_prev_valid
      Fix distcheck by renaming large-source-ref.c to large-source-ref.png (oops!)
      NEWS: Add notes for 1.5.20 snapshot
      Increment version to 1.5.20

Chris Wilson (10):
      [test/stroke-image] Fix memleak.
      [test/surface-source] Skip tests if we cannot create the source surface.
      [test/xlib-surface] Zero pixel buffers before use.
      [test/get-xrender-format] Free static data on exit.
      [test] Repeat tests using cairo_push_group().
      [cairo-xlib] Handle missing RENDER during similar surface creation
      [cairo-xlib] Create Pixmap using depth from xrender_format.
      [test/xlib-surface] Check for mismatching Visuals and XRenderPictFormats
      [cairo-xlib] Do not create surface with mismatching Visual and PictFormat.
      [test] Add large-source to exercise handling of massive images.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.cairographics.org/archives/cairo-announce/attachments/20080408/cbf4b0ee/attachment.pgp 

More information about the cairo-announce mailing list