Python 3.3.3 fixes several security and a lot of overall bug fixes found in Python 3.3.2.
This release fully supports OS X 10.9 Mavericks. In particular, this release fixes an issue that could cause previous versions of Python to crash when typing in interactive mode on OS X 10.9.
Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x.
- PEP 380, syntax for delegating to a subgenerator (yield from)
- PEP 393, flexible string representation (doing away with the distinction between “wide” and “narrow” Unicode builds)
- A C implementation of the “decimal” module, with up to 120x speedup for decimal-heavy applications
- The import system (__import__) is based on importlib by default
- The new “lzma” module with LZMA/XZ support
- PEP 397, a Python launcher for Windows
- PEP 405, virtual environment support in core
- PEP 420, namespace package support
- PEP 3151, reworking the OS and IO exception hierarchy
- PEP 3155, qualified name for classes and functions
- PEP 409, suppressing exception context
- PEP 414, explicit Unicode literals to help with porting
- PEP 418, extended platform-independent clocks in the “time” module
- PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
- PEP 362, the function-signature object
- The new “faulthandler” module that helps diagnosing crashes
- The new “unittest.mock” module
- The new “ipaddress” module
- The “sys.implementation” attribute
- A policy framework for the email package, with a provisional (see PEP 411) policy that adds much improved unicode support for email header parsing
- A “collections.ChainMap” class for linking mappings to a single unit
- Wrappers for many more POSIX functions in the “os” and “signal” modules, as well as other useful functions such as “sendfile()”
- Hash randomization, introduced in earlier bugfix releases, is now switched on by default.