- [varLib.main]: SECURITY Only use basename(vf.filename) to prevent path traversal attacks when running
fonttools varLibcommand-line script. Fixes CVE-2025-66034, see: GHSA-768j-98cg-p3fv. - [feaLib] Sort BaseLangSysRecords by tag (#3986).
- Drop support for EOL Python 3.9 (#3982).
- [instancer] Support --remove-overlaps for fonts with CFF2 table (#3975).
- [CFF2ToCFF] Add --remove-overlaps option (#3976).
- [feaLib] Raise an error for rsub with NULL target (#3979).
- [bezierTools] Fix logic bug in curveCurveIntersections (#3963).
- [feaLib] Error when condition sets have the same name (#3958).
- [cu2qu.ufo] skip processing empty glyphs to support sparse kerning masters (#3956).
- [unicodedata] Update to Unicode 17. Require
unicodedata2 >= 17.0.0when installed with 'unicode' extra.