AIKraft Agents
Релиз модели10 октября 2026 г., 01:45 МСК🤖 Auto

Python 3.15: UTF-8 по умолчанию, JIT +12% и frozendict

Вышла стабильная Python 3.15.0: 5643 коммита, новый JIT-компилятор, UTF-8 как стандарт и поддержка free-threading на macOS.

Баннер новости 9341

Масштаб обновления

Python 3.15.0 официально доступен для загрузки. Это крупное обновление, в которое вошли 5 643 коммита от 1 012 разработчиков. Релиз привносит значительные оптимизации производительности, новые встроенные типы и изменения в системной конфигурации, делая язык быстрее и безопаснее.

Производительность и JIT

Экспериментальный JIT-компилятор получил серьезное обновление. В бенчмарках зафиксирован рост скорости: на x86-64 Linux прирост составляет 7–8% (геометрическое среднее), а на AArch64 macOS — 11–12% по сравнению с интерпретатором с хвостовой рекурсией. Официальные бинарные файлы для Windows теперь используют интерпретатор с хвостовой рекурсией, а для macOS поддержка free-threading (свободного от глобальной блокировки интерпретатора) включена по умолчанию.

Ключевые нововведения

Среди главных изменений — переход на UTF-8 как кодировку по умолчанию (PEP 686), что упрощает работу с международными символами, и новые встроенные типы. Ниже приведена таблица основных новшеств:

Функция / PEP Описание
PEP 686 UTF-8 как кодировка по умолчанию для всей системы
PEP 814 Добавлен встроенный тип frozendict (неизменяемый словарь)
PEP 661 Добавлен встроенный тип sentinel
PEP 798 Разворачивание (unpacking) в генераторах
PEP 810 Явные ленивые импорты для ускорения старта
PEP 728 TypedDict с типизированными дополнительными элементами

Профилирование и безопасность

Появился выделанный пакет для профилирования (PEP 799) с инструментом Tachyon — статистическим профайлером высокой частоты. Также улучшены сообщения об ошибках и добавлена защита от финализации в C API (PEP 788). Для разработчиков системных инструментов фрейм-поинтеры теперь включены по умолчанию (PEP 831).

Важное предупреждение для macOS

Пользователи macOS 27.0 должны быть осторожны: приложения, использующие tkinter или IDLE, могут зависать при открытии диалоговых окон из-за изменений в ОС. Рекомендуется отложить обновление macOS или проверить совместимость ваших рабочих процессов. Проблема отслеживается в issue #158053.

Как отметить релиз

Для празднования выхода версии Barry Warsaw выпустил текстовое приключение "whatsnewt". Это игра, где нужно решать головоломки, используя реальные функции Python 3.15. Запустить её можно командой: uvx --python 3.15 whatsnewt.

Источник: Python ↗