|
| 1 | +.. title: PyPy v7.3.5: bugfix release of python 2.7 and 3.7 |
| 2 | +.. slug: pypy-v735-release |
| 3 | +.. date: 2021-05-23 05:53:45 UTC |
| 4 | +.. tags: release |
| 5 | +.. category: |
| 6 | +.. link: |
| 7 | +.. description: |
| 8 | +.. type: rest |
| 9 | +.. author: The PyPy Team |
| 10 | + |
| 11 | +=================================== |
| 12 | +PyPy v7.3.5: release of 2.7 and 3.7 |
| 13 | +=================================== |
| 14 | + |
| 15 | +We are releasing a PyPy 7.3.5 with bugfixes for PyPy 7.3.4, released April 4. |
| 16 | +PyPy 7.3.4 was the first release that runs on windows 64-bit, so that support |
| 17 | +is still "beta". We are releasing it in the hopes that we can garner momentum |
| 18 | +for its continued support, but are already aware of some problems, for instance |
| 19 | +it errors in the NumPy test suite (issue 3462_). Please help out with testing |
| 20 | +the releae and reporting successes and failures, financially supporting our |
| 21 | +ongoing work, and helping us find the source of these problems. |
| 22 | + |
| 23 | +- The new windows 64-bit builds improperly named c-extension modules |
| 24 | + with the same extension as the 32-bit build (issue 3443_) |
| 25 | +- Use the windows-specific ``PC/pyconfig.h`` rather than the posix one |
| 26 | +- Fix the return type for ``_Py_HashDouble`` which impacts 64-bit windows |
| 27 | +- A change to the python 3.7 ``sysconfig.get_config_var('LIBDIR')`` was wrong, |
| 28 | + leading to problems finding `libpypy3-c.so` for embedded PyPy (issue 3442_). |
| 29 | +- Instantiate ``distutils.command.install`` schema for PyPy-specific |
| 30 | + ``implementation_lower`` |
| 31 | +- Delay thread-checking logic in greenlets until the thread is actually started |
| 32 | + (continuation of issue 3441_) |
| 33 | +- Four upstream (CPython) security patches were applied: |
| 34 | + - `BPO 42988`_ to remove ``pydoc.getfile`` |
| 35 | + - `BPO 43285`_ to not trust the ``PASV`` response in ``ftplib``. |
| 36 | + - `BPO 43075`_ to remove a possible ReDoS in urllib AbstractBasicAuthHandler |
| 37 | + - `BPO 43882`_ to sanitize urls containing ASCII newline and tabs in |
| 38 | + ``urllib.parse`` |
| 39 | +- Fix for json-specialized dicts (issue 3460_) |
| 40 | +- Specialize ``ByteBuffer.setslice`` which speeds up binary file reading by a |
| 41 | + factor of 3 |
| 42 | + |
| 43 | +- When assigning the full slice of a list, evaluate the rhs before clearing the |
| 44 | + list (issue 3440_) |
| 45 | +- On Python2, ``PyUnicode_Contains`` accepts bytes as well as unicode. |
| 46 | +- Finish fixing ``_sqlite3`` - untested ``_reset()`` was missing an argument |
| 47 | + (issue 3432_) |
| 48 | +- Update the packaged sqlite3 to 3.35.5 on windows. While not a bugfix, this |
| 49 | + seems like an easy win. |
| 50 | + |
| 51 | +We recommend updating. These fixes are the direct result of end-user bug |
| 52 | +reports, so please continue reporting issues as they crop up. |
| 53 | + |
| 54 | +You can find links to download the v7.3.5 releases here: |
| 55 | + |
| 56 | + https://pypy.org/download.html |
| 57 | + |
| 58 | +We would like to thank our donors for the continued support of the PyPy |
| 59 | +project. If PyPy is not quite good enough for your needs, we are available for |
| 60 | +direct consulting work. If PyPy is helping you out, we would love to hear about |
| 61 | +it and encourage submissions to our `renovated blog site`_ via a pull request |
| 62 | +to https://github.com/pypy/pypy.org |
| 63 | + |
| 64 | +We would also like to thank our contributors and encourage new people to join |
| 65 | +the project. PyPy has many layers and we need help with all of them: `PyPy`_ |
| 66 | +and `RPython`_ documentation improvements, tweaking popular modules to run |
| 67 | +on PyPy, or general `help`_ with making RPython's JIT even better. |
| 68 | + |
| 69 | +If you are a python library maintainer and use C-extensions, please consider |
| 70 | +making a CFFI_ / cppyy_ version of your library that would be performant on PyPy. |
| 71 | +In any case both `cibuildwheel`_ and the `multibuild system`_ support |
| 72 | +building wheels for PyPy. |
| 73 | + |
| 74 | +.. _`PyPy`: index.html |
| 75 | +.. _`RPython`: https://rpython.readthedocs.org |
| 76 | +.. _`help`: project-ideas.html |
| 77 | +.. _CFFI: https://cffi.readthedocs.io |
| 78 | +.. _cppyy: https://cppyy.readthedocs.io |
| 79 | +.. _`multibuild system`: https://github.com/matthew-brett/multibuild |
| 80 | +.. _`cibuildwheel`: https://github.com/joerick/cibuildwheel |
| 81 | +.. _`renovated blog site`: https://pypy.org/blog |
| 82 | + |
| 83 | + |
| 84 | +What is PyPy? |
| 85 | +============= |
| 86 | + |
| 87 | +PyPy is a Python interpreter, a drop-in replacement for CPython 2.7, 3.7, and |
| 88 | +soon 3.8. It's fast (`PyPy and CPython 3.7.4`_ performance |
| 89 | +comparison) due to its integrated tracing JIT compiler. |
| 90 | + |
| 91 | +We also welcome developers of other `dynamic languages`_ to see what RPython |
| 92 | +can do for them. |
| 93 | + |
| 94 | +This PyPy release supports: |
| 95 | + |
| 96 | + * **x86** machines on most common operating systems |
| 97 | + (Linux 32/64 bits, Mac OS X 64 bits, Windows 32/64 bits, OpenBSD, FreeBSD) |
| 98 | + |
| 99 | + * big- and little-endian variants of **PPC64** running Linux, |
| 100 | + |
| 101 | + * **s390x** running Linux |
| 102 | + |
| 103 | + * 64-bit **ARM** machines running Linux. |
| 104 | + |
| 105 | +PyPy does support ARM 32 bit processors, but does not release binaries. |
| 106 | + |
| 107 | +.. _`PyPy and CPython 3.7.4`: https://speed.pypy.org |
| 108 | +.. _`dynamic languages`: https://rpython.readthedocs.io/en/latest/examples.html |
| 109 | + |
| 110 | +.. _3443: https://foss.heptapod.net/pypy/pypy/-/issues/3443 |
| 111 | +.. _3442: https://foss.heptapod.net/pypy/pypy/-/issues/3442 |
| 112 | +.. _3441: https://foss.heptapod.net/pypy/pypy/-/issues/3441 |
| 113 | +.. _3440: https://foss.heptapod.net/pypy/pypy/-/issues/3440 |
| 114 | +.. _3460: https://foss.heptapod.net/pypy/pypy/-/issues/3460 |
| 115 | +.. _3462: https://foss.heptapod.net/pypy/pypy/-/issues/3462 |
| 116 | +.. _3432: https://foss.heptapod.net/pypy/pypy/-/issues/3432 |
| 117 | +.. _`BPO 42988`: https://bugs.python.org/issue42988 |
| 118 | +.. _`BPO 43285`: https://bugs.python.org/issue43285 |
| 119 | +.. _`BPO 43075`: https://bugs.python.org/issue43075 |
| 120 | +.. _`BPO 43882`: https://bugs.python.org/issue43882 |
| 121 | + |
0 commit comments