This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author steve.dower
Recipients loewis, ned.deily, serhiy.storchaka, steve.dower, tim.golden, zach.ware
Date 2016-12-21.22:16:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
> 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 :(
Date User Action Args
2016-12-21 22:16:22steve.dowersetrecipients: + steve.dower, loewis, tim.golden, ned.deily, zach.ware, serhiy.storchaka
2016-12-21 22:16:22steve.dowersetmessageid: <>
2016-12-21 22:16:22steve.dowerlinkissue23903 messages
2016-12-21 22:16:22steve.dowercreate