* Mon Mar 17 2025 bjorn.lie@gmail.com
- Update to version 1.18.4:
+ The dependency on LZO has been made optional through a build
time configuration toggle.
+ You can build Cairo against a Freetype installation that does
not have the FT_Color type.
+ Cairo tests now build on Solaris 11.4 with GCC 14.
+ The DirectWrite backend now builds on MINGW 11.
+ The DirectWrite backend now supports font variations and proper
glyph coverage.
+ Support for Windows 98 has been removed. The minimum
requirement for Windows is now Vista.
- Use tarball in lieu of source service due to freedesktop gitlab
migration, will switch back at next release at the latest.
- Drop b9eed915f9a67380e7ef9d8746656455c43f67e2.patch: Fixed
upstream.
- Add pkgconfig(lzo2) BuildRequires: New optional dependency, build
lzo2 support feature.
* Thu Nov 28 2024 dimstar@opensuse.org
- Convert to source service: allows for easier upgrades by the
GNOME team.
* Fri Sep 20 2024 bjorn.lie@gmail.com
- Add b9eed915f9a67380e7ef9d8746656455c43f67e2.patch: cff: Don't
fail if no local subs. Fix regression when writing PDFs with
fonts.
* Mon Sep 02 2024 bjorn.lie@gmail.com
- Update to version 1.18.2:
+ The malloc-stats code has been removed from the tests directory
the canonical location for it is:
https://github.com/behdad/malloc-stats
+ Cairo now requires a version of pixman equal to, or newer than,
0.40.
+ There have been multiple build fixes for newer versions of GCC
for MSVC; for Solaris; and on macOS 10.7.
+ PNG errors caused by loading malformed data are correctly
propagated to callers, so they can handle the case.
+ Both stroke and fill colors are now set when showing glyphs on
a PDF surface.
+ All the font options are copied when creating a fallback font
object.
+ When drawing text on macOS, Cairo now tries harder to select
the appropriate font name.
+ Cairo now prefers the COLRv1 table inside a font, if one is
available.
+ Cairo requires a C11 toolchain when building.
* Sat Sep 23 2023 bjorn.lie@gmail.com
- Update to version 1.18.0:
+ The first stable cairo release in five years should be cause
for celebration.
+ All the API added in the 1.17 development cycle is now
considered stable, and will not change.
+ Many thanks to all the contributors for this release.
+ The cairo-sphinx tool has been removed; we could not find any
instruction on how to use it, and no user answered our call for
help. If you were using cairo-sphinx, please reach out to the
cairo maintainers.
+ Cairo now implements Type 3 color fonts for PDF.
+ Multiple documentation fixes, to ensure that the cairo API
reference is up to date. Also fixed multiple compiler warnings
generated when building cairo.
+ The XML surface has been removed; it was disabled by default
when building cairo, and we could not find any downstream
distributor that would enable it.
+ The Tee surface is now automatically enabled. Downstream
distributors of cairo have been enabling for years it in order
to build Firefox.
+ Fixed multiple issues with the DWrite font backend.
+ Improved the Quartz surface; mainly, Quartz surfaces now use
the main display ColorSpace, speeding up rendering operations.
+ Cairo now hides all private symbols by default on every
platform; the old "slim" symbols hack to alias internally used
symbols has been dropped, in favor of using
`-Bsymbolic-functions` with toolchains that support it.
+ Fixed multiple memory leaks in the code base and test suite,
and general maintenance.
+ Added new API to expose the Pixman dithering filter to cairo
patterns; this is currently implemented only for image
surfaces.
- Drop patches fixed upstream:
+ cairo-1.17.8-fix-tee-compilation.patch
+ cairo-1.17.8-ft-font-missing-glyph.patch
- Rebase patches with quilt.
- Stop passing xml=disabled to meson setup, xml backend is dropped.
* Fri Mar 17 2023 bjorn.lie@gmail.com
- Update to version 1.17.8:
+ In a continuing effort to reduce the amount of legacy code, and
increase the long-term maintainability of cairo, the following
backends have been removed:
- GL and GLES drawing
+ Additionally, cairo's Autotools build system has been removed;
from now on, cairo will only support the Meson build system.
While the end result should be identical, further testing is
appreciated.
+ In this snapshot, cairo gained support for rendering COLRv1
fonts, and rendering SVG and COLRv1 fonts with custom palettes.
+ Support for macOS and Windows has been improved, with lots of
build and bug fixes.
+ Lots of safety issues have been fixed, with array bounds
checking and plugging memory leaks, as well as fixes for bugs
identified via fuzzying.
+ This is going to be the last snapshot of the 1.17 development
cycle; we only expect minor bug fixing and improvements until
the 1.18.0 release.
- Switch to meson buildsystem: Add meson BuildRequires and macros.
- Update Source Url to new home.
- Drop build_gl_backend define and conditional pkgconfig(egl) and
pkgconfig(gl) BuildRequires: No longer supported.
- Add generic c++_compiler and c_compiler BuildRequires: New
dependencies.
- Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch:
Fixed upstream.
- Add upstream bug fix patches:
+ cairo-1.17.8-fix-tee-compilation.patch
+ cairo-1.17.8-ft-font-missing-glyph.patch
* Wed Aug 31 2022 bjorn.lie@gmail.com
- Update to version 1.17.6:
+ This snapshot sees the removal of the following backends and
platform support: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl, OpenVG.
+ Thanks to all past contributors for their work on them. If you
were using any of these backends then you will need to stick to
Cairo 1.16.
+ This snapshot is going to be the **last** release of Cairo with
the Autotools build system. The Meson build has seen many
improvements and it is considerably easier to maintain and
faster to build.
- Changes from version 1.17.4:
+ A particularly noteworthy improvement in this release is the
addition of the meson build system as an alternative to
autotools.
+ The cogl Cairo backend underwent significant development this
cycle.
+ Subpixel positioning support allows improved glyph outlines
with the Freetype font backend.
+ For a complete log of changes, please see
https://cairographics.org/releases/ChangeLog.1.17.4
- Changes from version 1.17.2:
+ This snapshot provides the new support for writing floating
point formats as 16 bpc PNGs, with support for RGBA128F and
RGB96F formats. This new feature increases Cairo's pixman
version requirement to 0.36.0.
+ Beyond this are a range of bugfixes.
For a complete log of changes, please see
https://cairographics.org/releases/ChangeLog.1.17.2
- Drop patches fixed upstream:
+ cairo-Use-FT_Done_MM_Var-instead-of-free-when-available.patch
+ cairo-composite_color_glyphs.patch
+ cairo-pdf-add-missing-flush.patch
+ cairo-do-not-override-explicitly-requested-grayscale-aa.patch
- Rebase remaining patches with quilt.
- Add 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Set
default LCD filter to FreeType's default (patch merged upstream).
- Use ldconfig_scriptlets macro for post(un) handling.
* Fri Oct 22 2021 rpm@fthiessen.de
- Add upstream patch
+ cairo-do-not-override-explicitly-requested-grayscale-aa.patch
Do not replace explicitly set applications settings by user
settings for font antialiasing.
See: https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/114
* Sun Feb 23 2020 mwilck@suse.com
- Add an upstream bug fix
+ cairo-pdf-add-missing-flush.patch: Fixes PDF generation
see https://gitlab.freedesktop.org/cairo/cairo/issues/342
Version: 1.16.0-5.2.1
* Wed Sep 04 2019 bjorn.lie@gmail.com
- Add 2 upstream bug fix patches:
+ cairo-Use-FT_Done_MM_Var-instead-of-free-when-available.patch:
ft: Use FT_Done_MM_Var instead of free when available in
cairo_ft_apply_variations. Fixes a crash when using freetype
>= 2.9
+ cairo-composite_color_glyphs.patch: Fix a thinko in
composite_color_glyphs. We can't just move around the contents
of the passed-in string, we need to make a copy. This was
showing up as memory corruption in pango.
* Sun Oct 21 2018 bjorn.lie@gmail.com
- Update to version 1.16.0:
+ test: Free resources in pdf2png.
+ Drop skia backend.
+ Revert "Correctly decode Adobe CMYK JPEGs in PDF export".
* Fri Oct 05 2018 bjorn.lie@gmail.com
- Update to version 1.15.14:
+ Features and Enhancements:
- Add more FreeeType font color conversions to support
COLR/CPAL.
- Update test reference images against current pixman.
+ Bugs fixed:
- Fix crash when rendering Microsoft's Segoe UI Emoji Regular
font.
- Fix build breakage with glesv3 enabled due to non-existant
glesv3.pc.
- Fix memory leaks found by Coverity.
- Fix incorrect null ptr handling found by Coverity.
- Fix test compilation when font-config is disabled.
- Use _cairo_malloc instead of malloc
(fdo#101547, CVE-2017-9814).
- Fix assertion failure in the freetype backend (fdo#105746).
- Drop upstream fixed patches:
+ cairo-fix-assertion-failure-in-freetype-backend.patch.
+ cairo-CVE-2017-9814.patch.
* Wed Jun 20 2018 qzheng@suse.com
- Add cairo-CVE-2017-9814.patch: Replace malloc with _cairo_malloc
and check cmap size before allocating (boo#1049092,
CVE-2017-9814, fdo#101547).
* Tue Apr 24 2018 bjorn.lie@gmail.com
- Add cairo-fix-assertion-failure-in-freetype-backend.patch: Fix
assertion failure in the freetype backend (fdo#105746).
* Thu Apr 12 2018 bjorn.lie@gmail.com
- Update to version 1.15.12:
+ The main focus for this release is the addition of Variable
Font support. Variable fonts are single font files with various
typography characteristics, such as weight or slant, that users
of the font can adjust between two points. Effectively this
enables a single font to behave as multiple fonts.
+ The Skia backend is disabled in this release, due to severe
bitrot, and will be removed in future releases. Contact the
cairo team if you have a need of this backend.
+ Features and Enhancements:
- Variable font support.
- Skia backend is disabled.
+ API Changes: cairo_font_options_get_variations() and
cairo_font_options_set_variations() are added.
+ Bugs fixed:
- Fix errors in csi-trace --help and --version options.
- Fix a 'memory leak' in the image compositor, with
pixman_glyph_cache_t.
- Fix access of uninitialized memory found by valgrind
(fdo#91271).
- Fix improper initialization of memory in
_cairo_ft_font_face_create_for_pattern() (fdo#105084).
- Fix multi-monitor virtual desktop with negative coords on
Win32 (fdo#100793).
- Fix issues occuring with older FreeType versions.
* Wed Feb 28 2018 dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
* Fri Feb 16 2018 crrodriguez@opensuse.org
- Add explicit pkgconfig(zlib) and (conditionalized on
build_xcb_backend) pkgconfig(xcb-render) BuildRequires: closer
alignment with what configure checks for.
* Mon Dec 18 2017 zaitor@opensuse.org
- Update to version 1.15.10:
+ Features and Enhancements:
- Add support for OpenGL ES 3.0 to the gl backend.
- Use Reusable streams for forms in Level 3 Postscript.
- Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files.
- Add CCITT_FAX mime type for PDF and PS surfaces.
- svg: add a new function to specify the SVG document unit
(fdo#90166).
- Use UTF-8 filenames on Windows.
+ API Changes: cairo_svg_surface_set_document_unit() and
cairo_svg_surface_get_document_unit().
+ Bugs fixed:
- Fix regression in gles version detection.
- Fix undefined-behavior with integer math.
- Handle SOURCE and CLEAR operators when painting color glyphs
(fdo#102661).
- Convert images to rgba or a8 formats when uploading with
GLESv2.
- Use _WIN32 instead of windows.h to check for windows build.
- Fix sigabrt printing documents with fonts lacking the
mandatory .nodef glyph (fdo#102922).
- Prevent curved strokes in small ctms from being culled from
vector surfaces (fdo#103071).
- Fix painting an unbounded recording surface with the SVG
backend.
- Fix falling back to system font with PDFs using certain
embedded fonts, due to truncated font names (fdo#103249).
- Fix handling of truetype fonts with excessively long font
names (fdo#103249).
- Fix race conditions with cairo_mask_compositor_t
(fdo#103037).
- Fix build error with util/font-view.
- Fix assertion hit with PDFs using Type 4 fonts rendered with
user fonts, due to error when destroying glyph page
(fdo#103335).
- Set default creation date for PDFs.
- Prevent invalid ptr access for > 4GB images (fdo#98165).
- Prevent self-copy infinite loop in Postscript surface.
- Fix padded image crash in Postscript surface.
- Fix annotation bugs in PDFs and related memory leaks.
- Fix test failures and other assorted issues in ps and pdf
code.
- Fix code generation when using GCC legacy atomic operations
(fdo#103559).
- Fix various compilation warnings and errors.
- Fix various distcheck errors with private symbols, doxygen
formatting etc.
- Drop cairo-image-prevent-invalid-ptr-access.patch
* Tue Dec 12 2017 msrb@suse.com
- Depend on pkgconfig(gl) and pkgconfig(egl) instead of Mesa-devel.
* The pkgconfig(gl) and pkgconfig(egl) are what cairo really
needs. Mesa-devel is too general and is a bottleneck in
distribution build. (bnc#1071297)
* Wed Aug 30 2017 zaitor@opensuse.org
- Update to version 1.15.8:
+ This small snapshot provides new colored emoji glyph support,
and a handful of minor fixes. For a complete log of changes,
please see
http://cairographics.org/releases/ChangeLog.1.15.8
+ Features and Enhancements: Support colored emoji glyphs, stored
as PNG images in OpenType fonts.
+ Bug Fixes:
- pdf:
. Fix internal links pointing to other pages, by
pre-calculating page heights so that link positions can be
calculated more accurately.
. Don't emit /PageLabel dict when no labels defined.
- image: Fix crash on negative lengths.
- win32: Fix initialization of mutexes for static builds.
- font:
. Fix color font loading on big-endian systems.
. Fix color font support infinite-loop with empty glyphs.
- Fix off by one check in cairo-image-info.c.
- Drop cairo-fix-off-by-one-check.patch: Fixed upstream.
- Run spec-cleaner, modernize spec.
- Rename 0001-image-prevent-invalid-ptr-access-for-4GB-images.patch
to cairo-image-prevent-invalid-ptr-access.patch.
- Pass enable-gtk-doc instead of disable-gtk-doc to configure, we
already have the gtk-doc BuildRequires in place so I can only
assume that this was an honest error.
* Tue Jun 20 2017 alarrosa@suse.com
- Add 0001-image-prevent-invalid-ptr-access-for-4GB-images.patch to
fix a segfault when using >4GB images since int values were used
for pointer operations (bsc#1007255, fdo#98165, CVE-2016-9082).
* Fri Jun 16 2017 zaitor@opensuse.org
- Update to version 1.15.6:
+ Detect if variable fonts have synthesized bold/italic or
non-default variants, and use a fallback font where needed.
+ Restore MacOSX 10.4 support. Cairo had dropped 10.4 support
when moving to the CoreText API. Now we automatically detect
which API to use via dynamic linking, so can resume supporting
this older version of MacOSX.
+ Fix error reporting in the xcb backend if fallback fails.
Instead of returning NULL when the X11 server can't do some
operation, return a surface in an error state.
+ Call XSync in the xlib backend before setting the error handler
to ignore errors for certain requests, to make sure all pending
errors are handled first.
+ Fix text-glyph-range for quartz-font. Use 0xFFFF instead of 0
for invalid index tracking.
+ Fix handling of Supplementary Multilingual Plane (SMP) Unicode
characters in quartz-font.
+ Fix various issues in the drm backend including updating API
usage and general code cleanup.
+ Clarify documentation regarding device scale inheritance and
the units used in cairo_surface_create_similar_image
(fdo#99094).
- Drop cairo-pdf-fixes.patch: Fixed upstream.
- Add cairo-fix-off-by-one-check.patch: Fix off by one check in
cairo-image-info.c (fdo#101427).
* Wed Jun 07 2017 alarrosa@suse.com
- Add cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff to
fix a segfault in get_bitmap_surface due to malformed font
(bsc#1036789, fdo#100763, CVE-2017-7475).
* Wed Mar 08 2017 zaitor@opensuse.org
- Rebase cairo-pdf-fixes.patch: Add commit to fix fdo#100029.
* Mon Feb 13 2017 zaitor@opensuse.org
- Add cairo-pdf-fixes.patch: Three minor pdf fixes from upstream
git (fdo#99630).
* Sat Feb 11 2017 jengelh@inai.de
- Fix RPM groups; update summaries.
Remove useless --with-pic which is only for static libs.
* Sun Dec 11 2016 zaitor@opensuse.org
- Update to version 1.15.4:
+ The PDF backend has gained support for a range of widely used
features, including thumbnails, page labels, metadata, document
outlines, structured text, hyperlinks, and tags. Tags permit
adding logical info such as headings, tables, figures, etc.
that facilitates indexing, accessibility, text reflow,
searching, and extraction of the tagged items to other
software.
+ API Changes:
- Added a cairo API to set up Win32 surfaces for HDC with alpha
channels.
- New API for added PDF functionality (see above), and new
error status item for problems relating to PDF tagging.
- New error status items for handling of GDI, libfreetype, and
libpng errors, respectively.
+ Fix playback of recording surfaces into PDF surfaces, where
objects with negative coordinates were not getting drawn. To
address this, the coordinate systems for PDF and PS have been
changed to match cairo's coordinate system. This allows
recording surfaces to be emitted in cairo coordinates, and
results in the same origin being used for all operations when
using the recording surface XObject. Test cases for PDF and PS
have also been updated accordingly (fdo#89232).
+ Fix "invalidfont" error on some printers when printing PDFs
with embedded fonts that have glyphs (such as spaces) with
num_contours == 0 (fdo#79897).
+ Fix missing glyphs such as thin dashes, which get scaled to 0
in userspace and thus have their drawing operations culled
(fdo#94615).
+ Fix other oddities caused by variously idiosyncratic fonts.
+ Fix deadlock when destruction of a scaled font indirectly
triggers destruction of a second scaled font, causing the
global cache to be locked twice (fdo#93891).
+ Fix X errors reported to applications when shmdt() is called
before the Attach request is processed, due to missing xcb and
xlib calls.
+ Fix random failure in record-paint-alpha-clip-mast test case,
caused by an incorrect assumption that a deferred clear can be
skipped (fdo#84330).
+ Fix crash when dealing with an XShmGetImage() failure, caused
by a double free in _get_image_surface() (fdo#91967).
+ Fix invalid execution of ASCII85 data by the PS interpreter
that the image operator didn't use, by flushing the extraneous
data after drawing the image (fdo#84811).
+ Fix decoding of Adobe Photoshop's inverted CMYK JPEG files in
PDF export.
+ Fix unbounded surface assertion in win32-print code.
+ Fix a data race in freed_pool discovered by Firefox's cairo
usage. The patch adads atomic int load and store functions,
with relaxed memory ordering (fdo#90318).
+ Cleanup debugging text sent to stdout instead of log
(fdo#95227).
+ Fix build issue when using non-GNU strings utility (fdo#88639).
+ Fix build of cairo modules as regular modules, not as versioned
shared libaries (fdo#29319).
+ Fix build on win32 using gcc 5.4.
+ Fix build of script backend to require zlib.
+ Update test suite reference images using Debian Jessie 64-bit
and poppler current as of June, 2016.
+ Various improvements to documentation and tests, compiler
warning fixes, and an assortment of code refactoring and
cleanup.
- Drop cairo-modules-no-version.patch,
cairo-bsc958844-deadlock-on-scaled-font-cache-reset.patch and
cairo-xlib-double-free.patch: Fixed upstream.
- Drop libtool BuildRequires and stop passing autoreconf, we no
longer have any patches touching the buildsystem.
* Mon Sep 05 2016 badshah400@gmail.com
- Add cairo-xlib-double-free.patch to fix double free in
_get_image_surface(); patch taken from upstream git (fdo#91967,
boo#997189).
* Wed Jul 20 2016 hpj@suse.com
- Add back cairo-bsc958844-deadlock-on-scaled-font-cache-reset.patch
(bsc#958844, fdo#93891). This is still not fixed upstream.