]> granicus.if.org Git - python/commitdiff
whatsnew: final edit pass.
authorR David Murray <rdmurray@bitdance.com>
Fri, 14 Mar 2014 22:31:07 +0000 (18:31 -0400)
committerR David Murray <rdmurray@bitdance.com>
Fri, 14 Mar 2014 22:31:07 +0000 (18:31 -0400)
Doc/includes/email-alternative-new-api.py
Doc/library/exceptions.rst
Doc/library/smtplib.rst
Doc/whatsnew/3.4.rst

index eeabf34342a70549ad262df24571c29724618658..c1255a68dfb565b6077d52d7e8e638dacaedcb74 100644 (file)
@@ -19,7 +19,7 @@ Cela ressemble à un excellent recipie[1] déjeuner.
 
 [1] http://www.yummly.com/recipe/Roasted-Asparagus-Epicurious-203718
 
---Éric
+--Pepé
 """)
 
 # Add the html version.  This converts the message into a multipart/alternative
index c2017cc1d3095757467573456672497d2407c902..0aac1bf0262dc02e932939ab58a13bbe9d1d3cb9 100644 (file)
@@ -265,7 +265,6 @@ The following exceptions are the exceptions that are usually raised.
       :exc:`mmap.error` have been merged into :exc:`OSError`.
 
    .. versionchanged:: 3.4
-
       The :attr:`filename` attribute is now the original file name passed to
       the function, instead of the name encoded to or decoded from the
       filesystem encoding.  Also, the :attr:`filename2` attribute was added.
index eba8ae9278d51e4f47621edc65da15de720b47dd..ec8dc9da45a204977ef56df8ffc255510498cecc 100644 (file)
@@ -117,6 +117,9 @@ A nice selection of exceptions is defined as well:
    Subclass of :exc:`OSError` that is the base exception class for all
    the other exceptions provided by this module.
 
+   .. versionchanged:: 3.4
+      SMTPException became subclass of :exc:`OSError`
+
 
 .. exception:: SMTPServerDisconnected
 
index b0ea9ac1678d3dd6642332823824230e594f24bf..7f7383059e8d3b067f29db97a53fe496c7c148ea 100644 (file)
@@ -406,10 +406,10 @@ Some smaller changes made to the core Python language are:
   ``__main__.__file__`` when a script has been executed directly using
   a relative path (Contributed by Brett Cannon in :issue:`18416`).
 
-* Now all the UTF-\* codecs (except UTF-7) reject surrogates during both
+* All the UTF-\* codecs (except UTF-7) now reject surrogates during both
   encoding and decoding unless the ``surrogatepass`` error handler is used,
-  with the exception of the UTF-16 decoder that accepts valid surrogate pairs,
-  and the UTF-16 encoder that produces them while encoding non-BMP characters.
+  with the exception of the UTF-16 decoder (which accepts valid surrogate pairs)
+  and the UTF-16 encoder (which produces them while encoding non-BMP characters).
   Contributed by Victor Stinner, Kang-Hao (Kenny) Lu and Serhiy Storchaka in
   :issue:`12892`.
 
@@ -563,7 +563,7 @@ tracemalloc
 The new :mod:`tracemalloc` module (defined in :pep:`454`) is a debug tool to
 trace memory blocks allocated by Python. It provides the following information:
 
-* Traceback where an object was allocated
+* Trace where an object was allocated
 * Statistics on allocated memory blocks per filename and per line number:
   total size, number and average size of allocated memory blocks
 * Compute the differences between two snapshots to detect memory leaks
@@ -643,7 +643,7 @@ New functions :func:`~base64.a85encode`, :func:`~base64.a85decode`,
 :func:`~base64.b85encode`, and :func:`~base64.b85decode` provide the ability to
 encode and decode binary data from and to ``Ascii85`` and the git/mercurial
 ``Base85`` formats, respectively.  The ``a85`` functions have options that can
-be sued to make them compatible with the variants of the ``Ascii85`` encoding,
+be used to make them compatible with the variants of the ``Ascii85`` encoding,
 including the Adobe variant.  (Contributed by Martin Morrison, the Mercurial
 project, Serhiy Storchaka, and Antoine Pitrou in :issue:`17618`.)
 
@@ -861,15 +861,15 @@ multiple implementations of an operation that allows it to work with
    :pep:`443` -- Single-dispatch generic functions
       PEP written and implemented by Łukasz Langa.
 
+:func:`~functools.total_ordering` now supports a return value of
+:const:`NotImplemented` from the underlying comparison function.  (Contributed
+by Katie Miller in :issue:`10042`.)
+
 A pure-python version of the :func:`~functools.partial` function is now in the
 stdlib; in CPython it is overridden by the C accelerated version, but it is
 available for other implementations to use.  (Contributed by Brian Thorne in
 :issue:`12428`.)
 
-:func:`~functools.total_ordering` now supports a return value of
-:const:`NotImplemented` from the underlying comparison function.  (Contributed
-by Katie Miller in :issue:`10042`.)
-
 
 gc
 --
@@ -1093,29 +1093,17 @@ with additional speedups by Antoine Pitrou in :issue:`19219`.)
 mmap
 ----
 
-mmap objects can now be weakref'ed.  (Contributed by Valerie Lambert in
+mmap objects can now be :mod:`weakref`\ ed.  (Contributed by Valerie Lambert in
 :issue:`4885`.)
 
 
-mock
-----
-
-:mod:`~unittest.mock` objects now inspect their specification signatures when
-matching calls, which means an argument can now be matched by either position
-or name, instead of only by position.  (Contributed by Antoine Pitrou in
-:issue:`17015`.)
-
-:func:`~mock.mock_open` objects now have ``readline`` and ``readlines``
-methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)
-
-
 multiprocessing
 ---------------
 
 .. _whatsnew-multiprocessing-no-fork:
 
-On Unix, two new :ref:`start methods <multiprocessing-start-methods>`
-(``spawn`` and ``forkserver``) have been added for starting processes using
+On Unix two new :ref:`start methods <multiprocessing-start-methods>`,
+(``spawn`` and ``forkserver``, have been added for starting processes using
 :mod:`multiprocessing`.  These make the mixing of processes with threads more
 robust, and the ``spawn`` method matches the semantics that multiprocessing has
 always used on Windows.  New function
@@ -1141,7 +1129,7 @@ inherit unneeded handles/file descriptors from their parents (part of
 :mod:`multiprocessing` now relies on :mod:`runpy` (which implements the
 ``-m`` switch) to initialise ``__main__`` appropriately in child processes
 when using the ``spawn`` or ``forkserver`` start methods. This resolves some
-edge cases where combining multiprocessing, the ``-m`` command line switch
+edge cases where combining multiprocessing, the ``-m`` command line switch,
 and explicit relative imports could cause obscure failures in child
 processes. (Contributed by Nick Coghlan in :issue:`19946`)
 
@@ -1149,29 +1137,29 @@ processes. (Contributed by Nick Coghlan in :issue:`19946`)
 operator
 --------
 
-There is now a pure-python version of the :mod:`operator` module available for
-reference and for use by alternate implementations of Python.  (Contributed by
-Zachary Ware in :issue:`16694`.)
-
 New function :func:`~operator.length_hint` provides an implementation of the
 specification for how the :meth:`~object.__length_hint__` special method should
 be used, as part of the :pep:`424` formal specification of this language
 feature.  (Contributed by Armin Ronacher in :issue:`16148`.)
 
+There is now a pure-python version of the :mod:`operator` module available for
+reference and for use by alternate implementations of Python.  (Contributed by
+Zachary Ware in :issue:`16694`.)
+
 
 os
 --
 
-New functions to get and set the :ref:`inheritable flag <fd_inheritance>` of a file
-descriptors or a Windows handle:
+There are new functions to get and set the :ref:`inheritable flag
+<fd_inheritance>` of a file descriptor (:func:`os.get_inheritable`,
+:func:`os.set_inheritable`) or a Windows handle
+(:func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`).
 
-* :func:`os.get_inheritable`, :func:`os.set_inheritable`
-* :func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`
-
-The :mod:`os` module now provides a :func:`~os.cpu_count` function, analogous to
-the :func:`multiprocessing.cpu_count` function (which is now implemented in
-terms of the new :mod:`os` function).  (Contributed by Trent Nelson, Yogesh
-Chaudhari, Victor Stinner, and Charles-François Natali in :issue:`17914`.)
+New function :func:`~os.cpu_count` reports the number of CPUs available on the
+platform on which Python is running (or ``None`` if the count can't be
+determined).  The :func:`multiprocessing.cpu_count` function is now implemented
+in terms of this function).  (Contributed by Trent Nelson, Yogesh Chaudhari,
+Victor Stinner, and Charles-François Natali in :issue:`17914`.)
 
 :func:`os.path.samestat` is now available on the Windows platform (and the
 :func:`os.path.samefile` implementation is now shared between Unix and
@@ -1181,10 +1169,10 @@ Windows).  (Contributed by Brian Curtin in :issue:`11939`.)
 root on Windows. (Contributed by Tim Golden in :issue:`9035`.)
 
 :func:`os.open` supports two new flags on platforms that provide them,
-:data:`~os.O_TMPFILE` (unnamed temporary file, as of 3.4.0 release available
-only on Linux systems with a kernel version of 3.11 or newer that have uapi
-headers), and :data:`~os.O_PATH` (un-opened file descriptor).  (Contributed by
-Christian Heimes in :issue:`18673` and Benjamin Peterson, respectively.)
+:data:`~os.O_PATH` (un-opened file descriptor), and :data:`~os.O_TMPFILE`
+(unnamed temporary file; as of 3.4.0 release available only on Linux systems
+with a kernel version of 3.11 or newer that have uapi headers).  (Contributed
+by Christian Heimes in :issue:`18673` and Benjamin Peterson, respectively.)
 
 
 pdb
@@ -1214,7 +1202,7 @@ pickle
 :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
 in previous protocols, such as the serialization of nested classes, very large
-strings and containers, or classes whose :meth:`__new__` method takes
+strings and containers, and classes whose :meth:`__new__` method takes
 keyword-only arguments.  It also provides some efficiency improvements.
 
 .. seealso::
@@ -1269,11 +1257,11 @@ the child process, instead of ``None``.  (Contributed by Gregory P. Smith.)
 pydoc
 -----
 
-The :mod:`pydoc` module is now based directly on the
-:func:`inspect.signature` introspection API, allowing it to provide
-signature information for a wider variety of callable objects. This change
-also means that ``__wrapped__`` attributes are now taken into account when
-display help information (Contributed by Larry Hastings in :issue:`19674`)
+The :mod:`pydoc` module is now based directly on the :func:`inspect.signature`
+introspection API, allowing it to provide signature information for a wider
+variety of callable objects. This change also means that ``__wrapped__``
+attributes are now taken into account when displaying help information
+(Contributed by Larry Hastings in :issue:`19674`)
 
 The :mod:`pydoc` module no longer displays the ``self`` parameter for
 already bound methods. Instead, it aims to always display the exact current
@@ -1362,7 +1350,7 @@ smtpd
 -----
 
 The :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes now
-accept a *map* keyword argument, which if specified is passed in to
+accept a *map* keyword argument which, if specified, is passed in to
 :class:`asynchat.async_chat` as its *map* argument.  This allows an application
 to avoid affecting the global socket map.  (Contributed by Vinay Sajip in
 :issue:`11959`.)
@@ -1374,7 +1362,7 @@ smtplib
 :exc:`~smtplib.SMTPException` is now a subclass of :exc:`OSError`, which allows
 both socket level errors and SMTP protocol level errors to be caught in one
 try/except statement by code that only cares whether or not an error occurred.
-(:issue:`2118`).
+(Contributed by Ned Jackson Lovely in :issue:`2118`).
 
 
 socket
@@ -1400,10 +1388,10 @@ on Windows.  (Contributed by Atsuo Ishimoto in :issue:`7171`.)
 sqlite3
 -------
 
-A new boolean parameter, *uri*, to the :func:`~sqlite3.connect` function can
-be used to indicate that the *database* parameter is a ``uri`` (see
-the `SQLite URI documentation <http://www.sqlite.org/uri.html>`_).
-(Contributed by poq in :issue:`13773`.)
+A new boolean parameter to the :func:`~sqlite3.connect` function, *uri*, can be
+used to indicate that the *database* parameter is a ``uri`` (see the `SQLite
+URI documentation <http://www.sqlite.org/uri.html>`_).  (Contributed by poq in
+:issue:`13773`.)
 
 
 ssl
@@ -1418,6 +1406,18 @@ Antoine Pitrou in :issue:`16692`)
 
 .. _whatsnew34-sslcontext:
 
+New function :func:`~ssl.create_default_context` provides a standard way to
+obtain an :class:`~ssl.SSLContext` whose settings are intended to be a
+reasonable balance between compatibility and security.  These settings are
+more stringent than the defaults provided by the :class:`~ssl.SSLContext`
+constructor, and may be adjusted in the future, without prior deprecation, if
+best-practice security requirements change.  The new recommended best
+practice for using stdlib libraries that support SSL is to use
+:func:`~ssl.create_default_context` to obtain an :class:`~ssl.SSLContext`
+object, modify it if needed, and then pass it as the *context* argument
+of the appropriate stdlib API.  (Contributed by Christian Heimes
+in :issue:`19689`.)
+
 :class:`~ssl.SSLContext` method :meth:`~ssl.SSLContext.load_verify_locations`
 accepts a new optional argument *cadata*, which can be used to provide PEM or
 DER encoded certificates directly via strings or bytes, respectively.
@@ -1435,7 +1435,7 @@ in :issue:`18143`.)
 ``X.509`` certs, ``X.509 CA`` certs, and certificate revocation lists (``crl``\
 s), as well as a :meth:`~ssl.SSLContext.get_ca_certs` method that returns a
 list of the loaded ``CA`` certificates.  (Contributed by Christian Heimes in
-and :issue:`18147`.)
+:issue:`18147`.)
 
 If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has an new
 attribute :attr:`~ssl.SSLContext.verify_flags` that can be used to control the
@@ -1454,14 +1454,6 @@ server, and certificates for a server to use in verifying client certificates
 (``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`).  (Contributed by Christian
 Heimes in :issue:`19292`.)
 
-New function :func:`~ssl.create_default_context` provides a standard way to
-obtain an :class:`~ssl.SSLContext` whose settings are intended to be a
-reasonable balance between compatibility and security.  These settings are
-more stringent than the defaults provided by the :class:`~ssl.SSLContext`
-constructor, and may be adjusted in the future, without prior deprecation, if
-best-practice security requirements change.  (Contributed by Christian Heimes
-in :issue:`19689`.)
-
 .. _whatsnew34-win-cert-store:
 
 Two new windows-only functions, :func:`~ssl.enum_certificates` and
@@ -1485,19 +1477,20 @@ stat
 
 The :mod:`stat` module is now backed by a C implementation in :mod:`_stat`. A C
 implementation is required as most of the values aren't standardized and
-platform-dependent.  (Contributed by Christian Heimes in :issue:`11016`.)
+are platform-dependent.  (Contributed by Christian Heimes in :issue:`11016`.)
 
-The module supports new file types: door, event port and whiteout.
+The module supports new :mod:`~stat.ST_MODE` flags, :mod:`~stat.S_IFDOOR`,
+:attr:`~stat.S_IFPORT`, and :attr:`~stat.S_IFWHT`.  (Contributed by
+Christian Hiemes in :issue:`11016`.)
 
 
 struct
 ------
 
-:mod:`struct` now supports the streamed unpacking of a buffer containing
-repeated instances of a given format of data.  Both a module level
-:mod:`~struct.iter_unpack` function and a :meth:`struct.Struct.iter_unpack`
-method on compiled formats have been added.  (Contributed by Antoine Pitrou in
-:issue:`17804`.)
+New function :mod:`~struct.iter_unpack` and a new
+:meth:`struct.Struct.iter_unpack` method on compiled formats provide streamed
+unpacking of a buffer containing repeated instances of a given format of data.
+(Contributed by Antoine Pitrou in :issue:`17804`.)
 
 
 subprocess
@@ -1508,8 +1501,8 @@ be used to provide the contents of ``stdin`` for the command that is run.
 (Contributed by Zack Weinberg in :issue:`16624`.)
 
 :func:`~subprocess.getstatus` and :func:`~subprocess.getstatusoutput` now
-work on Windows.  This change was actually made in 3.3.4.  (Contributed
-by Tim Golden in :issue:`10197`.)
+work on Windows.  This change was actually inadvertently made in 3.3.4.
+(Contributed by Tim Golden in :issue:`10197`.)
 
 
 sunau
@@ -1536,9 +1529,9 @@ sys
 ---
 
 New function :func:`sys.getallocatedblocks` returns the current number of
-blocks allocated by the interpreter (in CPython with the default
+blocks allocated by the interpreter.  (In CPython with the default
 ``--with-pymalloc`` setting, this is allocations made through the
-:c:func:`PyObject_Malloc` API).  This can be useful for tracking memory leaks,
+:c:func:`PyObject_Malloc` API.)  This can be useful for tracking memory leaks,
 especially if automated via a test suite.  (Contributed by Antoine Pitrou
 in :issue:`13390`.)
 
@@ -1692,6 +1685,14 @@ formatted messages that were logged.  (Contributed by Antoine Pitrou in
 Test discovery now works with namespace packages (Contributed by Claudiu Popa
 in :issue:`17457`.)
 
+:mod:`unittest.mock` objects now inspect their specification signatures when
+matching calls, which means an argument can now be matched by either position
+or name, instead of only by position.  (Contributed by Antoine Pitrou in
+:issue:`17015`.)
+
+:func:`~mock.mock_open` objects now have ``readline`` and ``readlines``
+methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)
+
 
 venv
 ----
@@ -1844,7 +1845,7 @@ accurate signatures for builtins and standard library extension modules
 implemented in C.
 
 Some standard library extension modules have been converted to use Argument
-Clinic in Python 3.4, and :mod:`pydoc` and :mod:`inspect` has been updated
+Clinic in Python 3.4, and :mod:`pydoc` and :mod:`inspect` have been updated
 accordingly.
 
 It is expected that signature metadata for programmatic introspection will
@@ -1879,7 +1880,7 @@ Other Build and C API Changes
   marked as accepting ``const char *`` rather than ``char *`` (Contributed
   by Serhiy Storchaka in :issue:`1772673`).
 
-* New shell version of ``python-config``; can be used even when a python
+* A new shell version of ``python-config`` can be used even when a python
   interpreter is not available (for example, in cross compilation scenarios).
 
 * :c:func:`PyUnicode_FromFormat` now supports width and precision
@@ -2086,8 +2087,9 @@ Deprecations in the Python API
 * The :mod:`formatter` module is pending deprecation and is slated for removal
   in Python 3.6.
 
-* MD5 as default digestmod for :mod:`hmac` is deprecated. Python 3.6 will
-  require an explicit digest name or constructor as *digestmod* argument.
+* ``MD5`` as the default *digestmod* for the :func:`hmac.new` function is
+  deprecated.  Python 3.6 will require an explicit digest name or constructor as
+  *digestmod* argument.
 
 * The internal ``Netrc`` class in the :mod:`ftplib` module has been documented
   as deprecated in its docstring for quite some time.  It now emits a
@@ -2099,9 +2101,6 @@ Deprecations in the Python API
 
 * The *strict* argument of :class:`~html.parser.HTMLParser` is deprecated.
 
-* The :func:`hmac.new` *digestmod* keyword having a default value (currently
-  ``MD5``) is deprecated.
-
 * The :mod:`plistlib` :func:`~plistlib.readPlist`,
   :func:`~plistlib.writePlist`, :func:`~plistlib.readPlistFromBytes`, and
   :func:`~plistlib.writePlistToBytes` functions are deprecated in favor of the
@@ -2117,7 +2116,7 @@ Deprecations in the Python API
   appropriate uses of :class:`io.TextIOWrapper` (if needed) and its *newline*
   argument.
 
-* The *parser* argument of :func:`~xml.etree.ElementTree.iterparse` has
+* The *parser* argument of :func:`xml.etree.ElementTree.iterparse` has
   been deprecated, as has the *html* argument of
   :func:`~xml.etree.ElementTree.XMLParser`.  To prepare for the removal of the
   latter, all arguments to ``XMLParser`` should be passed by keyword.
@@ -2308,7 +2307,7 @@ Changes in the Python API
   no ``__wrapped__`` attribute.
 
 * :func:`inspect.getfullargspec` has been reimplemented on top of
-  :func`inspect.signature` and hence handles a much wider variety of callable
+  :func:`inspect.signature` and hence handles a much wider variety of callable
   objects than it did in the past. It is expected that additional builtin and
   extension module callables will gain signature metadata over the course of
   the Python 3.4 series. Code that assumes that
@@ -2321,8 +2320,10 @@ Changes in the Python API
   iterating through :data:`sys.path_importer_cache` based on :data:`sys.path`
   will not find all keys. A module's ``__file__`` when imported in the current
   working directory will also now have an absolute path, including when using
-  ``-m`` with the interpreter (this does not influence when the path to a file
-  is specified on the command-line) (:issue:`18416`).
+  ``-m`` with the interpreter (except for ``__main__.__file__`` when a script
+  has been executed directly using a relative path) (Contributed by Brett
+  Cannon in :issue:`18416`).  is specified on the command-line)
+  (:issue:`18416`).
 
 * The removal of the *strict* argument to :class:`~http.client.HTTPConnection`
   and :class:`~http.client.HTTPSConnection` changes the meaning of the
@@ -2383,7 +2384,7 @@ Changes in the Python API
   perpetually alive (for example, database connections kept in thread-local
   storage).  (:issue:`17094`.)
 
-* Parameter names in ``__annotations__`` dict are now mangled properly,
+* Parameter names in ``__annotations__`` dicts are now mangled properly,
   similarly to ``__kwdefaults__``. (Contributed by Yury Selivanov in
   :issue:`20625`).
 
@@ -2408,7 +2409,7 @@ Changes in the Python API
 
 * The :func:`re.split`, :func:`re.findall`, and :func:`re.sub` functions, and
   the :meth:`~re.match.group` and :meth:`~re.match.groups` methods of
-  :class:``match`` objects now always return a *bytes* object when the string
+  ``match`` objects now always return a *bytes* object when the string
   to be matched is a :term:`bytes-like object`.  Previously the return type
   matched the input type, so if your code was depending on the return value
   being, say, a ``bytearray``, you will need to change your code.