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

Reply via email to