On 30Oct2019 1226, Brett Cannon wrote:
* Now that the stable ABI has been cleaned, extension modules should feel more comfortable targeting the stable ABI which should make supporting newer versions of Python much easier
I'm taking this as an indication that we should finish https://bugs.python.org/issue23903 to actually clean the stable ABI and make it usable on Windows. Specifically: * existing APIs that accidentally shipped in the stable ABI have to remain in the stable ABI if they are currently listed in python3.def * _all_ current stable ABI APIs according to the header files will be added to python3.def, whether they were intended to be stable or not (with a grace period of however long it takes us to finish issue23903) * in future, the file will be either auto-generated or validated against the actual headers, to ensure it doesn't get out of sync again Hopefully this won't be as upsetting to people as last time we tried to fix it, but if anyone still has concerns about the stable ABI not being properly clean, you need to speak up :) Also, PEP 602 makes no statement about when stable ABI APIs are "committed", and nor does PEP 384, so should we assume that the stable ABI becomes fixed at beta 1 (or RC 1)? That is, it is not allowed to remove or change any stable ABI APIs from beta/RC 1, even if they weren't in the previous release? Or will we hold it until the final release and allow breaking the stable ABI during prereleases. Cheers, Steve