Команда PyPy спустя четыре месяца разработки выпустила минорный релиз для интерпретатора. PyPy 7.3.8 является продолжением прошлых версий.
Изменения в интерпретаторах. Релиз PyPy 7.3.8 затрагивает четыре разных интерпретатора:
- PyPy2.7 — поддерживает Python 2.7, включая stdlib из CPython 2.7.18+.
- PyPy3.7 — поддерживает Python 3.7, включая stdlib из CPython 3.7.12. Это будет последнее обновление для PyPy3.7.
- PyPy3.8 — поддерживает Python 3.8, включая stdlib из CPython 3.8.12. Это третий релиз интерпретатора, поэтому разработчики убирают тег beta.
- PyPy3.9 — поддерживает Python 3.9, включая stdlib из CPython 3.9.10. Это первый релиз, поэтому интерпретатор находится в стадии бета‑тестирования.
Интерпретаторы поддерживают одну и ту же кодовую базу, поэтому они включены в один релиз. Все API совместимы с остальными версиями PyPy 7.3.*.
Прочие обновления. Кроме того, разработчики внесли в PyPy следующие изменения:
- PyPy3.9 использует RPython-версию PEG-парсера;
- исправлена регрессия в PyPy3.8 при пустых списках в JIT-компиляции;
- исправлены проблемы с изменением макета файла после упаковки, чтобы сделать макет PyPy3.8 на диске более совместимым с CPython. Это требует setuptool>=58.1.0;
- RPython теперь позволяет исполняемым таргетам иметь точку в названии;
- при сборке PyPy3.9+ может принимать аргумент --platlibdir, как и CPython;
- улучшен SSL для CFFI-буферов, чтобы ускорить recv и recvinto;
- OpenSSL обновлён до 1.1.1 m.
Разработчики рекомендуют обновить версию PyPy и вносить свои предложения, чтобы интерпретатор развивался быстрее. Скачать обновление можно на сайте PyPy, а подробнее прочитать про все обновления — в пресс-релизе PyPy 7.3.8.