v1.16.0
- Add support for Python 3.12. With the removal of
distutilsfrom Python 3.12, projects using CFFI features that depend ondistutilsat runtime must add a dependency onsetuptoolsto function under Python 3.12+. CFFI does not declare a runtimesetuptoolsrequirement to avoid an unnecessary dependency for projects that do not require it. - Drop support for end-of-life Python versions (2.7, 3.6, 3.7).
- Add support for PEP517 builds;
setuptoolsis now a required build dependency. - Declare
python_requiresmetadata for Python 3.8+. This allows unsupported Pythons to continue using previously released sdists and wheels. - Move project source under
src/; a more standard layout that also enables CI to more easily catch packaging errors.