[issue23903] Generate PC/python3.def by scraping headers

Steve Dower report at bugs.python.org
Wed Dec 21 17:16:22 EST 2016


Steve Dower added the comment:

> would this change likely affect any third-party binaries already built for 3.6.0?  On the other hand, if we have to have one, it would be better to have a compatibility break at 3.6.0 rather than at 3.6.1.

Assuming we only make additive changes, then nothing that currently exists will break. However, extensions may then be built using 3.6.1 that will fail on earlier versions. This goes against the entire purpose of the limited API - making the change for 3.6.0 at least means they will work for the entire 3.6 series.

This is one of those "all options are bad" scenarios. Making the change today will prevent us from fixing the functions that should not have leaked into the limited API, but then again they've already leaked and people can compile against them.

Perhaps the best approach is to revise all functions in the limited API, restrict back to those that were in 3.3 and carefully add new ones from there. Then we just apologise for 3.5.[0-2] and 3.6.0 potentially producing invalid binaries and recommend getting a newer version to build with.

I've convinced myself that 3.6.0 is too soon to make the right fix here, so it'll probably always be a bad version in this respect. Hopefully by 3.6.1 we can fix up the limited API and make it reliable again :(

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23903>
_______________________________________


More information about the Python-bugs-list mailing list