Фонд программного обеспечения Python недавно объявил о выходе релиз-кандидата 1 для Python 3.14 (3.14.0rc1), что знаменует предпоследний этап перед выпуском новой серии Python 3.14. Этот релиз теперь доступен для скачивания, и с этого момента вносятся только исправления ошибок, прошедшие проверку. Изменения в интерфейсе двоичных приложений не ожидаются, что минимизирует дальнейшие модификации кода.
Релиз-кандидат Python 3.14: он здесь!
Второй и последний релиз-кандидат, Python 3.14.0rc2, назначен на вторник, 26 августа 2025 года. Официальный выпуск Python 3.14.0 планируется на вторник, 7 октября 2025 года.
Обращение к сообществу
Команда Python настоятельно рекомендует всем поддерживающим сторонним проектам начинать тестирование своих пакетов и готовиться к полной совместимости с Python 3.14. Разработчикам советуют публиковать Python 3.14 колеса на PyPI для обеспечения готовности и поддержки тестирования совместимости. Двоичные колеса, собранные для 3.14.0rc1, останутся совместимыми с финальным выпуском.
Важно отметить, что Python 3.14.0rc1 является предварительным релизом. Хотя он функционально близок к финальной версии, его не рекомендуется использовать в производственной среде.
Сообщение для основных разработчиков
С учетом того, что база кода фактически заморожена, основным разработчикам предлагается сосредоточиться на документации. Участников призывают:
- Обеспечить полную документацию всех изменений
- Обновить раздел "Что нового", если необходимо
- Обнаружить и исправить недостаточную документацию в релизе
Основные изменения в Python 3.14
Python 3.14 предлагает значительные улучшения в производительности, параллелизме и инструментах для разработчиков. Среди новых функций:
- PEP 779 - Официальная поддержка многопоточного Python
- PEP 649 - Отложенная оценка аннотаций типов
- PEP 750 - Введение t-строк (литералов шаблонных строк)
- PEP 734 - Включение нескольких интерпретаторов в стандартную библиотеку
- PEP 784 - Новый модуль compression.zstd с поддержкой Zstandard
- PEP 758 - Упрощенный синтаксис для блоков except и except*
- Улучшения подсветки синтаксиса в PyREPL
- Добавление цветного вывода в unittest, argparse, json и calendar CLI
- PEP 768 - Внешний интерфейс отладчика без дополнительной нагрузки
- Улучшенный модуль UUID с поддержкой версий 6-8 и ускоренной генерацией версий 3-5
- PEP 765 - Ограничение на использование return, break и continue внутри finally-блоков
- PEP 741 - Новый улучшенный интерфейс конфигурации C API
- Новый интерпретатор, оптимизированный для современных компиляторов (по выбору, только при сборке из исходников)
- Улучшенные сообщения об ошибках и опыт разработчика
- Встроенная реализация HMAC на основе формально проверенного кода HACL*
- Новый CLI для анализа асинхронных процессов на Python
- pdb теперь поддерживает удаленное подключение к работающим процессам Python
Разработчикам предлагается ознакомиться с полным списком изменений в документации "Что нового в Python 3.14".
Изменения в сборке и установке
Python 3.14 вносит значительные изменения в распределение и упаковку:
- PEP 761 - Отказ от подписей PGP в пользу Sigstore для проверки артефактов релиза
- Официальные сборки для macOS и Windows теперь включают экспериментальный компилятор Just-in-Time (JIT)
Установщик для Windows переходит на новый менеджер установки, доступный через Microsoft Store или прямое скачивание.
Традиционный установщик будет доступен для серий 3.14 и 3.15. Предоставляется JSON-манифест со списком всех устанавливаемых пакетов и контрольных сумм, хотя он не обязателен для установки.
Устаревшие и удаленные функции
- Python 3.14 включает несколько устаревающих и удаляемых функций, включая:
- Устаревшие элементы языка Python
- Устаревшие или удаленные элементы C API
- Обзор предстоящих и активных удалений доступен в журнале изменений
Интересный факт: День приближения числа Пи
Выход релиз-кандидата Python 3.14.0rc1 совпал с Днем приближения числа Пи 22 июля, посвященным классическому дробному приближению π. Эта диофантова аппроксимация известна с античных времен, причем Архимед предложил самое раннее известное доказательство ее точности. В китайской математике 22/7 и более точное 355/113 известны как Юэлю (“приблизительное отношение”) и Милю (“близкое отношение”) соответственно.
Интересные изменения в Python 3.14! Особенно радует поддержка многопоточного Python и улучшение подсветки синтаксиса. Надеюсь, это значительно улучшит производительность и облегчит разработку. Вопрос к разработчикам: будет ли поддержка старых проектов?