# cffi: what changed from 1 to 2 - Product: cffi (https://whatsnew.fyi/product/cffi) - Vendor: cffi - Range: changelog entries numbered after v1.17.1 up to and including v2.1.1, stable releases only - Entries below: 3 releases (newest first) - Resolved: 1 is v1.17.1 and 2 is v2.1.1, the newest stable release of each major we track - Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 0 · Removing or deprecating something: 2 - Page: https://whatsnew.fyi/product/cffi/compare/1...2 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (12 changes, grouped by kind) ### Added #### v2.1.0 (2026-07-06) - Added support for Python 3.15 and support for C extensions generated by CFFI to target the new abi3t free-threaded ABI - Added cffi-gen-src CLI to generate CFFI C extension source for alternate build backend support - Added support for arm64 iOS wheels #### v2.0.0 (2025-09-08) - Add Python 3.14 support - Add CPython free-threaded support (3.14t+ only) ### Fixed #### v2.1.1 (2026-08-03) - Minimize internal Python API usage for interpreter and thread state sampling to avoid breaking ABI change in Python >= 3.15.0b4 #### v2.1.0 (2026-07-06) - Fixed crashes inside __delitem__ - Fixed string too big error under MSVC - Fixed mingw builds #### v2.0.0 (2025-09-08) - Fix order dependency affecting nested type size calculation ### Removed #### v2.1.0 (2026-07-06) - Dropped support for Python 3.9 #### v2.0.0 (2025-09-08) - Drop Python <= 3.8 support ## Release notes ### v2.1.1 - Date: 2026-08-03 - Version: v2.1.1 - Original notes: https://github.com/python-cffi/cffi/releases/tag/v2.1.1 - Permalink: https://whatsnew.fyi/product/cffi/releases/v2.1.1 - **fixed** — Minimize internal Python API usage for interpreter and thread state sampling to avoid breaking ABI change in Python >= 3.15.0b4 ##### What's Changed * Minimize internal Python API usage for interpreter and thread state sampling where possible. Avoids breaking ABI change in Python >= 3.15.0b4 (https://github.com/python-cffi/cffi/pull/269). **Full Changelog**: https://github.com/python-cffi/cffi/compare/v2.1.0...v2.1.1 ### v2.1.0 - Date: 2026-07-06 - Version: v2.1.0 - Original notes: https://github.com/python-cffi/cffi/releases/tag/v2.1.0 - Permalink: https://whatsnew.fyi/product/cffi/releases/v2.1.0 - **added** — Added support for Python 3.15 and support for C extensions generated by CFFI to target the new abi3t free-threaded ABI - **removed** — Dropped support for Python 3.9 - **added** — Added cffi-gen-src CLI to generate CFFI C extension source for alternate build backend support - **fixed** — Fixed crashes inside __delitem__ - **fixed** — Fixed string too big error under MSVC - **fixed** — Fixed mingw builds - **added** — Added support for arm64 iOS wheels * Added support for Python 3.15 and support for C extensions generated by CFFI to target the new ``abi3t`` free-threaded ABI. * Dropped support for Python 3.9. * Added ``cffi-gen-src`` CLI to generate CFFI C extension source for alternate build backend support. * Fixed crashes inside ``__delitem__``. * Fixed "string too big" error under MSVC. * Fixed mingw builds. * Added support for arm64 iOS wheels. ### v2.0.0 - Date: 2025-09-08 - Version: v2.0.0 - Original notes: https://github.com/python-cffi/cffi/releases/tag/v2.0.0 - Permalink: https://whatsnew.fyi/product/cffi/releases/v2.0.0 - **added** — Add Python 3.14 support - **added** — Add CPython free-threaded support (3.14t+ only) - **removed** — Drop Python <= 3.8 support - **fixed** — Fix order dependency affecting nested type size calculation ##### What's Changed * Add Python 3.14 support. * Add CPython free-threaded support (3.14t+ only) - huge thanks to the folks at Quansight Labs for all the work to get this one sorted! * Drop Python <= 3.8 support. * Fix order dependency affecting nested type size calculation (#148). **Full Changelog**: https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0