A new cairo snapshot 1.17.8 is now available from:
https://cairographics.org/snapshots/cairo-1.17.8.tar.xz
which can be verified with:
https://cairographics.org/snapshots/cairo-1.17.8.tar.xz.sha256sum
5b10c8892d1b58d70d3f0ba5b47863a061262fa56b9dc7944161f8c8b783bc64 *cairo-1.17.8.tar.xz
https://cairographics.org/snapshots/cairo-1.17.8.tar.xz.sha256sum.asc
(signed by Emmanuele Bassi)
Additionally, a git clone of the source tree:
git clone https://gitlab.freedesktop.org/cairo/cairo.git
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 )
==============================================================
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/cairo-script-interpreter.pc.in
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
Full changes since 1.17.6
=========================
Adrian Johnson (104):
Create cairo version of isxdigit()
Merge branch 'isxdigit' into 'master'
Remove all gstate from _cairo_surface_tag
test: add URL and "rect" attribute to pdf-tagged-text
Fix crash
Fix PS test crash
Merge branch 'dont-drop-tags' into 'master'
Update DSC documention
Merge branch 'ps-docs' into 'master'
Fix some type1-subset array indexing bugs
Merge branch 'recording-surface-tags' into 'master'
Merge branch 'type1-subset-fixes' into 'master'
Merge branch 'cff-subset-leak' into 'master'
cff: Check subroutine number is valid before using as an array index
Merge branch 'issue-413' into 'master'
Merge branch 'strtod-fix' into 'master'
cff: use correct size cast when decoding bytes to a signed int
truetype: check cmap size before allocating memory
PS: ensure setup DSC comments are in BeginSetup section
Merge branch 'parse-float-errors' into 'master'
Merge branch 'pdf-stdio-write-errors' into 'master'
Merge branch 'recording-playback-nothing-to-do' into 'master'
tags: allow links to page numbers not yet created
Use uintptr_t for all casts between pointer and integer
Fix some win32 compile warnings
Change FNV hash to 64-bit
Merge branch 'svg-create-for-stream' into 'master'
Add meson install instructions
Merge branch 'meson-install' into 'master'
INSTALL.meson: correct the wording
Merge branch 'fix-wording' into 'master'
pdf: use cross-reference stream for PDF >= 1.5
pdf: add support for object streams for PDF >= 1.5
pdf: convert all document interchange features to use object streams
pdf-tagged-text test: disable object stream compression
pdf: use floating point widths when emitting fonts
Merge branch 'issue-426' into 'master'
pdf-tagged-text: generate both 1.4 and 1.5 PDFs
Merge branch 'pdf-object-streams' into 'master'
Print tag error details when CAIRO_DEBUG_TAG is defined
Merge branch 'tag-error' into 'master'
pdf links: fix forward references to dest names with 'internal' flag
Merge branch 'pdf-links-fixes' into 'master'
meson: add endian check
Add ft-color-font test
Merge branch 'win32-printing-fix' into 'master'
Merge branch 'STRNDUP-bug' into 'master'
Merge branch 'MMAP-bug' into 'master'
Fix some mingw warnings and correct the value of R_OK
Merge branch 'mingw-warnings' into 'master'
Add color user-font support
Merge branch 'issue-389' into 'master'
Merge branch 'endian' into 'master'
Fix color fonts when antialias == SUBPIXEL or NONE
Merge branch 'issue-404' into 'master'
copy all autotools compiler warnings to meson build
Merge branch 'meson-warnings' into 'master'
Add cairo_user_font_face_get_render_color_glyph_func
Merge branch 'fix-color-glyph-compositing' into 'master'
Merge branch 'ebassi/meson-gtk-doc' into 'master'
Merge branch 'HairlineStroke' into 'master'
Merge branch 'warning-level' into 'master'
Fix cast between incompatible function types warnings
Fix some warnings
Add cairo_pdf_surface_set_custom_metadata()
Fix PS emit image for 16-bit images
Merge branch 'ps-image' into 'master'
Fix file mode of mime_unqiue-id.c
Fix malloc overflow check warning
Add overflow to Makefile.sources
Merge branch 'fix-warnings' into 'master'
Merge branch 'fix-comparison-warning' into 'master'
Update user-font-mask ref images
Merge branch 'cairo-fix-glyph-clipping' into 'master'
Support color fonts that use the foreground color
Allow > 2GB PDF files on platforms with 32-bit long
Fix some MinGW warnings
Merge branch 'ming-warnings' into 'master'
Merge branch 'large-pdf-file' into 'master'
Merge branch 'custom-metadata' into 'master'
Merge branch 'master' into color-font-foreground-color
Merge branch 'color-font-foreground-color' into 'master'
Allow user fonts to use the foreground color
Merge branch 'user-font-foreground-color' into 'master'
Merge branch 'ci-update-windows-image' into 'master'
pdf: ensure url strings are correctly encoded
pdf: ensure filenames are correctly encoded
Merge branch 'issue-526' into 'master'
Import win32 dwrite font backend from
Fix msvc c++ compile error
Fix check doc errors
Fix some warnings and use _cairo_malloc where applicable
Fix dwrite toy fonts
dwrite_font param is not used
dwrite: add color font support
Remove the extra API from the mozilla DWrite
Merge branch 'win32-color-fonts' into 'master'
DWrite font docs
Merge branch 'dwrite-docs' into 'master'
Replace deprecated malloc_hook
Merge branch 'malloc-hook' into 'master'
Fix warning
Merge branch 'issue-263-2' into 'master'
Merge branch 'malloc-hook2' into 'master'
Amos Wenger (2):
Set CAIRO_WIN32_STATIC_BUILD when doing a static build on windows
Upgrade to expat-2.2.9-4 wrap
Anton Danilkin (70):
Fix problems in the SVG backend related to outputting surfaces and patterns
Fix generating syntactically invalid SVG files
Ignore .idea, compile_commands.json and /build
Add a test for #361
Add a test with operator samples from https://cairographics.org/operators/
Fix emitting black background for color-only non-bounded SVG surfaces
Add new SVG filters system
Fix using signed types where unsigned ones were needed
Do not check the status after creating a memory stream
Add warning supression in one place and remove them in others
Introduce _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
Remove the use of discard_filter
Remove the use of extra_attributes
Update the analyze mode of operations
Add a layer of indiraction to calls to the clipper
Add support for the source and clear operators for the paint operation
Implement operators for the mask operation
Implement operators for the rest of operations
Implement the in operator
Implement most of the non-blending operators
Implement the rest of the operators
Do not use the style attribute
Change the default SVG unit to user unit
Fix problems with radial gradients
Remove SVG 1.2 and CAIRO_CONTENT_COLOR SVG boilerplate targets
Do not create temporary single-color patterns. Also, do not try to support CAIRO_CONTENT_COLOR
Fix and clarify _cairo_svg_surface_do_operator
Simplify SVG document generation
Simplify ignoring of statuses
Simplify _cairo_svg_surface_emit_composite_surface_pattern
Start implementing correct paints in transformed recording patterns
Finish implementing correct paints in transformed recording patterns
Move cairo_svg_surface_t to cairo-svg-surface.c
Add my name to the header of cairo-svg-surface.c
Fix clip-rule being emitted on the wrong elements
Do not use parent_matrix in the mask operation
Mark CAIRO_PATTERN_TYPE_MESH as unsupported and impose a limit on recording surfaces depth
Add a test for #431
Remove _cairo_memory_stream_to_string
Add missing include
Fix filter being used on the use element causing the content to be clipped
Do not emit empty glyph paths
Emit bitmap glyph data as images instead of as a bunch of squares, as this results in smaller file size and better quality, allowing the use of shades of gray
Add support for PDF Type 3 fonts
Revert "Fix filter being used on the use element causing the content to be clipped"
Fix warnings and pipeline failure
Implement attempting to recognize a common pattern for a bitmap font and extract the original glyph image from it
Skip the color to alpha filter when possible
Change int to size_t in the _cairo_malloc function family
Add a small padding around paints
Simplify _cairo_hash_table_size
Add missing parentheses to _cairo_status_is_error and _cairo_int_status_is_error
Make the _cairo_operator_bounded family of functions consistent
Replace an outdated (after f0e2cd44) comment with clarification in _cairo_gstate_copy_transformed_pattern
Emit a transparent paint in "lerp_compositing_group"s to extends the bounds of the REMOVE_COLOR_AND_INVERT_ALPHA filter
Add support for CAIRO_CONTENT_COLOR
Disable support for SVG 2 operators
Do not try to emulate the fill_stroke operations ourselves
Migrate from cairo_output_stream_t to cairo_svg_stream_t
Use g instead of symbol for glyphs
Fix operators in Chrome
Fix painting of glyphs
Fix applying shifted operators
Fix reference images
Introduce CAIRO_BOILERPLATE_OPEN_NO_DAEMON and CAIRO_BOILERPLATE_DO_NOT_CRASH_ON_ANY2PPM_ERROR
Fix remaining tests
Export test images in artifacts on macOS
Install DejaVu fonts on macOS
Remove unused _cairo_hash_table_size
Ignore build instead of builddir
Ayman El Didi (4):
fixed some comparisons between signed and unsigned integers
added missing documentation to cairo_font_options_status
fixed some multiplications prone to overflowing their type
removed redundant casts in cairoint.h
Behdad Esfahbod (2):
Merge branch 'mixed-color-clusters' into 'master'
[user-font] Implement subpixel-positioning
Bryce Harrington (1):
boilerplate: Use _cairo_malloc instead of malloc
Calixte Denizet (1):
Allow empty postscript name when using a CFF font in pdf - it aims to fix issue #488.
Christopher Chavez (2):
quartz: Fix spelling in comment
quartz: Fix spelling in comment
David King (1):
meson: Add xml option and disable by default
Emmanuele Bassi (36):
Handle new Cairo formats in the XML surface
Handle new Cairo formats in test-trace
Use g_memdup2() with newer versions of GLib
Disable deprecation warnings from librsvg
Define _GNU_SOURCE in order to use memmem
Drop volatile from the GType registration
Merge branch 'jfkthame-master-patch-60864' into 'master'
meson: Define HAVE_CONFIG_H as a project flag
Remove stray _GNU_SOURCE definitions
Drop the conditional inclusion of config.h
build: Use subdir-objects
Post-release version bump to 1.17.5
Merge branch 'fix-fontconfig-subproject' into 'master'
meson: Build the API reference
meson: Use warning_level
meson: Enable _FORTIFY_SOURCE for optimized builds
gobject: Remove the use of volatile
Merge branch 'glib-volatile' into 'master'
Merge branch 'fix-build-when-pdf-is-disabled' into 'master'
Apply 1 suggestion(s) to 1 file(s)
Merge branch 'fix-rtl-color-glyphs' into 'master'
Merge branch 'fix-user-font-leaks' into 'master'
Merge branch 'meson-xml-option' into 'master'
Remove Qt surface
Remove BeOS support
Remove boilerplate for the Skia surface
Drop OS/2 support
Remove cairo-drm
tanis: Remove cairo-cogl
Remove cairo-directfb
Drop cairo-vg surface
ci: Make Windows jobs manual
build: Remove unused DirectFB bits on Windows
Merge branch 'remove-unused-sym' into 'master'
build: Avoid SSHing into a host during release checks
Release Cairo 1.17.6 (snapshot)
Félix Poisot (1):
The array introduced in bff47b43 isn't cleared on surface finish
George Matsumura (1):
cairo-trace: Fix escape character encoding in string literals
Glash Gnome (2):
Issue #482 Documentation stanza
#483 Fix Enum_member_description
Heiko Lewin (38):
Fix mask usage in image-compositor
Minor cleanups
Add meson support
Merge branch 'uninitialised-var-in-recording' into 'master'
Merge branch 'font-oob' into 'master'
Merge branch 'fix-copy-paste-error-in-recording-surfaces' into 'master'
Added checks for failed strdups in cairo-recording-surface.c
Merge branch 'xml-requires-png' into 'master'
Merge branch 'debug-fix' into 'master'
Merge branch 'font-parse-oob' into 'master'
Merge branch 'snapshot-error-fixes' into 'master'
Merge branch 'fix-clear-nothing-to-do' into 'master'
Fix autoconf warnings for version 2.70
'Fix' a NULL pointer 'dereference' in cairo-pdf-surface
Merge branch 'win32-get-dc' into 'master'
cairo-xlib: Check for maximum surface size
Merge branch 'extend-test-pdf-tagged-text' into 'master'
Fix device errors for GLESv2 contexts Ignore GLerrors when re-selecting a (possibly deleted) GLprogram
Merge branch 'fix_device_errors' into 'master'
cairo-quartz-image-surface.c: Add missing call to cairo_surface_reference (Thanks to Fred Bca)
Merge branch 'fix_surface_ref' into 'master'
Merge branch 'fix-recording-to-png' into 'master'
test/path-precision.c: Correct initialization, error margin for comparisons
cairo-quartz-image-surface.c: Fix types
cairo-quartz-image-surface.c: Fix types
Merge branch 'pdf-font-names' into 'master'
Merge branch 'pdf-tag-leak' into 'master'
Merge branch 'ubsan-fixes' into 'master'
Merge branch 'fix-448-test' into 'master'
Fix undefined left-shifts
Minor corrections
Merge branch 'type1_find_segments_bounds_check' into 'master'
Merge branch 'ci-make-test-succeeds' into 'master'
Merge branch 'wip/Jehan/subpixel-antialiasing' into 'master'
Fix clip leak
Merge branch 'fix_clip_leak' into 'master'
_arc_max_angle_for_tolerance_normalized: fix infinite loop
Merge branch 'fix_infinite_loop' into 'master'
Jan Alexander Steffens (heftig) (1):
meson: add xlib-xcb option and disable by default
Jehan (1):
src: do not override explicitly requested grayscale antialiasing.
John Ralls (11):
Ensure _cairo_quartz_surface_create_internal always nulls imageSurfaceEquiv.
Quartz: Ensure that image data and surface are available to draw.
Quartz image drawing: Remove containers for cairo_surface_t.
Quartz Better manage acquired/replayed surface.
[quartz] Snapshot CGBitmapContext-mapped surfaces to cache CGImages.
[quartz] Remove cached image_surface on quartz surfaces.
[quartz] Create similar surfaces using a CGLayer for faster drawing.
[quartz] Use CoreGraphics instead of Qt to write debug png file.
[quartz]Cleanup _cairo_quartz_cairo_repeating_surface_pattern_to_quartz
[quartz] extract function _cairo_quartz_setup_pattern_source
[quartz] Don't use CGContextDrawTiledImage for tiled patterns.
Jonathan Kew (10):
Don't call _cairo_array_append_multiple with a zero count.
Don't leave the shm field uninitialized when building without shm support.
Bail early from _cairo_image_compute_color if image is zero-sized.
[pdf-interchange] Write trees even if only LINK tags are present
Add an example of a link within an empty clip to pdf-tagged-text testcase.
Fix use-after-free in pdf-features testcase.
Accept a leading sign character in _cairo_strtod.
Add link with a negative coordinate to testcase.
Don't assert on NOTHING_TO_DO during recording replay.
Check correctly for surface_pattern being a snapshot/recording in _cairo_win32_printing_surface_paint_pattern.
Jordan Petridis (1):
ci: cleanup the autotools artifacts a bit
Manuel Stoeckl (4):
Read/write 16-bpc PNG data in native endian
ci: sort lists of ignored tests
pdiff: convert RGB24 image values to ARGB32 on read
test: explicitly handle image formats in buffer_diff_core
Marc Jeanmougin (1):
Rename cairo_lines_compare_at_y into _cairo_lines_compare_at_y and fix syntax
Marek Kasik (1):
cff: Allow empty array of operands for certain operators
Matthias Clasen (11):
Plug a memory leak in an error case
Avoid a use-after-free
recording-surface: Fix offset error
Don't build fontconfig on Windows
Fix fontconfig subproject
Fix compositing non-color glyphs in one case
Remove the approximate glyph bounds check
user-font: Plug some memory leaks
Plug another memory leak
Fix rtl handling for color glyphs
Fix mixed color clusters
Nathan Lee (2):
Re-enable windows backends in autotool
Fix font count in Inkscape's win32 pdf export
Nirbheek Chauhan (2):
meson: Remove useless version_compare()
meson: Fix build when PDF backend is disabled
Peter Wang (1):
Always define _cairo_utf8_to_utf16 on Windows
Rick Yorgason (3):
Added extra check for HAVE_STRNDUP in Win32 Mingw Meson build
Fixed compile-time error on platforms without MMAP.
Added hairline support to cairo
Seungha Yang (1):
atomic: Add support for WIN32 atomic operations
Sven Neumann (3):
Fix conversion from ISO 8601 to PDF date string
Fix compiler warnings in test suite
Add tests for PDF metadata
Tim-Philipp Müller (45):
ci: fix default options in meson ci
meson: fix library versioning
autotools: dist meson subproject wraps
ci: add meson android aarch64 build
meson: fix macOS build and add macOS ci
meson: only build cairo-boilerplate and cairo-missing helper libs if needed
ci: update macos tags for newer vm image
Merge branch 'ci-update-macos-image' into 'master'
meson: add symbol-lookup option to allow disabling bfd/libiberty usage
cairo-trace: fix build with newer versions of bfd
utils: remove hacky replacement for backtrace_symbols in glibc
meson: use encoding=utf-8 when reading/writing files in helper script
meson: declare dependancy on libcairo_dep for overrides
Merge branch 'alatiera/cairo-header' into 'master'
meson: allow skipping of run check for IPC_RMID_DEFERRED_RELEASE
Merge branch 'spectre-dep' into 'master'
Merge branch 'alatiera/exclude-artifacts' into 'master'
meson: make cairo-trace executable
Merge branch 'meson-make-cairo-trace-executable' into 'master'
Merge branch 'gyf-table-leak' into 'master'
ci: bump windows image to latest version to fix github ssl certificate issues
Merge branch 'ci-bump-windows-image' into 'master'
Merge branch 'win32-atomic' into 'master'
Merge branch 'no-fontconfig-on-windows' into 'master'
Merge branch 'macos-artifacts' into 'master'
Merge branch 'fix-meson-build' into 'master'
ci: add fallback_source_uri to work around ssl certificate issues on windows runners
meson: subprojects: update expat wrap to latest version
meson: subprojects: update glib wrap to latest stable 2.66.7
meson: subprojects: update zlib wrap to latest revision 1.2.11-5
meson: subprojects: use upstream freetype meson port and use latest release
ci: make sure existing subproject checkouts are in sync with wraps
Merge branch 'meson-update-wrap-versions' into 'master'
meson: rely on automatic wrap promotion from subprojects
Merge branch 'meson-rely-on-subproject-wrap-promotion-for-indirectly-needed-wraps' into 'master'
meson: enable pthread tests if 'real pthread' is available
test: update quartz ref image to fix macos pthread test failure
Merge branch 'meson-pthread-tests' into 'master'
meson: fix build without libpng
Merge branch 'fix-no-png-dep' into 'master'
ci: update windows image
ci: disable aarch64 neon asm in pixman to fix android build
ci: bump windows image to latest
ci: update links in ci template from gst-ci to gstreamer monorep
Merge branch 'ci-update-windows-image-2' into 'master'
Uli Schlachter (152):
Merge branch 'meson-ci-require-gl-on-fedora' into 'master'
Merge branch 'fix-iso8601_to_pdf_date_string' into 'master'
Merge branch 'empty-delta-arrays' into 'master'
Merge branch 'trace_parse_fix' into 'master'
Merge branch 'pdf-leak' into 'master'
Merge branch 'meson-ci-fix' into 'master'
boilerplate-xcb: Avoid leaks on error
boilerplate-xcb: Avoid leaks on success
Fix a leak in cairo-xcb's render compositor
Merge branch 'bigsur-use-after-free' into 'master'
Merge branch 'libversion-fixup-match-autotools' into 'master'
test/Makefile.sources: Use tabs for indentation
test/meson.build: Add missing tests
autoconf: Reject --enable-xml --disable-png
Replace $have_png with $use_png
Merge branch 'csi' into 'master'
Merge branch 'fix-437' into 'master'
Merge branch 'xcb-fix-clip-leak' into 'master'
Merge branch 'boilerplate-leak' into 'master'
Add a bounds check to cairo_cff_parse_charstring()
Fix copying tags in a recording surface
Fix two uninitialised variables in _cairo_recording_surface_snapshot()
Merge branch 'meson-ci-android' into 'master'
Merge branch 'fix_memory_allocation' into 'master'
Merge branch 'meson-ci-macos' into 'master'
Merge branch 'fix-compiler-warnings-in-test-suite' into 'master'
Add a bounds check to cairo_cff_font_read_fdselect()
Slightly improve dealing with error snapshots
Fix _cairo_surface_paint not setting is_clear
Apply small fix that was reported as an issue
cairo_win32_surface_get_dc: Return NULL for error surfaces
cairo-xlib: Check for maximum surface size
Merge branch 'meson-only-build-helper-libs-if-needed' into 'master'
Merge tag '1.17.4'
Merge gitlab.freedesktop.org:pcpenpal/cairo
Merge branch 'autotools-dist-meson-subproject-wraps' into 'master'
'Fix' a NULL pointer 'dereference' in cairo-pdf-surface
Merge branch 'use_correct_variable' into 'master'
Merge branch 'fix-autoconf' into 'master'
Merge branch 'set-source-surface-leak' into 'master'
Merge branch 'fill-use-after-free' into 'master'
Merge branch 'fix_path_precision' into 'master'
Make the test case for bug 448 pass
pdf font subset: Generate valid font names
Fix a memory leak with cairo_tag_begin() + pdf
Merge branch 'small-build-system-fixes' into 'master'
Merge branch 'meson-symbol-lookup-option' into 'master'
Merge branch 'utils-cairo-trace-update-for-new-bfd' into 'master'
Merge branch 'meson-force-utf8-file-encoding-in-scripts' into 'master'
Merge branch 'meson-add-option-to-disable-xlib-xcb' into 'master'
meson: Move libspectre to test_deps
Use the serial automake test harness
Merge branch 'meson-allow-skipping-of-run-check-for-ipc-rmid-deferred-release-in-cross-build' into 'master'
test suite: fflush() before fork()
test/mime-unique-id: Fix for out-of-tree builds
Update the PDF size limit in mime-unique-id
pdf-mime-data: Fix error checking
pdf-mime-data: Fix for out-of-tree builds
test/pdf-mime-data.c: Check for pdfimages
Avoid a use-after-scope
Fix a leak in an error path
Merge branch 'mime-unique-id' into 'master'
Merge branch 'flush-in-tests' into 'master'
Merge branch 'serial-test-harness' into 'master'
Merge branch 'pdf-mime-data' into 'master'
Merge branch 'use-after-scope' into 'master'
Add a test case for commit d07fb410568423
Merge branch 'fix-467' into 'master'
Merge branch 'fix_obvious_ub' into 'master'
Fix out of bounds access in cairo_type1_font_subset_find_segments
Merge branch 'fix-cairo-malloc' into 'master'
test-suite: Add a new mechanism for XFAILs
Add config.log to build artefacts
Install gtk2-devel on CI
Ignore current svg failures in CI
svg: Reject raster sources
Add hack to ignore a svg test crashes
Ignore create-for-stream failure with svg
Run the test suite on MacOS
Merge branch 'svg-ci' into 'master'
Merge branch 'fix-cairo-status-is-error' into 'master'
Merge branch 'fix-cairo-operator-bounded' into 'master'
CI: Run tests with an X11 server
.gitlab-ci.yml: Ignore current X11 test failures
script: Also ignore {xcb,xlib}-surface-source
Merge branch 'fix-cairo-gstate-copy-transformed-pattern-comment' into 'master'
Merge branch 'mac-tests' into 'master'
Merge branch 'ebassi/deprecations' into 'master'
Merge branch 'ebassi/warnings-fixes' into 'master'
Merge branch 'ci-test-x11' into 'master'
Merge branch 'ebassi/config-define' into 'master'
Merge branch 'record-png-offset' into 'master'
xcb: Remove free XID cache
xcb: remove free pixmap/gc wrappers
meson: Move CAIRO_HAS_INTERPRETER to config.h
Merge branch 'jfkthame-master-patch-60882' into 'master'
Merge branch 'macos-dejavu' into 'master'
meson: Add shell script tests
meson: Add perf/ directory
Merge branch 'doc-scanner' into 'master'
Merge branch 'SVG-doc-scanner' into 'master'
Merge branch 'xcb-free-xid-cache' into 'master'
Merge branch 'meson-defines' into 'master'
meson: Use more dependency objects
Fix meson build without zlib
Merge branch 'svg-backend-work' into 'master'
Merge branch 'issue_488' into 'master'
Merge branch 'jfkthame-master-patch-75366' into 'master'
Move test failure lists into separate files
Rename a file
Switch to line-separated test failure lists
Merge branch 'build-without-zlib' into 'master'
Merge branch 'expected-failure-line-separated' into 'master'
CI: Split test execution into per-backend jobs
Always run tests with an X11 server
Merge branch 'more-meson' into 'master'
Merge branch 'extra-test-steps' into 'master'
Fix the meson build
Fix memory leak in cairo_cff_font_read_cid_fontdict
Merge branch 'windows-ci-fix' into 'master'
Handle _cairo_strtod() failures in parse_float()
Merge branch 'issue-399' into 'master'
Merge branch 'issue-264' into 'master'
Merge branch 'issue-411' into 'master'
Merge branch 'issue-381' into 'master'
pdf: Properly pass on stdio write errors
Fix build on windows
svg: Fix create-for-stream test case
Merge branch 'issue-336' into 'master'
Merge branch 'issue-263' into 'master'
Merge branch 'color-font-test' into 'master'
test/hairline.c: Use Unix line endings
test/hairline.c: Add copyright header
Merge branch 'color-user-font-getter' into 'master'
Merge branch 'ebassi/build-fixes' into 'master'
Merge branch 'fix-png-write-endian' into 'master'
Fix integer overflows in cairo-mempool
Merge branch 'fix-core-diff' into 'master'
Fix a doc comment
Merge branch 'amos/win32-static-build' into 'master'
Merge branch 'meson-redundant-version_compare' into 'master'
Merge branch 'fix-doc-warning' into 'master'
Merge branch 'user-font-subpixel-position' into 'master'
Merge branch 'develop4' into 'master'
Merge branch 'develop3' into 'master'
Merge branch 'chrstphrchvz-master-patch-67648' into 'master'
Merge branch 'test-hairline' into 'master'
Merge branch 'mempool-overflow' into 'master'
Merge branch 'quartz-snapshot' into 'master'
Merge branch 'drop-backends' into 'master'
Merge branch 'chrstphrchvz-master-patch-12648' into 'master'
Merge branch 'cairo542' into 'master'
Xavier Claessens (1):
meson: Generate cairo-script-interpreter.pc needed by GTK+
Yongsu Park (1):
win32: Make font dc thread local
afdw (3):
Merge branch 'master' into 'svg-backend-work'
Merge branch 'master' into 'svg-backend-work'
Merge branch 'master' into 'svg-backend-work'