[cairo] [cairo-announce] cairo release 1.10.0 now available
mkbosmans at gmail.com
Mon Sep 6 13:45:09 PDT 2010
Congratulations on the new release!
It's great to see all these new features in a release ready to be
shipped in the distros
2010/9/6 Chris Wilson <chris at chris-wilson.co.uk>:
> A new cairo release 1.10.0 is now available from:
> which can be verified with:
> efe7e47408d5188690228ccadc8523652f6bf702 cairo-1.10.0.tar.gz
> (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:
> 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
> 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
> 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!
> 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,
> 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):
> Chris Wilson, Intel Open Source Technology Centre
> cairo-announce mailing list
> cairo-announce at lists.cairographics.org
> cairo mailing list
> cairo at cairographics.org
More information about the cairo