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