mirror of https://github.com/python/cpython
Issue #22388: Unified the style of "Contributed by" sentences in What's New.
This commit is contained in:
parent
4b2b1de0bd
commit
e5cf4868d3
|
@ -171,7 +171,7 @@ Features
|
|||
* Multi-dimensional comparisons are supported for any array type.
|
||||
|
||||
* One-dimensional memoryviews of hashable (read-only) types with formats B,
|
||||
b or c are now hashable. (Contributed by Antoine Pitrou in :issue:`13411`)
|
||||
b or c are now hashable. (Contributed by Antoine Pitrou in :issue:`13411`.)
|
||||
|
||||
* Arbitrary slicing of any 1-D arrays type is supported. For example, it
|
||||
is now possible to reverse a memoryview in O(1) by using a negative step.
|
||||
|
@ -196,7 +196,7 @@ API changes
|
|||
|
||||
* For further changes see `Build and C API Changes`_ and `Porting C code`_.
|
||||
|
||||
(Contributed by Stefan Krah in :issue:`10181`)
|
||||
(Contributed by Stefan Krah in :issue:`10181`.)
|
||||
|
||||
.. seealso::
|
||||
|
||||
|
@ -307,8 +307,8 @@ Python 2 is also installed, or ``-2.6`` to specifclly request an earlier
|
|||
Python version when a more recent version is installed).
|
||||
|
||||
In addition to the launcher, the Windows installer now includes an
|
||||
option to add the newly installed Python to the system PATH (contributed
|
||||
by Brian Curtin in :issue:`3561`).
|
||||
option to add the newly installed Python to the system PATH. (Contributed
|
||||
by Brian Curtin in :issue:`3561`.)
|
||||
|
||||
.. seealso::
|
||||
|
||||
|
@ -781,7 +781,7 @@ Some smaller changes made to the core Python language are:
|
|||
Both :func:`unicodedata.lookup()` and ``'\N{...}'`` now resolve name aliases,
|
||||
and :func:`unicodedata.lookup()` resolves named sequences too.
|
||||
|
||||
(Contributed by Ezio Melotti in :issue:`12753`)
|
||||
(Contributed by Ezio Melotti in :issue:`12753`.)
|
||||
|
||||
* Unicode database updated to UCD version 6.1.0
|
||||
|
||||
|
@ -793,7 +793,7 @@ Some smaller changes made to the core Python language are:
|
|||
methods of :class:`bytes` and :class:`bytearray` objects now accept an
|
||||
integer between 0 and 255 as their first argument.
|
||||
|
||||
(Contributed by Petri Lehtinen in :issue:`12170`)
|
||||
(Contributed by Petri Lehtinen in :issue:`12170`.)
|
||||
|
||||
* The ``rjust()``, ``ljust()``, and ``center()`` methods of :class:`bytes`
|
||||
and :class:`bytearray` now accept a :class:`bytearray` for the ``fill``
|
||||
|
@ -854,7 +854,7 @@ Builtin functions and types
|
|||
* The sequence documentation has been substantially rewritten to better
|
||||
explain the binary/text sequence distinction and to provide specific
|
||||
documentation sections for the individual builtin sequence types
|
||||
(:issue:`4966`)
|
||||
(:issue:`4966`).
|
||||
|
||||
|
||||
New Modules
|
||||
|
@ -891,7 +891,7 @@ The new :mod:`ipaddress` module provides tools for creating and manipulating
|
|||
objects representing IPv4 and IPv6 addresses, networks and interfaces (i.e.
|
||||
an IP address associated with a specific IP subnet).
|
||||
|
||||
(Contributed by Google and Peter Moody in :pep:`3144`)
|
||||
(Contributed by Google and Peter Moody in :pep:`3144`.)
|
||||
|
||||
lzma
|
||||
----
|
||||
|
@ -900,7 +900,7 @@ The newly-added :mod:`lzma` module provides data compression and decompression
|
|||
using the LZMA algorithm, including support for the ``.xz`` and ``.lzma``
|
||||
file formats.
|
||||
|
||||
(Contributed by Nadeem Vawda and Per Øyvind Karlsen in :issue:`6715`)
|
||||
(Contributed by Nadeem Vawda and Per Øyvind Karlsen in :issue:`6715`.)
|
||||
|
||||
|
||||
Improved Modules
|
||||
|
@ -921,7 +921,7 @@ property. The built-in descriptors have been updated accordingly.
|
|||
* :class:`abc.abstractstaticmethod` has been deprecated, use
|
||||
:class:`staticmethod` with :func:`abc.abstractmethod` instead.
|
||||
|
||||
(Contributed by Darren Dale in :issue:`11610`)
|
||||
(Contributed by Darren Dale in :issue:`11610`.)
|
||||
|
||||
:meth:`abc.ABCMeta.register` now returns the registered subclass, which means
|
||||
it can now be used as a class decorator (:issue:`10868`).
|
||||
|
@ -933,7 +933,7 @@ array
|
|||
The :mod:`array` module supports the :c:type:`long long` type using ``q`` and
|
||||
``Q`` type codes.
|
||||
|
||||
(Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`)
|
||||
(Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`.)
|
||||
|
||||
|
||||
base64
|
||||
|
@ -964,14 +964,14 @@ new features have been added:
|
|||
* :class:`bz2.BZ2File` can now read from and write to arbitrary file-like
|
||||
objects, by means of its constructor's *fileobj* argument.
|
||||
|
||||
(Contributed by Nadeem Vawda in :issue:`5863`)
|
||||
(Contributed by Nadeem Vawda in :issue:`5863`.)
|
||||
|
||||
* :class:`bz2.BZ2File` and :func:`bz2.decompress` can now decompress
|
||||
multi-stream inputs (such as those produced by the :program:`pbzip2` tool).
|
||||
:class:`bz2.BZ2File` can now also be used to create this type of file, using
|
||||
the ``'a'`` (append) mode.
|
||||
|
||||
(Contributed by Nir Aides in :issue:`1625`)
|
||||
(Contributed by Nir Aides in :issue:`1625`.)
|
||||
|
||||
* :class:`bz2.BZ2File` now implements all of the :class:`io.BufferedIOBase` API,
|
||||
except for the :meth:`detach` and :meth:`truncate` methods.
|
||||
|
@ -1018,7 +1018,7 @@ collections
|
|||
|
||||
Addition of a new :class:`~collections.ChainMap` class to allow treating a
|
||||
number of mappings as a single unit. (Written by Raymond Hettinger for
|
||||
:issue:`11089`, made public in :issue:`11297`)
|
||||
:issue:`11089`, made public in :issue:`11297`.)
|
||||
|
||||
The abstract base classes have been moved in a new :mod:`collections.abc`
|
||||
module, to better differentiate between the abstract and the concrete
|
||||
|
@ -1069,7 +1069,7 @@ curses
|
|||
push a wide character so the next :meth:`~curses.window.get_wch` will return
|
||||
it
|
||||
|
||||
(Contributed by Iñigo Serna in :issue:`6755`)
|
||||
(Contributed by Iñigo Serna in :issue:`6755`.)
|
||||
|
||||
datetime
|
||||
--------
|
||||
|
@ -1376,11 +1376,11 @@ ftplib
|
|||
:func:`~ftplib.FTP_TLS.ccc` function to revert control channel back to
|
||||
plaintext. This can be useful to take advantage of firewalls that know how
|
||||
to handle NAT with non-secure FTP without opening fixed ports. (Contributed
|
||||
by Giampaolo Rodolà in :issue:`12139`)
|
||||
by Giampaolo Rodolà in :issue:`12139`.)
|
||||
|
||||
* Added :meth:`ftplib.FTP.mlsd` method which provides a parsable directory
|
||||
listing format and deprecates :meth:`ftplib.FTP.nlst` and
|
||||
:meth:`ftplib.FTP.dir`. (Contributed by Giampaolo Rodolà in :issue:`11072`)
|
||||
:meth:`ftplib.FTP.dir`. (Contributed by Giampaolo Rodolà in :issue:`11072`.)
|
||||
|
||||
|
||||
functools
|
||||
|
@ -1404,7 +1404,7 @@ hmac
|
|||
|
||||
A new :func:`~hmac.compare_digest` function has been added to prevent side
|
||||
channel attacks on digests through timing analysis. (Contributed by Nick
|
||||
Coghlan and Christian Heimes in :issue:`15061`)
|
||||
Coghlan and Christian Heimes in :issue:`15061`.)
|
||||
|
||||
|
||||
http
|
||||
|
@ -1436,13 +1436,13 @@ are also available on the latest bug fix releases of Python 2.7/3.2.
|
|||
(Contributed by Ezio Melotti in :issue:`15114`, and :issue:`14538`,
|
||||
:issue:`13993`, :issue:`13960`, :issue:`13358`, :issue:`1745761`,
|
||||
:issue:`755670`, :issue:`13357`, :issue:`12629`, :issue:`1200313`,
|
||||
:issue:`670664`, :issue:`13273`, :issue:`12888`, :issue:`7311`)
|
||||
:issue:`670664`, :issue:`13273`, :issue:`12888`, :issue:`7311`.)
|
||||
|
||||
A new :data:`~html.entities.html5` dictionary that maps HTML5 named character
|
||||
references to the equivalent Unicode character(s) (e.g. ``html5['gt;'] ==
|
||||
'>'``) has been added to the :mod:`html.entities` module. The dictionary is
|
||||
now also used by :class:`~html.parser.HTMLParser`. (Contributed by Ezio
|
||||
Melotti in :issue:`11113` and :issue:`15156`)
|
||||
Melotti in :issue:`11113` and :issue:`15156`.)
|
||||
|
||||
|
||||
imaplib
|
||||
|
@ -1451,7 +1451,7 @@ imaplib
|
|||
The :class:`~imaplib.IMAP4_SSL` constructor now accepts an SSLContext
|
||||
parameter to control parameters of the secure channel.
|
||||
|
||||
(Contributed by Sijin Joseph in :issue:`8808`)
|
||||
(Contributed by Sijin Joseph in :issue:`8808`.)
|
||||
|
||||
|
||||
inspect
|
||||
|
@ -1462,14 +1462,14 @@ reports the current binding of all names referenced from the function body and
|
|||
where those names were resolved, making it easier to verify correct internal
|
||||
state when testing code that relies on stateful closures.
|
||||
|
||||
(Contributed by Meador Inge and Nick Coghlan in :issue:`13062`)
|
||||
(Contributed by Meador Inge and Nick Coghlan in :issue:`13062`.)
|
||||
|
||||
A new :func:`~inspect.getgeneratorlocals` function has been added. This
|
||||
function reports the current binding of local variables in the generator's
|
||||
stack frame, making it easier to verify correct internal state when testing
|
||||
generators.
|
||||
|
||||
(Contributed by Meador Inge in :issue:`15153`)
|
||||
(Contributed by Meador Inge in :issue:`15153`.)
|
||||
|
||||
io
|
||||
--
|
||||
|
@ -1478,7 +1478,7 @@ The :func:`~io.open` function has a new ``'x'`` mode that can be used to
|
|||
exclusively create a new file, and raise a :exc:`FileExistsError` if the file
|
||||
already exists. It is based on the C11 'x' mode to fopen().
|
||||
|
||||
(Contributed by David Townshend in :issue:`12760`)
|
||||
(Contributed by David Townshend in :issue:`12760`.)
|
||||
|
||||
The constructor of the :class:`~io.TextIOWrapper` class has a new
|
||||
*write_through* optional argument. If *write_through* is ``True``, calls to
|
||||
|
@ -1513,7 +1513,7 @@ math
|
|||
The :mod:`math` module has a new function, :func:`~math.log2`, which returns
|
||||
the base-2 logarithm of *x*.
|
||||
|
||||
(Written by Mark Dickinson in :issue:`11888`).
|
||||
(Written by Mark Dickinson in :issue:`11888`.)
|
||||
|
||||
|
||||
mmap
|
||||
|
@ -1567,7 +1567,7 @@ connection when done::
|
|||
('211 1755 1 1755 gmane.comp.python.committers', 1755, 1, 1755, 'gmane.comp.python.committers')
|
||||
>>>
|
||||
|
||||
(Contributed by Giampaolo Rodolà in :issue:`9795`)
|
||||
(Contributed by Giampaolo Rodolà in :issue:`9795`.)
|
||||
|
||||
|
||||
os
|
||||
|
@ -1744,24 +1744,24 @@ sched
|
|||
set to False makes the method execute the scheduled events due to expire
|
||||
soonest (if any) and then return immediately.
|
||||
This is useful in case you want to use the :class:`~sched.scheduler` in
|
||||
non-blocking applications. (Contributed by Giampaolo Rodolà in :issue:`13449`)
|
||||
non-blocking applications. (Contributed by Giampaolo Rodolà in :issue:`13449`.)
|
||||
|
||||
* :class:`~sched.scheduler` class can now be safely used in multi-threaded
|
||||
environments. (Contributed by Josiah Carlson and Giampaolo Rodolà in
|
||||
:issue:`8684`)
|
||||
:issue:`8684`.)
|
||||
|
||||
* *timefunc* and *delayfunct* parameters of :class:`~sched.scheduler` class
|
||||
constructor are now optional and defaults to :func:`time.time` and
|
||||
:func:`time.sleep` respectively. (Contributed by Chris Clark in
|
||||
:issue:`13245`)
|
||||
:issue:`13245`.)
|
||||
|
||||
* :meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs`
|
||||
*argument* parameter is now optional. (Contributed by Chris Clark in
|
||||
:issue:`13245`)
|
||||
:issue:`13245`.)
|
||||
|
||||
* :meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs`
|
||||
now accept a *kwargs* parameter. (Contributed by Chris Clark in
|
||||
:issue:`13245`)
|
||||
:issue:`13245`.)
|
||||
|
||||
|
||||
select
|
||||
|
@ -1787,10 +1787,10 @@ shutil
|
|||
* New functions:
|
||||
|
||||
* :func:`~shutil.disk_usage`: provides total, used and free disk space
|
||||
statistics. (Contributed by Giampaolo Rodolà in :issue:`12442`)
|
||||
statistics. (Contributed by Giampaolo Rodolà in :issue:`12442`.)
|
||||
* :func:`~shutil.chown`: allows one to change user and/or group of the given
|
||||
path also specifying the user/group names and not only their numeric
|
||||
ids. (Contributed by Sandro Tosi in :issue:`12191`)
|
||||
ids. (Contributed by Sandro Tosi in :issue:`12191`.)
|
||||
* :func:`shutil.get_terminal_size`: returns the size of the terminal window
|
||||
to which the interpreter is attached. (Contributed by Zbigniew
|
||||
Jędrzejewski-Szmek in :issue:`13609`.)
|
||||
|
@ -1813,7 +1813,7 @@ shutil
|
|||
|
||||
* :func:`~shutil.rmtree` is now resistant to symlink attacks on platforms
|
||||
which support the new ``dir_fd`` parameter in :func:`os.open` and
|
||||
:func:`os.unlink`. (Contributed by Martin von Löwis and Hynek Schlawack
|
||||
:func:`os.unlink`. (Contributed by Martin von Löwis and Hynek Schlawack
|
||||
in :issue:`4489`.)
|
||||
|
||||
|
||||
|
@ -1867,7 +1867,7 @@ by Giampaolo Rodolà in :issue:`11289`.)
|
|||
|
||||
The :class:`~smtplib.SMTP_SSL` constructor and the :meth:`~smtplib.SMTP.starttls`
|
||||
method now accept an SSLContext parameter to control parameters of the secure
|
||||
channel. (Contributed by Kasun Herath in :issue:`8809`)
|
||||
channel. (Contributed by Kasun Herath in :issue:`8809`.)
|
||||
|
||||
|
||||
socket
|
||||
|
@ -1887,7 +1887,7 @@ socket
|
|||
(http://en.wikipedia.org/wiki/Socketcan), on Linux
|
||||
(http://lwn.net/Articles/253425).
|
||||
|
||||
(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:`10141`)
|
||||
(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:`10141`.)
|
||||
|
||||
* The :class:`~socket.socket` class now supports the PF_RDS protocol family
|
||||
(http://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and
|
||||
|
@ -1929,37 +1929,37 @@ ssl
|
|||
pseudo-random bytes.
|
||||
* :func:`~ssl.RAND_pseudo_bytes`: generate pseudo-random bytes.
|
||||
|
||||
(Contributed by Victor Stinner in :issue:`12049`)
|
||||
(Contributed by Victor Stinner in :issue:`12049`.)
|
||||
|
||||
* The :mod:`ssl` module now exposes a finer-grained exception hierarchy
|
||||
in order to make it easier to inspect the various kinds of errors.
|
||||
(Contributed by Antoine Pitrou in :issue:`11183`)
|
||||
(Contributed by Antoine Pitrou in :issue:`11183`.)
|
||||
|
||||
* :meth:`~ssl.SSLContext.load_cert_chain` now accepts a *password* argument
|
||||
to be used if the private key is encrypted.
|
||||
(Contributed by Adam Simpkins in :issue:`12803`)
|
||||
(Contributed by Adam Simpkins in :issue:`12803`.)
|
||||
|
||||
* Diffie-Hellman key exchange, both regular and Elliptic Curve-based, is
|
||||
now supported through the :meth:`~ssl.SSLContext.load_dh_params` and
|
||||
:meth:`~ssl.SSLContext.set_ecdh_curve` methods.
|
||||
(Contributed by Antoine Pitrou in :issue:`13626` and :issue:`13627`)
|
||||
(Contributed by Antoine Pitrou in :issue:`13626` and :issue:`13627`.)
|
||||
|
||||
* SSL sockets have a new :meth:`~ssl.SSLSocket.get_channel_binding` method
|
||||
allowing the implementation of certain authentication mechanisms such as
|
||||
SCRAM-SHA-1-PLUS. (Contributed by Jacek Konieczny in :issue:`12551`)
|
||||
SCRAM-SHA-1-PLUS. (Contributed by Jacek Konieczny in :issue:`12551`.)
|
||||
|
||||
* You can query the SSL compression algorithm used by an SSL socket, thanks
|
||||
to its new :meth:`~ssl.SSLSocket.compression` method. The new attribute
|
||||
:attr:`~ssl.OP_NO_COMPRESSION` can be used to disable compression.
|
||||
(Contributed by Antoine Pitrou in :issue:`13634`)
|
||||
(Contributed by Antoine Pitrou in :issue:`13634`.)
|
||||
|
||||
* Support has been added for the Next Procotol Negotiation extension using
|
||||
the :meth:`ssl.SSLContext.set_npn_protocols` method.
|
||||
(Contributed by Colin Marc in :issue:`14204`)
|
||||
(Contributed by Colin Marc in :issue:`14204`.)
|
||||
|
||||
* SSL errors can now be introspected more easily thanks to
|
||||
:attr:`~ssl.SSLError.library` and :attr:`~ssl.SSLError.reason` attributes.
|
||||
(Contributed by Antoine Pitrou in :issue:`14837`)
|
||||
(Contributed by Antoine Pitrou in :issue:`14837`.)
|
||||
|
||||
* The :func:`~ssl.get_server_certificate` function now supports IPv6.
|
||||
(Contributed by Charles-François Natali in :issue:`11811`.)
|
||||
|
@ -1976,7 +1976,7 @@ The undocumented tarfile.filemode function has been moved to
|
|||
:func:`stat.filemode`. It can be used to convert a file's mode to a string of
|
||||
the form '-rwxrwxrwx'.
|
||||
|
||||
(Contributed by Giampaolo Rodolà in :issue:`14807`)
|
||||
(Contributed by Giampaolo Rodolà in :issue:`14807`.)
|
||||
|
||||
|
||||
struct
|
||||
|
@ -2035,8 +2035,8 @@ threading
|
|||
:class:`threading.Condition`, :class:`threading.Semaphore`,
|
||||
:class:`threading.BoundedSemaphore`, :class:`threading.Event`, and
|
||||
:class:`threading.Timer`, all of which used to be factory functions returning a
|
||||
class instance, are now classes and may be subclassed. (Contributed by Éric
|
||||
Araujo in :issue:`10968`).
|
||||
class instance, are now classes and may be subclassed. (Contributed by Éric
|
||||
Araujo in :issue:`10968`.)
|
||||
|
||||
The :class:`threading.Thread` constructor now accepts a ``daemon`` keyword
|
||||
argument to override the default behavior of inheriting the ``deamon`` flag
|
||||
|
@ -2066,7 +2066,7 @@ Other new functions:
|
|||
|
||||
* :func:`~time.clock_getres`, :func:`~time.clock_gettime` and
|
||||
:func:`~time.clock_settime` functions with ``CLOCK_xxx`` constants.
|
||||
(Contributed by Victor Stinner in :issue:`10278`)
|
||||
(Contributed by Victor Stinner in :issue:`10278`.)
|
||||
|
||||
To improve cross platform consistency, :func:`~time.sleep` now raises a
|
||||
:exc:`ValueError` when passed a negative sleep value. Previously this was an
|
||||
|
@ -2090,7 +2090,7 @@ unittest
|
|||
:meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns`, and
|
||||
:meth:`.assertWarnsRegex` now accept a keyword argument *msg* when used as
|
||||
context managers. (Contributed by Ezio Melotti and Winston Ewert in
|
||||
:issue:`10775`)
|
||||
:issue:`10775`.)
|
||||
|
||||
:meth:`unittest.TestCase.run` now returns the :class:`~unittest.TestResult`
|
||||
object.
|
||||
|
@ -2117,7 +2117,7 @@ The :mod:`webbrowser` module supports more "browsers": Google Chrome (named
|
|||
and the generic launchers :program:`xdg-open`, from the FreeDesktop.org
|
||||
project, and :program:`gvfs-open`, which is the default URI handler for GNOME
|
||||
3. (The former contributed by Arnaud Calmettes in :issue:`13620`, the latter
|
||||
by Matthias Klose in :issue:`14493`)
|
||||
by Matthias Klose in :issue:`14493`.)
|
||||
|
||||
|
||||
xml.etree.ElementTree
|
||||
|
@ -2160,7 +2160,7 @@ Major performance enhancements have been added:
|
|||
|
||||
* UTF-8 is now 2x to 4x faster. UTF-16 encoding is now up to 10x faster.
|
||||
|
||||
(contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and
|
||||
(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and
|
||||
:issue:`15026`.)
|
||||
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
* It's helpful to add the bug/patch number as a comment:
|
||||
|
||||
The :ref:`~socket.transmogrify()` function was added to the
|
||||
:mod:`socket` module. (Contributed by P.Y. Developer in :issue:`12345`.)
|
||||
:mod:`socket` module. (Contributed by P.Y. Developer in :issue:`12345`.)
|
||||
|
||||
This saves the maintainer the effort of going through the Mercurial log
|
||||
when researching a change.
|
||||
|
@ -372,7 +372,7 @@ The binary and text transforms provided in the standard library are detailed
|
|||
in :ref:`binary-transforms` and :ref:`text-transforms`.
|
||||
|
||||
(Contributed by Nick Coghlan in :issue:`7475`, :issue:`17827`,
|
||||
:issue:`17828` and :issue:`19619`)
|
||||
:issue:`17828` and :issue:`19619`.)
|
||||
|
||||
|
||||
.. _whatsnew-pep-451:
|
||||
|
@ -414,14 +414,14 @@ Some smaller changes made to the core Python language are:
|
|||
* Module ``__file__`` attributes (and related values) should now always
|
||||
contain absolute paths by default, with the sole exception of
|
||||
``__main__.__file__`` when a script has been executed directly using
|
||||
a relative path (Contributed by Brett Cannon in :issue:`18416`).
|
||||
a relative path. (Contributed by Brett Cannon in :issue:`18416`.)
|
||||
|
||||
* 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 (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`.
|
||||
(Contributed by Victor Stinner, Kang-Hao (Kenny) Lu and Serhiy Storchaka in
|
||||
:issue:`12892`.)
|
||||
|
||||
* New German EBCDIC :ref:`codec <standard-encodings>` ``cp273``. (Contributed
|
||||
by Michael Bierenfeld and Andrew Kuchling in :issue:`1097797`.)
|
||||
|
@ -633,8 +633,8 @@ audioop
|
|||
in :issue:`12866`.)
|
||||
|
||||
New :func:`~audioop.byteswap` function converts big-endian samples to
|
||||
little-endian and vice versa (Contributed by Serhiy Storchaka in
|
||||
:issue:`19641`).
|
||||
little-endian and vice versa. (Contributed by Serhiy Storchaka in
|
||||
:issue:`19641`.)
|
||||
|
||||
All :mod:`audioop` functions now accept any :term:`bytes-like object`. Strings
|
||||
are not accepted: they didn't work before, now they raise an error right away.
|
||||
|
@ -681,8 +681,8 @@ contextlib
|
|||
|
||||
The new :class:`contextlib.suppress` context manager helps to clarify the
|
||||
intent of code that deliberately suppresses exceptions from a single
|
||||
statement. (Contributed by Raymond Hettinger in :issue:`15806` and
|
||||
Zero Piraeus in :issue:`19266`)
|
||||
statement. (Contributed by Raymond Hettinger in :issue:`15806` and
|
||||
Zero Piraeus in :issue:`19266`.)
|
||||
|
||||
The new :func:`contextlib.redirect_stdout` context manager makes it easier
|
||||
for utility scripts to handle inflexible APIs that write their output to
|
||||
|
@ -693,7 +693,7 @@ The latter can be especially useful, for example, to capture output
|
|||
from a function that was written to implement a command line interface.
|
||||
It is recommended only for utility scripts because it affects the
|
||||
global state of :data:`sys.stdout`. (Contributed by Raymond Hettinger
|
||||
in :issue:`15805`)
|
||||
in :issue:`15805`.)
|
||||
|
||||
The :mod:`contextlib` documentation has also been updated to include a
|
||||
:ref:`discussion <single-use-reusable-and-reentrant-cms>` of the
|
||||
|
@ -765,7 +765,7 @@ traceback (that is, ``print(Bytecode.from_traceback(tb).dis())`` is equivalent
|
|||
to ``distb(tb)``).
|
||||
|
||||
(Contributed by Nick Coghlan, Ryan Kelly and Thomas Kluyver in :issue:`11816`
|
||||
and Claudiu Popa in :issue:`17916`)
|
||||
and Claudiu Popa in :issue:`17916`.)
|
||||
|
||||
New function :func:`~dis.stack_effect` computes the effect on the Python stack
|
||||
of a given opcode and argument, information that is not otherwise available.
|
||||
|
@ -855,7 +855,7 @@ application to descriptors, just as :func:`~functools.partial` provides
|
|||
for normal callables. The new descriptor also makes it easier to get
|
||||
arbitrary callables (including :func:`~functools.partial` instances)
|
||||
to behave like normal instance methods when included in a class definition.
|
||||
(Contributed by Alon Horev and Nick Coghlan in :issue:`4331`)
|
||||
(Contributed by Alon Horev and Nick Coghlan in :issue:`4331`.)
|
||||
|
||||
.. _whatsnew-singledispatch:
|
||||
|
||||
|
@ -903,7 +903,7 @@ hashlib
|
|||
A new :func:`hashlib.pbkdf2_hmac` function provides
|
||||
the `PKCS#5 password-based key derivation function 2
|
||||
<http://en.wikipedia.org/wiki/PBKDF2>`_. (Contributed by Christian
|
||||
Heimes in :issue:`18582`)
|
||||
Heimes in :issue:`18582`.)
|
||||
|
||||
The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is now
|
||||
a formally supported interface. It has always existed in CPython's
|
||||
|
@ -939,17 +939,17 @@ html
|
|||
|
||||
New function :func:`~html.unescape` function converts HTML5 character references to
|
||||
the corresponding Unicode characters. (Contributed by Ezio Melotti in
|
||||
:issue:`2927`)
|
||||
:issue:`2927`.)
|
||||
|
||||
:class:`~html.parser.HTMLParser` accepts a new keyword argument
|
||||
*convert_charrefs* that, when ``True``, automatically converts all character
|
||||
references. For backward-compatibility, its value defaults to ``False``, but
|
||||
it will change to ``True`` in a future version of Python, so you are invited to
|
||||
set it explicitly and update your code to use this new feature. (Contributed
|
||||
by Ezio Melotti in :issue:`13633`)
|
||||
by Ezio Melotti in :issue:`13633`.)
|
||||
|
||||
The *strict* argument of :class:`~html.parser.HTMLParser` is now deprecated.
|
||||
(Contributed by Ezio Melotti in :issue:`15114`)
|
||||
(Contributed by Ezio Melotti in :issue:`15114`.)
|
||||
|
||||
|
||||
http
|
||||
|
@ -1015,19 +1015,19 @@ inspect
|
|||
|
||||
The :mod:`inspect` module now offers a basic :ref:`command line interface
|
||||
<inspect-module-cli>` to quickly display source code and other
|
||||
information for modules, classes and functions. (Contributed by Claudiu Popa
|
||||
and Nick Coghlan in :issue:`18626`)
|
||||
information for modules, classes and functions. (Contributed by Claudiu Popa
|
||||
and Nick Coghlan in :issue:`18626`.)
|
||||
|
||||
:func:`~inspect.unwrap` makes it easy to unravel wrapper function chains
|
||||
created by :func:`functools.wraps` (and any other API that sets the
|
||||
``__wrapped__`` attribute on a wrapper function). (Contributed by
|
||||
Daniel Urban, Aaron Iles and Nick Coghlan in :issue:`13266`)
|
||||
``__wrapped__`` attribute on a wrapper function). (Contributed by
|
||||
Daniel Urban, Aaron Iles and Nick Coghlan in :issue:`13266`.)
|
||||
|
||||
As part of the implementation of the new :mod:`enum` module, the
|
||||
:mod:`inspect` module now has substantially better support for custom
|
||||
``__dir__`` methods and dynamic class attributes provided through
|
||||
metaclasses (Contributed by Ethan Furman in :issue:`18929` and
|
||||
:issue:`19030`)
|
||||
metaclasses. (Contributed by Ethan Furman in :issue:`18929` and
|
||||
:issue:`19030`.)
|
||||
|
||||
:func:`~inspect.getfullargspec` and :func:`~inspect.getargspec`
|
||||
now use the :func:`~inspect.signature` API. This allows them to
|
||||
|
@ -1038,11 +1038,11 @@ clinic, :func:`functools.partial` objects and more. Note that, unlike
|
|||
attributes, and report the already bound first argument for bound methods,
|
||||
so it is still necessary to update your code to use
|
||||
:func:`~inspect.signature` directly if those features are desired.
|
||||
(Contributed by Yury Selivanov in :issue:`17481`)
|
||||
(Contributed by Yury Selivanov in :issue:`17481`.)
|
||||
|
||||
:func:`~inspect.signature` now supports duck types of CPython functions,
|
||||
which adds support for functions compiled with Cython. (Contributed
|
||||
by Stefan Behnel and Yury Selivanov in :issue:`17159`)
|
||||
which adds support for functions compiled with Cython. (Contributed
|
||||
by Stefan Behnel and Yury Selivanov in :issue:`17159`.)
|
||||
|
||||
|
||||
ipaddress
|
||||
|
@ -1082,7 +1082,7 @@ the application modifies the configuration before passing it to
|
|||
Logging configuration data received from a socket via the
|
||||
:func:`logging.config.listen` function can now be validated before being
|
||||
processed by supplying a verification function as the argument to the new
|
||||
*verify* keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)
|
||||
*verify* keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)
|
||||
|
||||
|
||||
.. _whatsnew-marshal-3:
|
||||
|
@ -1120,7 +1120,7 @@ always used on Windows. New function
|
|||
:func:`~multiprocessing.get_all_start_methods` reports all start methods
|
||||
available on the platform, :func:`~multiprocessing.get_start_method` reports
|
||||
the current start method, and :func:`~multiprocessing.set_start_method` sets
|
||||
the start method. (Contributed by Richard Oudkerk in :issue:`8713`).
|
||||
the start method. (Contributed by Richard Oudkerk in :issue:`8713`.)
|
||||
|
||||
:mod:`multiprocessing` also now has the concept of a ``context``, which
|
||||
determines how child processes are created. New function
|
||||
|
@ -1141,7 +1141,7 @@ inherit unneeded handles/file descriptors from their parents (part of
|
|||
when using the ``spawn`` or ``forkserver`` start methods. This resolves some
|
||||
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`)
|
||||
processes. (Contributed by Nick Coghlan in :issue:`19946`.)
|
||||
|
||||
|
||||
operator
|
||||
|
@ -1176,7 +1176,7 @@ Victor Stinner, and Charles-François Natali in :issue:`17914`.)
|
|||
Windows). (Contributed by Brian Curtin in :issue:`11939`.)
|
||||
|
||||
:func:`os.path.ismount` now recognizes volumes mounted below a drive
|
||||
root on Windows. (Contributed by Tim Golden in :issue:`9035`.)
|
||||
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_PATH` (un-opened file descriptor), and :data:`~os.O_TMPFILE`
|
||||
|
@ -1230,7 +1230,7 @@ stdlib serialization protocols, with new :func:`~plistlib.load`,
|
|||
functions. (The older API is now deprecated.) In addition to the already
|
||||
supported XML plist format (:data:`~plistlib.FMT_XML`), it also now supports
|
||||
the binary plist format (:data:`~plistlib.FMT_BINARY`). (Contributed by Ronald
|
||||
Oussoren and others in :issue:`14455`).
|
||||
Oussoren and others in :issue:`14455`.)
|
||||
|
||||
|
||||
poplib
|
||||
|
@ -1254,7 +1254,7 @@ sequence elements as will fit within *width* on each (indented) line.
|
|||
(Contributed by Serhiy Storchaka in :issue:`19132`.)
|
||||
|
||||
Long strings are now wrapped using Python's normal line continuation
|
||||
syntax. (Contributed by Antoine Pitrou in :issue:`17150`).
|
||||
syntax. (Contributed by Antoine Pitrou in :issue:`17150`.)
|
||||
|
||||
|
||||
pty
|
||||
|
@ -1270,13 +1270,13 @@ 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 displaying help information
|
||||
(Contributed by Larry Hastings in :issue:`19674`)
|
||||
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
|
||||
signature of the supplied callable (Contributed by Larry Hastings in
|
||||
:issue:`20710`)
|
||||
signature of the supplied callable. (Contributed by Larry Hastings in
|
||||
:issue:`20710`.)
|
||||
|
||||
In addition to the changes that have been made to :mod:`pydoc` directly,
|
||||
its handling of custom ``__dir__`` methods and various descriptor
|
||||
|
@ -1372,7 +1372,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.
|
||||
(Contributed by Ned Jackson Lovely in :issue:`2118`).
|
||||
(Contributed by Ned Jackson Lovely in :issue:`2118`.)
|
||||
|
||||
|
||||
socket
|
||||
|
@ -1412,7 +1412,7 @@ ssl
|
|||
:data:`~ssl.PROTOCOL_TLSv1_1` and :data:`~ssl.PROTOCOL_TLSv1_2` (TLSv1.1 and
|
||||
TLSv1.2 support) have been added; support for these protocols is only available if
|
||||
Python is linked with OpenSSL 1.0.1 or later. (Contributed by Michele Orrù and
|
||||
Antoine Pitrou in :issue:`16692`)
|
||||
Antoine Pitrou in :issue:`16692`.)
|
||||
|
||||
.. _whatsnew34-sslcontext:
|
||||
|
||||
|
@ -1596,7 +1596,7 @@ traceback
|
|||
A new :func:`traceback.clear_frames` function takes a traceback object
|
||||
and clears the local variables in all of the frames it references,
|
||||
reducing the amount of memory consumed. (Contributed by Andrew Kuchling in
|
||||
:issue:`1565525`).
|
||||
:issue:`1565525`.)
|
||||
|
||||
|
||||
types
|
||||
|
@ -1619,7 +1619,7 @@ in :issue:`16423`.)
|
|||
|
||||
The http method that will be used by a :class:`~urllib.request.Request` class
|
||||
can now be specified by setting a :class:`~urllib.request.Request.method`
|
||||
class attribute on the subclass. (Contributed by Jason R Coombs in
|
||||
class attribute on the subclass. (Contributed by Jason R Coombs in
|
||||
:issue:`18978`.)
|
||||
|
||||
:class:`~urllib.request.Request` objects are now reusable: if the
|
||||
|
@ -1701,14 +1701,14 @@ 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`.)
|
||||
methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)
|
||||
|
||||
|
||||
venv
|
||||
----
|
||||
|
||||
:mod:`venv` now includes activation scripts for the ``csh`` and ``fish``
|
||||
shells (Contributed by Andrew Svetlov in :issue:`15417`.)
|
||||
shells. (Contributed by Andrew Svetlov in :issue:`15417`.)
|
||||
|
||||
:class:`~venv.EnvBuilder` and the :func:`~venv.create` convenience function
|
||||
take a new keyword argument *with_pip*, which defaults to ``False``, that
|
||||
|
@ -1739,12 +1739,12 @@ weakref
|
|||
-------
|
||||
|
||||
New :class:`~weakref.WeakMethod` class simulates weak references to bound
|
||||
methods. (Contributed by Antoine Pitrou in :issue:`14631`.)
|
||||
methods. (Contributed by Antoine Pitrou in :issue:`14631`.)
|
||||
|
||||
New :class:`~weakref.finalize` class makes it possible to register a callback
|
||||
to be invoked when an object is garbage collected, without needing to
|
||||
carefully manage the lifecycle of the weak reference itself. (Contributed by
|
||||
Richard Oudkerk in :issue:`15528`)
|
||||
carefully manage the lifecycle of the weak reference itself. (Contributed by
|
||||
Richard Oudkerk in :issue:`15528`.)
|
||||
|
||||
The callback, if any, associated with a :class:`~weakref.ref` is now
|
||||
exposed via the :attr:`~weakref.ref.__callback__` attribute. (Contributed
|
||||
|
@ -1879,16 +1879,16 @@ 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 limited API. (Contributed by Martin von Löwis in :issue:`17162`.)
|
||||
|
||||
* The new :c:func:`Py_SetStandardStreamEncoding` pre-initialization API
|
||||
allows applications embedding the CPython interpreter to reliably force
|
||||
a particular encoding and error handler for the standard streams
|
||||
(Contributed by Bastien Montagne and Nick Coghlan in :issue:`16129`)
|
||||
a particular encoding and error handler for the standard streams.
|
||||
(Contributed by Bastien Montagne and Nick Coghlan in :issue:`16129`.)
|
||||
|
||||
* Most Python C APIs that don't mutate string arguments are now correctly
|
||||
marked as accepting ``const char *`` rather than ``char *`` (Contributed
|
||||
by Serhiy Storchaka in :issue:`1772673`).
|
||||
marked as accepting ``const char *`` rather than ``char *``. (Contributed
|
||||
by Serhiy Storchaka in :issue:`1772673`.)
|
||||
|
||||
* A new shell version of ``python-config`` can be used even when a python
|
||||
interpreter is not available (for example, in cross compilation scenarios).
|
||||
|
@ -1958,7 +1958,7 @@ Other Improvements
|
|||
* The ``-R`` option to the :ref:`python regression test suite <regrtest>` now
|
||||
also checks for memory allocation leaks, using
|
||||
:func:`sys.getallocatedblocks()`. (Contributed by Antoine Pitrou in
|
||||
:issue:`13390`).
|
||||
:issue:`13390`.)
|
||||
|
||||
* ``python -m`` now works with namespace packages.
|
||||
|
||||
|
@ -2021,14 +2021,14 @@ Significant Optimizations
|
|||
longer imported by default. The marshal module has been improved to load
|
||||
compiled Python code faster. (Contributed by Antoine Pitrou, Christian
|
||||
Heimes and Victor Stinner in :issue:`19219`, :issue:`19218`, :issue:`19209`,
|
||||
:issue:`19205` and :issue:`9548`)
|
||||
:issue:`19205` and :issue:`9548`.)
|
||||
|
||||
* :class:`bz2.BZ2File` is now as fast or faster than the Python2 version for
|
||||
most cases. :class:`lzma.LZMAFile` has also been optimized. (Contributed by
|
||||
Serhiy Storchaka and Nadeem Vawda in :issue:`16034`.)
|
||||
|
||||
* :func:`random.getrandbits` is 20%-40% faster for small integers (the most
|
||||
common use case). (Contributed by Serhiy Storchaka in :issue:`16674`).
|
||||
common use case). (Contributed by Serhiy Storchaka in :issue:`16674`.)
|
||||
|
||||
* By taking advantage of the new storage format for strings, pickling of
|
||||
strings is now significantly faster. (Contributed by Victor Stinner and
|
||||
|
@ -2048,7 +2048,7 @@ Significant Optimizations
|
|||
|
||||
* :func:`os.urandom` now uses a lazily-opened persistent file descriptor
|
||||
so as to avoid using many file descriptors when run in parallel from
|
||||
multiple threads. (Contributed by Antoine Pitrou in :issue:`18756`.)
|
||||
multiple threads. (Contributed by Antoine Pitrou in :issue:`18756`.)
|
||||
|
||||
|
||||
.. _deprecated-3.4:
|
||||
|
@ -2246,7 +2246,7 @@ Changes in 'python' Command Behavior
|
|||
|
||||
* The [X refs, Y blocks] output of a debug (``--with-pydebug``) build of the
|
||||
CPython interpreter is now off by default. It can be re-enabled using the
|
||||
``-X showrefcount`` option. (Contributed by Ezio Melotti in :issue:`17323`.)
|
||||
``-X showrefcount`` option. (Contributed by Ezio Melotti in :issue:`17323`.)
|
||||
|
||||
* The python command and most stdlib scripts (as well as :mod:`argparse`) now
|
||||
output ``--version`` information to ``stdout`` instead of ``stderr`` (for
|
||||
|
@ -2395,8 +2395,8 @@ Changes in the Python API
|
|||
storage). (:issue:`17094`.)
|
||||
|
||||
* Parameter names in ``__annotations__`` dicts are now mangled properly,
|
||||
similarly to ``__kwdefaults__``. (Contributed by Yury Selivanov in
|
||||
:issue:`20625`).
|
||||
similarly to ``__kwdefaults__``. (Contributed by Yury Selivanov in
|
||||
:issue:`20625`.)
|
||||
|
||||
* :attr:`hashlib.hash.name` now always returns the identifier in lower case.
|
||||
Previously some builtin hashes had uppercase names, but now that it is a
|
||||
|
|
Loading…
Reference in New Issue