Re: cairo release 1.14.0 now available

Krzysztof Kosiński <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <CAFLw2WRnXZxWKdz+DRfppqwfW2h5C3bXkVThLmN17d1tj9LVvQ@mail.gmail.com>
Excellent, congratulations on the release!

Regards, Krzysztof

2014-10-14 5:31 GMT+02:00 Bryce Harrington <[email protected]>:
> 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 <[email protected]>)
> ====================================================================
> 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_BILINEAR is used.
>
>   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.
>
>   CAIRO_FILTER_GAUSSIAN: uses PIXMAN_FILTER_BEST, which in current
>     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 usage of CAIRO_STACK_ARRAY_LENGTH
>
>   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.
>
>
> --
> Bryce Harrington
> Senior Open Source Developer  -  [email protected]
> Open Source Group             -  Samsung Research America
>
>
>
> ------------------------------------------------------------------------
>
> Cairo - Multi-platform 2D graphics library
> http://cairographics.org
>
> What is cairo
> =============
> Cairo is a 2D graphics library with support for multiple output
> devices. Currently supported output targets include the X Window
> System (via both Xlib and XCB), quartz, win32, and image buffers,
> as well as PDF, PostScript, and SVG file output. Experimental backends
> include OpenGL, 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
>
> ------------------------------------------------------------------------
> List of changes in this release:
>
> 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.
>
>
>
> ----- End forwarded message -----
> --
> cairo mailing list
> [email protected]
> http://lists.cairographics.org/mailman/listinfo/cairo
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.