[cairo] [cairo-announce] cairo release 1.10.0 now available

Behdad Esfahbod behdad at behdad.org
Tue Sep 7 12:22:04 PDT 2010


Congrats everyone!

On 09/06/10 13:52, Chris Wilson wrote:
> A new cairo release 1.10.0 is now available from:
> 
> 	http://cairographics.org/releases/cairo-1.10.0.tar.gz
> 
>     which can be verified with:
> 
> 	http://cairographics.org/releases/cairo-1.10.0.tar.gz.sha1
> 	efe7e47408d5188690228ccadc8523652f6bf702  cairo-1.10.0.tar.gz
> 
> 	http://cairographics.org/releases/cairo-1.10.0.tar.gz.sha1.asc
> 	(signed by Chris Wilson)
> 
>   Additionally, a git clone of the source tree:
> 
> 	git clone git://git.cairographics.org/git/cairo
> 
>     will include a signed 1.10.0 tag which points to a commit named:
> 	cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe
> 
>     which can be verified with:
> 	git verify-tag 1.10.0
> 
>     and can be checked out with a command such as:
> 	git checkout -b build 1.10.0
> 
> Release 1.10.0 (2010-09-06 Chris Wilson <chris at chris-wilson.co.uk>)
> ===================================================================
> 
> The cairo community is astounded (and flabbergast) to finally announce
> the 1.10.0 release of the cairo graphics library. This is a major update
> to cairo, with new features and enhanced functionality which maintains
> compatibility for applications written using any previous major cairo
> release, (1.8, 1.6, 1.4, 1.2, or 1.0). We recommend that anybody using
> a previous version of cairo upgrade to cairo 1.10.0.
> 
> One of the more interesting departures for cairo for this release is the
> inclusion of a tracing utility, cairo-trace. cairo-trace generates a
> human-readable, replayable, compact representation of the sequences of
> drawing commands made by an application. This can be used to inspecting
> applications to understand issues and as a means for profiling
> real-world usage of cairo.
> 
> The traces generated by cairo-trace have been collected in
> 
>   git://git.cairographics.org/git/cairo-traces
> 
> and have driven the performance tuning of cairo over the last couple of
> years. In particular, the image backend is much faster with a new
> polygon rasterisation and a complete overhaul of the tessellator. Not
> 
> nly is this faster, but also eliminates visual artifacts from
> self-intersecting strokes. Not only has cairo-trace been driving
> performance improvements within cairo, but as a repeatable means of
> driving complex graphics it has been used to tune OpenGL, DDX, and
> pixman.
> 
> Cairo's API has been extended to better support printing, notably
> through the ability to include a single compressed representation of an
> image for patterns used throughout a document, leading to dramatic file
> size reductions. Also the meta-surface used to record the vector
> commands compromising a drawing sequence is now exposed as a
> CAIRO_SURFACE_TYPE_RECORDING, along with a new surface that is a child of a
> larger surface, CAIRO_SURFACE_TYPE_SUBSURFACE. One typical usage of a
> subsurface would be as a source glyph in a texture atlas, or as a
> restricted subwindow within a canvas.
> 
> Cairo's API has also resurrected the RGB16 format from the past as
> the prevalence of 16-bit framebuffers has not diminished and is a
> fore-taste of the extended format support we anticipate in the future.
> Increasing cairo's utility, we introduce the cairo_region_t for handling
> sets of pixel aligned rectangles commonly used in graphics applications.
> This is a merger of the GdkRegion and the pixman_region_t, hopefully
> providing the utility of the former with the speed of the latter.
> 
> Furthermore cairo has been reworked to interoperate more closely with
> various acceleration architectures, gaining the ability to share
> those hardware resources through the new cairo_device_t. For instance,
> with the new OpenGL backend that supersedes the Glitz backend, hardware
> and rendering operations can be shared between a classic OpenGL
> application mixing libVA for the hardware assisted video decode with
> cairo for high quality overlays all within the same OpenGL canvas.
> 
> Many thanks for the hard work of Adrian Johnson, Andrea Canciani, Behdad
> Esfahbod, Benjamin Otte, Carl Worth, Carlos Garcia Campos, Chris Wilson,
> Eric Anholt, Jeff Muizelaar, Karl Tomlinson, M Joonas Pihlaja, Søren
> Sandmann Pedersen and many others that have contributed over the last
> couple of years to cairo. Thank you all!
> 
> -Chris
> 
> List of all changes between 1.9.14 and 1.10.0
> ---------------------------------------------
> 
> ndrea Canciani (15):
>       test: improve clip-*-unbounded tests
>       quartz: fix stroking with unbounded operators
>       quartz: fix solid masking fallback
>       quartz: improve backend detection
>       Fix configuration if gobject is absent
>       Correct color stops comparison function
>       gstate: Correct comment
>       pattern: Add gradient degeneracy testing functions
>       pattern: Simplify degenerate linear pattern to solid colors
>       perf: Improve calibration
>       Replace insertion sort with mergesort in the scan converter
>       test: Update linear-gradient-large ref image
>       subsurface: Silence compiler warnings
>       subsurface: Avoid invalid accesses
>       subsurface: Correct cloning condition
> 
> Benjamin Otte (20):
>       tee: Move definitions into separate header
>       configure: Disable tee backend by default
>       configure: Disable xml backend by default
>       Add cairo-gobject library
>       configure: Fix gobject handling
>       gl: Handle errors from _cairo_gl_gradient_render()
>       gobject: Include the extra library in the pkgconfig file
>       build: Fudge the build system some more so it handles extra libs
>       subsurface: Properly account for device offsets in the target
>       subsurface: Make subsurfaces their own type
>       subsurface: Don't crash when the device transform isn't integer
>       subsurface: Make CAIRO_SURFACE_TYPE_SUBSURFACE public
>       subsurface: Don't apply device transform twice for source/mask
>       subsurface: Don't clip size to target size
>       surface-offset: Use right variable in mask
>       test: Add subsurface-outside-target
>       subsurface: Fix acquire_source_surface for out-of-bounds surfaces
>       gobject: Fix pkgconfig file variable
>       build: Work around caching not reevaluating uncached variables
>       gobject: Fix header defines
> 
> Chris Wilson (12):
>       version: 1.9.15 post-snapshot bump
>       Mark the context as invalid on the final cairo_destroy()
>       check: Fix for link-time-optimisation
>       Reduce the cairo_device_type_t to only hold the used entries.
>       check: Make the actual error stand out
>       Bump pixman requirements to 0.18.4 for assorted fixes.
>       check: Ignore the documentation errors.
>       test: Rename clip-fill-*-unbounded.image16 ref to match REFERENCE_IMAGES
>       test: Add subsurface-outside-target refs to REFERENCE_IMAGES
>       NEWS: Sum up 2 years of development for 1.10.0 in 60 lines
>       version: 1.10.0 *release*
>       version: 1.10.1 open for bugfixing
> 
> David Schleef (1):
>       perf: Fix README to say cairo-perf-micro
> 
> Kristian Høgsberg (1):
>       egl: Use EGL_KHR_surfaceless_opengl extension when available
> 
> Krzysztof Kosiński (1):
>       tests: Add linear-gradient-large test
> 
> M Joonas Pihlaja (6):
>       script: Fix script backend build.
>       subsurface: Fix crash when acquiring a source image.
>       subsurface: Add a note to the docs about usage restrictions.
>       device: Refer the user to per-backend docs about devices.
>       build: Remove stray backslash.
>       freelist: Separate freelist inlines from the datatype in headers.
> 
> Maarten Bosmans (1):
>       build: prefer libpng14 over older versions
> 
> Nicolaus L Hepler (1):
>       ft-font: Make alpha mapping consistent
> 
> Rich Walsh (9):
>       os2: New API to create surfaces without a persistent HPS.
>       os2: Fix blitting 24 bpp pixel data.
>       os2: Fix buffer allocator behaviour on arithmetic overflow.
>       os2: Don't fake an Anchor Block when one isn't needed.
>       os2: Document ownership of OS/2 objects passed to surfaces.
>       os2: Consolidate error paths of cairo_os2_surface_create().
>       os2: Tweak an inline declaration.
>       os2: Fix clipping to bounds when blitting pixels.
>       os2: Restore surface type checking in the get_extents method.
> 
> Søren Sandmann Pedersen (1):
>       Update documentation to reflect that rgb565 is no longer deprecated.
> 
> What is cairo
> =============
> Cairo is a 2D graphics library with support for multiple output
> devices. Currently supported output targets include the X Window
> System, quartz, win32, and image buffers, as well as PDF, PostScript,
> and SVG file output. Experimental backends include OpenGL, 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,
> 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 versions of cairo can always be found at:
> 
> 	http://cairographics.org/download
> 
> Documentation on using cairo and frequently-asked questions:
> 
> 	http://cairographics.org/documentation
> 	http://cairographics.org/FAQ
> 
> Mailing lists for contacting cairo users and developers:
> 
> 	http://cairographics.org/lists
> 
> Roadmap and unscheduled things to do, (please feel free to help out):
> 
> 	http://cairographics.org/roadmap
> 	http://cairographics.org/todo
> 
> 
> 
> 
> _______________________________________________
> cairo-announce mailing list
> cairo-announce at lists.cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo-announce
> 
> 
> 
> --
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo


More information about the cairo mailing list