Доступен Релиз языка программирования Python 3.2
Доступен 0 релиз языка программирования Python 3.2, основные усилия при подготовке которого были направлены на увеличение стабильности, расширение возможностей стандартной библиотеки и упрощение процесса портирования скриптов, написанных для ветки Python 2.x. Так как двухгодичный мораторий на изменение синтаксиса языка истекает 26 июня 2011 года, то версии 3.2 полностью обратно совместима с веткой Python 3.1 и не содержит изменений синтаксиса, семантики и встроенных функций (тем не менее отмечается несколько изменений во встроенных типах). Напомним, что после выхода выпуска 2.7 добавление новшеств в ветку Python 2.x прекращено, но ошибки будут исправляться вплоть до 2015 года.
Из улучшений, добавленных в Python 3.2, можно отметить:
* Расширение возможностей модуля unittest: реализована возможность обращения к модулям с тестами по файловому пути (python -m unittest discover -s my_proj_dir -p _test.py), а не только по имени; добавлены новые методы (assertCountEqual, assertWarns и assertWarnsRegex); реализована интерактивная командная строка для проведения ручных тестов; переработаны тексты сообщений, которые теперь более явно отражают причины сбоя; для более точного отражения выполняемых функций переименованы некоторые имена методов (например, вместо assert_ представлен assertTrue, вместо assertEquals - assertEqual);
* Реализована поддержка привязанных к версии интерпретатора отдельных репозиториев для .pyc-файлов, используемых для кэширования байткода (PEP 3147). Вынос pyc-файлов в отдельные директории позволяет решить проблему с использованием нескольких Python-интерпретаторов (2.x и 3.x) для выполнения одних скриптов, что ранее приводило к постоянному обновлению кэшей;
* Поддержка привязанных к номеру версии Python ABI динамических библиотек (PEP 3149), что позволяет использовать свой набор библиотек для различных версий и реализаций Python (CPython, PyPy, Jython);
* Представлено новое пространство имен "concurrent" для организации параллельного программирования. Первым для данного пространства представлен модуль concurrent.futures (PEP 3148) с набором высокоуровневых функций для управления нитями и процессами. В будущем число модулей concurrent.* будет расширено;
* Для модулей-расширений представлен ограниченный ABI (Py_LIMITED_API), который объявлен стабильным (PEP 384), что позволит решить проблему работоспособности сборок модулей-расширений для разных версий Python (при обновлении версии ранее приходилось пересобирать все модули-расширения. При использовании Py_LIMITED_API модули собранные для 3.2, смогут работать в ветках 3.3 и 3.4);
* Базирующийся на словарях метод logging.config.dictConfig для определения конфигурации модуля для обработки логов (PEP 391);
* Переработанная реализация GIL-блокировки (Global Interpreter Lock), оптимизированная для обеспечения параллельного выполнения нескольких Python-потоков на системах с многоядерными CPU;
* В пакете email и модулях mailbox/nntplib добавлена поддержка модели bytes/text Python 3, что позволяет корректно обрабатывать сообщения в смешанных однобайтных и многобайтных кодировках;
* Значительно улучшен модуль для обеспечения работы защищенных SSL-соединений, в который добавлен менеджер SSL-контекста;
* Для доступа к системной информации, такой как файловые пути и специфичные для платформы опции, добавлен модуль sysconfig;
* В модуле shutil добавлена поддержка работы с архивами в формате ZIP, TAR, GZIP и BZIP;
* Значительно изменен модуль configparser, который переведен на использование нового протокола определения структуры конфигурации, основанного на маппинге значений;
* Множественные исправления, возникающие из-за разделения типов bytes/string и особенностей обработки числовых операций в Python 3.