A new cairo release 1.4.12 is now available from: http://cairographics.org/releases/cairo-1.4.12.tar.gz which can be verified with: http://cairographics.org/releases/cairo-1.4.12.tar.gz.sha1 45d5257e5a0c1524bcc25660a96b2c79d012ad3f cairo-1.4.12.tar.gz http://cairographics.org/releases/cairo-1.4.12.tar.gz.sha1.asc (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.4.12 tag which points to a commit named: 442fa9a106b01f17699397dcc95298071a50fd6d which can be verified with: git verify-tag 1.4.12 and can be checked out with a command such as: git checkout -b build 1.4.12 This is the sixth update in cairo's stable 1.4 series. It comes five months after the 1.4.10 release. This fix includes various bug fixes originally developed during the 1.5.x development and backported to 1.4. We hope that this is a nice release, of similar robustness to 1.4.10 but with many additional fixes. Distributions might choose to use the new 1.4.12 directly. Or the most conservative distributions might use the 1.4.12 branch as a starting point for looking for the most significant bug fixes to patch onto 1.4.10. Have fun with cairo! -Carl Summary of changes in cairo 1.4.12 since 1.4.10 =============================================== Some of the most significant bug fixes prevent crashes: * Avoid overflow when allocating large buffers (Vladimir Vukicevic) * Fix crash with cairo_pattern_set_user_data (Carl Worth) * Fix broken locking in cairo-ft error path (Chris Wilson) * Avoid crash when cleaning up after Render extension (Carl Worth) * Avoid crash for zero-sized bitmap glyph (Chris Wilson) * Avoid crash with type-1 fonts and ft and atsui enabled (Brian Ewins) * Fix many error-handling cases in the Quartz/ATSUI code (Brian Ewins) * Eliminate cairo_stroke crash with scaling near zero (Carl Worth) Other fixes address rendering problems: * Fix PDF linear gradients without stops at 0.0 and 1.0 (Adrian Johnson) * Fix PDF CFF subsetting to work with Apple Preview (Adrian Johnson) * Report proper errors on out-of-memory on win32 (Vladimir Vukicevic) * Fix EXTEND_NONE gradients for cairo-quartz (Brian Ewins) * Fix odd-number-of-dashes dashing for cairo-quartz (Brian Ewins) * Fix erroneous results from cairo_stroke_extents (Carl Worth) * Force non-AA text when bitmap strikes are available (Keith Packard) * Fix cairo-atsui font metrics (Richard Hult) And some avoid raising cairo errors for innocent problems: * Avoid drawing shutdown for glyph-not-found in font (Behdad Esfahbod) * Don't raise an error for creating an empty path (Chris Wilson) At least one optimization managed to sneak in: * Free glyph surfaces after uploading to X server cache (Behdad Esfahbod) And there are a few very minor fixes, (such as build fixes). Note: For anyone attempting to backport these fixes to 1.4.10, please take care since several of the fixes are spread across multiple commits in cairo's history. And the related commits are not always adjacent to each other. Please don't hesitate to ask for help or review of anything you might do. 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 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, etc.). 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: http://cairographics.org/ The latest releases of cairo can be found at: http://cairographics.org/releases Snapshots of in-development versions of cairo: http://cairographics.org/snapshots The programming manual for using cairo: http://cairographics.org/manual Mailing lists for contacting cairo users and developers: http://cairographics.org/lists Answers to some frequently asked questions about cairo: http://cairographics.org/FAQ Every commit between 1.4.10 and 1.4.12 ====================================== Adrian Johnson (7): CFF Subsetting: fix integer encoding bug PDF: Fix regression in pdf_surface_set_size() Fix PDF gradients bug Eliminate unclipped CLEAR from meta-surface playback Create meta-surface source image with same content type as the Truetype Subsetting: Avoid failing when fonts are missing optional tables CFF Subetting: Fix for #10849 Behdad Esfahbod (6): [configure.in] Make PS backend require zlib too (#12210) [configure.in] Fix non-pkgconfig Xrender detection path (#4724) =?utf-8?q?[ChangeLog.mk]=20Make=20make=20rule=20depend=20on=20.git/HEAD,=20not=20.git [cairo-ft-font] Ignore FT_Load_Glyph errors other than out-of-memory [ChangeLog.mk] Fix changelog generation rules [cairo-xlib] Release glyph surfaces if we made them to be generated Brian Ewins (14): [type1-subset] only subset ft fonts do not ignore errors in glyph paths do not ignore ATSUI errors. do not ignore errors when creating styles. do not ignore errors in setup_source do not ignore errors, return NULL instead (moz#874315) do not return a cairo_status_t of UNSUPPORTED call _cairo_error on failure Implement EXTEND_NONE for gradients. fix dash-zero-length test [quartz] return status instead of CGShadingRef [quartz] return status instead of cairo_quartz_surface_t [quartz] return status instead of CGPatternRef [configure.in] fix atsui experimental warning Carl Worth (11): Update version to 1.4.11 after the 1.4.10 release Add missing definition of INT32_MAX Ensure that a copied pattern gets its own user_data array Ensure the Render extension is initialized before calling XESetCloseDisplay Fix typo in _cairo_gstate_fini Limit miters for small angles Fix degenerate-pen test case by removing the triggering assertion Update two PS reference images for mysterious single-pixel change Mark bitmap-font as XFAIL NEWS: Add notes for cairo 1.4.12 Increment version to 1.4.12 and 13:6:11 Chris Heath (1): [autogen.sh] Tolerate tput failure (#12757) Chris Wilson (11): [Makefile.am] Add missing headers and reference images. [cairo-ft-font] Decrement lock count on error. [cairo-ft-font] Early detection of a zero sized bitmap. [cairo-path] Don't raise an error when attempting to create an empty path. [malloc] Check for integer overflow when realloc'ing. [malloc] Take advantage of calloc() argument checking. [cairo-path] Check for an empty path in cairo_append_path(). [cairo-scaled-font] Acquire mutex around _cairo_scaled_font_glyph_path(). [cairo-xlib-surface] Match content to xrender_format using the channel masks. [cairo-xlib] Check source for XRender support. [cairo-surface] Fix typo in doc. Keith Packard (1): Force non-AA text when using a bitmap strike with only scaling transform. Richard Hult (1): [atsui] Use ascent+descent+leading to get the distance between baselines Vladimir Vukicevic (10): [fix] Avoid int overflow when allocating large buffers [win32] check correct surface for BitBlt support in get_subimage Implement fallback for clone_similar [win32] call free() and not scaled_font_destroy() if scaled init fails Fix previous create_similar fallback patch [win32] call scaled_font_fini in create before returning NULL Make NO_MUTEX really mean no mutexes Avoid divide-by-zero when trying to allocate a 0-sized array [win32] report error correctly if CreateCompatibleBitmap fails [win32] return a nil surface, not NULL
Attachment:
pgprrtGj0Pisa.pgp
Description: PGP signature