What changed in cffi from 1 to 2

3 releases numbered after v1.17.1 up to and including v2.1.1, stable releases only. v1.17.1 and v2.1.1 are the newest stable releases of 1 and 2 we track; this page follows them as new ones ship.

12 changes across 3 releases

Added 5

v2.1.0

  • 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

  • Add Python 3.14 support
  • Add CPython free-threaded support (3.14t+ only)
Fixed 5

v2.1.1

  • Minimize internal Python API usage for interpreter and thread state sampling to avoid breaking ABI change in Python >= 3.15.0b4

v2.1.0

  • Fixed crashes inside __delitem__
  • Fixed string too big error under MSVC
  • Fixed mingw builds

v2.0.0

  • Fix order dependency affecting nested type size calculation
Removed 2

v2.1.0

  • Dropped support for Python 3.9

v2.0.0

  • Drop Python <= 3.8 support

Original release notes, newest first

The list above is our reading of these notes; the originals from cffi are here, one fold per release.

v2.1.1
What's Changed

Full Changelog: https://github.com/python-cffi/cffi/compare/v2.1.0...v2.1.1

View originalPermalink

v2.1.0
  • 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.

View originalPermalink

v2.0.0
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

View originalPermalink