Each new Python version deprecates small portions of the Python C API. Deprecated behaviors get removed mainly within the next releases. I am listing some issues below where we are currently running into this problem or will do later on. Fixing these kind of problems requires a deeper knowledge of the Python C API, which at least I do not have. It is not easy to find someone who is able and will voluntarily work on these issues.
To keep up with the yearly new Python releases we should develop a plan how to include the required upcoming changes in the C API into our code. (It seems impossible get rid of the C code and run entirely on Python code.)
Does anyone in the audience have any ideas or suggestions?
Known issues (probably not a complete list):
- Does not build on Python 3.11.0a2 · Issue #37 · zopefoundation/ExtensionClass · GitHub
- DeprecationWarning on Python 3.8+ · Issue #30 · zopefoundation/zope.index · GitHub
- Uses deprecated API PyEval_CallObjectWithKeywords, raises warnings under 3.10 · Issue #55 · zopefoundation/Acquisition · GitHub
- Uses deprecated API, raises warnings under 3.10 · Issue #118 · zopefoundation/AccessControl · GitHub
- Uses deprecated API PyEval_CallObjectWithKeywords, raises warnings under 3.9 and 3.10 · Issue #43 · zopefoundation/zope.proxy · GitHub
- Zope5.2.1 install warnings · Issue #174 · zopefoundation/BTrees · GitHub
With kind regards,
Michael Howitz. Zope release manager