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 <rep...@bugs.python.org>
<http://bugs.python.org/issue23903>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to