Hello, this email is a notification from the Auto Upgrade Helper that the automatic attempt to upgrade the recipe(s) *freetype* to *2.15.0* has Succeeded.
Next steps:
- apply the patch: git am 0001-freetype-upgrade-2.14.3-2.15.0.patch
- check the changes to upstream patches and summarize them in the commit
message,
- compile an image that contains the package
- perform some basic sanity tests
- amend the patch and sign it off: git commit -s --reset-author --amend
- send it to the appropriate mailing list
Alternatively, if you believe the recipe should not be upgraded at this time,
you can fill RECIPE_NO_UPDATE_REASON in respective recipe file so that
automatic upgrades would no longer be attempted.
Please review the attached files for further information and build/update
failures.
Any problem please file a bug at
https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Automated%20Update%20Handler
Regards,
The Upgrade Helper
-- >8 --
>From 6f4ef4c01c8976cf2e00e58c1cf365865117dee8 Mon Sep 17 00:00:00 2001
From: Upgrade Helper <[email protected]>
Date: Tue, 13 Oct 2026 06:27:35 +0000
Subject: [PATCH] freetype: upgrade 2.14.3 -> 2.15.0
Tag sources with `VER-2-15-0'.
Whitespace.
[truetype] Avoid overflow in VARC axis values.
Reported as
https://issues.oss-fuzz.com/issues/570754474
(tt_face_load_varc_glyph): Use `NEG_LONG` when rounding negative axis
values, since the conversion can wrap to `INT32_MIN` and negating that
value overflows on platforms with 32-bit longs.
Assisted-by: OpenAI Codex
`numBlends` comes from the charstring and is attacker-controlled. Check for
overflow before multiplying: a wrapped `numOperands` would bypass the stack
underflow check below and the loop that follows would then run up to 2^32
iterations (CPU exhaustion).
[autofit] Limit default GSUB coverage to reachable glyphs.
A lookup can be registered under several scripts while substituting inputs
from only one of them. Collecting every output assigns those glyphs to the
first processed script, regardless of the inputs' styles. In Google Sans
this assigns the Latin rvrn alternates to Cyrillic; missing Cyrillic blue
zones then disable their hinting and darkening.
The full Meson test suite passes with linked, dynamic, and disabled
HarfBuzz. The regression fails before the fix. Google Sans alternates
retain Latin styles and stem darkening after the fix.
Assisted-by: OpenAI Codex
Fixes issue #1441.
[truetype] Make tiny exception from v40 rules.
[colr] Correctly handle B/W bitmaps in 'COLR' while blending.
[sfnt] Fix standalone compilation of `ttcmap.c`.
The single-object build inherited this include from `sfdriver.c`
and `sfobjs.c`, masking the missing direct dependency.
Assisted-by: OpenAI Codex <[email protected]>
2026-10-04 Tomer Fichman <@tomer>
Provide tests for issue #1469.
[truetype] Update the VARC variation-store binary format.
Spec:
Offset-base erratum:
Tests: full Meson regression suite (3 passed).
Assisted-by: OpenAI Codex
[truetype] Compare VARC condition values before rounding.
Condition format 2 tests whether default plus interpolated delta is
positive. Rounding the delta to an integer first loses small positive
fractions and incorrectly hides components.
(tt_varc_get_item_deltas, tt_varc_eval_condition): Allow the
MultiItemVariationStore evaluator to initialize condition accumulators
from their defaults and return the unrounded sign. Compare in the
existing 64-bit representation, including the emulated path, so large
int32 deltas need not fit in a signed 16.16 `FT_Long`.
Use ULABS for unsigned magnitudes in emulated multiplication, avoiding
MSVC's warning about unsigned unary negation (see
https://gitlab.freedesktop.org/freetype/freetype/-
/merge_requests/458#note_3692404).
Cast to `FT_UInt32` after obtaining the magnitude; no additional
absolute-value helper is needed.
(tt_varc_apply_axis_deltas, tt_varc_apply_transform_deltas): Updated.
All three Meson targets and the forced-emulated VARC tests pass. All 40
cross-library diagnostic cases and 115 native/emulated arithmetic
comparisons agree. MSVC itself was not available locally.
Assisted-by: OpenAI Codex <[email protected]>
[truetype] Repair VARC arithmetic without native 64-bit integers.
Restrict the fast signed product to its safe range, preserve carries when
adding negative products, and combine both accumulator words when
converting fractional deltas. Explicitly sign-extend the result.
The full Meson suite passes. An isolated build forcing the emulated VARC
path compiles without an initializer bypass; 115 native/emulated condition
and scaled/unscaled transform comparisons agree, including large signed
deltas, cancellation, and carries.
Assisted-by: OpenAI Codex <[email protected]>
[truetype] Treat null VARC conditions as true.
The OpenType condition rules define an offset of zero as the true
condition. Recognize that value both in the top-level ConditionList and
in nested AND, OR, and NOT conditions.
Add a VARC regression font covering all four cases.
Assisted-by: OpenAI Codex <[email protected]>
docs/CHANGES: Updated.
[cff] Load VARC-only glyphs beyond the CharStrings INDEX.
OFF permits trailing glyphs to be provided entirely by VARC. Preserve the
SFNT glyph count for CFF2 fonts with VARC, and dispatch those glyphs to VARC
before checking the CFF2 fallback CharString range.
Add a short-CharStrings fixture and verify its glyph count and outline. All
three Meson tests pass.
Assisted-by: OpenAI Codex <[email protected]>
[truetype] Apply VARC axis resets without explicit axis values.
Tests: all three Meson targets pass. Generated reset, explicit-axis, and
inheritance comparisons agree with HarfBuzz and FontTools.
Assisted-by: OpenAI Codex <[email protected]>
[base] Preserve off-curve cubic pairs when reversing outlines.
Assisted-by: OpenAI Codex <[email protected]>
[truetype] Support cubic outlines in 'GLYF' table.
Preserve the cubic flag while loading extended simple glyphs, including
on-curve points whose state can be changed by TrueType instructions.
Teach outline decomposition, stroking, and rasterization to ha
[Changelog truncated as it exceeds 5000 characters;
the full changelog can be found in an attachment to the AUH email]
---
.../freetype/{freetype_2.14.3.bb => freetype_2.15.0.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-graphics/freetype/{freetype_2.14.3.bb =>
freetype_2.15.0.bb} (94%)
diff --git a/meta/recipes-graphics/freetype/freetype_2.14.3.bb
b/meta/recipes-graphics/freetype/freetype_2.15.0.bb
similarity index 94%
rename from meta/recipes-graphics/freetype/freetype_2.14.3.bb
rename to meta/recipes-graphics/freetype/freetype_2.15.0.bb
index 924bcbfc4f..cb9c410b46 100644
--- a/meta/recipes-graphics/freetype/freetype_2.14.3.bb
+++ b/meta/recipes-graphics/freetype/freetype_2.15.0.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM =
"file://LICENSE.TXT;md5=eeb073d5fb86d23c52bb9b84aa256307 \
"
SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz"
-SRC_URI[sha256sum] =
"36bc4f1cc413335368ee656c42afca65c5a3987e8768cc28cf11ba775e785a5f"
+SRC_URI[sha256sum] =
"93cd47eb719c325107f2d3cf087d06299e944c3b48a40b55537302304dea1dd5"
UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)"
--
2.47.1
Tag sources with `VER-2-15-0'. Whitespace. [truetype] Avoid overflow in VARC axis values. Reported as https://issues.oss-fuzz.com/issues/570754474 (tt_face_load_varc_glyph): Use `NEG_LONG` when rounding negative axis values, since the conversion can wrap to `INT32_MIN` and negating that value overflows on platforms with 32-bit longs. Assisted-by: OpenAI Codex `numBlends` comes from the charstring and is attacker-controlled. Check for overflow before multiplying: a wrapped `numOperands` would bypass the stack underflow check below and the loop that follows would then run up to 2^32 iterations (CPU exhaustion). [autofit] Limit default GSUB coverage to reachable glyphs. A lookup can be registered under several scripts while substituting inputs from only one of them. Collecting every output assigns those glyphs to the first processed script, regardless of the inputs' styles. In Google Sans this assigns the Latin rvrn alternates to Cyrillic; missing Cyrillic blue zones then disable their hinting and darkening. The full Meson test suite passes with linked, dynamic, and disabled HarfBuzz. The regression fails before the fix. Google Sans alternates retain Latin styles and stem darkening after the fix. Assisted-by: OpenAI Codex Fixes issue #1441. [truetype] Make tiny exception from v40 rules. [colr] Correctly handle B/W bitmaps in 'COLR' while blending. [sfnt] Fix standalone compilation of `ttcmap.c`. The single-object build inherited this include from `sfdriver.c` and `sfobjs.c`, masking the missing direct dependency. Assisted-by: OpenAI Codex <[email protected]> 2026-10-04 Tomer Fichman <@tomer> Provide tests for issue #1469. [truetype] Update the VARC variation-store binary format. Spec: Offset-base erratum: Tests: full Meson regression suite (3 passed). Assisted-by: OpenAI Codex [truetype] Compare VARC condition values before rounding. Condition format 2 tests whether default plus interpolated delta is positive. Rounding the delta to an integer first loses small positive fractions and incorrectly hides components. (tt_varc_get_item_deltas, tt_varc_eval_condition): Allow the MultiItemVariationStore evaluator to initialize condition accumulators from their defaults and return the unrounded sign. Compare in the existing 64-bit representation, including the emulated path, so large int32 deltas need not fit in a signed 16.16 `FT_Long`. Use ULABS for unsigned magnitudes in emulated multiplication, avoiding MSVC's warning about unsigned unary negation (see https://gitlab.freedesktop.org/freetype/freetype/- /merge_requests/458#note_3692404). Cast to `FT_UInt32` after obtaining the magnitude; no additional absolute-value helper is needed. (tt_varc_apply_axis_deltas, tt_varc_apply_transform_deltas): Updated. All three Meson targets and the forced-emulated VARC tests pass. All 40 cross-library diagnostic cases and 115 native/emulated arithmetic comparisons agree. MSVC itself was not available locally. Assisted-by: OpenAI Codex <[email protected]> [truetype] Repair VARC arithmetic without native 64-bit integers. Restrict the fast signed product to its safe range, preserve carries when adding negative products, and combine both accumulator words when converting fractional deltas. Explicitly sign-extend the result. The full Meson suite passes. An isolated build forcing the emulated VARC path compiles without an initializer bypass; 115 native/emulated condition and scaled/unscaled transform comparisons agree, including large signed deltas, cancellation, and carries. Assisted-by: OpenAI Codex <[email protected]> [truetype] Treat null VARC conditions as true. The OpenType condition rules define an offset of zero as the true condition. Recognize that value both in the top-level ConditionList and in nested AND, OR, and NOT conditions. Add a VARC regression font covering all four cases. Assisted-by: OpenAI Codex <[email protected]> docs/CHANGES: Updated. [cff] Load VARC-only glyphs beyond the CharStrings INDEX. OFF permits trailing glyphs to be provided entirely by VARC. Preserve the SFNT glyph count for CFF2 fonts with VARC, and dispatch those glyphs to VARC before checking the CFF2 fallback CharString range. Add a short-CharStrings fixture and verify its glyph count and outline. All three Meson tests pass. Assisted-by: OpenAI Codex <[email protected]> [truetype] Apply VARC axis resets without explicit axis values. Tests: all three Meson targets pass. Generated reset, explicit-axis, and inheritance comparisons agree with HarfBuzz and FontTools. Assisted-by: OpenAI Codex <[email protected]> [base] Preserve off-curve cubic pairs when reversing outlines. Assisted-by: OpenAI Codex <[email protected]> [truetype] Support cubic outlines in 'GLYF' table. Preserve the cubic flag while loading extended simple glyphs, including on-curve points whose state can be changed by TrueType instructions. Teach outline decomposition, stroking, and rasterization to handle cubic contours with implied on-curve points, including contours with no explicit on-curve points. Continue to ignore the reserved flag in the classic 'glyf' table. Tested with a synthetic font with a 'GLYF' table covering all-off contours, implied cubic endpoints, gray and monochrome rendering, and stroking. The full Meson test suite also passes. Assisted-by: OpenAI Codex <[email protected]> [sfnt] Support the 'DMAP' table. Parse the optional, cmap-shaped delta map and apply its mappings before the corresponding 'cmap' mappings. Preserve sparse fallback for nominal characters and variation sequences, including the variant-list APIs. Also keep variation-only subtables from becoming the active Unicode charmap when DMAP supplies the only nominal Unicode mapping. Tested with the Meson test suite and synthetic fonts covering nominal and UVS precedence, fallback, iteration, DMAP-only subtables, and extended glyph IDs. Assisted-by: OpenAI Codex <[email protected]> (tt_cmap_free, tt_cmap_new, tt_face_add_dmap, tt_cmap_is_variation, tt_face_find_unicode_dmap, tt_face_find_dmap, tt_cmap_dmap_done, tt_cmap_dmap_char_index, tt_cmap_dmap_char_next, tt_cmap_dmap_char_var_index, tt_cmap_dmap_char_var_isdefault, tt_cmap_dmap_merge, tt_cmap_dmap_variants, tt_cmap_dmap_char_variants, tt_cmap_dmap_variant_chars, tt_cmap_dmap_get_info): New functions for 'DMAP' support. (tt_cmap_dmap_class_rec): New cmap class. (tt_face_build_cmaps): Rename to... (tt_face_build_cmaps_from_table): ... this and handle both cmap and dmap data. (tt_face_build_cmaps, tt_face_expose_dmap, tt_face_build_dmaps, tt_face_done_dmaps): New functions. [base] Reject 'cmap' format 15 as an active charmap. Like format 14, cmap format 15 is a supplemental Unicode variation-sequence subtable and cannot be selected as the face's ordinary character map. Assisted-by: OpenAI Codex <[email protected]> [sfnt] Support 'cmap' format 15. Share the format 14 variation-sequence implementation while reading the format 15 non-default glyph IDs as 24-bit values. Expose format 15 through the existing Unicode variation-sequence APIs. Assisted-by: OpenAI Codex <[email protected]> (tt_cmap14_validate) [TT_CONFIG_CMAP_FORMAT_14]: New function. (tt_cmap15_validate) [TT_CONFIG_CMAP_FORMAT_15]: New function. (tt_cmap14_get_info, tt_cmap14_char_map_nondef_binary, tt_cmap14_char_var_index, tt_cmap14_char_var_isdefault, tt_cmap14_char_variants, tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars): Updated. (tt_cmap15_class_rec) [TT_CONFIG_CMAP_FORMAT_15]: New structure. [truetype] Support the 'GVAR' table. Read the 24-bit glyph count in the uppercase header and the 24-bit data offset in each glyph variation record. Prefer 'GVAR' for 'GLYF' outlines while preserving 'gvar' behavior. Assisted-by: OpenAI Codex <[email protected]> [truetype] Read 24-bit composite glyph IDs. Honor the 'GLYF' table's `GID_IS_24_BIT` component flag without changing the interpretation of the reserved bit in the 'glyf' table. Assisted-by: OpenAI Codex <[email protected]> [sfnt] Support 'HHEA', 'VHEA', 'HMTX', and 'VMTX' metrics tables. Read the 32-bit metric counts in 'HHEA' and 'VHEA', and use their 'HMTX' and 'VMTX' companions. Keep the wide counts internally while saturating the legacy public header fields. Assisted-by: OpenAI Codex <[email protected]> [truetype] Support 'GLYF' and 'LOCA' tables. Prefer 'GLYF' and its 'LOCA' companion over the 'glyf' and 'local' tables. Allow the extended location table to describe more than 65535 glyphs. Assisted-by: OpenAI Codex <[email protected]> [sfnt] Support the 'MAXP' table. Prefer 'MAXP' over 'maxp' and read its 24-bit glyph count. Keep the wide count internally while saturating the legacy public `TT_MaxProfile` field. Assisted-by: OpenAI Codex <[email protected]> [sfnt] Support TTC versions 1.1 and 2.1. Read and prefer the extended table-directory offset list in TTC version 1.1 and 2.1 headers. Account for the version 2 DSIG fields before reading the extended list, and permit an empty legacy compatibility list. Assisted-by: OpenAI Codex <[email protected]> [truetype] Support extended VARC coverage. Handle Coverage formats 3 and 4 when looking up VARC base glyphs. These formats use 24-bit counts, glyph IDs, and coverage indices. Assisted-by: OpenAI Codex <[email protected]> [sfnt] Support COLR PaintGlyph2. Decode PaintGlyph2's 24-bit glyph ID and expose it through the existing FT_PaintGlyph API. Normalize the result to the existing public PaintGlyph format, as is already done for the other equivalent COLR paint variants. Assisted-by: OpenAI Codex <[email protected]> Fixes https://issues.oss-fuzz.com/issues/568035737, also in #1470. Fixes #1470 by avoiding the second re-scanning. But no support for new scripts (volunteers welcomed). Carries Unicode 18 scripts. [truetype] Fix dangling `blend` pointer after failed 'gvar' setup. Since commit a69e39ad9, `ft_var_load_gvar` creates a private blend for fonts with 'gvar' but no 'fvar' (VARC static component axes) and calls `tt_done_blend` if loading fails afterwards. That function freed the blend but left `face->blend` pointing to it while the face stays alive, causing a heap use-after-free on the next access. Reported as https://issues.oss-fuzz.com/issues/564162766 Assisted-By: Claude Fable 5.1 <[email protected]> [base] More overflow protections. FT_ABS() can overflow for INT_MIN and LONG_MIN, reported as https://issues.chromium.org/issues/563962723 We introduce and use ULABS() nd UABS() to avoid that. [varc] Support static component axes. The VARC draft permits static fonts without a 'fvar' table to retain 'gvar' or 'CFF2' variation data for component-internal coordinates. Initialize a private blend from the relevant variation store without exposing those axes through the public MM API. Also add TrueType and CFF2 regression fonts. [tests] Add VARC test framework. [gzip] Apply security fix for CVE-2026-27171. This is probably completely unnecessary, but it doesn't hurt. Taken from https://github.com/madler/zlib/commit/ba829a458576d1ff0f26fc7230c6de816d1f6a77 Fixes issue #1468. src/gzip/README.freetype: Updated. This should fix #1465. Fixes issue #1467. Fixes issue #1466. The relocates the check for an empty subpath. Fixes #1459. Overlaps between subroutine dictionaries can be useful but prone to abuses. The arbitrary limit can be adjusted in the future. Fixes #1457. docs/CHANGES: Updated. [truetype] Adjust composite X rounding for native ClearType. For composite glyphs using `ROUND_XY_TO_GRID`, v40 currently rounds the component X offset to the full pixel grid when backward compatibility is disabled. Native ClearType instead uses a 1/16-pixel grid in the ClearType direction. As with native ClearType instruction rounding in v40, explicitly implementing this finer grid is unnecessary here: leaving component X offsets unrounded gives visually equivalent results in the tested fonts while keeping the implementation simpler. Retain existing behavior for backward-compatible ClearType, monochrome rendering, tricky fonts, and other interpreter versions. This corrects composite diacritic placement in fonts such as 'Corbel', where full-pixel X rounding can visibly misplace accents at several ppem sizes. [autofit] Avoid pointer wrap-around on 32-bit platforms. Fixes issue #1463. [winfonts] Avoid endless loop. Fixes issue #1462. [pfr] Avoid heap over-read. Fixes issue #1461. Fixes issue #1460. [truetype] Adjust `ROUND` bytecode instruction for native ClearType. Microsoft ClearType applies `ROUND[]` to the 1/16-pixel virtual grid in the ClearType direction. As with the rounded point-positioning instructions, approximate this in v40 by leaving the result unrounded during native ClearType horizontal execution. This fixes horizontal positioning like those performed by 'Malgun Gothic's composite glyph programs. In particular, it corrects diacritic placement in glyphs such as 'Ÿ' and 'ü' and produces small improvements in several other accented glyphs. Other rendering modes and directions retain the existing `ROUND[]` behavior. [ttvarc] Fix leak on malformed variation indices. Reported as https://issues.oss-fuzz.com/issues/554721572 Near-orthogonal freedom and projection vectors can produce huge movements, which FreeType soppresses. What is near-orthogonal is not defined in teh specifications. The empirical limit is tuned to avoid the rendering artifacts in Palatino. Fixes #999. Thanks to Werner and Infinality for the analysis of the problem. [truetype] Improve native ClearType horizontal point hinting. FreeType's v40 interpreter normally approximates ClearType's increased horizontal resolution by suppressing X-axis instruction effects in backward-compatible mode. Fonts can disable those compatibility restrictions with INSTCTRL selector 3 and request native ClearType execution. In native mode, however, rounded point-positioning instructions currently use the normal pixel grid. Microsoft ClearType instead uses a virtual grid with 16 positions per pixel in the ClearType direction. Explicitly implementing this finer grid is unnecessary for v40: leaving the affected native horizontal distances unrounded gives visually equivalent results in the tested fonts while keeping the implementation considerably simpler. Preserve native horizontal point movements, but suppress rounding for the rounded forms of MDAP, MIAP, MDRP, and MIRP when both the projection and freedom vectors are horizontal. Apply the related native ClearType graphics-state adjustments documented by Microsoft: reduce CVT cut-in to 1/16 and minimum distance to 1/2 in the ClearType direction. These changes correct distorted horizontal geometry in the fonts 'Corbel' and 'Malgun Gothic', and 'Constantia' while retaining the X movements required by 'SimSun'. The minimum-distance adjustment also corrects overly heavy diagonal strokes in 'Malgun Gothic M' and 'N' around 16–17 ppem. The CVT cut-in adjustment produces smaller but visible differences, for example in 'Malgun Gothic V'. Monochrome rendering, tricky fonts, vertical execution, and pre-program rounding retain their existing behavior. Fixes issue #1454. [truetype] Honor ClearType 'gasp' smoothing and grid-fit policy. FreeType currently reports symmetric smoothing through GETINFO bit 18 without distinguishing ClearType symmetric smoothing from symmetric grid fitting. Resolve these two properties independently. For version-1 'gasp' tables, use `FT_GASP_SYMMETRIC_SMOOTHING` and `FT_GASP_SYMMETRIC_GRIDFIT` for their respective purposes. For hinted fonts without an applicable version-1 ClearType policy, use the DirectWrite-style fallback of asymmetric NATURAL smoothing through 20 ppem and NATURAL_SYMMETRIC above 20 ppem. Fonts without TrueType instructions remain symmetric. Use the resolved smoothing state for GETINFO bit 18 and the resolved grid-fit state when deciding whether native v40 LCD hinting is enabled. Legacy DO_GRIDFIT and DO_GRAY flags are not treated as ClearType symmetric-smoothing controls. A TupleValues "zeros" run decodes to zero values, matching HarfBuzz (`TupleValues::decompile`, which memsets the run to 0) and fontTools; the code instead wrote the running index (`indices[i] = i`), so a zeros run of length two or more overrode the wrong axes. No test font exercises it (they use runs of length one, where 0 == i). Also bound the run reads by the entry's own `tuple_limit` rather than the whole-table `table_limit`, so a run straddling the entry end no longer decodes bytes from adjacent entries (matches the counting pass in `tt_varc_parse_component`). Co-Authored-By: Claude Fable 5 <[email protected]> [ttvarc] Factor out common code. The 'VARC' table has four CFF2-style INDEX structures that were each parsed by a separate hand-rolled copy; the missing offset-value validation that caused the recent crashes had to be fixed in each copy independently. Factor the parsing and bounds checking into a helper function and route all four call sites through it. Co-Authored-By: Claude Fable 5 <[email protected]> [ttvarc] Validate 32-bit offsets before pointer arithmetic. Several unchecked u32 offsets from the table were added to base pointers before the result was range-checked, which is undefined pointer arithmetic on a wild offset. Validate the offset values against the table extent first. Co-Authored-By: Claude Fable 5 <[email protected]> `total_deltas = region_count * num_deltas` is computed in 32 bits from two attacker-controlled values. A wrapped product under-sizes the `all_deltas` allocation while the accumulation loop still indexes it with the full `region_idx * num_deltas + k`, giving an out-of-bounds read. Reject the overflow. Also free `accumulators` on the allocation-failure path that previously leaked it. Co-Authored-By: Claude Fable 5 <[email protected]> The axis-value reading loop jumps to the `Fail` label on truncated data without setting `error`, which still holds `FT_Err_Ok` from the last successful read. `Fail` then frees `axis_values` and returns success, so the caller runs `tt_varc_apply_axis_deltas` on a component whose `num_axis_values` is non-zero but `axis_values` is NULL, causing a NULL dereference. Force a non-zero error at the label. Found by fuzzing the VARC code. Co-Authored-By: Claude Fable 5 <[email protected]> [ttvarc] Improve CFF2Index/TupleList offset validation. The offset pairs read from the index structures were turned into data pointers without checking the values against the end of the 'VARC' table (or requiring the 1-based offsets to be >= 1), allowing reads far past the table. Make the offset-array bounds checks overflow-safe with division instead of multiplication. Reported as https://issues.oss-fuzz.com/issues/552370108 Co-Authored-By: Claude Fable 5 <[email protected]> ttvarc.c: Avoid undefined left-shifts. Reported as https://issues.oss-fuzz.com/issues/552117135 Reported as https://issues.oss-fuzz.com/issues/551265180 ttvarc.c: Minor formatting. [sfnt] Correctly handle HVAR/VVAR advance values for named instances. This bug was introduced with commit 5987a9f51d. Fixes issue #1452, which comes with a detailed analysis and a patch provided by an LLM. [cff, truetype] Add VARC (Variable Composites) table support. The Variable Composites ('VARC' table) technology allows font glyphs to reuse variants of other glyph shapes as their components. This is similar to a feature that some font design tools already provide to designers, for example, Glyphs calls this 'Smart Components'. The 'VARC' table allows us carrying that design all the into the font binary file. This enables significant file size saving in CJK fonts, for example, up to 90% savings for simple Hangul shapes. The 'VARC' table is part of the ISO Open Font Format version 5, and is implemented and enabled by default in HarfBuzz since 12.0.0 (Sep 2025) and FontTools. For test fonts, see https://github.com/notofonts/noto-cjk-varco/releases Fixes #1450. In Meson, the default for `b_ndebug` is `is-release`, which will enable it when in release mode. Additionally, in `dlg`, the default log level is `warn` if `NDEBUG` is set or `trace` otherwise. Because `FT_LOG` uses the `trace` level always, all debug logging will be disabled if `b_ndebug` is set (or in release mode). Using `NDEBUG` is not documented anywhere to toggle debug logging. We thus define `DLG_LOG_LEVEL` so that `trace` level is always output by `dlg`. FreeType's other (runtime or otherwise) configuration remains as it is to toggle logging per-component. Without this source file, the final library fails to link if you set `FT_DEBUG_LOGGING` for the build. CMakeLists.txt: Minor documentation improvement. [cmake] Add an option to disable stream support. Fixes issue #1448. Fixes #1449. Fixes #1447. 2026-07-20 Drage <@timyychan> Fixes #1446. [sdf] Fix use-after-free in `sdf_generate_with_overlaps`. When a glyph is rendered with `FT_RENDER_MODE_SDF` while the `sdf` module's `overlaps` property is enabled, `sdf_generate_with_overlaps` processes each contour on its own bitmap. For every contour it calls `sdf_generate_subdivision`, which in turn calls `split_sdf_shape`; the latter frees the original contour (`sdf_contour_done` -> `FT_FREE`). After the call returned, the loop still wrote through the freed pointer with `contour->next = temp_contour` and then read it back via `contour = contour->next` to advance -- a heap use-after-free (an 8-byte out-of-bounds write, CWE-416) reachable from a crafted font. The value read back is already held in the `temp_contour` local, so the restore write serves no purpose and is unsafe. Drop it and advance the loop with `temp_contour` directly, so the freed `contour` is never dereferenced after the subdivision call. Fixes #1445. (cherry picked from commit efc07621de9c4b8dc2f11032e52ad86eddbbdbdf) [base] Prevent signed overflow. Reported as https://issues.oss-fuzz.com/issues/530322169 Revert "[autofit] Derive fill orientation without a separate outline pass." This reverts commit 1f3ab3cdcef3433ec8d8a13446a45b8102929402. That commit inlined a shoelace accumulator into the `af_glyph_hints_reload` point-setup loop on the theory that the speedup came from sharing the traversal with that loop ("loop fusion"). An A/B/C benchmark with the intermediate variant -- inlining reverted but `FT_Outline_Get_Orientation` itself rewritten as a single-pass 64-bit shoelace -- shows the inline version and the standalone version are statistically indistinguishable (both 2.854 us/op vs the original 2.914 us/op on `ftbench -b a -f 20`, Google Sans Flex). The entire win is algorithmic (dropping the bbox pre-pass and the per-iteration shifts), not from sharing the loop. With the previous commit moving that win into `FT_Outline_Get_Orientation` itself, the inline copy in autofit is redundant and worth removing: the standalone call is the same speed, the public API benefits every caller, and `af_glyph_hints_reload` keeps its single-purpose loop. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> [base] Drop the bbox pre-pass from `FT_Outline_Get_Orientation`. The function walked the outline twice: once via `FT_Outline_Get_CBox` to pick coordinate shifts that keep the signed-area accumulator inside 32 bits, then again to actually accumulate the shoelace. On platforms with native 64-bit arithmetic the bbox pass and the per-iteration shifts are unnecessary -- a 64-bit accumulator absorbs the area of any sane glyph in a single pass without overflow. Add an `#ifdef FT_INT64` fast path that does exactly that, and keep the existing two-pass shifted variant verbatim as the 32-bit fallback. Measured ~2% faster on the autohint load benchmark (`ftbench -b a -f 20`, Google Sans Flex: 2.914 -> 2.854 us/op); benefits any caller, not just autofit. The fast path drops the explicit `xMin==xMax`/`yMin==yMax` collapse check -- the shoelace returns area 0 for such degenerate contours anyway, so the final sign test reports `FT_ORIENTATION_NONE` without help. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> [truetype] Fix GS leaks when prep is missing. Otherwise, GS leaks from the last glyf program. Fixes #1443. Some OCR fonts attempt to jam handwritten signatures into a glyph. [autofit] Derive fill orientation without a separate outline pass. `af_glyph_hints_reload` called `FT_Outline_Get_Orientation` once per glyph solely to choose the major-direction sign. That function walks all points twice -- a bounding-box pass to pick overflow shifts, then a signed-area pass -- even though the very next loop in `reload` already visits every point and computes each edge vector. Accumulate the contour signed area (shoelace) in that existing loop and set the direction from its sign afterwards, dropping the separate call. A 64-bit accumulator replaces the bounding-box-based coordinate shift that `FT_Outline_Get_Orientation` used to keep the area from overflowing. Output is bit-identical: force-autohinted outlines of all glyphs match across several sizes and weights. ~3.5% faster on the autohint load benchmark (`ftbench -b a -f 20`, Google Sans Flex: 8.46 -> 8.17 us/op). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> [truetype] Hoist the gvar tuple-header bounds check out of the loop. (5/5) The per-tuple `4 > stream->limit - p` check in the tuple-variation loop of `TT_Vary_Apply_Glyph_Deltas` ran once for every tuple, even though the headers are walked linearly through a cursor whose extent is known up front. Check the four-byte minimum of all tuple headers once, before the loop, so the common path no longer tests bounds per tuple. This stays safe: `p` only ever advances over the headers (active tuples read their data through a separate cursor) and `stream->limit` is constant within the frame, which maintains the invariant that at least `4 * (tupleCount - i)` bytes remain at the start of tuple `i`. The embedded and intermediate branches consume more than that four-byte minimum, so they re-check the surplus against the remaining tuples' reserve, preserving the invariant. Output is bit-identical; ~6% faster (1.39 -> 1.30 ms) on the draw-all-glyphs benchmark (Google Sans Flex, wght=500). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> [truetype] Add a fast path to the gvar tuple loop. (4/5) Now that the per-glyph scratch buffers are pooled, the time `TT_Vary_Apply_Glyph_Deltas` spends iterating tuple-variation headers stands out. Most of a glyph's tuples are inactive for the current instance, yet every header was dispatched on its flags before the cached shared-tuple scalar was consulted. Reorder the loop so the cache is consulted with a single range test right after the tuple index is read: a cached scalar of zero continues to the next tuple immediately, and a cached non-zero scalar is applied without recomputing the factor. The scalars stay valid while glyphs are loaded, so almost every shared tuple hits the cache. Output is bit-identical; ~8% faster (1.51 -> 1.39 ms) on the draw-all-glyphs benchmark (Google Sans Flex, wght=500). The test ( tupleIndex & ~GX_TI_PRIVATE_POINT_NUMBERS ) < blend->tuplecount depends on the embedded (0x8000), intermediate (0x4000), and reserved (0x1000) tuple flags all pushing the masked value to at least 0x1000, which holds only while `blend->tuplecount` stays within the 12-bit tuple-index range; clamp it at load time. Out-of-range indices therefore no longer reach the shared-tuple branch, so also restore the bounds check guarding `blend->tuplecoords`. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> [truetype] Cache item-variation-store region scalars. (3/5) `tt_var_get_item_delta` (used, e.g., for 'HVAR' advance adjustment, called once per glyph during glyph loading) recomputed `tt_calculate_scalar` for every region on every call, although the result depends only on the normalized coordinates -- which stay constant while glyphs are loaded. Cache the per-region scalars in the item variation store and recompute them only when the coordinates change, detected by comparing against a stored snapshot. The snapshot check also transparently handles the temporary coordinate swap performed during 'avar2' processing. Output (outlines and advances) is bit-identical; ~4% faster (1.58 -> 1.51 ms). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> [truetype] Reuse scratch buffers for gvar point-number lists too. (2/5) Follow-up to the previous commit: the packed point-number lists read by `ft_var_readpackedpoints' were still heap-allocated -- the shared list once per glyph and each private list per tuple. Carve them from the same per-face scratch pool instead. This requires moving the pool setup ahead of the shared-point-number read (the pool now provides that buffer), so the working pool is laid out before any point list is parsed. As with the delta arrays, a list larger than the glyph's point count falls back to a heap allocation. Beyond saving the allocations themselves, reusing fixed buffer addresses across glyphs keeps the working set warm in cache, which is where most of the gain comes from. Output is bit-identical; a further ~10% on the draw-all-glyphs benchmark (1.74 -> 1.56 ms), ~17% versus the original. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> [truetype] Reuse scratch buffers in gvar glyph delta application. (1/5) This change starts a series of commits that, if combined, speed up loading of unhinted outlines at wght=500 from the 'GoogleSansFlex' monster-font by 30%. Drawing glyphs from a variable font spends a large fraction of its time in the allocator: `TT_Vary_Apply_Glyph_Deltas` allocated a working pool once per glyph, and `ft_var_readpackeddeltas` allocated two delta arrays per active tuple. On a draw-all-glyphs benchmark (Google Sans Flex, wght=500) these accounted for ~9% of total time. Re-use buffers instead: keep the working pool on the face (grown on demand) and carve the per-tuple delta arrays out of it, falling back to a heap allocation only when a tuple needs more entries than the glyph has points. Output is bit-identical; ~7% faster (1.89 -> 1.76 ms). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Meson supports searching both `pkg-config` and `CMake` for dependencies, however, 'libpng' uses a different name between the two ('libpng' and 'PNG', respectively). Specify both package names for 'libpng'. Version 0.60.0 was released in October 2021; we need this for the next commit. [CMake] Fix shared library versioning on OpenBSD and NetBSD. Fixes #1440. Fixes issue #1439. Revert to signed span positioning. In the context of FT_Outline_Render, the outline can be placed arbitrarily and the resulting spans should be signed. This partially reverts ef04e4eb2056 and fixes #1410. However, for internal use, when outlines are placed in the first quadrant, we still can interpret positions as unsigned. Fixes #1436. [hvf] Fix macro usage and metrics calculations. [smooth, raster] Fix signedness warning. [raster] Dynamic pool allocation. Use pool allocation strategy similar to that of the smooth rasterizer. This is beneficial at sizes larger than 100 ppem. Reported in https://issues.oss-fuzz.com/issues/510113351 .gitlab-ci.yml: Update Windows pipeline. [smooth] Dynamic pool allocation. The fixed pool allocation on stack is very fast and works very well for rendering glyphs smaller than 40 pixels. Larger glyphs have to be split and rendered piecewise, which is slower. This commit introduces dynamic pool allocation for larger glyphs. Complex large glyphs are now rendered about 2x faster. Fixes issue #1434. Fixes #1433. Fixes #1432. Fixes #1431. Fixes #1430. Fixes #1429. Fixes #1428. Fixes #1413. Now only *scalable* COLRv0 layers can be rendered with FT_LOAD_COLOR, in accordance with Chromium. Fixes #1425, also see !424. [truetype/GX] Fix signed overflow. Fixes #1423. [truetype] Reduce zone copying. [truetype] Simplify shift conditions. Update all callers. [truetype] Fix SHZ according to specifications. SHZ must shift the zone specified by its arguments. Previously, it was shifting zp2 instead. Fixes https://issues.oss-fuzz.com/issues/505900175 Fixes #1419 and #1420, as well as https://issues.oss-fuzz.com/issues/499455833 Fixes #1421. [build] Add a Plan 9 port. Problem reported as https://issues.oss-fuzz.com/issues/505058300 This helps Plan 9 compilation. Fixes #1417, found by `cppcheck`. Fixes #1417, found by `cppcheck`. [pcf] Limit bitmap allocation and loading. Loading huge bitmaps now requires selecting huge size, fixes #1411. The bug is discussed in #1412, without security repercussions. Fixes #1416. [autofit] Prevent signed integer overflow. Reported as https://issues.oss-fuzz.com/issues/499135336 [hvf] Correctly initialize driver if no HVF library is available. Since this font driver is by default enabled in `modules.cfg` and its availability controlled by `FT_CONFIG_OPTION_HVF`, we need to provide some stubs so that HVF fonts can be correctly rejected if there is no HVF library available. Fixes issue #1409. [autofit] Prevent signed integer overflow. Reported as https://issues.oss-fuzz.com/issues/496105489 Update some VisualStudio project files to include HVF module. (hvf): New option. (FT_DISABLE_HVF): New option. Support Hierarchical Variable Fonts (HVF) using Apple's 'libhvf' library. The new 'hvf' module is a thin wrapper around 'libhvf' with the necessary boilerplate stuff to integrate it into FreeType. Note that this currently works on macOS >= 15.4 and iOS >= 18.4 only. Add flag `FT_CONFIG_OPTION_HVF`. This flag is going to be used to conditionally compile support for Apple's Hierarchical Variable Font (HVF) format. Fixes #1408.
packages/x86-64-v3-poky-linux/freetype/freetype-dbg: PKGSIZE changed from 2962192 to 3079224 (+4%) packages/x86-64-v3-poky-linux/freetype/freetype-dbg: FILELIST: removed "/usr/lib/.debug/libfreetype.so.6.20.6", added "/usr/lib/.debug/libfreetype.so.6.20.7" packages/x86-64-v3-poky-linux/freetype/freetype-dbg: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype/freetype-dbg: PV changed from "2.14.3" to "2.15.0" packages/x86-64-v3-poky-linux/freetype/freetype-dev: PKGSIZE changed from 885114 to 887280 (+0%) packages/x86-64-v3-poky-linux/freetype/freetype-dev: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype/freetype-dev: PV changed from "2.14.3" to "2.15.0" packages/x86-64-v3-poky-linux/freetype/freetype-doc: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype/freetype-doc: PV changed from "2.14.3" to "2.15.0" packages/x86-64-v3-poky-linux/freetype/freetype-locale: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype/freetype-locale: PV changed from "2.14.3" to "2.15.0" packages/x86-64-v3-poky-linux/freetype/freetype-src: PKGSIZE changed from 5679845 to 5936475 (+5%) packages/x86-64-v3-poky-linux/freetype/freetype-src: FILELIST: directory renamed /usr/src/debug/freetype/2.14.3/src/winfonts -> /usr/src/debug/freetype/2.15.0/src/winfonts, directory renamed /usr/src/debug/freetype/2.14.3/src/smooth -> /usr/src/debug/freetype/2.15.0/src/smooth, directory renamed /usr/src/debug/freetype/2.14.3/src/sfnt -> /usr/src/debug/freetype/2.15.0/src/sfnt, directory renamed /usr/src/debug/freetype/2.14.3/src/svg -> /usr/src/debug/freetype/2.15.0/src/svg, directory renamed /usr/src/debug/freetype/2.14.3/src/gzip -> /usr/src/debug/freetype/2.15.0/src/gzip, directory renamed /usr/src/debug/freetype/2.14.3/src/raster -> /usr/src/debug/freetype/2.15.0/src/raster, directory renamed /usr/src/debug/freetype/2.14.3/src/pfr -> /usr/src/debug/freetype/2.15.0/src/pfr, directory renamed /usr/src/debug/freetype/2.14.3/src/type1 -> /usr/src/debug/freetype/2.15.0/src/type1, directory renamed /usr/src/debug/freetype/2.14.3/src/cache -> /usr/src/debug/freetype/2.15.0/src/cache, d irectory renamed /usr/src/debug/freetype/2.14.3/src/pshinter -> /usr/src/debug/freetype/2.15.0/src/pshinter, directory renamed /usr/src/debug/freetype/2.14.3/src/pcf -> /usr/src/debug/freetype/2.15.0/src/pcf, directory renamed /usr/src/debug/freetype/2.14.3 -> /usr/src/debug/freetype/2.15.0, directory renamed /usr/src/debug/freetype/2.14.3/src/psaux -> /usr/src/debug/freetype/2.15.0/src/psaux, directory renamed /usr/src/debug/freetype/2.14.3/src/type42 -> /usr/src/debug/freetype/2.15.0/src/type42, directory renamed /usr/src/debug/freetype/2.14.3/src/cid -> /usr/src/debug/freetype/2.15.0/src/cid, directory renamed /usr/src/debug/freetype/2.14.3/include/freetype/internal -> /usr/src/debug/freetype/2.15.0/include/freetype/internal, directory renamed /usr/src/debug/freetype/2.14.3/src/autofit -> /usr/src/debug/freetype/2.15.0/src/autofit, directory renamed /usr/src/debug/freetype/2.14.3/src/base -> /usr/src/debug/freetype/2.15.0/src/base, directory renamed /usr/src/debug/freetype/2.14.3 /builds/unix -> /usr/src/debug/freetype/2.15.0/builds/unix, directory renamed /usr/src/debug/freetype/2.14.3/src/sdf -> /usr/src/debug/freetype/2.15.0/src/sdf, directory renamed /usr/src/debug/freetype/2.14.3/include/freetype/config -> /usr/src/debug/freetype/2.15.0/include/freetype/config, directory renamed /usr/src/debug/freetype/2.14.3/src/cff -> /usr/src/debug/freetype/2.15.0/src/cff, directory renamed /usr/src/debug/freetype/2.14.3/include/freetype -> /usr/src/debug/freetype/2.15.0/include/freetype, directory renamed /usr/src/debug/freetype/2.14.3/src/bdf -> /usr/src/debug/freetype/2.15.0/src/bdf, directory renamed /usr/src/debug/freetype/2.14.3/src/lzw -> /usr/src/debug/freetype/2.15.0/src/lzw, directory renamed /usr/src/debug/freetype/2.14.3/src/psnames -> /usr/src/debug/freetype/2.15.0/src/psnames, removed "/usr/src/debug/freetype/2.14.3/src/truetype/truetype.c /usr/src/debug/freetype/2.14.3/src/truetype/ttpload.c /usr/src/debug/freetype/2.14.3/src/truetype/ttgload.c /usr/sr c/debug/freetype/2.14.3/include/freetype/internal/services/svsfnt.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svkern.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svprop.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svwinfnt.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svpscmap.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svttcmap.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svttglyf.h /usr/src/debug/freetype/2.14.3/src/truetype/ttobjs.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svgldict.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svbdf.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svcid.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svpfr.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svpsinfo.h /usr/src/debug/freetype/2.14.3/src/truetyp e/ttobjs.c /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svmetric.h /usr/src/debug/freetype/2.14.3/src/truetype/ttinterp.c /usr/src/debug/freetype/2.14.3/src/truetype/ttinterp.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svtteng.h /usr/src/debug/freetype/2.14.3/src/truetype/ttgxvar.c /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svpostnm.h /usr/src/debug/freetype/2.14.3/src/truetype/ttgxvar.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svcfftl.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svgxval.h /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svotval.h /usr/src/debug/freetype/2.14.3/src/truetype/ttdriver.h /usr/src/debug/freetype/2.14.3/src/truetype/ttdriver.c /usr/src/debug/freetype/2.14.3/include/freetype/internal/services/svmm.h", added "/usr/src/debug/freetype/2.15.0/src/truetype/truetype.c /usr/src/debug/freetype/2.15.0/src/truetype/ttpload.c /usr/src/ debug/freetype/2.15.0/src/truetype/ttgload.c /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svsfnt.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svvarc.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svkern.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svprop.h /usr/src/debug/freetype/2.15.0/src/hvf/hvfload.c /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svwinfnt.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svpscmap.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svttcmap.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svttglyf.h /usr/src/debug/freetype/2.15.0/src/hvf/hvfdrv.c /usr/src/debug/freetype/2.15.0/src/hvf/hvfobjs.c /usr/src/debug/freetype/2.15.0/src/truetype/ttobjs.h /usr/src/debug/freetype/2.15.0/src/truetype/ttvarc.c /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svgldict.h /usr/src/debug/ freetype/2.15.0/src/hvf/hvfdrv.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svbdf.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svcid.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svpfr.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svpsinfo.h /usr/src/debug/freetype/2.15.0/src/truetype/ttobjs.c /usr/src/debug/freetype/2.15.0/src/hvf/hvf.c /usr/src/debug/freetype/2.15.0/src/truetype/ttvarc.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svmetric.h /usr/src/debug/freetype/2.15.0/src/truetype/ttinterp.c /usr/src/debug/freetype/2.15.0/src/truetype/ttinterp.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svtteng.h /usr/src/debug/freetype/2.15.0/src/truetype/ttgxvar.c /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svpostnm.h /usr/src/debug/freetype/2.15.0/src/truetype/ttgxvar.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/ svcfftl.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svgxval.h /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svotval.h /usr/src/debug/freetype/2.15.0/src/truetype/ttdriver.h /usr/src/debug/freetype/2.15.0/src/truetype/ttdriver.c /usr/src/debug/freetype/2.15.0/include/freetype/internal/services/svmm.h /usr/src/debug/freetype/2.15.0/src/dlg/dlgwrap.c" packages/x86-64-v3-poky-linux/freetype/freetype-src: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype/freetype-src: PV changed from "2.14.3" to "2.15.0" packages/x86-64-v3-poky-linux/freetype/freetype-staticdev: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype/freetype-staticdev: PV changed from "2.14.3" to "2.15.0" packages/x86-64-v3-poky-linux/freetype/freetype: PKGSIZE changed from 813053 to 841725 (+4%) packages/x86-64-v3-poky-linux/freetype/freetype: FILELIST: removed "/usr/lib/libfreetype.so.6.20.6", added "/usr/lib/libfreetype.so.6.20.7" packages/x86-64-v3-poky-linux/freetype/freetype: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype/freetype: PV changed from "2.14.3" to "2.15.0" packages/x86-64-v3-poky-linux/freetype: SRC_URI changed from "https://download.savannah.nongnu.org/releases/freetype/freetype-2.14.3.tar.xz" to "https://download.savannah.nongnu.org/releases/freetype/freetype-2.15.0.tar.xz" packages/x86-64-v3-poky-linux/freetype: PKGV changed from 2.14.3 [default] to 2.15.0 [default] packages/x86-64-v3-poky-linux/freetype: PV changed from "2.14.3" to "2.15.0" Changes to packages/x86-64-v3-poky-linux/freetype (sysroot): /usr/lib/libfreetype.so.6 changed symlink target from libfreetype.so.6.20.6 to libfreetype.so.6.20.7 /usr/lib/libfreetype.so.6.20.6 moved to /usr/lib/libfreetype.so.6.20.7 Changes to packages/x86_64-linux/python3-installer-native (sysroot): /usr/lib/python3.14/site-packages/installer-1.1.0.dist-info moved to /usr/lib/python3.14/site-packages/installer-1.0.1.dist-info
packages/x86-64-v3-poky-linux/freetype/freetype: FILELIST: removed "/usr/lib/libfreetype.so.6.20.6", added "/usr/lib/libfreetype.so.6.20.7" Changes to packages/x86-64-v3-poky-linux/freetype (sysroot): /usr/lib/libfreetype.so.6 changed symlink target from libfreetype.so.6.20.6 to libfreetype.so.6.20.7 /usr/lib/libfreetype.so.6.20.6 moved to /usr/lib/libfreetype.so.6.20.7 Changes to packages/x86_64-linux/python3-installer-native (sysroot): /usr/lib/python3.14/site-packages/installer-1.1.0.dist-info moved to /usr/lib/python3.14/site-packages/installer-1.0.1.dist-info
0001-freetype-upgrade-2.14.3-2.15.0.patch
Description: Binary data
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#247702): https://lists.openembedded.org/g/openembedded-core/message/247702 Mute This Topic: https://lists.openembedded.org/mt/121728961/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
