<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>