Versie 3.4 van Python is uitgekomen. Python is een objectgeoriënteerde programmeertaal die kan worden gebruikt om eenvoudige tot complexe, platformonafhankelijke applicaties te ontwikkelen. Het is in de jaren 90 ontworpen door Guido van Rossum, die destijds in Amsterdam voor het CWI werkte. Guido, die tegenwoordig voor Dropbox werkt, is nog steeds betrokken bij de ontwikkeling van Python. De complete changelog is op deze pagina te vinden en dit zijn de belangrijkste verbeteringen:
New syntax features:Other new features:
- No new syntax features were added in Python 3.4.
New library modules:
- pip should always be available (PEP 453).
- Newly created file descriptors are non-inheritable (PEP 446).
- command line option for isolated mode (issue 16499).
- improvements in the handling of codecs that are not text encodings (multiple issues).
- A ModuleSpec Type for the Import System (PEP 451). (Affects importer authors.)
- The marshal format has been made more compact and efficient (issue 16475).
Significantly improved library modules:
- asyncio: New provisional API for asynchronous IO (PEP 3156).
- ensurepip: Bootstrapping the pip installer (PEP 453).
- enum: Support for enumeration types (PEP 435).
- pathlib: Object-oriented filesystem paths (PEP 428).
- selectors: High-level and efficient I/O multiplexing, built upon the select module primitives (part of PEP 3156).
- statistics: A basic numerically stable statistics library (PEP 450).
- tracemalloc: Trace Python memory allocations (PEP 454).
Security improvements:
- Single-dispatch generic functions in functools (PEP 443).
- New pickle protocol 4 (PEP 3154).
- multiprocessing now has an option to avoid using os.fork on Unix (issue 8713).
- email has a new submodule, contentmanager, and a new Message subclass (EmailMessage) that simplify MIME handling (issue 18891).
- The inspect and pydoc modules are now capable of correct introspection of a much wider variety of callable objects, which improves the output of the Python help() system.
- The ipaddress module API has been declared stable
CPython implementation improvements:
- Secure and interchangeable hash algorithm (PEP 456).
- Make newly created file descriptors non-inheritable (PEP 446) to avoid leaking file descriptors to child processes.
- New command line option for isolated mode, (issue 16499).
- multiprocessing now has an option to avoid using os.fork on Unix. spawn and forkserver are more secure because they avoid sharing data with child processes.
- multiprocessing child processes on Windows no longer inherit all of the parent’s inheritable handles, only the necessary ones.
- A new hashlib.pbkdf2_hmac() function provides the PKCS#5 password-based key derivation function 2.
- TLSv1.1 and TLSv1.2 support for ssl.
- Retrieving certificates from the Windows system cert store support for ssl.
- Server-side SNI (Server Name Indication) support for ssl.
- The ssl.SSLContext class has a lot of improvements.
- All modules in the standard library that support SSL now support server certificate verification, including hostname matching (ssl.match_hostname()) and CRLs (Certificate Revocation lists, see ssl.SSLContext.load_verify_locations()).
- Safe object finalization (PEP 442).
- Leveraging PEP 442, in most cases module globals are no longer set to None during finalization (issue 18214).
- Configurable memory allocators (PEP 445).
- Argument Clinic (PEP 436).