will include a signed 1.4.4 tag which points to a commit named: ebba4a6d1467a8e5db5cc43eb08e8fc98c39b30a

which can be verified with: git verify-tag 1.4.4

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

This is the second update release in cairo's stable 1.4 series. It comes just less than a month after 1.4.2. The changes since 1.4.2 consist primarily of bug fixes, but also include at least one optimization. See below for details.

Thanks, and have fun with cairo!

-Carl

There have been lots of individuals doing lots of great work on cairo, but two efforts during the 1.4.4 series deserve particular mention:

Internal cleanup of error handling, (Chris Wilson)--------------------------------------------------Chris contributed a tremendous series of patches (74 patches!) to improve cairo's handling of out-of-memory and other errors. He began by adding gcc's warn_unused_attribute to as many functions as possible, and then launched into the ambitious efforts of adding correct code to quiet the dozens of resulting warnings.

Chris also wrote a custom valgrind skin to systematically inject malloc failures into cairo, and did all the work necessary to verify that cairo's performance test suite runs to completion without crashing.

The end result is a much more robust implementation. Previously, many error conditions would have gone unnoticed and would have led to assertion failures, segmentation faults, or other harder-to-diagnose problems. Now, more than ever, cairo should cleanly let the user know of problems through cairo_status and other similar status functions. Well done, Chris!

More malloc reduction, (Mathias Hasselmann)-------------------------------------------After 1.4.0, Behdad launched an effort to chase down excessive calls to malloc within the implementation of cairo. He fixed a lot of malloc-happy objects for 1.4.2, but one of the worst offenders, (pixman regions), was left around. Mathias contributed an excellent series of 15 patches to finish off this effort.

The end result is a cairo that calls malloc much less often than it did before. Compared to 1.4.2, 55% of the calls to malloc have been eliminate, (and 60% have been eliminated compared to 1.4.0). Well done, Mathias!

Summary of all changes from 1.4.2 to 1.4.4==========================================Adrian Johnson (3): PDF: Use the TJ operator to show glyphs PS: Remove unused variable PDF: Fix glyph positioning bug when glyphs are not horizontal