<div dir="ltr"><div><code style="font-family:arial,sans-serif">A new cairo release 1.18.0 is now available from:</code></div><div><code style="font-family:arial,sans-serif"><br></code></div><div><code> </code><code style="font-family:arial,sans-serif"><a href="https://cairographics.org/releases/cairo-1.18.0.tar.xz">https://cairographics.org/releases/cairo-1.18.0.tar.xz</a></code></div><div><pre><code style="font-family:arial,sans-serif">
which can be verified with:
<a href="https://cairographics.org/releases/cairo-1.18.0.tar.xz.sha256sum">https://cairographics.org/releases/cairo-1.18.0.tar.xz.sha256sum</a>
243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64 *cairo-1.18.0.tar.xz
<a href="https://cairographics.org/releases/cairo-1.18.0.tar.xz.sha256sum.asc">https://cairographics.org/releases/cairo-1.18.0.tar.xz.sha256sum.asc</a>
(signed by Emmanuele Bassi)
Additionally, a git clone of the source tree:
git clone <a href="https://gitlab.freedesktop.org/cairo/cairo.git">https://gitlab.freedesktop.org/cairo/cairo.git</a>
will include a signed 1.18.0 tag which points to a commit named:
3909090108bb2db55330e3eb148aebe664735363
which can be verified with:
git verify-tag 1.18.0
and can be checked out with a command such as:
git switch -C build 1.18.0</code></pre></div><div><br></div><div>Release 1.18.0</div><div>============</div><div><br></div><div>The first stable cairo release in five years should be cause for celebration.<br><br>All the API added in the 1.17 development cycle is now considered stable, and<br>will not change.<br><br>Many thanks to all the contributors for this release.<br><br>The cairo-sphinx tool has been removed; we could not find any instruction on<br>how to use it, and no user answered our call for help. If you were using<br>cairo-sphinx, please reach out to the cairo maintainers.<br><br>Cairo now implements Type 3 color fonts for PDF. Thanks to Adrian Johnson for<br>his work on this feature.<br><br>Khaled Hosny contributed multiple documentation fixes, to ensure that the<br>cairo API reference is up to date. Khaled also fixed multiple compiler<br>warnings generated when building cairo.<br><br>The XML surface has been removed; it was disabled by default when building<br>cairo, and we could not find any downstream distributor that would enable<br>it.<br><br>The Tee surface is now automatically enabled. Downstream distributors of<br>cairo have been enabling for years it in order to build Firefox.<br><br>Fujii Hironori and Adrian Johnson fixed multiple issues with the DWrite<br>font backend.<br><br>John Ralls improved the Quartz surface; mainly, Quartz surfaces now use<br>the main display ColorSpace, speeding up rendering operations.<br><br>Cairo now hides all private symbols by default on every platform; the old<br>"slim" symbols hack to alias internally used symbols has been dropped, in<br>favor of using `-Bsymbolic-functions` with toolchains that support it.<br><br>Uli Schlachter fixed multiple memory leaks in the code base and test suite,<br>and helped with many reviews and general maintenance.<br><br>Marc Jeanmougin added new API to expose the Pixman dithering filter to cairo<br>patterns; this is currently implemented only for image surfaces.<br></div><div><br></div><div>The first stable cairo release in five years should be cause for celebration.<br><br>All the API added in the 1.17 development cycle is now considered stable, and<br>will not change.<br><br>Many thanks to all the contributors for this release.<br><br>The cairo-sphinx tool has been removed; we could not find any instruction on<br>how to use it, and no user answered our call for help. If you were using<br>cairo-sphinx, please reach out to the cairo maintainers.<br><br>Cairo now implements Type 3 color fonts for PDF. Thanks to Adrian Johnson for<br>his work on this feature.<br><br>Khaled Hosny contributed multiple documentation fixes, to ensure that the<br>cairo API reference is up to date. Khaled also fixed multiple compiler<br>warnings generated when building cairo.<br><br>The XML surface has been removed; it was disabled by default when building<br>cairo, and we could not find any downstream distributor that would enable<br>it.<br><br>The Tee surface is now automatically enabled. Downstream distributors of<br>cairo have been enabling for years it in order to build Firefox.<br><br>Fujii Hironori and Adrian Johnson fixed multiple issues with the DWrite<br>font backend.<br><br>John Ralls improved the Quartz surface; mainly, Quartz surfaces now use<br>the main display ColorSpace, speeding up rendering operations.<br><br>Cairo now hides all private symbols by default on every platform; the old<br>"slim" symbols hack to alias internally used symbols has been dropped, in<br>favor of using `-Bsymbolic-functions` with toolchains that support it.<br><br>Uli Schlachter fixed multiple memory leaks in the code base and test suite,<br>and helped with many reviews and general maintenance.<br><br>Marc Jeanmougin added new API to expose the Pixman dithering filter to cairo<br>patterns; this is currently implemented only for image surfaces.<br></div><div><br></div><div>Full changes since 1.17.8</div><div><code style="font-family:arial,sans-serif">=========================</code></div><div>Adrian Johnson (58):<br> PDF Type 3 color fonts<br> Fix build with -DDEBUG_SVG_RENDER<br> meson: Replace existing link if it already exists<br> Merge branch 'fix-svg-render-debug' into 'master'<br> Merge branch 'fix-test-symlink' into 'master'<br> Merge branch 'pdf-color-fonts' into 'master'<br> Merge branch 'bug-597' into 'master'<br> Merge branch 'issue-634' into 'master'<br> doc: remove out of date remarks<br> Merge branch 'bug-611-glyph-path' into 'master'<br> truetype: revert use of _cairo_strndup<br> Implement a font options compare function and use it in gstate<br> Merge branch 'warnings' into 'master'<br> Merge branch 'remove-unused-tee-function' into 'master'<br> Merge branch 'doc-fixes' into 'master'<br> Enable COLRv1 fonts<br> FT: Always use the outline glyph to get the path<br> Merge branch 'dwrite-argb-glyph-mask' into 'master'<br> Merge branch 'fix-valgrind-errors' into 'master'<br> Merge branch 'enable-colorv1-fonts' into 'master'<br> Merge branch 'ft-use-outline-glyph-for-path' into 'master'<br> Merge branch 'dwrite-glyph-phase' into 'master'<br> Merge branch 'issue-641-glyph-bounds' into 'master'<br> Merge branch 'fix-doc-for-cairo_matrix_transform_distance' into 'master'<br> Merge branch 'issue-569-dwrite-inflate-glyph-bounds' into 'master'<br> Merge branch 'dwrite-a8-glyph-mask' into 'master'<br> Merge branch 'dwrite-clip-glyphs' into 'master'<br> Merge branch 'dont-free-nonheap-object' into 'master'<br> Merge branch 'issue-3-win32-font-scale' into 'master'<br> ft: Use normal font size when detecting the format<br> Merge branch 'issue-643' into 'master'<br> Merge branch 'riastradh-20220406-ctype-misuse' into 'master'<br> win32: InterlockedCompareExchange uses LONG<br> Merge branch 'ci-windows-image-update' into 'master'<br> Merge branch 'issue-776' into 'master'<br> cairo-list-inline.h: fixes and documentation<br> Make cairo_tag_begin/end work correctly in groups<br> pdf: Don't use snprintf() to print floats<br> Merge branch 'issue-508' into 'master'<br> Don't assume HAVE_FT_PALETTE_SELECT is defined when HAVE_FT_SVG_DOCUMENT is defined<br> Merge branch 'issue-777' into 'master'<br> ft: don't use scaled_glyph->dev_private to store data<br> Merge branch 'issue-778' into 'master'<br> Use a spinlock to prevent race condition when initializing mutexes<br> Merge branch 'issue-782' into 'master'<br> Merge branch 'ci-bump-windows-image' into 'master'<br> Update CI to Fedora 38<br> Fix PS crash with color font and CAIRO_COLOR_MODE_NO_COLOR<br> Merge branch 'update-to-fedora-38' into 'master'<br> Merge branch 'fix-colrv0-handling' into 'master'<br> Avoid undefined signed left shift<br> Merge branch 'fix-no-png-build' into 'master'<br> Merge branch 'check-def-arches' into 'master'<br> Merge branch '5898791338508288' into 'master'<br> Merge branch 'master' into 'master'<br> Merge branch 'master' into 'master'<br> Merge branch 'big-endian-swap' into 'master'<br> Merge branch 'bobby285271/fix-format-security' into 'master'<br><br>Alex (3):<br> Fix <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56152">https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56152</a> memory read access because of incorrect size<br> Fix warning<br> Refix <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56152">https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56152</a> according to recommendations<br><br>Behdad Esfahbod (1):<br> [gobject] Bind cairo_glyph_t and cairo_text_cluster_t<br><br>Bobby Rong (1):<br> Fix building with -Werror=format-security<br><br>Caolán McNamara (1):<br> ofz#46165 avoid a divide by zero seen fuzzing libreoffice rendering<br><br>Christian Clauss (1):<br> Delete cairo/perf/make-html.py<br><br>Christian Hesse (1):<br> Fix font options leak in _cairo_gstate_ensure_scaled_font()<br><br>Emmanuele Bassi (54):<br> Post-release version bump to 1.17.9<br> Merge branch 'ebassi/snapshot-release' into 'master'<br> tee: Fix cairo wrapper functions<br> util: Fix compiler warnings in cairo-sphinx<br> Remove XML surface<br> Merge branch 'fix-error-handling-docs' into 'master'<br> Merge branch 'drop-xml-surface' into 'master'<br> Merge branch 'gi-text-glyphs' into 'master'<br> Merge branch 'readme-gl' into 'master'<br> docs: Add override for feature symbols<br> build: Drop legacy build<br> Merge branch 'ebassi/drop-autotools-check' into 'master'<br> Drop "slim" symbols<br> Add surface-to-png in the quartz boilerplate<br> Build with hidden symbols by default<br> build: Remove unused files<br> Merge branch 'issue-642' into 'master'<br> Merge branch 'no-slim-symbols' into 'master'<br> tee: Remove questionable terminology<br> build: Move 'tee' from disabled to auto<br> build: Enable cairo-sphinx only if we have SysV's SHM<br> Merge branch 'cairo-tee-checks' into 'master'<br> Allow static builds of cairo-sphinx<br> Merge branch 'ebassi/sphinx-static-build' into 'master'<br> ci: Add a static build on Linux<br> ci: Remove autotools from the Fedora image<br> Merge branch 'ebassi/ci-static-linux-build' into 'master'<br> Merge branch 'sphinx-static' into 'master'<br> Make Cairo dither to Pixman dither conversion static<br> Merge branch 'font-option-leaks' into 'master'<br> Merge branch 'wip-fix-352' into 'master'<br> Merge branch 'leak-bug-431' into 'master'<br> Merge branch 'remove-sphinx' into 'master'<br> Merge branch 'ebassi/dithering' into 'master'<br> docs: Fix versioned symbol indices<br> docs: Update the symbols list<br> docs: Hide private docs<br> docs: Add missing tee surface section<br> Remove pointless CAIRO_HAS_DITHER<br> docs: Add missing section docblock for cairo-tee<br> docs: Add missing docblocks for the device observer API<br> docs: Do not make private symbols with docblocks<br> docs: Add missing long description for cairo-quartz-font section<br> Ensure that argument names in declarations match definitions<br> docs: Add missing docblocks for content tags<br> docs: Add missing docblocks for cairo-tee API<br> docs: Add docblocks for missing feature defines<br> docs: Add missing docblocks for surface observer API<br> docs: Remove docblock<br> docs: Use the proper xinclude path<br> docs: Fix closing docblock<br> build: Fix program listing syntax check<br> ci: Remove manual doc checks in the build job<br> Release Cairo 1.18.0<br><br>Fujii Hironori (11):<br> Win32 surface compositor should support DWrite font<br> DWrite: More accurate glyph paths for small fonts<br> DWrite: Don't convert subpixel antialiasing to grayscale<br> DWrite: glyph surfaces should take subpixel positions into account<br> DWrite: clipped glyphs in win32 compositor<br> Fix cairo_matrix_transform_distance documentation<br> DWrite: Inflate glyph bounds 1px vertically too<br> Change the workaround of MinGW dwrite_3.h problem<br> DWrite: Support antialias and subpixel order font options<br> DWrite: region clipping didn't work on win32 surfaces<br> win32 font is very small if the lfHeight of HFONT is exactly -size<br><br>Jeremy Bícha (2):<br> meson-check-def: Exclude sections from symbol list seen on ARM<br> meson-check-def: Exclude sections from symbol list seen on mips<br><br>John Ralls (4):<br> [quartz] Cleanup and make better use of cairo_quartz_image_surface_t.<br> [quartz] Pretty up the surface-type and zero-size tests.<br> [quartz] Replace surface-pattern xfail with latest CI fail image.<br> [quartz]Conditionally Use Main Display ColorSpace instead of kCGColorSpaceDefaultRGB.<br><br>Jonathan Kew (1):<br> Fix use-after-free in _cairo_tag_stack_pop<br><br>Khaled Hosny (21):<br> doc: Fix dwrite gtk-doc warnings<br> doc: Fix parameter name in comment<br> doc: Fix the gtk-doc syntax of internal symbols<br> doc: Document CAIRO_STATUS_SVG_FONT_ERROR<br> doc: Document CAIRO_SURFACE_TYPE_SKIA and mark it deprecated<br> doc: Fix missing quartz image surface docs<br> doc: Include surface observer documentation<br> doc: Don’t mention non-existent cairo_stroke_to_path()<br> doc: Fix internal links<br> doc: Escape percent sign<br> doc: Fix external links<br> doc: Document the deprecated status of more surface types<br> doc: fix cairo_dwrite_font_face_set_rendering_params docs<br> Fix -Wparentheses-equality warnings<br> Fix -Wunused-but-set-parameter<br> Remove dead code<br> Fix -Wsometimes-uninitialized warning<br> Fix -Wunused-variable<br> Fix -Wuninitialized<br> Fix -Wlogical-not-parentheses<br> Fix -Wunused-function warnings<br><br>Luca Bacci (1):<br> Remove stray #error in dw-extra.h<br><br>Marc Jeanmougin (1):<br> Enable access to the pixman dithering path<br><br>Matt Turner (1):<br> Open-code bbtree_del to avoid free()ing a non-allocated object<br><br>Matthias Clasen (1):<br> Fix rendering of COLRv0 fonts<br><br>Sebastian Dröge (1):<br> Hurd has no MAP_NORESERVE so don't use it there<br><br>Sergey Bugaev (3):<br> meson: Don't pull in FreeType and Fontconfig by default<br> Consistently spell "FreeType" with capital T<br> Apply 1 suggestion(s) to 1 file(s)<br><br>Simon Ser (1):<br> readme: drop reference to OpenGL backend<br><br>Taylor R Campbell (1):<br> Avoid misuse of ctype(3) functions<br><br>Tim Serong (1):<br> Avoid assert when drawing arcs with NaN angles<br><br>Tim-Philipp Müller (6):<br> ci: bump windows image to latest<br> ci: add some more workflow rules<br> ci: bump windows image to latest<br> Merge branch 'fix-pulling-ft2-and-fc' into 'master'<br> ci: remove meson from job names<br> Merge branch 'ci-remove-meson-prefix-from-job-names' into 'master'<br><br>Uli Schlachter (26):<br> Merge branch 'unused-code' into 'master'<br> Remove unused _cairo_tee_surface_find_match<br> Merge branch 'quartz-image-surface' into 'master'<br> Merge branch 'quartz-colorspace' into 'master'<br> Merge branch 'ofz46165' into 'master'<br> Merge branch 'unused-function' into 'master'<br> Merge branch 'patch-1' into 'master'<br> Merge branch 'fix-leftover' into 'master'<br> Merge branch 'tag_stack' into 'master'<br> Merge branch 'fix-signed-left-shift' into 'master'<br> Merge branch 'hurd' into 'master'<br> Disable svg glyph renderer when PNG is disabled<br> Merge branch 'master' into 'master'<br> Fix FT color glyphs on big endian systems<br> Revert "Allow static builds of cairo-sphinx"<br> Always build fdr.c into a shared library<br> Update FDO_DISTRIBUTION_TAG<br> Remove cairo-sphinx<br> Fix font options leak in gstate<br> Fix font options leak in scaled font<br> Fix font options leak in cairo-surface.c<br> Fix font options leak in _cairo_surface_copy_similar_properties()<br> Fix font options leak in cairo script surface<br> Fix leak in test/bug-431.c<br> Merge branch 'leak' into 'master'<br> tests: Add more dithering tests<br><br>iasunsea (3):<br> cairo truetype reverse cmap detected memory leaks<br> fix read memory access<br> fix SEGV in cairo_type1_font functioons<br></div><div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><a href="https://www.bassi.io" target="_blank">https://www.bassi.io</a><br>[@] ebassi [@<a href="http://gmail.com" target="_blank">gmail.com</a>]</div></div></div>