- Dropped support for Python 3.7 which reached EOL. We now require Python >= 3.8.
- Take into account extra substitutions found in DesignSpace rules when classifying glyphs by various unicode properties in feature writers (731).
- Added support for compiling TrueType instructions and flags stored in the UFO's ``public.truetype.*`` lib keys (654).
- Automatically compute COLRv1 ClipBoxes if none are explicitly provided. This is enabled by default for static builds only. You can set colrAutoClipBoxes=True for interpolatable/variable builds if safe to do so (728).
- Improved "no default source" error (677).
- Warn about mis-cased `` Automatic Code`` insertion marker comments; also warn if there are no insertion markers but kerning.plist is non empty and there are manual kern/dist features in the FEA code (719).
- Respect openTypeNameRecords overrides for the predefined name IDs (727).
- Reorder class definitions in feature writers such that they appear before the lookups that use them (725).
- Renamed dottedCircleFilter module to dottedCirlce, was wrongly named; old kept for backward compat (716).
- [kernFeatureWriter] Avoid overwriting classDefs (705).
Register kern lookups for all defined languages (711).
Correctly split mark and base kerning pairs (713).
Don't skip over spacing marks when kerning (720).
- Fixed FEA include dir detection when in current dir (689)
- Automatically decompose components when 2x2 transforms differ (698)
- [kernFeatureWriter] Split kerning by script, not horizontal direction, which should be faster to compile and produce smaller GPOS. The old kernFeatureWriter is still kept in a separate module (679, 636, 697).