Tweaks to What's New and some referenced docs

This commit is contained in:
Nick Coghlan 2014-02-09 10:10:24 +10:00
parent 96bb437ae8
commit aa029dad50
3 changed files with 40 additions and 15 deletions

View File

@ -100,7 +100,7 @@ Type Objects
.. c:function:: void* PyType_GetSlot(PyTypeObject *type, int slot) .. c:function:: void* PyType_GetSlot(PyTypeObject *type, int slot)
Return the function pointer stored int the given slot. If the Return the function pointer stored in the given slot. If the
result is *NULL*, this indicates that either the slot is *NULL*, result is *NULL*, this indicates that either the slot is *NULL*,
or that the function was called with invalid parameters. or that the function was called with invalid parameters.
Callers will typically cast the result pointer into the appropriate Callers will typically cast the result pointer into the appropriate

View File

@ -107,7 +107,8 @@ creation according to their needs, the :class:`EnvBuilder` class.
upgraded in-place (defaults to ``False``). upgraded in-place (defaults to ``False``).
* ``with_pip`` -- a Boolean value which, if true, ensures pip is * ``with_pip`` -- a Boolean value which, if true, ensures pip is
installed in the virtual environment installed in the virtual environment. This uses :mod:`ensurepip` with
the ``--default-pip`` option.
.. versionchanged:: 3.4 .. versionchanged:: 3.4
Added the ``with_pip`` parameter Added the ``with_pip`` parameter

View File

@ -69,8 +69,9 @@ For full details, see the
`changelog <http://docs.python.org/3.4/whatsnew/changelog.html>`_. `changelog <http://docs.python.org/3.4/whatsnew/changelog.html>`_.
.. note:: Prerelease users should be aware that this document is currently in .. note:: Prerelease users should be aware that this document is currently in
draft form. It will be updated substantially as Python 3.4 moves towards draft form. While it should be close to complete for the Python 3.4
release, so it's worth checking back even after reading earlier versions. release candidates, adjustments and additions to the document may be made
up until the final release.
.. seealso:: .. seealso::
@ -132,10 +133,9 @@ Significantly Improved Library Modules:
a new :mod:`~email.message.Message` subclass a new :mod:`~email.message.Message` subclass
(:class:`~email.contentmanager.EmailMessage`) that :ref:`simplify MIME (:class:`~email.contentmanager.EmailMessage`) that :ref:`simplify MIME
handling <whatsnew_email_contentmanager>` (:issue:`18891`). handling <whatsnew_email_contentmanager>` (:issue:`18891`).
* :mod:`plistlib` has a cleaned up interface and support for binary
plist files (:issue:`14455`)
* The :mod:`ipaddress` module API has been declared stable * The :mod:`ipaddress` module API has been declared stable
CPython implementation improvements: CPython implementation improvements:
* :ref:`Safe object finalization <whatsnew-pep-442>` (:pep:`442`). * :ref:`Safe object finalization <whatsnew-pep-442>` (:pep:`442`).
@ -163,9 +163,13 @@ PEP 453: Explicit Bootstrapping of PIP in Python Installations
-------------------------------------------------------------- --------------------------------------------------------------
The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard
cross-platform mechanism to boostrap the pip installer into Python cross-platform mechanism to bootstrap the pip installer into Python
installations and virtual environments. installations and virtual environments.
By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where
X.Y stands for the version of the Python installation), along with the
``pip`` Python package and its dependencies.
The :mod:`venv` module and the :command:`pyvenv` utility make use of this The :mod:`venv` module and the :command:`pyvenv` utility make use of this
module to make ``pip`` readily available in virtual environments. When module to make ``pip`` readily available in virtual environments. When
using the command line interface, ``pip`` is installed by default, while using the command line interface, ``pip`` is installed by default, while
@ -187,12 +191,13 @@ __ http://www.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distr
.. note:: .. note::
The implementation of PEP 453 is still a work in progress. Refer to To avoid conflicts between parallel Python 2 and Python 3 installations,
:issue:`19347` for the progress on additional steps: only the versioned ``pip3`` and ``pip3.4`` commands are bootstrapped by
default when ``ensurepip`` is invoked directly (including by the CPython
* Having the binary installers install ``pip`` by default installers). ``pyvenv`` ensures that the unqualified ``pip`` command is
* Recommending the use of ``pip`` in the "Installing Python Module" made available in virtual environments, and ``pip`` can always be
documentation. invoked via the ``-m`` switch rather than directly to avoid ambiguity on
systems with multiple Python installations.
.. seealso:: .. seealso::
@ -257,6 +262,11 @@ general purpose convenience functions when appropriate::
File "<stdin>", line 1, in <module> File "<stdin>", line 1, in <module>
LookupError: 'rot13' is not a text encoding; use codecs.encode() to handle arbitrary codecs LookupError: 'rot13' is not a text encoding; use codecs.encode() to handle arbitrary codecs
>>> open("foo.txt", encoding="hex")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
LookupError: 'hex' is not a text encoding; use codecs.open() to handle arbitrary codecs
In a related change, whenever it is feasible without breaking backwards In a related change, whenever it is feasible without breaking backwards
compatibility, exceptions raised during encoding and decoding operations compatibility, exceptions raised during encoding and decoding operations
will be wrapped in a chained exception of the same type that mentions the will be wrapped in a chained exception of the same type that mentions the
@ -308,6 +318,7 @@ in :ref:`binary-transforms` and :ref:`text-transforms`.
(Contributed by Nick Coghlan in :issue:`7475`, , :issue:`17827`, (Contributed by Nick Coghlan in :issue:`7475`, , :issue:`17827`,
:issue:`17828` and :issue:`19619`) :issue:`17828` and :issue:`19619`)
.. _whatsnew-pep-451: .. _whatsnew-pep-451:
PEP 451: A ModuleSpec Type for the Import System PEP 451: A ModuleSpec Type for the Import System
@ -959,8 +970,6 @@ command did. Worse, the Python3 ``pdb print`` command shadowed the Python3
pickle pickle
------ ------
protocol 4
:mod:`pickle` now supports (but does not use by default) a new pickle protocol, :mod:`pickle` now supports (but does not use by default) a new pickle protocol,
protocol 4. This new protocol addresses a number of issues that were present protocol 4. This new protocol addresses a number of issues that were present
in previous protocols, such as the serialization of nested classes, very large in previous protocols, such as the serialization of nested classes, very large
@ -973,6 +982,14 @@ keyword-only arguments. It also provides some efficiency improvements.
PEP written by Antoine Pitrou and implemented by Alexandre Vassalotti. PEP written by Antoine Pitrou and implemented by Alexandre Vassalotti.
plistlib
--------
:mod:`plistlib` now supports binary plist files, and offers the common
``load``/``loads``/``dump``/``dumps`` API pattern for serialization formats
(Contributed by Ronald Oussoren and others in :issue:`14455`).
poplib poplib
------ ------
@ -1354,6 +1371,9 @@ and can be used to simplify the process of defining and maintaining
accurate signatures for builtins and standard library extension modules accurate signatures for builtins and standard library extension modules
implemented in C. implemented in C.
Some standard library extension modules have been converted to use Argument
Clinic in Python 3.4, and :mod:`inspect` has been updated accordingly.
.. note:: .. note::
The Argument Clinic PEP is not fully up to date with the state of the The Argument Clinic PEP is not fully up to date with the state of the
implementation. This has been deemed acceptable by the release manager implementation. This has been deemed acceptable by the release manager
@ -1369,6 +1389,10 @@ implemented in C.
Other Build and C API Changes Other Build and C API Changes
----------------------------- -----------------------------
* The new :c:func:`PyType_GetSlot` function has been added to the stable ABI,
allowing retrieval of function pointers from named type slots when using
the limited API. (Contributed by Martin von Löwis in :issue:`17162`)
* The new :c:func:`Py_SetStandardStreamEncoding` pre-initialization API * The new :c:func:`Py_SetStandardStreamEncoding` pre-initialization API
allows applications embedding the CPython interpreter to reliably force allows applications embedding the CPython interpreter to reliably force
a particular encoding and error handler for the standard streams a particular encoding and error handler for the standard streams