From 8d85678d5c53e5f82a533338ffc51a48fe05b973 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 23 Dec 2013 10:28:57 -0500 Subject: [PATCH 1/3] Make summary entry format consistent (always end with pep or issue in parens). --- Doc/whatsnew/3.4.rst | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index f1aa364c2c7..10c63dd847e 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -94,35 +94,37 @@ New expected features for Python implementations: (:pep:`446`). * command line option for :ref:`isolated mode `, (:issue:`16499`). -* :ref:`improvements ` in the handling of - codecs that are not text encodings +* :ref:`improvements in the handling of codecs ` + that are not text encodings (multiple issues). * :ref:`A ModuleSpec Type ` for the Import System (:pep:`451`). (Affects importer authors.) New library modules: -* :mod:`asyncio`: New provisonal API for asynchronous IO (:pep:`3156`). +* :mod:`asyncio`: New provisional API for asynchronous IO (:pep:`3156`). * :mod:`enum`: Support for enumeration types (:pep:`435`). * :mod:`ensurepip`: Bootstrapping the pip installer (:pep:`453`). * :mod:`pathlib`: Object-oriented filesystem paths (:pep:`428`). * :mod:`selectors`: High-level and efficient I/O multiplexing, built upon the - :mod:`select` module primitives. + :mod:`select` module primitives (part of :pep:`3156`). * :mod:`statistics`: A basic numerically stable statistics library (:pep:`450`). * :mod:`tracemalloc`: Trace Python memory allocations (:pep:`454`). Significantly Improved Library Modules: * :ref:`Single-dispatch generic functions ` in - :mod:`functools` (:pep:`443`) -* New :mod:`pickle` :ref:`protocol 4 ` (:pep:`3154`) -* :ref:`SHA-3 (Keccak) support ` for :mod:`hashlib`. -* :ref:`TLSv1.1 and TLSv1.2 support ` for :mod:`ssl`. + :mod:`functools` (:pep:`443`). +* New :mod:`pickle` :ref:`protocol 4 ` (:pep:`3154`). +* :ref:`SHA-3 (Keccak) support ` for :mod:`hashlib` + (:issue:`16113`). +* :ref:`TLSv1.1 and TLSv1.2 support ` for :mod:`ssl` + (:issue:`16692`). * :mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on Unix ` (:issue:`8713`). * :mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a new :mod:`~email.message.Message` subclass (:class:`~email.contentmanager.EmailMessage`) that :ref:`simplify MIME - handling `. + handling ` (:issue:`18891`). CPython implementation improvements: From f9976e7254965089ebd83c574e18e7e0c623c607 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 23 Dec 2013 10:32:02 -0500 Subject: [PATCH 2/3] Add link to selectors description from its summary line. --- Doc/whatsnew/3.4.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index 10c63dd847e..48b46f6091f 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -105,8 +105,9 @@ New library modules: * :mod:`enum`: Support for enumeration types (:pep:`435`). * :mod:`ensurepip`: Bootstrapping the pip installer (:pep:`453`). * :mod:`pathlib`: Object-oriented filesystem paths (:pep:`428`). -* :mod:`selectors`: High-level and efficient I/O multiplexing, built upon the - :mod:`select` module primitives (part of :pep:`3156`). +* :mod:`selectors`: :ref:`High-level and efficient I/O multiplexing + `, built upon the :mod:`select` module primitives (part + of :pep:`3156`). * :mod:`statistics`: A basic numerically stable statistics library (:pep:`450`). * :mod:`tracemalloc`: Trace Python memory allocations (:pep:`454`). @@ -378,6 +379,8 @@ For Python 3.4, this module is considered a :term:`provisional API`. PEP written and implemented by Antoine Pitrou. +.. _whatsnew-selectors: + selectors --------- From 68790662fc8ddb775dfadb199346be4984c91907 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 23 Dec 2013 11:17:51 -0500 Subject: [PATCH 3/3] Add pep 435 summary entry in new required features, and ensurepip description. Also added a note about platform packagers not being required to install pip by default, if they provide an appropriate pip hook, to the PEP description section. --- Doc/whatsnew/3.4.rst | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index 48b46f6091f..cfbff37597c 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -90,6 +90,7 @@ New syntax features: New expected features for Python implementations: +* :ref:`pip should always be "available" ` (:pep:`453`). * :ref:`Make newly created file descriptors non-inheritable ` (:pep:`446`). * command line option for :ref:`isolated mode `, @@ -146,6 +147,8 @@ sections on deprecations and porting issues. New expected features for Python implementations ================================================ +.. _whatsnew-pep-453: + PEP 453: Explicit bootstrapping of pip in Python installations -------------------------------------------------------------- @@ -166,6 +169,12 @@ Makefile options. On Windows and Mac OS X, the CPython installers now offer the option to install ``pip`` along with CPython itself. +As `discussed in the PEP`__, platform packagers may choose not to install +``pip`` by default, as long as the command ``pip``, when invoked, provides +clear and simple directions on how to install ``pip`` on the platform. + +__ http://www.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distributors + .. note:: The implementation of PEP 453 is still a work in progress. Refer to @@ -346,6 +355,31 @@ For Python 3.4, this module is considered a :term:`provisional API`. :pep:`3156` - Asynchronous IO Support Rebooted: the "asyncio" Module PEP written and implementation led by Guido van Rossum. + +.. _whatsnew-ensurepip + +ensurepip +--------- + +The new :mod:`ensurepip` module is the primary infrastructure for the +:pep:`453` implementation. In the normal course of events end users will not +need to interact with this module, but it can be used to manually bootstrap +``pip`` if the automated bootstrapping into an installation or virtual +environment was declined. + +:mod:`ensurepip` includes a bundled copy of ``pip``, up-to-date as of the first +release candidate of the release of CPython with which it ships (this applies +to both maintenance releases and feature releases). ``ensurepip`` does not +access the internet. (If the installation has Internet access, it is of course +possible to upgrade ``pip`` to a release more recent than the bundled ``pip`` +by using the bundled ``pip`` command itself once it is installed.) + +The module is named *ensure*\ pip because if called when ``pip`` is already +installed, it does nothing. It also has an ``--upgrade`` option that will +cause it to install the bundled copy of ``pip`` if the existing installed +version of ``pip`` is older than the bundled copy. + + enum ----