Cairo Changelog

New in version 1.12.16

August 27th, 2013
  • Adrian Johnson (3):
  • pdf: add missing 'endobj' to shading dict
  • pdf: fix typo in bbox check
  • type1-subset: Don't try to rename non winansi glyphs
  • Behdad Esfahbod (12):
  • [FT] Prefer downscaling bitmap glyphs to upscaling
  • [test] Set font size
  • [ft] I meant fabs(), not abs()
  • [ft] Fix memory bug in copying bitmaps
  • [ft] Fix wrong assumptions
  • Towards support loading color glyphs from FreeType
  • Support 2bit and 4bit embedded bitmaps
  • [ft] Fix math
  • [ft] Add missing include
  • Revert accidentally committed stuff
  • [ft] Fix alignment
  • [ft] Ensure alignment of bitmaps received from FreeType
  • Bryce W. Harrington (16):
  • test: Fix typo in sample_horizontal to use horizontal, not vertical.
  • image: Quell warning about signed/unsigned int comparison.
  • type1-subset: Quell warning about uninitialized array_start
  • type1-subset: Fix typos in function comment
  • pdf: Assure compiler that data, data_size will always be initialized
  • gl: Quell warning about incompatible pointer type
  • test: Note naming scheme for XFAIL images in README
  • test: Fix make check-ref-dups due to move of ref images to reference/
  • test: Add script to check for redundant reference images
  • test: Use cmp to catch byte-by-byte identical files
  • test: Make check-ref-dups utilize perceptualdiff for comparisons
  • pdiff: Quell warning about signed/unsigned comparisons
  • pdiff: Drop unused variable
  • test: Add special cases for create-from-png and fallback-resolution
  • HACKING: Make mention of the separate cairo-traces repo
  • perf: Move macro-benchmark documentation to cairo-traces
  • Chris Wilson (45):
  • Post release version bump to 1.12.15
  • spans: Mark the surface as cleared in preparing for recording surface playback
  • recording: Avoid indirection through indices array if not reduced
  • path: Fix bbox computation for negative scale factors
  • test: Exercise replaying a recording surface through a flip matrix
  • win32: Free the fallback upon finish
  • image: Compare against the true size of the embedded buffer
  • xlib: Fix invocation of XRenderFindFormat()
  • gl: Fix typo s/bool/cairo_bool_t/
  • mempool: Reduce an assert into an error return for get_buddy()
  • perf: Iteratively prune outliers
  • xlib: Wrap errors generating sources in an error surface
  • xlib: Trim uploads for surfaces extended by PAD
  • png: Avoid marking the surface as in error after a png warning
  • directfb: Correctly chain up map-to-image/unmap to the image backend
  • traps: Ensure that we correctly clip when using multiple clip boxes
  • xlib: Unlike the visual when destroying it
  • test: Expand testing of caps for fine strokes
  • test: Extend testing of joins for fine lines
  • trace: Improve operand emission
  • recording: Fix inconsistent usage of types for indices
  • perf: Rudimentary histogram printing for cairo-perf-print
  • perf: Rescale the histogram for the terminal
  • perf: Avoid vertically stretching the histogram
  • perf: Remove a debug artifact
  • recording: Prevent invalid memory access with zero length command array
  • scaled-font: Prevent a recursive mutex lock for removing a failed glyph
  • pdf: Improve consistency in use of cairo_int_status_t
  • pdf: Fix compiler warning for use of unitialised variable along error path
  • image: Mark the data as owned after stealing the snapshot's image
  • test/get-path-extents: Check exact matches within tolerance
  • gstate: Speed up stroked path extents
  • svg: Unwrap recording surfaces
  • xml: Handle clip-boxes in the updated cairo_clip_t
  • cairo-perf-print: Do not free the uninitialised histogram
  • test: Use the highest precision rendering for shapes for generating ref results
  • check: Fix check-def.sh for variations in GCC's linker
  • test: Remove all identical (cmp & pdiff) reference images
  • test: Add a few reference images found lurking on my machine
  • test: Remove conflicting .ref.png, .argb32.ref.png, .rgb24.ref.png
  • test: Amend check-refs.sh to support out-of-tree builds
  • Provide backwards compatibilty with old pixman
  • win32: Prevent double-free of similar images
  • Make "make check" happy
  • 1.12.16 release
  • Eric Anholt (1):
  • gl: Move glGetUniformLocation to shader compile time.
  • Henry Song (8):
  • gl: disable GL_DITHER
  • gl: Export query for EGLContext and EGLDisplay from device
  • gl: Fix typo in gles2 shader cache lookup
  • gl/msaa: Resolve multisampling on surface flush
  • gl/msaa: Properly destroy stencil buffer clip cache
  • gl/msaa: Disable stencil and scissor during framebuffer blit
  • gl/msaa: Always use scissor when clipping
  • gl/msaa: Clean up msaa depth/stencil buffer for OpenGLES
  • Jana Saout (1):
  • pdf: Fix crash
  • Marc-AndrĂ© Lureau (1):
  • win32: fix corrupted drawing
  • Marek Kasik (1):
  • cff-subset: Fix allocation of width arrays
  • Martin Robinson (12):
  • gl: Setup operands when the vertex size changes
  • path: Fix a bug in line intersection
  • stroke: Fix large line widths for fallback stroke shaper
  • stroke: Use round-joins near inflection points of splines
  • boilerplate: Add a mode for running threaded perf tests
  • boilerplate/gl: Disable thread awareness
  • gl: Separate framebuffer bind from destination selection
  • gl: Update transformation when surface size changes
  • gl: Bind the default framebuffer before calling gl{Read|Draw}Buffer
  • gl: Fix compiler warnings in the GL backend
  • gles: Switch default framebuffer destinations properly
  • gl: Return surface in error when creating oversized texture surfaces
  • Matt Sealey (1):
  • gitignore: negate gitignore for static pkgconfig files
  • Matthew Fischer (1):
  • Adding a simple usage statement to cairo-perf-chart
  • Michael Hutchinson (1):
  • quartz: Don't release memory we don't own
  • Nicola Fontana (1):
  • gobject: Add wrapper around cairo_matrix_t
  • Uli Schlachter (13):
  • test: Fix CAIRO_REF_DIR
  • test: Fix handling of dots in CAIRO_TEST_TARGET
  • boilerplate: rename xcb-render-0.0 to xcb-render-0_0
  • Fix "make check" standalone header check
  • xcb: Clear temporary replay image in recording playback
  • Fix caps-tails-curve reference images
  • Add new test for bug 61592
  • image compositor: Always finish the span renderer
  • xcb: Fix some uninitialized variable warnings
  • api-special-cases: Also test contexts
  • surface: Error out on finished surfaces
  • push_group: Refuse working with unusable surface
  • surface_get_extents: Reject finished or error surface
  • egag (1):
  • xlib: Aquire display before using it in DEBUG message.

New in version 1.12.14 (February 12th, 2013)

  • Prevent user callbacks accessing user-data during destroy to prevent use-after-free bugs.
  • Use standard names for glyphs in subset fonts (PDF).
  • Fix detection of Win98. The logic for detecting Win98 (and its broken AlphaBlend()) was inverted, disabling AlphaBlend() for everyone.
  • Prevent numeric overflow from extrapolating polygon edges to the clip boundary and causing severe render artifacts.
  • Fix computation of glyph string coordinates when breaking up runs for xlib.
  • Fix an assertion in the win32 backend for failing to clear its similar-images.

New in version 1.12.12 (February 2nd, 2013)

  • This version fixes synchronization problems in the SHM transport for cairo-xlib.
  • Replacing entire images is now avoided when uploading subimages.
  • Other minor bugs have been fixed.

New in version 1.12.10 (January 26th, 2013)

  • Many bugs have been fixed.
  • Most notably, font handling by pango/cairo/fontconfig has been made fully thread-safe.
  • The MSAA backend for cairo-gl received some gradual completion.

New in version 1.12.8 (November 5th, 2012)

  • Bug fixes:
  • Expand the sanity checking for broken combinations of XSendEvent and ShmCompletionEvent.
  • Notice that "The X.Org Foundation" sometimes also identifies itself as "The Xorg Foundation".
  • Handle various ages of libXext and its Shm headers.
  • Fix the invalid clipping of the source drawable when using SHM transport to upload images. https://bugs.freedesktop.org/show_bug.cgi?id=56547
  • Handle all Type1 postscript operators for better font compatibility. https://bugs.freedesktop.org/show_bug.cgi?id=56265
  • Fix a couple of memory leaks in Type1 font subsetting https://bugs.freedesktop.org/show_bug.cgi?id=56566
  • Tighten the evaluation of the start/stop pen vertices, and catch a few instances where we would use a fan instead of a bevel. https://bugs.freedesktop.org/show_bug.cgi?id=56432
  • Fix assumption that geometric clipping always succeeds with the span-compositor. https://bugs.freedesktop.org/show_bug.cgi?id=56574
  • Fix call to spline intersection when evaluating whether a stoke is visible.
  • Remember to copy inferior sources when using SHM to readback the surface for use as a source.

New in version 1.12.4 (October 6th, 2012)

  • More bugs, and more importantly, more fixes. On the cairo-gl side, we have refinements to the MSAA compositor which enables hardware acceleration of comparitively low-quality antialiasing - which is useful in animations and on very high density screens. For cairo-xlib, we have finally enabled SHM transport for image transfers to and from the X server. A long standing required feature, SHM transport offers a notable reduction in rendering latency by reducing the number of copies required to upload image data - given hardware and driver support, cairo-xlib can now perform zero copy uploads onto the GPU. And as usual Adrian Johnson has been very busy fixing many different corner cases in cairo-pdf, impoving opacity groups and font subsetting. Last, but not least, for cairo-image S=F8ren Sandmann Pedersen added support for rendering glyphs to pixman and using that from within cairo. The new glyph rendering facility reduces the overhead for setting up the compositing operation, improving glyph thoughput for the image backend by a factor of about 4. And before he did so, he also fixed up a few bugs in the existing glyph rendering code. So many thanks to Andrea Canciani, Adrian Johnson, Chuanbo Weng, Dongyeon Kim, Henry Song, Martin Robinson, S=F8ren Sandmann Pedersen and Uli Schlachter for their contributions, finding and fixing bugs.

New in version 1.12.2 (May 1st, 2012)

  • Various minor bugs have been fixed.

New in version 1.8.6 (December 17th, 2008)

  • Several fixes for failures on Quartz and PDF and build fixes for a couple of backends were made.
  • A check for XRender in the XCB backend was introduced to avoid invalid memory accesses.

New in version 1.8.2 (October 31st, 2008)

  • It is now possible to build Cairo without any font backend, which is most useful when the application provides custom font rendering through the user-font API.
  • A failsafe fallback font is provided, though.
  • Several compilation speed-ups and optimizations were made.
  • Many bugs were fixed.