Python 3.2, designed to improve and stabilize the Python 3.x line, was released on February 20th, 2011. It's a strange time to be Python - there are two of you and both are frozen.
As we reported in November 2010 (New Pythons - 2.7.1 and 3.1.3) the widely used Python 2.x line now only receives bugfixes while new features are developed for 3.x only which isn't compatible with version 2 of the language. And for the time being changes in Python 3.x are also restricted. It's a strange time to be Python - there are two of you and both are frozen.
The Moratorium on Language Changes, which effectively rules out changes to language syntax, semantics, and built-ins for a period of at least two years from the release of Python 3.1, was proposed in October 2009 by Python's originator and BDFL ("Benevolent Dictator For Life") Guido van Rossum in order to allow alternative implementations of the language to keep pace with core python development, ease the adoption of Python 3 and provide a more stable base for the Python community. It is a brave move but clearly the "right thing" to do.
As a result there are no changes to Python's syntax and only few changes to built-in types in Python 3.2. Instead development efforts have concentrated on the standard library and in support for porting code to Python 3.
Its highlights include:
- Support for .pyc repository directories
- Support for version tagged dynamic libraries
- A new "futures" library for concurrent programming. While Python already has basic multithreading the new library aims to make concurrency seem easy and natural.
- A stable ABI (Application Binary Interface) for extension modules.
- Dictionary-based logging configuration
- An overhauled GIL (Global Interpreter Lock) implementation that reduces contention
- An extended email package that handles byte messages
- Improved ssl module with support for SSL contexts and certificate hostname matching
- A sysconfig module to access configuration information
- Additions to the shutil module, among them archive file support
- Many enhancements to configparser, among them mapping protocol support
- Improvements to pdb, the Python debugger
- Improvements to the unittest module
- Fixes regarding bytes/string issues; among them full support for a bytes environment (filenames, environment variables)
- Consistency and behavior fixes for numeric operations
For more details see What's New in Python 3.2
More information and to download: