<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On Mar 28, 2017 8:29 AM, "Serhiy Storchaka" <<a href="mailto:storchaka@gmail.com">storchaka@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On 28.03.17 14:24, Miro HronĨok wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
However, recently we found an issue with this approach [1]: an extension<br>
module built against Python 3.6.1 cannot be run on Python 3.6.0, because<br>
it uses a macro that, in 3.6.1, uses the new PySlice_AdjustIndices<br>
function.<br>
</blockquote>
<br></div>
The macro expanding to PySlice_AdjustIndices is used only when Py_LIMITED_API is not defined or is defined to the version equal or greater the version in which PySlice_AdjustIndices was added.</blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">That's nice, but not sufficient. Py_LIMITED_ABI is cool, but the vast majority of distributed packages don't use it, and instead rely on the "unlimited" ABI being forward and backwards compatible within each minor release. For example, this assumption is hard coded in the wheel format, which has no way to even describe a wheel that needs 3.6.x with x >= 1. People uploading packages to pypi use whatever version of 3.6 they have lying around and assume it will work for everyone downloading.</div><div dir="auto"><br></div><div dir="auto">IMO this is a bug, and depending on how many packages are affected it might even call for an emergency 3.6.2. The worst case is that we start getting large numbers of packages uploaded to pypi that claim to be 3.6.0 compatible but that crash like crash with an obscure error when people download them.</div><div dir="auto"><br></div><div dir="auto">-n</div></div>