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

Maarten Bosmans 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


Maarten


2010/9/6 Chris Wilson <chris at chris-wilson.co.uk>:
> 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
>
> --
> Chris Wilson, Intel Open Source Technology Centre
>
> _______________________________________________
> 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