[cairo-commit] [cairo-www] src/news

Bryce Harrington bryce at freedesktop.org
Mon Oct 13 20:44:26 PDT 2014

 src/news/cairo-1.14.0.mdwn |  542 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 542 insertions(+)

New commits:
commit d79fe557b757f2e1acfef3936c363e5a1fc96a08
Author: Bryce Harrington <bryce at osg.samsung.com>
Date:   Mon Oct 13 20:44:15 2014 -0700

    Add news item for 1.14 release

diff --git a/src/news/cairo-1.14.0.mdwn b/src/news/cairo-1.14.0.mdwn
new file mode 100644
index 0000000..8de8eea
--- /dev/null
+++ b/src/news/cairo-1.14.0.mdwn
@@ -0,0 +1,542 @@
+[[!meta title="cairo 1.14.0 snapshot available"]]
+[[!meta date="2014-10-13"]]
+	 Date: Mon, 13 Oct 2014 20:31:36 -0700
+	 From: Bryce Harrington <bryce at osg.samsung.com>
+	 Subject: [cairo] cairo release 1.14.0 now available
+	 A new cairo release 1.14.0 is now available from:
+	   http://cairographics.org/releases/cairo-1.14.0.tar.xz
+	     which can be verified with:
+	     http://cairographics.org/releases/cairo-1.14.0.tar.xz.sha1
+	     53cf589b983412ea7f78feee2e1ba9cea6e3ebae  cairo-1.14.0.tar.xz
+	     http://cairographics.org/releases/cairo-1.14.0.tar.xz.sha1.asc
+	     (signed by Bryce Harrington)
+	   Additionally, a git clone of the source tree:
+	   git clone git://git.cairographics.org/git/cairo
+	     will include a signed 1.14.0 tag which points to a commit named:
+	     f6fd372a8b31a0bebbdfe36090d6ffc7bab9a2f8
+	     which can be verified with:
+	     git verify-tag 1.14.0
+	     and can be checked out with a command such as:
+	     git checkout -b build 1.14.0
+	 Release 1.14.0 (2014-10-13 Bryce Harrington <bryce at osg.samsung.com>)
+	 ====================================================================
+	 Hard to believe it's been over a year since our last release, but it's
+	 not for lack of activity.  This release includes contributions of a wide
+	 assortment of bug fixes, build system improvements, warnings cleanups,
+	 codebase refactoring, test suite repairs, and static analysis work.
+	 This release is lighter on features (compared with 1.12.10) but includes
+	 a highly demanded rehaul of our image downscaling functionality, which
+	 solves a serious problem experienced by Inkscape users when shrinking
+	 embedded bitmaps in SVG files.  The new scaling algorithms are used by
+	 the image backend and by other backends as needed for fallbacks.
+	 Features
+	 --------
+	   Filtering improvements for the image backend, in particular
+	   down-scaling of images produces filtered images that depend on all the
+	   pixels of the source. When using the image backend you get the
+	   following settings:
+	   CAIRO_FILTER_GOOD: uses a box filter for scales less than .75 in
+	     either direction. For scales larger than this, the same filter as
+	   CAIRO_FILTER_BEST: uses a Catmull-Rom filter always. When upscaling
+	     more than 2x this will produce anti-aliased square pixels, similar
+	     to OS/X.
+	     pixman is the same as BILINEAR. (This is subject to change in the
+	     future).
+	   xlib and xcb also use the image fallback for GOOD/BEST filters, but
+	   note that other backends do not implement these filtering fixes yet,
+	   however other actions may cause them to use an image fallback which
+	   will cause these filters to be used.
+	   Improve handling of device transformation and scaling, allowing Cairo
+	   to now support scaling at a device level, permitting easier, more
+	   transparent HiDPI support.
+	   Support JBIG2 mime data in PDF.  This allows embedding of more
+	   compressed JPEG formats within PDF, rather than including the full
+	   uncompressed image.  Also, reduce the number of transparency groups
+	   used by PDF to keep the file size small and viewing/printing of the
+	   PDF fast.
+	   Expand the embedding section to include stencil mask support.
+	   Reorder font declarations to be in natural order.
+	   Update the Skia backend to build against current Skia (as of June
+	   2014).
+	   Drop Link-Time Optimization (LTO) support from build system.  This
+	   seems to have caused much trouble for unclear benefit, and most
+	   distros are reverting or disabling it anyway.
+	   Optimize VBO size on GL to 1M and to 16k for EGL.  This improves
+	   (theoretical) performance for desktop GLX use cases while avoiding
+	   hitting VBO memory size limitations on embedded devices.
+	 API Changes
+	 -----------
+	   cairo_surface_set_device_scale, cairo_surface_get_device_scale:
+	     Sets a scale that is multiplied to the device coordinates
+	     determined by the CTM when drawing to @surface. One common use for
+	     this is to render to very high resolution display devices at a scale
+	     factor, so that code that assumes 1 pixel will be a certain size
+	     will still work.
+	   cairo_egl_device_get_display, cairo_egl_device_get_context:
+	     Support get/set of EGLContext and EGLDisplay for egl-based cairo
+	     devices, similar to GLX.
+	 Dependency Changes
+	 ------------------
+	   Cairo now requires glib 2.14 for its gobject helper functions,
+	   and pixman 0.30 for downscaling.
+	 Bug fixes
+	 ---------
+	   Don't embed CMYK Jpeg images in svg.
+	   Fix tests to place output in proper location.
+	   Fix determination of alpha for all surfaces when recording.
+	   Extend oversize check to cairo_gl_surface_create_for_texture, so an
+	   error surface is returned if the texture is too large to render to.
+	   Fix embedding of mime data in PDF and PS files.
+	   Remove useless error handling in *_reply() functions in XCB.
+	   Fix a double-free exposed by multithreaded apps creating and
+	   destroying the same font concurrently.
+	   https://bugs.freedesktop.org/show_bug.cgi?id=69470
+	   Fix corrupt stacks produced by bugs in operand emission for trace.
+	   Fix out of bounds array access in format cache for xlib
+	   Don't rename glyphs used by seac operator.  This can cause certain
+	   combined characters to use their decorations (e.g. umlauts on ö) to be
+	   lost during printing of PDFs using evince.
+	   https://bugs.freedesktop.org/show_bug.cgi?id=70364
+	   Fix crash on calling cairo_create with a finished surface
+	   Fix SSIZE_T definition problem when making with MSYS on Windows7
+	   Fix one off issue in gl context cleanup
+	   Fix rectangle stroke with non rectilinear pen
+	   Fix imagemask with pattern source failure on some printers.  This bug
+	   could cause files converted using pdftops to fail for example on Ricoh
+	   printers, or opening in Adobe Distiller on Windows.
+	   https://bugs.freedesktop.org/show_bug.cgi?id=69485
+	   Fix whitespace in font names
+	   Fix page size in generated PDFs.  When printing using pdftocairo on
+	   larger page sizes, such as 11x17, the image would be cropped to letter
+	   size.
+	   https://bugs.freedesktop.org/show_bug.cgi?id=73452
+	   Fix path-currentpoint test by preserving current-point in
+	   copy_path()/append_path() sequence
+	   Fix generation of HTML in code docs for
+	   cairo-format-stride-for-width.  Raw HTML code was being passed
+	   to the browser, instead of displaying normally.
+	   https://bugs.freedesktop.org/show_bug.cgi?id=63257
+	   Fix spelling of "tessellator" throughout code.  We're using the
+	   American rather than British spelling of this word.
+	   https://bugs.freedesktop.org/show_bug.cgi?id=50411
+	   Fix crash in pixman_image_composite32
+	   Fix crash when trying to modify a (const) all-clipped cairo_clip_t
+	   https://bugs.freedesktop.org/show_bug.cgi?id=75819
+	   Add check_composite method to all compositors, to fix crashes in the
+	   test suite.
+	   Fix crash in Firefox when scrolling on certain pages.
+	   Fix memory leaks found by static analysis.
+	   Fix build of any2ppm if fork is not available.
+	   Fix broken build for Qt backend, due to missing libstdc++.
+	   Fix typo in two cairo_uint128 functions.  Fixes potential build issues
+	   on systems without a uint128 type.
+	   Fix build when --enable-pdf=no
+	   Fix cache_frozen assertions for Win32 print.
+	   Correctly check for xcb image surface for inplace upload
+	   Fix webkit-based web browser crashes due to empty boxes by skipping
+	   over them when tesselating.
+	   Make pixman, libpng, and zlib paths commandline configurable for win32
+	   builds.
+	   Fix image scale on Win32 when GDI scale is not identity.
+	   Fix float endian configure test when using clang -O4
+	   Fix compilation with Android bionic libc
+	   Don't try to build util/sphinx on Windows
+	   Fix loss of precision when emitting joins.  This was caused by
+	   discrepancies in line gradients when passing trapezoids around.
+	   Fix loss of precision and associated rendering issues in
+	   cairo-tor-scan-converter from projection onto sample grid.
+	   Fix pixman oversampling of neighbouring edges within a cell by
+	   eliminating self-intersections for the pixman traps compositor.
+	   Fix multi-line string splitting in PDFs
+	   Various cleanups and fixes to warnings, documentation, tests, and
+	   build system.  Improve error handling and return value checks.
+	   Cleanup XFAIL tests and reference images.  Cover recently added
+	   functionality.
+	 Complete list of changes from 1.12.16 to 1.14.0
+	 -----------------------------------------------
+	 Adrian Johnson (24):
+	       Downscaling requires pixman 0.30
+	       svg: Don't embed CMYK Jpeg images
+	       pdf: avoid making groups a transparency group if not required
+	       pdf: fix embedding of mime data that has been broken since 0a10982f
+	       ps: fix embedding of mime data
+	       pdf: support JBIG2 mime data
+	       test: update mime-data to test jbig2 mime types
+	       pdf: combine source and mask images into single image
+	       pdf: Support stencil masks with jpeg/jpx/jbig2 embedding
+	       pdf: stencil masks may be opaque
+	       type1-subset: don't rename glyphs used by seac operator
+	       pdf/ps: avoid outputting excess decimal places in matrices
+	       Add test for rectangle path optimization with non rectilinear pen
+	       pdf: fix rectangle stroke with non rectilinear pen
+	       Add test for paint with alpha and clipping bug
+	       ps: remove duplicate /Interpolate from image dictionary
+	       ps: fix imagemask with pattern source failure on some printers
+	       ps: use setpagedevice to set page size
+	       ps: cairo_set_page_size does not need to be in eps output
+	       ps: add font DSC comments
+	       type1: strip space from end of font name
+	       win32 printing: fix image scale when GDI scale is not identity
+	       Fix compilation with bionic libc
+	       pdf: don't use '\' to split strings across multiple lines
+	 Alexander Larsson (10):
+	       gstate: Respect device transform in stroke
+	       default-context: Inherit device scale in push_group surface
+	       subsurface: Handle device scales
+	       gstate: Move device-scale font scaling to gstate
+	       gstate: Handle device scale on surface as source
+	       surface: expose the device scale
+	       tests: Add device scale test to "full" testrun similar to offsets
+	       surface: Opencode create_similar
+	       surface: Merge scratch construction into _cairo_surface_create_scratch
+	       surface: Inherit device scale in cairo_surface_create_similar()
+	 Andrea Canciani (2):
+	       quartz: Fix build
+	       quartz-image: Fix build
+	 Behdad Esfahbod (9):
+	       Check for XRenderSolidFill()
+	       [tests] Add path-currentpoint
+	       Preserve current-point in copy_path()/append_path() sequence
+	       Revert "[ft] Fix memory bug in copying bitmaps"
+	       chmod a+x cairo-trace
+	       [trace] Don't print FC_CHARSET, FC_LANG, and FC_CAPABILITY
+	       [cairo-trace] Work around fontconfig :charset= parse format change
+	       Binary mode in any2ppm
+	       More binary mode for Windows
+	 Benjamin Otte (1):
+	       xlib: Fix typo in documentation
+	 Bill Spitzak (8):
+	       V6 image: Use convolution filters for sample reconstruction when downscaling
+	       V5: Use NEAREST filter when possible
+	       image: Move filter decision to _cairo_pattern_analyze_filter
+	       xlib: Add symbols to indicate if XRender supports GOOD/BEST filtering
+	       xlib: Use image fallback for GOOD/BEST filters
+	       xcb: Add switches for whether XRender supports GOOD/BEST filtering
+	       xcb: Use image fallback for GOOD/BEST filters
+	       image: Corrected extents calculations
+	 Bryce Harrington (65):
+	       test: Add test for image downscaling
+	       test: Test a variety of scales when downscaling
+	       test: Exercise image scaling quality when downscaling
+	       test: Move cairo_pattern_set_filter to after cairo_set_source_surface
+	       test:  Drop unnecessary math.h include
+	       Fix SSIZE_T definition problem when making with MSYS on Windows7
+	       test:  Replace deprecated rsvg_init() in any2ppm test
+	       test:  Handle error in fgets call in ps-eps test
+	       test:  Drop unused path variable in two recently added tests
+	       cairo-trace:  Stringify CAIRO_STATUS_JBIG2_GLOBAL_MISSING
+	       cairo-script: Error if asked to decompress with missing compression lib
+	       cairo-script: Compare status with CSI enums
+	       perf: Guarantee path width is non-negative
+	       test: Quell warning for inclusion of old rsvg header files
+	       test: Quell warning for deprecated g_type_init()
+	       xml: Drop unused variable
+	       xml: constify source objects for emit routines
+	       mesh: Avoid theoretical infinite loops
+	       gl: Handle PIXMAN_a8r8g8b8_sRGB format in switch
+	       image: Fix bad HTML generation in code docs for cairo-format-stride-for-width
+	       Add explanation to enum _cairo_int_status
+	       Add explanation to _cairo_surface_create_in_error
+	       Add comment to explain _cairo_edge_compute_intersection_*
+	       Correct spelling of "tessellator" throughout code
+	       gitignore: Ignore generated tmpl dir in public docs
+	       doc: Add missing sections and symbols for public docs
+	       doc: Drop a couple quartz routines which distcheck claims don't exist
+	       Mark recently added _cairo_output_stream_print_matrix private symbol
+	       surface: Make parameter naming consistent between header and impl
+	       Document that libglib2.0-doc is needed to avoid some xref warnings
+	       skia: Add section definitions and code docs for skia backend
+	       perf: Refactor some common macros to cairo-perf.h
+	       NEWS: Add bug links and reword feature and bug descriptions
+	       Fix segfault in firefox when scrolling on certain pages
+	       .gitignore: Ignore two generated files in build/
+	       configure.ac: Quell warnings about AM_PROG_AR when using automake 1.12
+	       configure.ac: Add a --disable-lto configure option
+	       configure.ac: Fix broken build for Qt backend
+	       cairo-wideint:  Fix typo in two cairo_uint128 functions
+	       xlib: Fix mispelling in a comment
+	       Disable font options for xcb.
+	       NEWS:  Bring up to date with recent bug fixes.
+	       README:  Update required dependencies
+	       AUTHORS: Add Ravi, myself, and a couple other frequent contributors
+	       NEWS: Drop unfinished thought
+	       cairo-gl: Make VBO size run-time settable
+	       gl: Track the VBO size as a property of the ctx
+	       gl: Increase default VBO size on GL to 1M
+	       NEWS: Note that downscaling changes only affect image + fallback
+	       Don't return NULL to clients when getting image
+	       Don't return NULL to clients when getting device
+	       build:  Fix float endian configure test when using clang -O4
+	       NEWS: Revise downscaling feature description
+	       sphinx: Add ickle's explanation of what sphinx does
+	       quartz: Check for quartz surface type before conversion
+	       Declare as private the new cairo_lines_compare_at_y symbol
+	       Get make check back to a happy spot
+	       test: Fix error message to specify the executable that was missing
+	       test: Add an update-refs.sh script to update reference images
+	       test: Update pixman downscaling 95 reference images
+	       NEWS: Update with latest changes and finalize for release
+	       NEWS: Flesh out docs for new APIs
+	       1.14.0 release
+	       pattern: Restore dropped inclusion of cairoint.h
+	       Start 1.14.1 development
+	 Bryce W. Harrington (10):
+	       test: Don't ignore test output files left in test directory
+	       test: Fix several tests to place output files in the output directory
+	       test: Make cairo_test_mkdir() usable throughout tests.
+	       test: Ensure output dirs exist, falling back to current dir if needed
+	       svg, test: Refer to output filename by variable, not a hardcoded value
+	       gitignore: Ignore build chaff when configuring with --enable-gtk-doc
+	       test: Comma separate keywords
+	       test: Space out keywords for clarity
+	       test: Document use of -k and CAIRO_TEST_TARGET to run test subsets
+	       NEWS: Summarize recent changes
+	 Chris Wilson (35):
+	       Post-release version bump
+	       Bump version for new development tree, 1.13.1
+	       spans,traps: Undo device transform from source matrix for recording replays
+	       test: Allow CAIRO_TEST_MODE to independently enable extended testing
+	       trace: Record set-device-scale
+	       script: Add support for replaying device-scale
+	       test/pixman-downscale: Open-code fmin()
+	       font: Push the last reference dec into the backend->destroy() callback
+	       trace: Fix operand emission
+	       win32: Reorder font declarations to be in natural order
+	       clip: Do not modify the special all-clipped cairo_clip_t
+	       xlib: Undo debug hack to force fallbacks
+	       traps,xcb: Prefilter zero-area boxes when converting traps
+	       traps,xcb: Set the box count after filtering
+	       arc: Insert the initial point on the arc
+	       test: Exercise stroking bugs with xlib/trapezoids
+	       test/coverage: Exercise invariance under mirror symmetry
+	       stroke,traps: Emit join without loss of precision
+	       test: Remove redundant reference images
+	       tor: Fix loss of precision from projection onto sample grid
+	       test: Include coverage in the normal test run
+	       tor: Review full-row walker
+	       test: Remove more duplicated reference images
+	       test: Explicitly flip the reference image for recordflip
+	       test: Add another coverage example demonstrating the seams in tor
+	       test: Fix coverage-abutting
+	       test: Add a simple rasteriser to check fidelity of edge rendering
+	       test/simple: Tighten sanity checks in reference image generator
+	       tor: Perform analytic coverage over the pixel not sample points
+	       tor: Enable analytic processing for starting rows
+	       test: Refresh reference images for tor rendering changes
+	       image: Eliminate self-intersections for the pixman traps compositor
+	       test: Add whole flipped replays
+	       test: Teach check-preprocessor-syntax.sh about -inlines.h
+	       test: Fix conflation of different device scales in index.html
+	 David Weiß (1):
+	       made paths to pixman, libpng and zlib configurable by commandline for win32 builds
+	 Eric Le Bihan (1):
+	       test: fix build of any2ppm if fork not available
+	 Henry Song (1):
+	       gl: Fix one off issue in context cleanup
+	 Jeff Muizelaar (2):
+	       Don't use __FUNCTION__ as a string literal
+	       clang-cl: Use size of the pointer explicitly
+	 Koji Egashira (1):
+	       image: Add NULL checks for return value of _pixman_image_for_color()
+	 Kouhei Sutou (1):
+	       cairo_create(): Add finished surface check
+	 Krzysztof Kosiński (1):
+	       image: Use convolution filters for sample reconstruction when downscaling
+	 Lukáš Lalinský (1):
+	       xcb: Initialize font options from Xft resources
+	 Maks Naumov (3):
+	       Fix width and height args for _cairo_xcb_connection_copy_area()
+	       Fix font x_scale value in _compute_transform()
+	       Fix _cairo_mesh_pattern_equal() when cairo_mesh_patch_t structs are different
+	 Marc-André Lureau (1):
+	       build-sys: do not try to build util/sphinx on Windows
+	 Marek Kasik (1):
+	       font: Generate PDFs with correct font names
+	 Martin Robinson (1):
+	       gl: Extend oversize check to cairo_gl_surface_create_for_texture
+	 Ravi Nanjundappa (22):
+	       perf: Refactor some macros to cairo-perf.h
+	       test and util: maintain consistency in the usage of ARRAY_LENGTH macro
+	       boilerplate: Maintain consistency in the usage of switch cases
+	       glx: Use GLX_NONE in place of None
+	       test : Maintain consistency in the usage of xcalloc
+	       vg: Use EGL_NONE and GLX_NONE in place of None
+	       src : Fix warn_unused_result warnings from gcc
+	       xcb: make use of _cairo_surface_is_xcb to check for surface type
+	       skia: update the source to build with the latest skia
+	       .gitignore: Ignore the generated profile data files from callgrind tool in test/
+	       skia : Add Debug support for skia backend
+	       test : build fix when --enable-pdf=no
+	       test: Selective execution of Cairo tests based on FORMAT option
+	       test: improve selective execution of Cairo tests based on FORMAT option
+	       README : Update README file related to usage of FORMAT make variable
+	       configure.ac: configuration check to enable either gl or glesv2, not both at the same time
+	       src: Fix memory issue reported by cppcheck static analysis tool
+	       test: Fix null pointer issue reported by cppcheck static analysis tool
+	       qt: Suppress warnings in qt backend build
+	       test: Add test oversized egl surfaces
+	       src: check the surface backend for NULL
+	       test: Add test for egl-surface-source
+	 Rodrigo Rivas Costa (1):
+	       win32 print: fix cache_frozen assertions
+	 Ryan Lortie (1):
+	       cairo-version: fix docs build
+	 Sylvestre Ledru (3):
+	       Remove some useless declarations found by scan-build, the LLVM/clang static analyzer
+	       Remove some potential double free
+	       Fix some memory leaks found by scan-build, the LLVM/Clang static analyzer
+	 Søren Sandmann Pedersen (1):
+	       _cairo_color_double_to_short(): Use standard rounding algorithm
+	 Uli Schlachter (23):
+	       recording: Fix unitialized variable 'free_me'
+	       recording: Correctly determine alpha of all surfaces
+	       cairo-gobject: Require at least glib 2.14
+	       check-doc-syntax: Don't hardcode path to awk
+	       image: Handle PIXMAN_a8r8g8b8_sRGB in switch
+	       test/multi-page: Fix use-after-free
+	       xcb: Remove useless error handling
+	       fill_reduces_to_source(): Handle failure of color_to_pixel()
+	       Remove XFAIL_TESTS from Makefile.am
+	       README: Don't mention XFAIL_TESTS anymore
+	       Revert "[xlib] Fast-path the likely case of retrieving a known xrender_format"
+	       cairo-xlib: Fix out of bounds array access in format cache
+	       Correct usage of CAIRO_STACK_ARRAY_LENGTH
+	       cairo svg: Use \n instead of /n in bitmap fonts
+	       clip: Fix handling of special all-clipped cairo_clip_t
+	       Fix warnings from check-doc-syntax.sh
+	       mask compositor: Set a check_composite method
+	       mesh-rasterize: Fix number of iterations
+	       pthread-same-source: Add ref image generation
+	       pthread-same-source: Refresh reference images
+	       Revert "image: Use convolution filters for sample reconstruction when downscaling"
+	       Remove LTO support
+	       xcb: Correctly check for image surface for inplace upload
+	 egag (1):
+	       Fixes stroke-clipped, i.c. of a dashed stroke
+	 jimmyfrasche (2):
+	       Pattern document clarification
+	       Add more info to cairo_surface_set_mime_data docs.
+	 --
+	 Bryce Harrington
+	 Senior Open Source Developer  -  bryce at osg.samsung.com
+	 Open Source Group             -  Samsung Research America

More information about the cairo-commit mailing list