NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3337 most downloaded on PyPI
Streamlined Cython bindings for the harfbuzz shaping engine
Last release 13 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Most releases are documented
notes for 45 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
76 releases · first in 2020
One column per quarter.
Update to HarfBuzz 14.5.0 by @khaledhosny in #315
Update to HarfBuzz 14.3.1 by @khaledhosny in #311
Full Changelog: v0.56.0...v0.56.1
Publish Pyodide wheels to PyPI (PEP 783) by @anthrotype in https://github.com/harfbuzz/uharfbuzz/pull/305
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.55.0...v0.56.0
Full Changelog: v0.55.0...v0.56.0
Publish Pyodide wheels to PyPI (PEP 783) by @anthrotype in https://github.com/harfbuzz/uharfbuzz/pull/305
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.55.0...v0.56.0b1
Warn when using deprecated .create() methods by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/296
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.54.1...v0.55.0
Full Changelog: v0.54.1...v0.55.0
When using system Harfbuzz, link the harfbuzz-raster component by @musicinmybrain in https://github.com/harfbuzz/uharfbuzz/pull/292
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.54.0...v0.54.1
Full Changelog: v0.54.0...v0.54.1
Split _harfbuzz.pyx into multiple files by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/288
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.53.7...v0.54.0
Full Changelog: v0.53.7...v0.54.0
Update to HarfBuzz 14.2.0 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/286
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.53.6...v0.53.7
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.53.5...v0.53.6
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.53.5...v0.53.6
Bump urllib3 from 2.6.0 to 2.6.3 in /docs by @dependabot[bot] in https://github.com/harfbuzz/uharfbuzz/pull/276
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.53.2...v0.53.3
Update to HarfBuzz 12.3.0 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/274
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.53.1...v0.53.2
Update to HarfBuzz 12.2.0 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/273
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.53.0...v0.53.1
Add more type annotations by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/267
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.52.0...v0.53.0
Add an empty tool.setuptools_scm section to pyproject.toml by @musicinmybrain in https://github.com/harfbuzz/uharfbuzz/pull/263
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.51.7...v0.52.0
Update to HarfBuzz 12.1.0 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/259
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.51.6...v0.51.7
Update to HarfBuzz 12.0.0 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/257
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.51.5...v0.51.6
Update to HarfBuzz 11.5.0 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/255
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.51.4...v0.51.5
Update to HarfBuzz 11.4.5 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/253
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.51.3...v0.51.4
Update to HarfBuzz 11.4.4 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/252
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.51.2...v0.51.3
Update to HarfBuzz 11.4.1 by @khaledhosny in https://github.com/harfbuzz/uharfbuzz/pull/251
Full Changelog: https://github.com/harfbuzz/uharfbuzz/compare/v0.51.1...v0.51.2
Nothing published for this version
Nothing published for this version
Skip building PyPy 3.8 wheels as the build currently fails.
Nothing published for this version
Nothing published for this version
Build vendored HarfBuzz again with HB_EXPERIMENTAL_API to restore support for VARC and other experimental HarfBuzz features.
Nothing published for this version
Fix warnings when using deprecated APIs
No longer require building HarfBuzz with experimental APIs enabled
Bind hb_face_count API as Face.count
Nothing published for this version
Setup API reference generated by Sphinx
[pyproject.toml] Allow to build from source with the latest setuptools on non-PyPy. For PyPy keep setuptools pinned to '<72.2' to workaround compile e
Nothing published for this version
- Fix deprecation message
Deprecate most hb_ot_* functions and make them methods of Face or Font classes.
Fixed issue with PyPI deployment that caused the previous release to fail to upload. No actual code changes since v0.39.4.
Fixed issue with PyPI deployment that caused the previous release to fail to upload. No actual code changes since v0.39.4.
Nothing published for this version
Dummy release to fix PyPI upload.
Bind hb_ot_tag_to_script/hb_ot_tag_to_language
Bind hb_font_funcs_set_variation_glyph_func()
Updated HarfBuzz library to 8.3.0
Update HarfBuzz library to 8.2.0. Among other things, fixes a failure in the repacker with huge number of subtables (https://github.com/harfbuzz/uharf
Updated HarfBuzz library to 8.0.1
Build wheels for musl-based linux (#167).
(No code changes since v0.37.1)
Fixed build error when compiling sources with Cython 3.0 (#165).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Undeprecate DrawFuncs.draw_glyph() and deprecate DrawFuncs.get_glyph_shape()
draw_glyph_with_pen() to reuse draw funcsDrawFuncs.draw_glyph() and deprecate DrawFuncs.get_glyph_shape()Font constructor can now take another Font instance to create a sub font from it
Font constructor can now take another Font instance to create a sub font from itNothing published for this version
Speedup draw_glyph_with_pen() by 10-15%
Support extension promotion of lookups in the repacker, as well as splitting of some GPOS lookup subtable splitting.
font.draw_glyph_with_pen() a little bit (25-30%)Support passing PyCapsule for DrawFuncs callbacks, allowing clients to define callbacks in C and avoid Python overhead.
Nothing published for this version
Updated HarfBuzz library to latest main/HEAD to incorporate a bugfix for the repacker
Updated HarfBuzz library to latest main/HEAD to incorporate a bugfix for the repacker
fonttools/fonttools#2691
https://github.com/harfbuzz/harfbuzz/commit/9c2518988dcdafb8388f8f1f5e76db6e08ef6a0e)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →