[pypy-dev] PyPy3: is bytecode really incompatible between releases?

Armin Rigo armin.rigo at gmail.com
Tue Oct 29 04:33:41 EDT 2019


Hi Matti,

On Sun, 27 Oct 2019 at 10:33, Matti Picus <matti.picus at gmail.com> wrote:
> Would this be considered a major API breaking change or only a revision
> change? Would we need to change to pypy 8.0 (i.e.
> pypy36-pp80-x86_64-linux-gnu.so), or can we stay with pypy 7.3 (i.e.,
> pypy36-pp73-x86_64-linux-gnu.so)? In any case, wheels made for pypy
> before this change would not be compatible with ones after it.

I like to think that major versions of PyPy should also indicate that
we did some major work in other areas, like the JIT compiler, the json
decoder, etc. etc.  The question of whether the next version should be
called "7.3" or "8.0" should weight on that IMHO.  It should not
depend *only* on whether we broke the API inside cpyext.  That means
cpyext needs to have its own way to tell that the API broke; for
example, it could use file names "pypy36-pp#-x86_64-linux-gnu.so" with
the "#" being the API version number.  Something like that.  Maybe
just an increasing number starting at 42 (as the number following the
"pypy41" we use so far; unrelated to the meaning of life!)


A bientôt,

Armin.


More information about the pypy-dev mailing list