Package: cairo Version: 1.10.0 Severity: normal
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 only 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. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org