Skip to content

Commit 3ad4312

Browse files
1.16.0 release
Signed-off-by: Bryce Harrington <[email protected]>
1 parent 6059f5f commit 3ad4312

File tree

3 files changed

+162
-2
lines changed

3 files changed

+162
-2
lines changed

NEWS

+157
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,160 @@
1+
Release 1.16.0 (2018-10-19 Bryce Harrington <[email protected]>)
2+
========================================================================
3+
This new stable release incorporates a number of improvements made in
4+
the four years since 1.14.0.
5+
6+
Of particular note is a wealth of work by Adrian Johnson to enhance PDF
7+
functionality, including restoring support for MacOSX 10.4, metadata,
8+
hyperlinks, and more.
9+
10+
Much attention also went into fonts, including new colored emoji glyph
11+
support, variable fonts, and fixes for various font idiosyncrasies.
12+
13+
Other noteworthy changes include GLESv3 support for the cairo_gl
14+
backend, tracking of SVG units in generated SVG documents, and cleanups
15+
for numerous test failures and related issues in the PDF and Postscript
16+
backends.
17+
18+
For a complete log of changes, please see
19+
20+
https://cairographics.org/releases/ChangeLog.1.16.0
21+
22+
23+
Features and Enhancements
24+
-------------------------
25+
* Add support for OpenGL ES 3.0 to the gl backend.
26+
* The PDF backend has gained support for a range of widely used
27+
features, including thumbnails, page labels, metadata, document
28+
outlines, structured text, hyperlinks, and tags. Tags permit adding
29+
logical info such as headings, tables, figures, etc. that facilitates
30+
indexing, accessibility, text reflow, searching, and extraction of the
31+
tagged items to other software. For details on this new PDF
32+
functionality, see:
33+
https://lists.cairographics.org/archives/cairo/2016-June/027427.html
34+
* Variable font support. Variable fonts are single font files with
35+
various typography characteristics, such as weight or slant, that users
36+
of the font can adjust between two points. Effectively this enables a
37+
single font to behave as multiple fonts.
38+
* Restore MacOSX 10.4 support. Cairo had dropped 10.4 support when
39+
moving to the CoreText API. Now we automatically detect which API to
40+
use via dynamic linking, so can resume supporting this older version
41+
of MacOSX.
42+
* Support colored emoji glyphs, stored as PNG images in OpenType fonts.
43+
* Skia backend is removed
44+
* Use Reusable streams for forms in Level 3 Postscript.
45+
* Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files.
46+
* Add CCITT_FAX mime type for PDF and PS surfaces
47+
* svg: add a new function to specify the SVG document unit
48+
(Bug #90166)
49+
* Use UTF-8 filenames on Windows
50+
51+
52+
API Changes
53+
-----------
54+
Several new APIs were added. No existing APIs were altered.
55+
56+
New PDF functionality:
57+
58+
* cairo_pdf_surface_add_outline
59+
* cairo_pdf_surface_set_metadata
60+
* cairo_pdf_surface_set_page_label
61+
* cairo_pdf_surface_set_thumbnail_size
62+
* cairo_tag_begin
63+
* cairo_tag_end
64+
* CAIRO_STATUS_TAG_ERROR
65+
66+
New error status items for problems relating to PDF tagging:
67+
68+
* CAIRO_STATUS_WIN32_GDI_ERROR
69+
* CAIRO_STATUS_FREETYPE_ERROR
70+
* CAIRO_STATUS_PNG_ERROR
71+
72+
New error status items for handling of GDI, libfreetype, and libpng
73+
errors, respectively.
74+
75+
76+
Setting up Win32 surfaces for HDC with alpha channels:
77+
78+
* cairo_win32_surface_create_with_format
79+
80+
New API for added PDF functionality (see above), and new error
81+
status item for problems relating to PDF tagging.
82+
83+
Variable fonts:
84+
85+
* cairo_font_options_get_variations
86+
* cairo_font_options_set_variations
87+
88+
Tracking units in SVG documents:
89+
90+
* cairo_svg_surface_set_document_unit
91+
* cairo_svg_surface_get_document_unit
92+
93+
94+
95+
Dependency Changes
96+
------------------
97+
None
98+
99+
100+
Performance Optimizations
101+
-------------------------
102+
None
103+
104+
105+
Notable Bug Fixes
106+
-----------------
107+
* Fix thin lines that don't show up when printing in Inkscape due to
108+
overly aggressive culling.
109+
(Bug #77298)
110+
* Fix playback of recording surfaces into PDF surfaces, where objects
111+
with negative coordinates were not getting drawn. To address this,
112+
the coordinate systems for PDF and PS have been changed to match
113+
cairo's coordinate system. This allows recording surfaces to be
114+
emitted in cairo coordinates, and results in the same origin being
115+
used for all operations when using the recording surface XObject.
116+
Test cases for PDF and PS have also been updated accordingly.
117+
(Bug #89232)
118+
* Fix "invalidfont" error on some printers when printing PDFs with
119+
embedded fonts that have glyphs (such as spaces) with
120+
num_contours == 0. (Bug #79897)
121+
* Fix missing glyphs such as thin dashes, which get scaled to 0 in
122+
userspace and thus have their drawing operations culled. (Bug #94615)
123+
* Fix other oddities caused by variously idiosyncratic fonts.
124+
* Fix a data race in freed_pool discovered by Firefox's cairo usage.
125+
The patch adads atomic int load and store functions, with relaxed
126+
memory ordering. (Bug #90318)
127+
* Handle SOURCE and CLEAR operators when painting color glyphs.
128+
(Bug #102661)
129+
* Fix falling back to system font with PDFs using certain embedded
130+
fonts, due to truncated font names.
131+
(Bug #103249)
132+
* Prevent curved strokes in small ctms from being culled from vector
133+
surfaces
134+
(Bug #103071)
135+
* Fix assertion hit with PDFs using Type 4 fonts rendered with user
136+
fonts, due to error when destroying glyph page.
137+
(Bug #103335)
138+
* Prevent invalid ptr access for > 4GB images.
139+
(Bug #98165)
140+
* pdf: Fix internal links pointing to other pages, by pre-calculating
141+
page heights so that link positions can be calculated more accurately.
142+
* Fix error reporting in the xcb backend if fallback fails. Instead of
143+
returning NULL when the X11 server can't do some operation, return a
144+
surface in an error state.
145+
* Clarify documentation regarding device scale inheritance and the units
146+
used in cairo_surface_create_similar_image.
147+
(Bug #99094)
148+
* Call XSync in the xlib backend before setting the error handler to
149+
ignore errors for certain requests, to make sure all pending errors
150+
are handled first.
151+
* Fix regression with text containing space character on Win32.
152+
(Bug: https://gitlab.freedesktop.org/cairo/cairo/issues/339)
153+
154+
For a more comprehensive listing of fixed bugs, see the release notes for the
155+
individual 1.15.x releases.
156+
157+
1158
Release 1.15.14 (2018-09-19 Bryce Harrington <[email protected]>)
2159
============================================================================
3160
We're nearly ready to finalize the 1.16.0 release, so this snapshot

cairo-version.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define CAIRO_VERSION_H
33

44
#define CAIRO_VERSION_MAJOR 1
5-
#define CAIRO_VERSION_MINOR 15
6-
#define CAIRO_VERSION_MICRO 15
5+
#define CAIRO_VERSION_MINOR 16
6+
#define CAIRO_VERSION_MICRO 0
77

88
#endif

doc/public/cairo-docs.xml

+3
Original file line numberDiff line numberDiff line change
@@ -80,5 +80,8 @@
8080
<index id="index-1.14" role="1.14">
8181
<title>Index of new symbols in 1.14</title>
8282
</index>
83+
<index id="index-1.16" role="1.16">
84+
<title>Index of new symbols in 1.16</title>
85+
</index>
8386
<xi:include href="language-bindings.xml"/>
8487
</book>

0 commit comments

Comments
 (0)