v1.17.0
- Add support for Python 3.13.
- Free-threaded CPython builds (i.e.
python3.13tand the3.13tABI) are not currently supported.
- Free-threaded CPython builds (i.e.
- In API mode, when you get a function from a C library by writing
fn = lib.myfunc, you get an object of a special type for performance reasons, instead of a<cdata 'C-function-type'>. Before version 1.17 you could only call such objects. You could writeffi.addressof(lib, "myfunc")in order to get a real<cdata>object, based on the idea that in these cases in C you'd usually write&myfuncinstead ofmyfunc. In version 1.17, the special objectlib.myfunccan now be passed in many places where CFFI expects a regular<cdata>object. For example, you can now pass it as a callback to a C function call, or write it inside a C structure field of the correct pointer-to-function type, or useffi.cast()orffi.typeof()on it.
Full Changelog: https://github.com/python-cffi/cffi/compare/v1.16.0...v1.17.0