После года разработки вышла новая стабильная версия интерпретируемого языка программирования Python 3.13. Релиз включает изменения в собственно языке и его стандартной библиотеке. К важнейшим изменениям относятся использование нового интерактивного интерпретатора по умолчанию, экспериментальная поддержка работы в режиме free-threaded (т. е. с отключением global interpreter lock) (PEP 703), и JIT-компилятор (PEP 744).
С этого релиза осуществлён переход на новый цикл релизов Python (Annual Release Cycle for Python, PEP 602), в связи со стремлением расширить период «полной поддержки» новых выпусков:
- Python 3.9–3.12 имеют полтора года полной поддержки, за ними следует три с половиной года исправления брешей в безопасности.
- Python 3.13 и более поздние релизы будут иметь два года полной поддержки и три года исправлений уязвимостей.
Продолжается работа по усовершенствованию сообщений об ошибках. Теперь traceback’и по умолчанию подсвечиваются цветом. Встроенная функция locals()
теперь имеет определённую семантику для изменения возвращаемого меппинга (PEP 667), а параметры типов (typing.TypeVar
, typing.ParamSpec
, typing.TypeVarTuple
) поддерживают значения по умолчанию (PEP 696).
Изменения стандартной библиотеки включают удаление устаревших API и модулей (aifc
, audioop
, cgi
, cgitb
, chunk
, crypt
, imghdr
, mailcap
, msilib
, nis
, nntplib
, ossaudiodev
, pipes
, sndhdr
, spwd
, sunau
, telnetlib
, uu
и xdrlib
), а также привычные улучшения в области дружелюбия к пользователю и корректности. Несколько модулей исключены из поставки в связи с объявлением их устаревшими в Python 3.11 (PEP 594), в том числе инструмент и библиотека 2to3
.
Из улучшений безопасности стоит отметить, что ssl.create_default_context()
устанавливает флагами по умолчанию ssl.VERIFY_X509_PARTIAL_CHAIN
и ssl.VERIFY_X509_STRICT
.
Добавлена поддержка платформ: Apple iOS и Android теперь официально поддерживаемые платформы (tier 3) (PEP 730, 738). wasm32-wasi
поддерживается на уровне tier 2, прекращена официальная поддержка wasm32-emscripten
.
Для более основательного ознакомления с нововведениями релиза, обращайтесь к официальной документации (по библиотеке, по языку). Руководствуйтесь статьей «Переход на Python 3.13» для обновления своих проектов на новую версию языка. Также см. changelog.
>>> Подробности