
What's New in Python
********************

The "What's New in Python" series of essays takes tours through the
most important changes between major Python versions.  They are a
"must read" for anyone wishing to stay up-to-date after a new release.

* What's New In Python 3.2
  * PEP 384: Defining a Stable ABI
  * PEP 389: Argparse Command Line Parsing Module
  * PEP 391:  Dictionary Based Configuration for Logging
  * PEP 3148:  The ``concurrent.futures`` module
  * PEP 3147:  PYC Repository Directories
  * PEP 3149: ABI Version Tagged .so Files
  * PEP 3333: Python Web Server Gateway Interface v1.0.1
  * Other Language Changes
  * New, Improved, and Deprecated Modules
  * Multi-threading
  * Optimizations
  * Unicode
  * Codecs
  * Documentation
  * IDLE
  * Code Repository
  * Build and C API Changes
  * Porting to Python 3.2
* What's New In Python 3.1
  * PEP 372: Ordered Dictionaries
  * PEP 378: Format Specifier for Thousands Separator
  * Other Language Changes
  * New, Improved, and Deprecated Modules
  * Optimizations
  * IDLE
  * Build and C API Changes
  * Porting to Python 3.1
* What's New In Python 3.0
  * Common Stumbling Blocks
  * Overview Of Syntax Changes
  * Changes Already Present In Python 2.6
  * Library Changes
  * **PEP 3101**: A New Approach To String Formatting
  * Changes To Exceptions
  * Miscellaneous Other Changes
  * Build and C API Changes
  * Performance
  * Porting To Python 3.0
* What's New in Python 2.7
  * The Future for Python 2.x
  * Python 3.1 Features
  * PEP 372: Adding an Ordered Dictionary to collections
  * PEP 378: Format Specifier for Thousands Separator
  * PEP 389: The argparse Module for Parsing Command Lines
  * PEP 391: Dictionary-Based Configuration For Logging
  * PEP 3106: Dictionary Views
  * PEP 3137: The memoryview Object
  * Other Language Changes
  * New and Improved Modules
  * Build and C API Changes
  * Other Changes and Fixes
  * Porting to Python 2.7
  * Acknowledgements
* What's New in Python 2.6
  * Python 3.0
  * Changes to the Development Process
  * PEP 343: The 'with' statement
  * PEP 366: Explicit Relative Imports From a Main Module
  * PEP 370: Per-user ``site-packages`` Directory
  * PEP 371: The ``multiprocessing`` Package
  * PEP 3101: Advanced String Formatting
  * PEP 3105: ``print`` As a Function
  * PEP 3110: Exception-Handling Changes
  * PEP 3112: Byte Literals
  * PEP 3116: New I/O Library
  * PEP 3118: Revised Buffer Protocol
  * PEP 3119: Abstract Base Classes
  * PEP 3127: Integer Literal Support and Syntax
  * PEP 3129: Class Decorators
  * PEP 3141: A Type Hierarchy for Numbers
  * Other Language Changes
  * New and Improved Modules
  * Deprecations and Removals
  * Build and C API Changes
  * Porting to Python 2.6
  * Acknowledgements
* What's New in Python 2.5
  * PEP 308: Conditional Expressions
  * PEP 309: Partial Function Application
  * PEP 314: Metadata for Python Software Packages v1.1
  * PEP 328: Absolute and Relative Imports
  * PEP 338: Executing Modules as Scripts
  * PEP 341: Unified try/except/finally
  * PEP 342: New Generator Features
  * PEP 343: The 'with' statement
  * PEP 352: Exceptions as New-Style Classes
  * PEP 353: Using ssize_t as the index type
  * PEP 357: The '__index__' method
  * Other Language Changes
  * New, Improved, and Removed Modules
  * Build and C API Changes
  * Porting to Python 2.5
  * Acknowledgements
* What's New in Python 2.4
  * PEP 218: Built-In Set Objects
  * PEP 237: Unifying Long Integers and Integers
  * PEP 289: Generator Expressions
  * PEP 292: Simpler String Substitutions
  * PEP 318: Decorators for Functions and Methods
  * PEP 322: Reverse Iteration
  * PEP 324: New subprocess Module
  * PEP 327: Decimal Data Type
  * PEP 328: Multi-line Imports
  * PEP 331: Locale-Independent Float/String Conversions
  * Other Language Changes
  * New, Improved, and Deprecated Modules
  * Build and C API Changes
  * Porting to Python 2.4
  * Acknowledgements
* What's New in Python 2.3
  * PEP 218: A Standard Set Datatype
  * PEP 255: Simple Generators
  * PEP 263: Source Code Encodings
  * PEP 273: Importing Modules from ZIP Archives
  * PEP 277: Unicode file name support for Windows NT
  * PEP 278: Universal Newline Support
  * PEP 279: enumerate()
  * PEP 282: The logging Package
  * PEP 285: A Boolean Type
  * PEP 293: Codec Error Handling Callbacks
  * PEP 301: Package Index and Metadata for Distutils
  * PEP 302: New Import Hooks
  * PEP 305: Comma-separated Files
  * PEP 307: Pickle Enhancements
  * Extended Slices
  * Other Language Changes
  * New, Improved, and Deprecated Modules
  * Pymalloc: A Specialized Object Allocator
  * Build and C API Changes
  * Other Changes and Fixes
  * Porting to Python 2.3
  * Acknowledgements
* What's New in Python 2.2
  * Introduction
  * PEPs 252 and 253: Type and Class Changes
  * PEP 234: Iterators
  * PEP 255: Simple Generators
  * PEP 237: Unifying Long Integers and Integers
  * PEP 238: Changing the Division Operator
  * Unicode Changes
  * PEP 227: Nested Scopes
  * New and Improved Modules
  * Interpreter Changes and Fixes
  * Other Changes and Fixes
  * Acknowledgements
* What's New in Python 2.1
  * Introduction
  * PEP 227: Nested Scopes
  * PEP 236: __future__ Directives
  * PEP 207: Rich Comparisons
  * PEP 230: Warning Framework
  * PEP 229: New Build System
  * PEP 205: Weak References
  * PEP 232: Function Attributes
  * PEP 235: Importing Modules on Case-Insensitive Platforms
  * PEP 217: Interactive Display Hook
  * PEP 208: New Coercion Model
  * PEP 241: Metadata in Python Packages
  * New and Improved Modules
  * Other Changes and Fixes
  * Acknowledgements
* What's New in Python 2.0
  * Introduction
  * What About Python 1.6?
  * New Development Process
  * Unicode
  * List Comprehensions
  * Augmented Assignment
  * String Methods
  * Garbage Collection of Cycles
  * Other Core Changes
  * Porting to 2.0
  * Extending/Embedding Changes
  * Distutils: Making Modules Easy to Install
  * XML Modules
  * Module changes
  * New modules
  * IDLE Improvements
  * Deleted and Deprecated Modules
  * Acknowledgements