[cairo-announce] cairo release 1.2.4 now available

Carl Worth cworth at cworth.org
Fri Aug 18 18:35:12 PDT 2006

A new cairo release 1.2.4 is now available from:


    which can be verified with:

        5520b771c8b85acea78fa56fc4c39b4dca6bcc7c  cairo-1.2.4.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.2.4 tag which points to a commit named:

    which can be verified with:
        git verify-tag 1.2.4

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

This is the second bug fix release in the 1.2 series, coming less than
two weeks after the 1.2.2 release made on August 8.

The big motivation for a quick release was that there were a log of
build system snags that people ran into with the 1.2.2 release. But,
by the time we got those all done, we found that we had a bunch of
fixes for cairo's rendering as well. So there's a lot of goodness in
here for such a short time period.

As always, have lots of fun with cairo everybody!


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

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 cairo 1.2.2 compared to 1.2.0

Rendering fixes
Fix image surfaces to not be clipped when used as a source (Vladimir Vukicevic)

Fix a couple of corner cases in dashing degenerate paths (Jeff Muizelaar)

Fix support for type1 fonts on win32 (Adrian Johnson)

Fix assertion failure when rotating bitmap fonts (Carl Worth)

Fix assertion failure when calling cairo_text_path with bitmap fonts (Carl Worth)

Fix mis-handling of cairo_close_path in some situations (Tim Rowley, Carl Worth)

Respect font_matrix translation in _cairo_gstate_glyph_path (Behdad Esfahbod)

Fix vertical metrics adjustment to work with non-identity shapes (Behdad Esfahbod)

[PS] Set correct ImageMatrix in _cairo_ps_surface_emit_bitmap_glyph_data (Behdad Esfahbod)

Build system fixes
Fix xlib detection to prefer pkg-config to avoid false libXt dependency (Behdad Esfahbod)

Fix typos causing win32 build problem with PS,PDF, and SVG backends (Behdad Esfahbod)

Fix configure cache to not use stale results (Behdad Esfahbod)

Fix to not pass unsupported warning options to the compiler (Jens Granseuer)

Fix to allow env. variables such as png_REQUIRES to override configure detection (Jens Granseuer)

Fix test suite to not use an old system cairo when converting svg2png (Behdad Esfahbod)

Fix test suite to not require signal.h to be present (Behdad Esfahbod)

Code cleanups
Many useful warnings cleanups from sparse, valgrind, and careful eyes
(Kjartan Maraas, Pavel Roskin)

Detailed list of changes since 1.2.0
Adrian Johnson:
      Only use GGO_GLYPH_INDEX for truetype and opentype fonts on win32.

Behdad Esfahbod:
      Implement configure cache versioning for backend enabling results
      Don't link to -lm unconditionally in cairo.pc
      Save configure cache after checking all backends
      Fix typos in configure.in for PS/PDF/SVG backends
      Remove the ft_load_sfnt_table check from PS/PDF/SVG backends
      Test for libz only once and reuse result for PS and PDF
      [ROADMAP] Add generating EPS.
      [test] Rename beos_bitmap target to beos-bitmap.  Same for directfb-bitmap.
      [test] Behave better if no ref image was found for a test
      [test] Point out to the test log file on failures
      [test] Add target check-ref-dups that lists reference images having duplicate sha1sum hash
      [test] Update EXTRA_DIST after beos_bitmap -> beos-bitmap change
      Create multiple ChangeLog files segmented around major releases
      [ChangeLog] Remove 'fmt' formatting of the ChangeLogs
      [ChangeLog] Make ChangeLog creation faster by caching partial results
      [Makefile.am] Add $(AM_MAKEFLAGS) to recursive make invocations
      [Makefile.am] Move ChangeLog creation voodoo to ChangeLog.mk
      [Type1] Synch comments in the encoding table
      [ROADMAP] Update.  Adding 1.2.4 milestone and a few other items
      Respect font_matrix translation in _cairo_gstate_glyph_path
      [test] ft-text-vertical-layout: Use the string "i-W" to better show vertical metrics
      [FreeType] Fix comment about font coordinate
      [test] ft-text-vertical-layout: Update ref images
      [PS] Set correct ImageMatrix in _cairo_ps_surface_emit_bitmap_glyph_data
      [FreeType] Fix vertical metrics adjustment to work with non-identity shapes
      [FreeType] Use _cairo_ft_scaled_font_is_vertical where appropriate
      [ROADMAP] Add two assertion failures to 1.2.4 plans
      [test] New torture tests ft-text-vertical-layout-truetype/type1
      [.gitignore] Add truetype-tables
      [test] Add ft-text-vertical-layout-truetype.
      [test] Add $(LDADD) to svg2png_LDADD, to link to correct cairo
      [ROADMAP] Add more entries for 1.2.4.
      [ROADMAP] Add close_path behavior to 1.2.4.
      [PNG] Include png.h after cairoint.h to avoid macro problems (bug 7744)
      [test] Don't use signals if signal.h is not available
      [SVG] Make dependent on --enable-png (and increase cache-version to 2)
      [ROADMAP] Mark Type1 on win32 as done
      [test] text-rotate: Update ref images to make image pass again
      [ROADMAP] Add using alloca
      [configure] Use _NONPKGCONFIG_LIBS if no xrender pkg-config modele is found
      [configure] Check for x11 pkg-config module before using AC_PATH_XTRA
      [ROADMAP] Mark xlib detection problem as fixed
      [TODO] Add some items from memory

Carl Worth:
      Increment CAIRO_VERSION to 1.2.3 after making the 1.2.2 release
      README: Update backend list.
      NEWS: Fix some misspellings
      ROADMAP: Remove 1.2.2 stuff now that that release is out the door
      Rename src-clip test to source-clip-scale
      Harmonize implementations of source-clip and source-clip-scale to make similarities more evident.
      Add SVG-specific reference image for source-clip-scale test
      ROADMAP: Note that source-clip-scale is fixed
      ROADMAP: Add fix of EXTEND_PAD and deprecation of FORMAT_RGB16_565 to 1.4 roadmap.
      Add long-lines to the XFAIL list, (we're not fixing it before 1.2.4)
      Add rotation to bitmap-font to demonstrate failure of bug #7888
      Fix assertion failures in bitmap-font test by coercing A8 images to A1
      bitmap-font: Add cairo_text_path;fill to demonstrate bug #7889
      Add (primitive) bitmap glyph tracing to fix bug #7889
      close-path: New test case to demonstrate corner case discovered by Tim Rowley
      Fix close-path failure by adding explicit move_to after close_path.
      Don't set current point to (0,0) in close_path.
      ROADMAP: Mark the close path bug as fixed.
      Merge branch 'jrmuizel-stroking-fixes' into cairo
      Rename ft-text-vertical-layout-truetype to ft-text-vertical-layout-type3
      Mark ft-text-vertical-layout tests as XFAIL since we'repunting these from the 1.2.4 release.
      ROADMAP: Punt the AIX -lpthread bug off of the 1.2.4 roadmap.
      ROADMAP: Remove stray conflict marker
      EXTRA_DIST: Add several files to the tar file releases, (BUGS, CODING_STYLE, ROADMAP, etc.
      Add notes on reporting bugs to BUGS file and move bugs listed there to ROADMAP instead.
      Move unscheduled features and bugs from ROADMAP to TODO
      Update .gitignore due to recent rename.
      Use &image->base as appropriate to avoid warnings.
      bitmap-font: Add missing pdf-specific reference image
      Ignore ChangeLog* in addition to ChangeLog
      EXTRA_DIST: Add missing source-clip-scale-svg-ref.png
      NEWS: Add notes for the 1.2.4 release.
      Update version to 1.2.4 and libtool version to 11:2:9.
      Remove stray ] that was breaking RELEASE_OR_PUBLISH and many make targets (release-publish, etc.)

Emmanuel Pacaud:
      New test for long line bug.

Jeff Muizelaar:
      Test closed dashed paths where the first and last sub-path do not join.
      Modify degenerate-path test case to test dashed degenerate paths.
      Fix degenerate-path stroking with dashed lines.

Jens Granseuer:
      [warnings] Only use supported compiler warning flags
      [configure] Let env-vars override backend CFLAGS/LIBS (bug 7838)

Kjartan Maraas:
      [warnings] Fixes for sparse.  This fixes a lot of instances of 0 vs NULL

Pavel Roskin:
      [pixman] Don't cast pointers to integers
      [test] Allow overriding Valgrind flags on the command line
      [test] Fix warnings in tests on 64-bit systems
      Update nil surface structs to the surface struct
      [Type1] Use NULL instead of 0

Vladimir Vukicevic:
      Add src-clip test case to demonstrate bug with clipping applying to a source surface.
      pixman: Use pSourceClip rather than pCompositeClip when fetching

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

More information about the cairo-announce mailing list