<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PyPy (Posts about release)</title><link>https://www.pypy.org/</link><description></description><atom:link href="https://www.pypy.org/categories/release.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:pypy-dev@pypy.org"&gt;The PyPy Team&lt;/a&gt; </copyright><lastBuildDate>Wed, 29 Apr 2026 06:51:59 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>PyPy v7.3.22 release</title><link>https://www.pypy.org/posts/2026/04/pypy-v7322-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-22-release-of-python-2-7-3-11"&gt;
&lt;h2&gt;PyPy v7.3.22: release of python 2.7, 3.11&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.22 of PyPy after the previous
release on March 13, 2026. This is a bug-fix release that fixes several issues
in the JIT. Among them, a long-standing JIT bug that started appearing when
some instance optimizations exposed it. We also cleaned
up many of the remaining stdlib test suite failures, which improves CPython
compatibility around line numbers in dis.dis, signatures and objclass
attributes for builtins, and other quality of life features.&lt;/p&gt;
&lt;p&gt;There is now an RPython &lt;code class="docutils literal"&gt;_pickle&lt;/code&gt; module that mirrors
the CPython one, greatly speeding up pickling operations. Where before PyPy was
5.7x slower than CPython on the pickle benchmark from the pyperformance
benchmark suite, now it is only 1.6x slower &lt;a class="brackets" href="https://www.pypy.org/posts/2026/04/pypy-v7322-release.html#footnote-1" id="footnote-reference-1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;0&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;. We also added pypy
pickler extensions to dump and load lists using list strategies, and enabled
them in the &lt;code class="docutils literal"&gt;ForkingPickler&lt;/code&gt; used by multiprocessing, speeding up cases where
such objects are passed between PyPy multiprocessing instances.&lt;/p&gt;
&lt;p&gt;We also added an RPython json encoder, speeding up json_bench from being 2.6x
slower than CPython to being 0.7x (meaning faster).&lt;/p&gt;
&lt;p&gt;The release includes two different interpreters:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.11, which is an interpreter supporting the syntax and the features of
Python 3.11, including the stdlib for CPython 3.11.15.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the double
release. This is a micro release, all APIs are compatible with the other 7.3
releases.&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear
about it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; supports building wheels for PyPy.&lt;/p&gt;
&lt;p class="rubric"&gt;Footnotes&lt;/p&gt;
&lt;aside class="footnote-list brackets"&gt;
&lt;aside class="footnote brackets" id="footnote-1" role="doc-footnote"&gt;
&lt;span class="label"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;&lt;a role="doc-backlink" href="https://www.pypy.org/posts/2026/04/pypy-v7322-release.html#footnote-reference-1"&gt;0&lt;/a&gt;&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;Once &lt;a class="reference external" href="https://github.com/python/pyperformance/pull/461"&gt;a PR to pyperformance&lt;/a&gt; to use the _pickle module on PyPy is accepted&lt;/p&gt;
&lt;/aside&gt;
&lt;/aside&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;) and macos (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyPy supports Windows 32-bit, Linux PPC64 big- and little-endian, Linux ARM
32 bit, RISC-V RV64IMAFD Linux, and s390x Linux but does not release binaries.
Please reach out to us if you wish to sponsor binary releases for those
platforms. Downstream packagers provide binary builds for debian, Fedora,
conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.22 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.22.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2026/04/pypy-v7322-release.html</guid><pubDate>Tue, 28 Apr 2026 10:00:00 GMT</pubDate></item><item><title>PyPy v7.3.21 release</title><link>https://www.pypy.org/posts/2026/03/pypy-v7321-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-21-release-of-python-2-7-3-11"&gt;
&lt;h2&gt;PyPy v7.3.21: release of python 2.7, 3.11&lt;/h2&gt;
&lt;aside class="admonition warning"&gt;
&lt;p class="admonition-title"&gt;Warning&lt;/p&gt;
&lt;p&gt;This release has some known crashes. We recommend you use a different version&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.21 of PyPy after the previous
release on July 4, 2025. This is a bug-fix release that also updates to Python
3.11.15.&lt;/p&gt;
&lt;p&gt;The release includes two different interpreters:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.11, which is an interpreter supporting the syntax and the features of
Python 3.11, including the stdlib for CPython 3.11.15.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the double
release. This is a micro release, all APIs are compatible with the other 7.3
releases.&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear
about it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; supports building wheels for PyPy.&lt;/p&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;) and macos (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyPy supports Windows 32-bit, Linux PPC64 big- and little-endian, Linux ARM
32 bit, RISC-V RV64IMAFD Linux, and s390x Linux but does not release binaries.
Please reach out to us if you wish to sponsor binary releases for those
platforms. Downstream packagers provide binary builds for debian, Fedora,
conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.21 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.21.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2026/03/pypy-v7321-release.html</guid><pubDate>Fri, 13 Mar 2026 10:00:00 GMT</pubDate></item><item><title>PyPy v7.3.20 release</title><link>https://www.pypy.org/posts/2025/07/pypy-v7320-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-20-release-of-python-2-7-3-11"&gt;
&lt;h2&gt;PyPy v7.3.20: release of python 2.7, 3.11&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.20 of PyPy after the previous
release on Feb 26, 2025. The release fixes some subtle bugs in ctypes and
&lt;code class="docutils literal"&gt;OrderedDict&lt;/code&gt; and makes PyPy3.11 compatible with an upcoming release of
Cython.&lt;/p&gt;
&lt;p&gt;The release includes two different interpreters:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.11, which is an interpreter supporting the syntax and the features of
Python 3.11, including the stdlib for CPython 3.11.13.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the double
release. This is a micro release, all APIs are compatible with the other 7.3
releases.&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear
about it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; supports building wheels for PyPy.&lt;/p&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;) and macos (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyPy supports Windows 32-bit, Linux PPC64 big- and little-endian, Linux ARM
32 bit, RISC-V RV64IMAFD Linux, and s390x Linux but does not release binaries.
Please reach out to us if you wish to sponsor binary releases for those
platforms. Downstream packagers provide binary builds for debian, Fedora,
conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.20 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.20.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2025/07/pypy-v7320-release.html</guid><pubDate>Fri, 04 Jul 2025 12:00:00 GMT</pubDate></item><item><title>PyPy v7.3.19 release</title><link>https://www.pypy.org/posts/2025/02/pypy-v7319-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-19-release-of-python-2-7-3-10-and-3-11-beta"&gt;
&lt;h2&gt;PyPy v7.3.19: release of python 2.7, 3.10 and 3.11 beta&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.19 of PyPy. This is primarily a
bug-fix release fixing JIT-related problems and follows quickly on the heels of
the previous release on Feb 6, 2025.&lt;/p&gt;
&lt;p&gt;This release includes a python 3.11 interpreter. There were bugs in the first
beta that could prevent its wider use, so we are continuing to call this
release "beta". In the next release we will drop 3.10 and remove the "beta"
label.&lt;/p&gt;
&lt;p&gt;The release includes three different interpreters:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.10, which is an interpreter supporting the syntax and the features of
Python 3.10, including the stdlib for CPython 3.10.16.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.11, which is an interpreter supporting the syntax and the features of
Python 3.11, including the stdlib for CPython 3.11.11.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the triple
release. This is a micro release, all APIs are compatible with the other 7.3
releases. It follows after 7.3.17 release on August 28, 2024.&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear
about it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, both &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; and the &lt;a class="reference external" href="https://github.com/matthew-brett/multibuild"&gt;multibuild system&lt;/a&gt; support
building wheels for PyPy.&lt;/p&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;) and macos (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyPy supports Windows 32-bit, Linux PPC64 big- and little-endian, Linux ARM
32 bit, RISC-V RV64IMAFD Linux, and s390x Linux but does not release binaries.
Please reach out to us if you wish to sponsor binary releases for those
platforms. Downstream packagers provide binary builds for debian, Fedora,
conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.19 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.19.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2025/02/pypy-v7319-release.html</guid><pubDate>Wed, 26 Feb 2025 12:00:00 GMT</pubDate></item><item><title>PyPy v7.3.18 release</title><link>https://www.pypy.org/posts/2025/02/pypy-v7318-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-18-release-of-python-2-7-3-10-and-3-11-beta"&gt;
&lt;h2&gt;PyPy v7.3.18: release of python 2.7, 3.10 and 3.11 beta&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.18 of PyPy.&lt;/p&gt;
&lt;p&gt;This release includes a python 3.11 interpreter. We are labelling it "beta"
because it is the first one. In the next release we will drop 3.10 and remove
the "beta" label. There are a particularly large set of bugfixes in this
release thanks to @devdanzin using fusil on the 3.10 builds, originally written
by Victor Stinner. Other significant changes:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;We have updated libffi shipped in our portable builds. We also now statically
link to libffi where possible which reduces the number of
shared object dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We have added code to be able to show the native function names when
profiling with VMProf. So far only Linux supports this feature.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We have added a &lt;a class="reference external" href="https://peps.python.org/pep-0768/"&gt;PEP 768&lt;/a&gt;-inspired remote debugging facility.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The HPy backend has been updated to latest HPy HEAD&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The release includes three different interpreters:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.10, which is an interpreter supporting the syntax and the features of
Python 3.10, including the stdlib for CPython 3.10.16.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.11, which is an interpreter supporting the syntax and the features of
Python 3.11, including the stdlib for CPython 3.11.11.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the triple
release. This is a micro release, all APIs are compatible with the other 7.3
releases. It follows after 7.3.17 release on August 28, 2024.&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear
about it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, both &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; and the &lt;a class="reference external" href="https://github.com/matthew-brett/multibuild"&gt;multibuild system&lt;/a&gt; support
building wheels for PyPy.&lt;/p&gt;
&lt;section id="vmprof-native-symbol-names"&gt;
&lt;h3&gt;VMProf Native Symbol Names&lt;/h3&gt;
&lt;p&gt;When running VMProf profiling with native profiling enabled, PyPy did so far
not produce function names for C functions. The output looked like this:&lt;/p&gt;
&lt;pre class="literal-block"&gt;pypy -m vmprof ~/projects/gitpypy/lib-python/2.7/test/pystone.py
Pystone(1.1) time for 50000 passes = 0.0109887
This machine benchmarks at 4.55011e+06 pystones/second
 vmprof output:
 %:      name:                location:
 100.0%  entry_point          &amp;lt;builtin&amp;gt;/app_main.py:874
 100.0%  run_command_line     &amp;lt;builtin&amp;gt;/app_main.py:601
 100.0%  run_toplevel         &amp;lt;builtin&amp;gt;/app_main.py:93
 100.0%  _run_module_as_main  /home/user/bin/pypy-c-jit-170203-99a72243b541-linux64/lib-python/2.7/runpy.py:150
 100.0%  _run_code            /home/user/bin/pypy-c-jit-170203-99a72243b541-linux64/lib-python/2.7/runpy.py:62
 100.0%  &amp;lt;module&amp;gt;             /home/user/bin/pypy-c-jit-170203-99a72243b541-linux64/site-packages/vmprof/__main__.py:1
 100.0%  main                 /home/user/bin/pypy-c-jit-170203-99a72243b541-linux64/site-packages/vmprof/__main__.py:30
 100.0%  run_path             /home/user/bin/pypy-c-jit-170203-99a72243b541-linux64/lib-python/2.7/runpy.py:238
 100.0%  _run_module_code     /home/user/bin/pypy-c-jit-170203-99a72243b541-linux64/lib-python/2.7/runpy.py:75
 100.0%  &amp;lt;module&amp;gt;             /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:3
 100.0%  main                 /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:60
 100.0%  pystones             /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:67
 100.0%  Proc0                /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:79
 76.9%   &amp;lt;unknown code&amp;gt;
 69.2%   &amp;lt;unknown code&amp;gt;
 53.8%   &amp;lt;unknown code&amp;gt;
 53.8%   &amp;lt;unknown code&amp;gt;
 46.2%   &amp;lt;unknown code&amp;gt;
 46.2%   &amp;lt;unknown code&amp;gt;
 38.5%   &amp;lt;unknown code&amp;gt;
 38.5%   Proc8                /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:212
 30.8%   &amp;lt;unknown code&amp;gt;
 ...&lt;/pre&gt;
&lt;p&gt;We can now symbolify these C functions and give function names and which
shared library they come from, at least on Linux:&lt;/p&gt;
&lt;pre class="literal-block"&gt;Pystone(1.1) time for 50000 passes = 0.218967
This machine benchmarks at 228345 pystones/second
 vmprof output:
 %:      name:                                           location:
 100.0%  entry_point                                     &amp;lt;builtin&amp;gt;/app_main.py:889
 100.0%  run_command_line                                &amp;lt;builtin&amp;gt;/app_main.py:616
 100.0%  run_toplevel                                    &amp;lt;builtin&amp;gt;/app_main.py:95
 100.0%  _run_module_as_main                             /home/user/projects/gitpypy/lib-python/2.7/runpy.py:150
 100.0%  _run_code                                       /home/user/projects/gitpypy/lib-python/2.7/runpy.py:62
 100.0%  &amp;lt;module&amp;gt;                                        /home/user/projects/gitpypy/site-packages/vmprof/__main__.py:1
 100.0%  main                                            /home/user/projects/gitpypy/site-packages/vmprof/__main__.py:30
 100.0%  run_module                                      /home/user/projects/gitpypy/lib-python/2.7/runpy.py:179
 100.0%  _run_module_code                                /home/user/projects/gitpypy/lib-python/2.7/runpy.py:75
 100.0%  &amp;lt;module&amp;gt;                                        /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:3
 100.0%  main                                            /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:60
 100.0%  pystones                                        /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:67
 100.0%  Proc0                                           /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:79
 95.5%   n:pypy_g_execute_frame:0:pypy-c
 91.4%   n:pypy_g_PyFrame_dispatch:0:pypy-c
 63.8%   n:pypy_g_PyFrame_dispatch_bytecode:0:pypy-c
 49.8%   Proc1                                           /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:137
 17.6%   copy                                            /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:53
 13.6%   n:pypy_g_PyFrame_CALL_FUNCTION:0:pypy-c
 10.4%   Proc8                                           /home/user/projects/gitpypy/lib-python/2.7/test/pystone.py:212
 8.6%    n:pypy_g_STORE_ATTR_slowpath:0:pypy-c&lt;/pre&gt;
&lt;p&gt;This becomes even more useful when using the &lt;a class="reference external" href="https://github.com/Cskorpion/vmprof-firefox-converter/"&gt;VMProf Firefox converter&lt;/a&gt;, which
uses the Firefox Profiler Web UI to visualize profiling output:&lt;/p&gt;
&lt;img alt="/images/2025-vmprof-firefox.png" src="https://www.pypy.org/images/2025-vmprof-firefox.png"&gt;
&lt;/section&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;) and macos (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyPy supports Windows 32-bit, Linux PPC64 big- and little-endian, Linux ARM
32 bit, RISC-V RV64IMAFD Linux, and s390x Linux but does not release binaries.
Please reach out to us if you wish to sponsor binary releases for those
platforms. Downstream packagers provide binary builds for debian, Fedora,
conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.18 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.18.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2025/02/pypy-v7318-release.html</guid><pubDate>Thu, 06 Feb 2025 12:00:00 GMT</pubDate></item><item><title>Towards PyPy3.11 - an update</title><link>https://www.pypy.org/posts/2025/01/towards-pypy311-an-update.html</link><dc:creator>mattip</dc:creator><description>&lt;p&gt;We&lt;sup id="fnref:0"&gt;&lt;a class="footnote-ref" href="https://www.pypy.org/posts/2025/01/towards-pypy311-an-update.html#fn:0"&gt;1&lt;/a&gt;&lt;/sup&gt; are steadily working towards a Python 3.11 interpreter, which will be part
of the upcoming PyPy 7.3.18 release. Along with that, we also recently updated 
&lt;a href="https://speed.pypy.org"&gt;speed.pypy.org&lt;/a&gt; to compare PyPy's performance to CPython
3.11 (it used to be CPython 3.7). &lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;h2 id="why-is-there-no-pypy-for-python-311"&gt;Why is there no PyPy for Python 3.11?&lt;/h2&gt;
&lt;p&gt;TL;DR: we are working on it and hopefully will have a beta version soon&lt;/p&gt;
&lt;p&gt;We started by merging the &lt;a href="https://peps.python.org/pep-0654/"&gt;exception groups&lt;/a&gt;
work by Nico Rittinghaus, merging the CPython stdlib for Python 3.11.9, and
updating the regex engine to handle atomic groupings. I think these were the
largest changes needed to support Python3.11, maybe I missed something else?&lt;/p&gt;
&lt;p&gt;We then created a &lt;a href="https://github.com/pypy/pypy/milestone/15"&gt;milestone&lt;/a&gt; with
many of the changes that might not be caught in testing. As of today that
milestone stands at 24/40 issues closed, 16 open. This is in addition to the
&lt;a href="https://github.com/pypy/pypy/milestone/22"&gt;v7.3.18 milestone&lt;/a&gt;, which has 11/23
issues closed, 12 open.&lt;/p&gt;
&lt;p&gt;We also updated our infrastructure to run nightly &lt;a href="https://buildbot.pypy.org/summary?branch=py3.11"&gt;buildbot test of the
py3.11&lt;/a&gt; branch, including adding py3.11 to our benchmarking site &lt;a href="https://speed.pypy.org/"&gt;speed.pypy.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Then the real work started: fixing these milestone issues and failing stdlib
tests. Some of the changes were cosmetic changes to error messages, some were
more involved changes to the interpreter to behave more like CPython. For instance,
&lt;code&gt;hex(x)&lt;/code&gt; where &lt;code&gt;x&lt;/code&gt; is an int calls &lt;code&gt;long.format(x, "#x")&lt;/code&gt; on CPython where in
PyPy we used &lt;code&gt;x.__format__("#x")&lt;/code&gt;. This subtle difference caused a failure in
the &lt;code&gt;repr&lt;/code&gt; of &lt;code&gt;IntEnum&lt;/code&gt;. Tracking down problems like these takes time. We are
now down to about 250 failing stdlib tests, with thousands passing. For comparison, 
PyPy3.10, first released in June 2023, still has around 100 failing stdlib
tests.&lt;/p&gt;
&lt;h3 id="c-extension-support"&gt;C-extension support&lt;/h3&gt;
&lt;p&gt;PyPy supports the Python C-API via a cpyext compatibility layer. We "mangle"
the CPython symbols to add an extra &lt;code&gt;Py&lt;/code&gt; to prevent loading CPython c-extension
modules into PyPy, since the ABI is different. So a function like
&lt;code&gt;PyLong_FromLong&lt;/code&gt; will be exported from the c shared object as
&lt;code&gt;PyPyLong_FromLong&lt;/code&gt;. One of my long-standing goals is to remove this mangling,
but it then requires that our c declarations, inlined functions, and macros in
the headers match 1:1 the CPython headers. We can get by with not declaring and
implementing parts of the interfaces, but what is declared must be identical.
This is a long-term project, with each release the headers get closer to the
CPython versions. I hope to concentrate on the PyUnicode interfaces for this
release.&lt;/p&gt;
&lt;p&gt;Note that the time to do this is before a new version release. Once the version
is released, we cannot change the headers significantly.&lt;/p&gt;
&lt;h3 id="so-what-is-left"&gt;So what is left?&lt;/h3&gt;
&lt;p&gt;Summarizing the milestones and other things to do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Update to the recently released 3.11.11 stdlib&lt;/li&gt;
&lt;li&gt;Make sure &lt;a href="https://vmprof.readthedocs.io/en/latest/"&gt;vmprof&lt;/a&gt; works&lt;/li&gt;
&lt;li&gt;Update the &lt;code&gt;time&lt;/code&gt; module to use more &lt;code&gt;MONOTONIC_CLOCK&lt;/code&gt;, implement
  &lt;code&gt;time.sleep&lt;/code&gt; differently, and clean up the many duplicate &lt;code&gt;time&lt;/code&gt; like
  interfaces we have across the codebase. We have the &lt;code&gt;time&lt;/code&gt; module, some time
  routines in the &lt;code&gt;_threading&lt;/code&gt; module&lt;code&gt;and RPython threading support in the&lt;/code&gt;rpython/rlib` code. We should also make sure we are using 64-bit time
  interfaces.&lt;/li&gt;
&lt;li&gt;Decide whether zero-cost exceptions gain us in performance and whether we
  should implement them even if they do not improve performance.&lt;/li&gt;
&lt;li&gt;Update our &lt;a href="http://hpyproject.org/"&gt;hpy&lt;/a&gt; backend to the latest HEAD, which
  would allow running the &lt;a href="https://github.com/hpyproject/numpy-hpy/tree/graal-team/hpy#readme"&gt;hpy numpy
  fork&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reintegrate the pure-python pyrepl libbrary from CPython 3.13.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What else did I forget?&lt;/p&gt;
&lt;h2 id="why-did-the-benchmark-results-get-worse-on-speedpypyorg"&gt;Why did the benchmark results get worse on speed.pypy.org?&lt;/h2&gt;
&lt;p&gt;TL;DR: running a benchmark site is hard. Something changed in the benchmark
runner, and suddenly benchmarks got 10-15% slower.&lt;/p&gt;
&lt;p&gt;PyPy run an instance of
&lt;a href="https://github.com/python/codespeed/tree/speed.pypy.org"&gt;codepseed&lt;/a&gt; with a
very old &lt;a href="https://foss.heptapod.net/pypy/benchmarks"&gt;benchmarking suite&lt;/a&gt;
that can still run Python2 (remember: that is the language of
&lt;a href="https://rpython.readthedocs.io/en/latest/"&gt;RPython&lt;/a&gt; underlying PyPy). The site
runs on PSA infrastructure and the benchmarking machine is generously sponsored
by &lt;a href="https://baroquesoftware.com/"&gt;Baroque Software&lt;/a&gt;. On Nov 9, there was a
sudden jump in benchmarking times. For instance
&lt;a href="https://speed.pypy.org/timeline/#/?exe=21,8&amp;amp;base=10+2622&amp;amp;ben=float&amp;amp;revs=50&amp;amp;equid=off&amp;amp;quarts=on&amp;amp;extr=on&amp;amp;env=3"&gt;here&lt;/a&gt;
is the result for the &lt;code&gt;float&lt;/code&gt; benchmark. This happened across various benchmark
runs: both PyPy2.7 and PyPy3.11alpha, with and without the JIT. After spending
some time rerunning various benchmarks, I could only conclude the machine
itself had gotten slower, maybe due to some security update in the linux
kernel, maybe some change in the hosting platform. This "broke" the front-page
comparsison: suddenly "latest" is much slower than the historic benchmarks run
previous to the changes in the machine.&lt;/p&gt;
&lt;p&gt;That page also recently (as of last week) uses CPython 3.11 as a baseline for
comparison, where previously it used CPython3.7. It is common knowledge that
the newer CPython versions are faster, and we see this now quite clearly.
Diving into individual benchmarks, we can see that ones where PyPy-with-a-jit
was comparable to CPython3.7 seem to be the ones that CPython3.11 improved
greatly. Looking at a &lt;a href="https://speed.pypy.org/comparison/?exe=22%2BL%2Bpy3.11%2C2%2B2360%2C2%2B3893&amp;amp;ben=1%2C34%2C58%2C63%2C60%2C27%2C61%2C2%2C25%2C57%2C3%2C46%2C4%2C5%2C41%2C42%2C22%2C44%2C6%2C59%2C39%2C7%2C8%2C65%2C45%2C23%2C62%2C66%2C24%2C9%2C10%2C47%2C48%2C49%2C50%2C51%2C11%2C12%2C13%2C40%2C14%2C69%2C15%2C70%2C67%2C68%2C64%2C35%2C36%2C37%2C38%2C16%2C52%2C54%2C55%2C53%2C56%2C28%2C30%2C32%2C29%2C33%2C17%2C18%2C19%2C20%2C43&amp;amp;env=3&amp;amp;hor=true&amp;amp;bas=2%2B2360&amp;amp;chart=normal+bars"&gt;comparison of the
runs&lt;/a&gt;
this can be seen in benchmarks like deltablue and the sqlalchemy family. So the
new graph has more lines that extend past 1.5 than the old graph.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;
New graph with PyPy3.11
&lt;/p&gt;
&lt;p&gt;&lt;img alt="new graph" src="https://www.pypy.org/images/2024-12-new-graph.png"&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;
Older graph with PyPy3.10
&lt;/p&gt;
&lt;p&gt;&lt;img alt="old
graph" src="https://www.pypy.org/images/2024-12-old-graph.png"&gt;.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:0"&gt;
&lt;p&gt;These days most of the work is done by &lt;a href="https://cfbolz.de/"&gt;CF
Bolz-Tereick&lt;/a&gt; and &lt;a href="https://github.com/mattip"&gt;me&lt;/a&gt; on a
volunteer basis. Want to get involved? Reach out, we would love to expand the
team. Have an idea for funding the work? Fantastic, let's talk. &lt;a class="footnote-backref" href="https://www.pypy.org/posts/2025/01/towards-pypy311-an-update.html#fnref:0" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2025/01/towards-pypy311-an-update.html</guid><pubDate>Sat, 04 Jan 2025 13:29:11 GMT</pubDate></item><item><title>PyPy v7.3.17 release</title><link>https://www.pypy.org/posts/2024/08/pypy-v7317-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-17-release-of-python-2-7-and-3-10"&gt;
&lt;h2&gt;PyPy v7.3.17: release of python 2.7 and 3.10&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.17 of PyPy.&lt;/p&gt;
&lt;p&gt;This release includes a new &lt;a class="reference internal" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#risc-v-jit-backend"&gt;RISC-V JIT backend&lt;/a&gt;, an &lt;a class="reference internal" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#improved-repl"&gt;improved REPL&lt;/a&gt; based on
work by the CPython team, and &lt;a class="reference internal" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#better-jit-optimizations"&gt;better JIT optimizations&lt;/a&gt; of integer
operations. Special shout-outs to &lt;a class="reference external" href="https://github.com/loganchien"&gt;Logan Chien&lt;/a&gt; for the &lt;a class="reference external" href="https://github.com/pypy/pypy/pull/5002"&gt;RISC-V backend
work&lt;/a&gt;, to &lt;a class="reference external" href="https://github.com/nirit100"&gt;Nico Rittinghaus&lt;/a&gt; for better integer optimization in the JIT, and
the CPython team that has worked on the repl.&lt;/p&gt;
&lt;p&gt;The release includes two different interpreters:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.10, which is an interpreter supporting the syntax and the features of
Python 3.10, including the stdlib for CPython 3.10.14.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the dual
release. This is a micro release, all APIs are compatible with the other 7.3
releases. It follows after 7.3.16 release on April 23, 2024.&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear
about it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, both &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; and the &lt;a class="reference external" href="https://github.com/matthew-brett/multibuild"&gt;multibuild system&lt;/a&gt; support
building wheels for PyPy.&lt;/p&gt;
&lt;section id="risc-v-backend-for-the-jit"&gt;
&lt;span id="risc-v-jit-backend"&gt;&lt;/span&gt;&lt;h3&gt;RISC-V backend for the JIT&lt;/h3&gt;
&lt;p&gt;PyPy's JIT has added support for generating 64-bit RISC-V machine code at
runtime (RV64-IMAD, specifically). So far we are not releasing binaries for any
RISC-V platforms, but there are &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/riscv.html"&gt;instructions&lt;/a&gt; on how to cross-compile binaries.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="repl-improvements"&gt;
&lt;span id="improved-repl"&gt;&lt;/span&gt;&lt;h3&gt;REPL Improvements&lt;/h3&gt;
&lt;p&gt;The biggest user-visible change of the release is new features in the repl of
PyPy3.10. CPython 3.13 has adopted and extended PyPy's pure-Python repl, adding
a number of features and fixing a number or bugs in the process. We have
backported and added the following features:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Prompts and tracebacks use terminal colors, as well as &lt;a class="reference external" href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda"&gt;terminal hyperlinks&lt;/a&gt;
for file names.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Bracketed-paste"&gt;Bracketed paste&lt;/a&gt; enable pasting several lines of input into the terminal
without auto-indentation getting in the way.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A special interactive help browser (F1), history browser (F2), explicit paste
mode (F3).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support for Ctrl-&amp;lt;left/right&amp;gt; to jump over whole words at a time.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See the &lt;a class="reference external" href="https://docs.python.org/3.13/whatsnew/3.13.html#a-better-interactive-interpreter"&gt;CPython documentation for further details&lt;/a&gt;. Thanks to Łukasz Langa,
Pablo Galindo Salgado and the other CPython devs involved in this work.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="better-jit-optimizations-of-integer-operations"&gt;
&lt;span id="better-jit-optimizations"&gt;&lt;/span&gt;&lt;h3&gt;Better JIT optimizations of integer operations&lt;/h3&gt;
&lt;p&gt;The optimizers of PyPy's JIT have become much better at reasoning about and
optimizing integer operations. This is done with a new &lt;a class="reference external" href="https://pypy.org/posts/2024/08/toy-knownbits.html"&gt;"knownbits" abstract
domain&lt;/a&gt;. In many programs that do bit-manipulation of integers, some of the
bits of the integer variables of the program can be statically known. Here's a
simple example:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code python"&gt;&lt;a id="rest_code_f820f68da51841708befd9b49b294dd2-1" name="rest_code_f820f68da51841708befd9b49b294dd2-1" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#rest_code_f820f68da51841708befd9b49b294dd2-1"&gt;&lt;/a&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;a id="rest_code_f820f68da51841708befd9b49b294dd2-2" name="rest_code_f820f68da51841708befd9b49b294dd2-2" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#rest_code_f820f68da51841708befd9b49b294dd2-2"&gt;&lt;/a&gt;&lt;span class="o"&gt;...&lt;/span&gt;
&lt;a id="rest_code_f820f68da51841708befd9b49b294dd2-3" name="rest_code_f820f68da51841708befd9b49b294dd2-3" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#rest_code_f820f68da51841708befd9b49b294dd2-3"&gt;&lt;/a&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;a id="rest_code_f820f68da51841708befd9b49b294dd2-4" name="rest_code_f820f68da51841708befd9b49b294dd2-4" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#rest_code_f820f68da51841708befd9b49b294dd2-4"&gt;&lt;/a&gt;    &lt;span class="o"&gt;...&lt;/span&gt;
&lt;a id="rest_code_f820f68da51841708befd9b49b294dd2-5" name="rest_code_f820f68da51841708befd9b49b294dd2-5" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#rest_code_f820f68da51841708befd9b49b294dd2-5"&gt;&lt;/a&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;a id="rest_code_f820f68da51841708befd9b49b294dd2-6" name="rest_code_f820f68da51841708befd9b49b294dd2-6" href="https://www.pypy.org/posts/2024/08/pypy-v7317-release.html#rest_code_f820f68da51841708befd9b49b294dd2-6"&gt;&lt;/a&gt;    &lt;span class="o"&gt;...&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;With the new abstract domain, the JIT can optimize the &lt;code class="docutils literal"&gt;if&lt;/code&gt;-condition to
&lt;code class="docutils literal"&gt;True&lt;/code&gt;, because it already knows that the lowest bit of &lt;code class="docutils literal"&gt;x&lt;/code&gt; must be set.
This optimization applies to all Python-integers that fit into a machine word
(PyPy optimistically picks between two different representations for &lt;code class="docutils literal"&gt;int&lt;/code&gt;,
depending on the size of the value). Unfortunately there is very little impact
of this change on almost all Python code, because intensive bit-manipulation is
rare in Python. However, the change leads to significant performance
improvements in &lt;a class="reference external" href="https://docs.pydrofoil.org/en/latest/"&gt;Pydrofoil&lt;/a&gt; (the RPython-based RISC-V/ARM emulators that are
automatically generated from high-level &lt;a class="reference external" href="https://github.com/rems-project/sail/"&gt;Sail&lt;/a&gt; specifications of the respective
ISAs, and that use the RPython JIT to improve performance).&lt;/p&gt;
&lt;/section&gt;
&lt;section id="pypy-versions-and-speed-pypy-org"&gt;
&lt;h3&gt;PyPy versions and speed.pypy.org&lt;/h3&gt;
&lt;p&gt;The keen-eyed will have noticed no mention of Python version 3.9 in the
releases above. Typically we will maintain only one version of Python3, but due
to PyPy3.9 support on conda-forge we maintained multiple versions from the
first release of PyPy3.10 in PyPy v7.3.12 (Dec 2022). Conda-forge is
&lt;a class="reference external" href="https://pypy.org/posts/2024/08/conda-forge-proposes-dropping-support-for-pypy.html"&gt;sunsetting its PyPy support&lt;/a&gt;, which means we can drop PyPy3.9. Since that was
the major driver of benchmarks at &lt;a class="reference external" href="https://speed.pypy.org"&gt;https://speed.pypy.org&lt;/a&gt;, we revamped the site
to showcase PyPy3.9, PyPy3.10, and various versions of cpython on the home
page. For historical reasons, the "baseline" for comparison is still cpython
3.7.19.&lt;/p&gt;
&lt;p&gt;We will keep the buildbots building PyPY3.9 until the end of August, these
builds will still be available on the &lt;a class="reference external" href="https://buildbot.pypy.org/nightly/"&gt;nightly builds&lt;/a&gt; tab of the buildbot.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;) and macos (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyPy supports Windows 32-bit, Linux PPC64 big- and little-endian, Linux ARM
32 bit, RISC-V RV64IMAFD Linux, and s390x Linux but does not release binaries.
Please reach out to us if you wish to sponsor binary releases for those
platforms. Downstream packagers provide binary builds for debian, Fedora,
conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.17 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.17.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2024/08/pypy-v7317-release.html</guid><pubDate>Wed, 28 Aug 2024 12:22:08 GMT</pubDate></item><item><title>PyPy v7.3.16 release</title><link>https://www.pypy.org/posts/2024/04/pypy-v7316-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-16-release-of-python-2-7-3-9-and-3-10"&gt;
&lt;h2&gt;PyPy v7.3.16: release of python 2.7, 3.9, and 3.10&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.16 of PyPy.&lt;/p&gt;
&lt;p&gt;This release includes security fixes from upstream CPython, and bugfixes to the
garbage collector, described in a &lt;a class="reference external" href="https://www.pypy.org/posts/2024/03/fixing-bug-incremental-gc.html"&gt;gc bug-hunt blog post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The release includes three different interpreters:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.9, which is an interpreter supporting the syntax and the features of
Python 3.9, including the stdlib for CPython 3.9.19.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.10, which is an interpreter supporting the syntax and the features of
Python 3.10, including the stdlib for CPython 3.10.14.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the multiple
release. This is a micro release, all APIs are compatible with the other 7.3
releases. It follows after 7.3.15 release on Jan 15, 2024&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the v7.3.16 releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear
about it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, both &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; and the &lt;a class="reference external" href="https://github.com/matthew-brett/multibuild"&gt;multibuild system&lt;/a&gt; support
building wheels for PyPy.&lt;/p&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython 3.7.4&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apple &lt;strong&gt;M1 arm64&lt;/strong&gt; machines (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;s390x&lt;/strong&gt; running Linux&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;PyPy support Windows 32-bit, Linux PPC64 big- and little-endian, and Linux ARM
32 bit, but does not release binaries. Please reach out to us if you wish to
sponsor binary releases for those platforms. Downstream packagers provide
binary builds for debian, Fedora, conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.16 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.16.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2024/04/pypy-v7316-release.html</guid><pubDate>Tue, 23 Apr 2024 12:22:08 GMT</pubDate></item><item><title>PyPy v7.3.15 release</title><link>https://www.pypy.org/posts/2024/01/pypy-v7315-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-15-release-of-python-2-7-3-9-and-3-10"&gt;
&lt;h2&gt;PyPy v7.3.15: release of python 2.7, 3.9, and 3.10&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.15 of PyPy.&lt;/p&gt;
&lt;p&gt;This is primarily a bug-fix release, and includes work done to migrate PyPy to
Git and Github.&lt;/p&gt;
&lt;p&gt;The release includes three different interpreters:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.9, which is an interpreter supporting the syntax and the features of
Python 3.9, including the stdlib for CPython 3.9.18.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.10, which is an interpreter supporting the syntax and the features of
Python 3.10, including the stdlib for CPython 3.10.13.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the multiple
release. This is a micro release, all APIs are compatible with the other 7.3
releases. It follows after 7.3.14 release on Dec 25, 2023&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the v7.3.15 releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear about
it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. PyPy has many layers and we need help with all of them: bug fixes,
&lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt; with
making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, both &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; and the &lt;a class="reference external" href="https://github.com/matthew-brett/multibuild"&gt;multibuild system&lt;/a&gt; support
building wheels for PyPy.&lt;/p&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython 3.7.4&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apple &lt;strong&gt;M1 arm64&lt;/strong&gt; machines (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;s390x&lt;/strong&gt; running Linux&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;PyPy support Windows 32-bit, Linux PPC64 big- and little-endian, and Linux ARM
32 bit, but does not release binaries. Please reach out to us if you wish to
sponsor binary releases for those platforms. Downstream packagers provide
binary builds for debian, Fedora, conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.15 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.15.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2024/01/pypy-v7315-release.html</guid><pubDate>Mon, 15 Jan 2024 12:22:08 GMT</pubDate></item><item><title>PyPy v7.3.14 release</title><link>https://www.pypy.org/posts/2023/12/pypy-v7314-release.html</link><dc:creator>mattip</dc:creator><description>&lt;section id="pypy-v7-3-14-release-of-python-2-7-3-9-and-3-10"&gt;
&lt;h2&gt;PyPy v7.3.14: release of python 2.7, 3.9, and 3.10&lt;/h2&gt;
&lt;p&gt;The PyPy team is proud to release version 7.3.14 of PyPy.&lt;/p&gt;
&lt;p&gt;Highlights of this release are compatibility with &lt;a class="reference external" href="https://hpyproject.org/blog/posts/2023/10/hpy-0.9.0-fourth-public-release/"&gt;HPy-0.9&lt;/a&gt;, cffi 1.16,
additional C-API interfaces, and more python3.10 fixes.&lt;/p&gt;
&lt;p&gt;The release includes three different interpreters:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;PyPy2.7, which is an interpreter supporting the syntax and the features of
Python 2.7 including the stdlib for CPython 2.7.18+ (the &lt;code class="docutils literal"&gt;+&lt;/code&gt; is for
backported security updates)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.9, which is an interpreter supporting the syntax and the features of
Python 3.9, including the stdlib for CPython 3.9.18.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PyPy3.10, which is an interpreter supporting the syntax and the features of
Python 3.10, including the stdlib for CPython 3.10.13.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;The interpreters are based on much the same codebase, thus the multiple
release. This is a micro release, all APIs are compatible with the other 7.3
releases. It follows after 7.3.13 release on Sept 29, 2023.&lt;/p&gt;
&lt;p&gt;We recommend updating. You can find links to download the v7.3.14 releases here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pypy.org/download.html"&gt;https://pypy.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank our donors for the continued support of the PyPy
project. If PyPy is not quite good enough for your needs, we are available for
&lt;a class="reference external" href="https://www.pypy.org/pypy-sponsors.html"&gt;direct consulting&lt;/a&gt; work. If PyPy is helping you out, we would love to hear about
it and encourage submissions to our &lt;a class="reference external" href="https://pypy.org/blog"&gt;blog&lt;/a&gt; via a pull request
to &lt;a class="reference external" href="https://github.com/pypy/pypy.org"&gt;https://github.com/pypy/pypy.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would also like to thank our contributors and encourage new people to join
the project. Since the last release we have contributions from three new
contributors.  PyPy has many layers and we need help with all of them: bug
fixes, &lt;a class="reference external" href="https://doc.pypy.org/"&gt;PyPy&lt;/a&gt; and &lt;a class="reference external" href="https://rpython.readthedocs.org"&gt;RPython&lt;/a&gt; documentation improvements, or general &lt;a class="reference external" href="https://doc.pypy.org/en/latest/project-ideas.html"&gt;help&lt;/a&gt;
with making RPython's JIT even better.&lt;/p&gt;
&lt;p&gt;If you are a python library maintainer and use C-extensions, please consider
making a &lt;a class="reference external" href="https://hpyproject.org/"&gt;HPy&lt;/a&gt; / &lt;a class="reference external" href="https://cffi.readthedocs.io"&gt;CFFI&lt;/a&gt; / &lt;a class="reference external" href="https://cppyy.readthedocs.io"&gt;cppyy&lt;/a&gt; version of your library that would be performant
on PyPy. In any case, both &lt;a class="reference external" href="https://github.com/joerick/cibuildwheel"&gt;cibuildwheel&lt;/a&gt; and the &lt;a class="reference external" href="https://github.com/matthew-brett/multibuild"&gt;multibuild system&lt;/a&gt; support
building wheels for PyPy.&lt;/p&gt;
&lt;section id="what-is-pypy"&gt;
&lt;h3&gt;What is PyPy?&lt;/h3&gt;
&lt;p&gt;PyPy is a Python interpreter, a drop-in replacement for CPython
It's fast (&lt;a class="reference external" href="https://speed.pypy.org"&gt;PyPy and CPython 3.7.4&lt;/a&gt; performance
comparison) due to its integrated tracing JIT compiler.&lt;/p&gt;
&lt;p&gt;We also welcome developers of other &lt;a class="reference external" href="https://rpython.readthedocs.io/en/latest/examples.html"&gt;dynamic languages&lt;/a&gt; to see what RPython
can do for them.&lt;/p&gt;
&lt;p&gt;We provide binary builds for:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;x86&lt;/strong&gt; machines on most common operating systems
(Linux 32/64 bits, Mac OS 64 bits, Windows 64 bits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;64-bit &lt;strong&gt;ARM&lt;/strong&gt; machines running Linux (&lt;code class="docutils literal"&gt;aarch64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apple &lt;strong&gt;M1 arm64&lt;/strong&gt; machines (&lt;code class="docutils literal"&gt;macos_arm64&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;s390x&lt;/strong&gt; running Linux&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;PyPy support Windows 32-bit, Linux PPC64 big- and little-endian, and Linux ARM
32 bit, but does not release binaries. Please reach out to us if you wish to
sponsor binary releases for those platforms. Downstream packagers provide
binary builds for debian, Fedora, conda, OpenBSD, FreeBSD, Gentoo, and more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="what-else-is-new"&gt;
&lt;h3&gt;What else is new?&lt;/h3&gt;
&lt;p&gt;For more information about the 7.3.14 release, see the &lt;a class="reference external" href="https://doc.pypy.org/en/latest/release-v7.3.14.html#changelog"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update, and continue to help us make pypy better.&lt;/p&gt;
&lt;p&gt;Cheers,
The PyPy Team&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>release</category><guid>https://www.pypy.org/posts/2023/12/pypy-v7314-release.html</guid><pubDate>Mon, 25 Dec 2023 04:22:08 GMT</pubDate></item></channel></rss>