Author njs
Recipients larry, ned.deily, njs, serhiy.storchaka
Date 2017-03-29.23:36:27
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1490830588.09.0.152876220246.issue29943@psf.upfronthosting.co.za>
In-reply-to
Content
In the process of fixing issue 27867, a new function PySlice_AdjustIndices was added, and PySlice_GetIndicesEx was converted into a macro that calls this new function. The patch was backported to both the 3.5 and 3.6 branches, was released in 3.6.1, and is currently slated to be released as part of 3.5.4.

Unfortunately, this breaks our normal ABI stability guarantees for micro releases: it means that if a C module that uses PySlice_GetIndicesEx is compiled against e.g. 3.6.1, then it cannot be imported on 3.6.0. This affects a number of high-profile packages (cffi, pandas, mpi4py, dnf, ...). The only workaround is that if you are distributing binary extension modules (e.g. wheels), then you need to be careful not to upgrade to 3.6.1. It's not possible for a wheel to declare that it requires 3.6.1-or-better, because CPython normally follows the rule that we don't make these kinds of changes. Oops.

CC'ing Ned and Larry, because it's possible this should trigger a 3.6.2, and I think it's a blocker for 3.5.4. CC'ing Serhiy as the author of the original patch, since you probably have the best idea how this could be unwound with minimal breakage :-).

python-dev discussion: https://mail.python.org/pipermail/python-dev/2017-March/147707.html

Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1435135
History
Date User Action Args
2017-03-29 23:36:28njssetrecipients: + njs, larry, ned.deily, serhiy.storchaka
2017-03-29 23:36:28njssetmessageid: <1490830588.09.0.152876220246.issue29943@psf.upfronthosting.co.za>
2017-03-29 23:36:28njslinkissue29943 messages
2017-03-29 23:36:27njscreate