<div dir="ltr"><pre><code>A new cairo snapshot 1.17.8 is now available from:

    <a href="https://cairographics.org/snapshots/cairo-1.17.8.tar.xz">https://cairographics.org/snapshots/cairo-1.17.8.tar.xz</a>

    which can be verified with:

    <a href="https://cairographics.org/snapshots/cairo-1.17.8.tar.xz.sha256sum">https://cairographics.org/snapshots/cairo-1.17.8.tar.xz.sha256sum</a>
    5b10c8892d1b58d70d3f0ba5b47863a061262fa56b9dc7944161f8c8b783bc64 *cairo-1.17.8.tar.xz

    <a href="https://cairographics.org/snapshots/cairo-1.17.8.tar.xz.sha256sum.asc">https://cairographics.org/snapshots/cairo-1.17.8.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.17.8 tag which points to a commit named:
    c3b672634f0635af1ad0ffa8c15b34fc7c1035cf

    which can be verified with:
    git verify-tag 1.17.8

    and can be checked out with a command such as:
    git switch -C build 1.17.8

Release 1.17.8 (2023-01-30 Emmanuele Bassi <span>)
==============================================================

A new cairo snapshot! And it only took less than one year, this time!

Many thanks to everyone who contributed to cairo, and especially
to (in no particular order):

- Adrian Johnson
- Khaled Hosny
- Behdad Esfahbod
- Matthias Clasen
- Uli Schlachter
- Manuel Stoeckl
- Fujii Hironori
- Tim-Philipp Müller
- Luca Bacci
- Caolán McNamara
- John Ralls

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.

Full changes since 1.17.6
=========================

Adrian Johnson (159):
      pdf: reset current operator when resetting clip
      pdf: reset gstate in groups
      Merge branch 'master' into issue-514
      On vector surfaces render color glyphs in the fallback resolution
      Update ref images
      Ensure DWrite toy fonts can not fail if font name not found
      Fix type1-subset indexing
      Check font status in show_text_glyphs
      Add CAIRO_DEBUG_PS_NO_DATE env var to remove date from PS output
      Replace use of ctype functions with internal version where only ASCII chars are used
      cairoint.h: update some comments
      Dwrite: implement is_synthetic()
      Fix DWrite error handling
      DWrite: Use twin font if default font not found
      Allow the C++ code in dwrite-font to use the debug functions
      Fix scaled_glyph hash lookup on Win64
      Fix Win64 compile warning
      Dwrite glyph_path fails when the font matrix is not a positive uniform scale
      DWrite: ensure all private functions are static
      DWrite: check 'head' table as well as 'name' when comparing fonts
      DWrite: Replace manual or missing ref counting with RefPtr
      Fix mingw warning
      Merge branch 'font-status' into 'master'
      Merge branch 'color-font-vector-surface' into 'master'
      Merge branch 'fix-color-glyph-clear-surface' into 'master'
      Fix the scaled_glyph_init color glyph logic
      Merge branch 'fix-color-glyph' into 'master'
      Merge branch 'issue-514' into 'master'
      Merge branch 'quartz-core-text' into 'master'
      Fix GL warnings
      Add -Werror for meson CI build
      Add mingw-32 and mingw-64 CI builds
      dwrite: Fix incorrect rendering of some SVG fonts
      Merge branch 'warnings' into 'master'
      Merge branch 'mingw-ci' into 'master'
      python script to view tests results
      Merge branch 'view-test-results' into 'master'
      Make it easier for cairo-test-suite to find the source dir
      Fix deadlock in cairo-scaled-font.c
      Fix deadlock in cairo-scaled-font.c
      Remove unused code
      Clamp path coordinates
      Update long-lines test
      view-test-results.py: try up to 10 ports
      big-trap test works
      autotools CI: build it faster
      Update huge-linear and huge-radial pdf ref images
      Merge branch 'try-ports' into 'master'
      Merge branch 'clamp-coordinates' into 'master'
      Merge branch 'scaled-font-deadlock' into 'master'
      Add color palette option
      Add color mode option
      Test color_mode option in ft-color-font test
      svg: Fix invalid output when image size is 0x0
      Merge branch 'mutex-fix' into 'master'
      Merge branch 'color-option' into 'master'
      Merge branch 'dwrite-disable' into 'master'
      ft: move CAIRO_SCALED_GLYPH_INFO_METRICS into separate function
      user fonts: ensure snap_x/y_scale are initialized
      Fix ink extents of recording surfaces within recording surfaces
      Support SVG fonts in FT backend
      FT SVG color font test
      SVG font test using cairo logo
      ft-svg-render test
      Fuzzer
      FT: support COLRv0 recording surface
      Add some missing slim_hidden entries
      Merge branch 'lzw_eod_code_width' into 'master'
      Merge branch 'negative-version-values' into 'master'
      Merge branch 'bug-535' into 'master'
      Merge branch 'pbounds-size' into 'master'
      Bash completion for cairo-test-suite
      Merge branch 'bash-completion' into 'master'
      Merge branch 'lzw-compress-1-byte' into 'master'
      Merge branch 'ft-svg-fonts' into 'master'
      user-font-color test: draw glyphs again inside a group
      Copy completion.bash to $builddir/test
      Add README.meson file for meson test
      Merge branch 'test-readme' into 'master'
      Support check-def.sh in meson build
      Merge branch 'tests' into 'master'
      Move check-refs.sh into its own test
      Fix mingw build failure when SVG fonts enabled
      Fix bug in strndup implementation
      Fix mingw warning: "ERROR" redefined
      Fix leak
      Use _cairo_strndup where appropriate
      Fix user-font with foreground in group failures on image, PDF, and PS
      Merge branch 'foreground-color-in-group' into 'master'
      Remove the test ignore that was unintentionaly committed in !380
      Merge branch 'undo-ignore' into 'master'
      Merge branch 'separate-check-refs' into 'master'
      Merge branch 'mingw-fixes' into 'master'
      COLRv1 glyph renderer
      Integrate COLR v1 renderer with cairo-ft-font.c
      Fix a couple of bugs and add a #define to enable debug
      Render COLRv1 to a recording surface
      Use cairo-ft-font.c decompose function
      COLRv1: Use cairo style and types
      Require -DDEBUG_ENABLE_COLR_V1 to enable the COLR v1 renderer
      Enable error log output of meson test --no-suite=slow in CI
      Remove autotools build
      Rename INSTALL.meson and README.meson
      Merge branch 'colr-v1' into 'master'
      Merge branch 'pr/Fix617' into 'master'
      Merge branch 'bug-566' into 'master'
      Merge branch 'bug-619' into 'master'
      Merge branch 'bug-606' into 'master'
      PS: Wrap embedded EPS in %%BeginDocument/%%EndDocument as required by EPS spec
      Merge branch 'eps' into 'master'
      Merge branch 'defining-windows-version-macros-in-meson-build' into 'master'
      README fixes
      We don't use HAVE_CONFIG_H anymore
      Add emacs modeline to CODING_STYLE
      Documentation fixes
      Add a test that demonstrates a recording surface bug when re-used on different surfaces
      pdf-tagged-text depends on PDF
      Fix shared use of recording surface with paginated targets
      Merge branch 'meson-and-doc-fixes' into 'master'
      Merge branch 'fix-shared-recording-surface' into 'master'
      Ensure outline font is used when CAIRO_COLOR_MODE_NO_COLOR is set
      colrv1: Don't use EM size when hint metrics is off
      colrv1: Fix palette alpha
      Merge branch 'colrv1-fixes' into 'master'
      Merge branch 'colr-foreground-alpha' into 'master'
      Merge branch 'optimize-paint-composite' into 'master'
      Merge branch 'colrv1-stack-variable' into 'master'
      svg-font: return SVG_FONT_ERROR on error
      svg-font: fix parse bug on empty tags
      Merge branch 'custom-color-palette-2' into 'master'
      Silence make-cairo-def.sh output
      Add test for SVG font palettes
      Merge branch 'fix-svg-crash' into 'master'
      Merge branch 'fix-clear-color-glyphs' into 'master'
      Merge branch 'svg-font-palette' into 'master'
      dwrite: use custom palette when rendering COLRv0
      Add new cairo_user_scaled_font_get_foreground_source() function
      Update user font tests to test foreground colors
      Merge branch 'fix-user-fonts-foreground' into 'master'
      Foreground color fixes for ft, svg, colrv1
      svg: test foreground colors
      Rename is_userfont_foreground to is_foreground_marker
      Merge branch 'dwrite-docs' into 'master'
      Merge branch 'doc-fixes' into 'master'
      Merge branch 'dwrite-custom-palette' into 'master'
      Merge branch 'calloc' into 'master'
      Documentation updates
      Mime type updates
      Merge branch 'fix-ft-foreground' into 'master'
      Merge branch 'doc-api-index' into 'master'
      Merge branch 'documentation-updates' into 'master'
      Add missing documentation
      Merge branch 'more-doc-fixes' into 'master'
      Fix dwrite crash when printing dwrite toy font
      Merge branch 'fix-dwrite-crash' into 'master'
      dwrite: create C++ dwrite header
      s/the the/the/
      Merge branch 'dwrite-cpp-header' into 'master'
      Merge branch 'dwrite-new-api' into 'master'

Ayman El Didi (1):
      fixed double free in _cairo_ps_surface_emit_base85_string

Behdad Esfahbod (13):
      [unicode] Non-characters are allowed in Unicode strings
      [mutex] Fix build with no mutexes
      [malloc-stats] Fix to not crash
      Merge branch 'malloc-stats' into 'master'
      [COLRv1] Apply alpha to foreground color
      [COLRv1] Allocate context variable on the stack
      [COLRv1] Optimize paint-composite
      [gstate] Fix cairo_font_options_t memory management
      [scaled-font] Clean up font-options before copy
      Merge branch 'scaled-font-options' into 'master'
      [colrv1] Fix crash in get_palette_color
      Merge branch 'colrv1-fix-crash' into 'master'
      [malloc-stats] Measure calloc

Benjamin Gilbert (1):
      meson: allow disabling DWrite

Benjamin Hennion (1):
      Make _cairo_paginated_surface_set_size takes double-typed width and height (instead of integers).

Caolán McNamara (1):
      ofz#50805 crash seen in fuzzing libreoffice text rendering

Christian Rohlfs (3):
      test: Add new `round-join-bug-520` tests
      Round joins fix (spline_cusp_tolerance)
      Removed `round-join-bug-520*` CI exceptions for Quartz backend

Daniel Hammerschmid (2):
      Fix output of EOD code with incorrect code width in _cairo_lzw_compress
      Fixed crash in _cairo_lzw_compress for 1 byte input

David King (1):
      autotools: Dist some files required for meson

Emmanuele Bassi (18):
      Post-release version bump to 1.17.7
      Merge branch 'ft-default-lcd-filter' into 'master'
      Merge branch 'link-to-the-ssp-static-library-when-fortify-source-is-enabled' into 'master'
      Merge branch 'privatize-csi-stack-push' into 'master'
      Merge branch 'fix-build-with-newer-libbfd' into 'master'
      Merge branch 'fix-long-lines' into 'master'
      Merge branch 'fix-device-scaling-doc-comments' into 'master'
      Drop cairo-gl
      Merge branch 'no-more-gl' into 'master'
      build: Turn version.py into idiomatic Python
      perf: Disable deprecation warnings for the perf widget
      Move documentation files to the doc directory
      docs: Update the release instruction
      docs: Update the bibliography
      docs: Drop the pre-1.0 porting guide
      docs: Remove KNOWN_ISSUES
      docs: Port the README to Markdown
      Release Cairo 1.17.8 (snapshot)

Feysh INC (3):
      Fix a double free in _cairo_mono_scan_converter_create
      Fix a use after free in cairo_scaled_font_create
      Fix a use after free in _cairo_svg_surface_create_for_stream_internal

Fujii Hironori (8):
      Remove the unbounded recording surface assertion
      Don't leave a font face in an error state after a scaled font creation failure
      DWrite: Don't call _controlfp_s with MCW_PC
      sizeof(cairo_atomic_int_t) should be sizeof(int)
      Defining Windows version macros in meson.build
      DWrite: Removed old unused API
      DWrite: Added new API to set measuring mode and rendering params
      DWrite: Fix incorrect glyph metrics for negative glyph height

Jeff Muizelaar (2):
      quartz: Avoid reading beyond the end of image surfaces.
      Merge branch 'quartz-memcpy' into 'master'

John Ralls (11):
      [quartz] Destroy local copy of snapshot after attaching it.
      [quartz] Fix some compiler warnings.
      [quartz] Require at least Mac OS X 10.7 Lion
      Reimplement cairo-quartz-font with Core Text.
      [quartz] Convert font handling from CGFont to CTFont.
      [quartz] Implement color font support.
      [quartz] Adjust x_extents metric.
      [quartz] Add wiggle test for quartz emoji.
      Pass the same type when creating the static glyphs and positions arrays.
      Change expected fails and reference image so that Quartz CI passes.
      Require macOS CI job to pass again.

Jonathan Kew (2):
      Ensure pbounds.size is initialized even in EXTEND_NONE mode.
      Fix x/y typo in _cairo_pdf_surface_analyze_operation

Jussi Pakkanen (2):
      Add missing commas to array values.
      Zero terminate temp buffers before calling strcat.

Khaled Hosny (4):
      Simplify generating dwrite-fonts docs
      doc: fix generation of API indices
      Fix gtk-doc syntax
      doc: Further fix API indices

Luca Bacci (7):
      Meson: link to -lssp when enabling _FORTIFY_SOURCE
      Meson: use an array to provide multiple arguments
      Pair usage of operator new[] with a corresponding delete[]
      Make cairo_scaled_font_t mutex recursive
      Check for scaled_font::cache_frozen in glyph_page_can_remove()
      Remove explicit dependency on libssp
      perf: fix compilation on Win32

Manuel Stoeckl (3):
      Add array bounds check for xrender format lookup
      Add remaining image formats to cairo-script constants table
      Add test for loading 16 bit PNG images

Matthias Clasen (8):
      Fix rendering of color glyphs on a clear surface
      Document whether colors are premultiplied
      cairo-ft: Fix palette handling
      cairo-ft: Pass the palette to the COLRv1 renderer
      Add a custom palette to font options
      Use the custom palette for COLv1 renderer
      Reshuffle code for clarity
      surface: Don't optimize away color glyphs

Nikolaus Waxweiler (1):
      Set default LCD filter to FreeType's default

Pierre Labastie (1):
      Update util/cairo-script/<a href="http://cairo-script-interpreter.pc.in">cairo-script-interpreter.pc.in</a>

Simon McVittie (6):
      util: Don't expose _csi_stack_push in public ABI
      Fix build with newer binutils-dev installed
      meson: Split tests up into test suites
      CI: Invoke test scripts via `meson test` where possible
      meson: Only link cairo-script-interpreter with liblzo
      CI: Update test artifacts to be appropriate for out-of-tree Meson build

Tim-Philipp Müller (10):
      Merge branch 'meson-list' into 'master'
      ci: update windows image and use new 2022 runner and vs2019
      Merge branch 'ci-update-windows-image' into 'master'
      ci: update Windows image to latest, and glib wrap too
      Fix build on Windows with -Ddefault_library=static
      ci: bump macOS image to latest / 12.3
      ci: mark macOS job as allowed to fail, unit tests are broken
      Merge branch 'ci-update-windows-image' into 'master'
      ci: bump windows tag to latest
      Merge branch 'no-more-autotools' into 'master'

Uli Schlachter (73):
      Add missing ref image for clip-unbounded
      Fix bug #535 in cairo-script
      script: Implement device finish
      Add an rgb24 ref image for alpha similar
      Merge branch 'meson-fixes' into 'master'
      Merge branch 'dwrite-toy-font' into 'master'
      Merge branch 'doxygen-typos' into 'master'
      Merge branch 'issue-551' into 'master'
      Merge branch 'issue-537' into 'master'
      Merge branch 'ctype' into 'master'
      Merge branch 'dwrite-fixes' into 'master'
      Merge branch 'fix-double-free-mono-scan' into 'master'
      Merge branch 'fix-uaf-stream_internal' into 'master'
      Merge branch 'issue558' into 'master'
      Merge branch 'issue562' into 'master'
      Merge branch 'dwrite-svg-fix' into 'master'
      Merge branch 'master' into 'master'
      Revert "ci: Make Windows jobs manual"
      Merge branch 'srcdir' into 'master'
      Merge branch 'fix-clip-unbounded' into 'master'
      Merge branch 'fix-rgb24-tests' into 'master'
      Merge branch 'reenable-windows-ci' into 'master'
      Merge branch 'palette-option' into 'master'
      Fix issue 579
      Run test scripts in meson CI
      Fix complaints from check-preprocessor-syntax.sh
      Merge branch 'run-check-scripts-in-ci' into 'master'
      Merge branch 'lzo-only-in-script' into 'master'
      Merge branch 'use-meson-test-for-scripts' into 'master'
      Merge branch 'issue-579' into 'master'
      Merge branch 'pdfarray' into 'master'
      Merge branch 'ofz50805' into 'master'
      Merge branch 'mismatched-new-delete' into 'master'
      Merge branch 'fix-issue-587' into 'master'
      Merge branch 'scaled-font-make-mutex-recursive' into 'master'
      cairo_pdf_version_to_string: Check for negative values
      Merge branch 'remove-explicit-dependency-on-libssp' into 'master'
      Merge branch 'pass-quartz-tests' into 'master'
      Merge branch 'testfix' into 'master'
      Merge branch 'document-premul' into 'master'
      Merge branch 'round-join' into 'master'
      Test cairo-ps in CI
      ps: Fix crash in self-copy-overlap
      Merge branch 'test-ps' into 'master'
      Merge branch 'round-join' into 'master'
      coverage.c: Use width/height arguments
      Speed up coverage-column-triangles test
      Fix memory leak in type3 glyph surface
      Fix out-of-bounds access in cff subset
      Fix a possible out-of-bounds read
      Merge branch 'clipper-memory-leak' into 'master'
      Merge branch 'oob-cff-subset' into 'master'
      Improve cff index reading code
      Merge branch 'improve-offset-size-checking' into 'master'
      Remove duplicate reference images
      Run check-refs.sh in CI
      Merge branch 'script-bug-277' into 'master'
      Switch CI tests from autotools to meson
      Merge branch 'speed-up-coverage-column-triangles' into 'master'
      Fix an out of bounds read in _jbig2_get_next_segment()
      Fix possible out-of-bound reads in get_jpx_info
      Merge branch 'jbig2-out-of-bounds-read' into 'master'
      Merge branch 'duplicate-ref-images' into 'master'
      Merge branch 'jpx-out-of-bounds' into 'master'
      Merge branch 'ci-tests-meson' into 'master'
      Merge branch 'ci-bump-windows-image' into 'master'
      Fix a leak in the cairo-svg-glyph-renderer
      Merge branch 'svg-glyph-renderer-leak' into 'master'
      Fix docs for cairo_surface_[sg]et_device_scale
      Merge branch 'bug-607' into 'master'
      Merge branch 'test-png16-load' into 'master'
      Merge branch 'gstate-font-options' into 'master'
      Merge branch 'too-many-the' into 'master'

luz paz (1):
      Fix typos in doxygen and source comments</span></code></pre><br clear="all"><br>-- <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>