Commit 552605df authored by R David Murray's avatar R David Murray

More whatsnew updates.

parent 11b9fc0e
...@@ -1328,7 +1328,24 @@ standard Content Transfer Encodings. ...@@ -1328,7 +1328,24 @@ standard Content Transfer Encodings.
Other API Changes Other API Changes
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
Added :class:`email.parser.BytesHeaderParser`. New :class:`~email.parser.BytesHeaderParser`, added to the :mod:`~email.parser`
module to complement :class:`~email.parser.HeaderParser` and complete the Bytes
API.
New utility functions:
* :func:`~email.utils.format_datetime`: given a :class:`~datetime.datetime`,
produce a string formatted for use in an email header.
* :func:`~email.utils.parsedate_to_datetime`: given a date string from
an email header, convert it into an aware :class:`~datetime.datetime`,
or a naive :class:`~datetime.datetime` if the offset is ``-0000``.
* :func:`~email.utils.localtime`: With no argument, returns the
current local time as an aware :class:`~datetime.datetime` using the local
:class:`~datetime.timezone`. Given an aware :class:`~datetime.datetime`,
converts it into an aware :class:`~datetime.datetime` using the
local :class:`~datetime.timezone`.
ftplib ftplib
...@@ -1453,8 +1470,14 @@ providing a user-supplied binary function. ...@@ -1453,8 +1470,14 @@ providing a user-supplied binary function.
logging logging
------- -------
:func:`~logging.basicConfig` now supports an optional ``handlers`` argument The :func:`~logging.basicConfig` function now supports an optional ``handlers``
taking an iterable of handlers to be added to the root logger. argument taking an iterable of handlers to be added to the root logger.
A class level attribute :attr:`~logging.handlers.SysLogHandler.append_nul` has
been added to :class:`~logging.handlers.SysLogHandler` to allow control of the
appending of the ``NUL`` (``\000``) byte to syslog records, since for some
deamons it is required while for others it is passed through to the log.
math math
...@@ -1466,6 +1489,15 @@ the base-2 logarithm of *x*. ...@@ -1466,6 +1489,15 @@ the base-2 logarithm of *x*.
(Written by Mark Dickinson in :issue:`11888`). (Written by Mark Dickinson in :issue:`11888`).
mmap
----
The :meth:`~mmap.mmap.read` method is now more compatible with other file-like
objects: if the argument is omitted or specified as ``None``, it returns the
bytes from the current file position to the end of the mapping. (Contributed
by Petri Lehtinen in :issue:`12021`.)
multiprocessing multiprocessing
--------------- ---------------
...@@ -1752,14 +1784,6 @@ signal ...@@ -1752,14 +1784,6 @@ signal
instead of a RuntimeError: OSError has an errno attribute. instead of a RuntimeError: OSError has an errno attribute.
smtp
----
:class:`~smtplib.SMTP` now supports the context manager protocol, allowing an
``SMTP`` instance to be used in a ``with`` statement. (Contributed
by Giampaolo Rodolà in :issue:`11289`.)
smtpd smtpd
----- -----
...@@ -1775,11 +1799,13 @@ Orrù and Dan Boswell. :issue:`8739`) ...@@ -1775,11 +1799,13 @@ Orrù and Dan Boswell. :issue:`8739`)
smtplib smtplib
------- -------
:class:`~smtplib.SMTP` now supports the context manager protocol, allowing an
``SMTP`` instance to be used in a ``with`` statement. (Contributed
by Giampaolo Rodolà in :issue:`11289`.)
The :class:`~smtplib.SMTP_SSL` constructor and the :meth:`~smtplib.SMTP.starttls` The :class:`~smtplib.SMTP_SSL` constructor and the :meth:`~smtplib.SMTP.starttls`
method now accept an SSLContext parameter to control parameters of the secure method now accept an SSLContext parameter to control parameters of the secure
channel. channel. (Contributed by Kasun Herath in :issue:`8809`)
(Contributed by Kasun Herath in :issue:`8809`)
socket socket
...@@ -1942,6 +1968,10 @@ Other new functions: ...@@ -1942,6 +1968,10 @@ Other new functions:
:func:`~time.clock_settime` functions with ``CLOCK_xxx`` constants. :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
error on posix, but produced an infinite sleep on Windows.
types types
----- -----
...@@ -2283,9 +2313,16 @@ Porting Python code ...@@ -2283,9 +2313,16 @@ Porting Python code
* The deprecated variable ``time.accept2dyear`` has been removed. * The deprecated variable ``time.accept2dyear`` has been removed.
* The undocumented internal helper class ``SSLFakeFile`` has been * The undocumented internal helper class ``SSLFakeFile`` has been removed
removed from :mod:`smtplib`, since its functionality has long been from :mod:`smtplib`, since its functionality has long been provided directly
provided directly by :meth:`socket.socket.makefile`. by :meth:`socket.socket.makefile`.
* Passing a negative value to :func:`time.sleep` on Windows now raises an
error instead of sleeping forever. It has always raised an error on posix.
* The ``ast.__version__`` constant has been removed. If you need to
make decisions affected by the AST version, use :attr:`sys.version_info`
to make the decision.
Porting C code Porting C code
......
...@@ -3147,7 +3147,7 @@ Library ...@@ -3147,7 +3147,7 @@ Library
- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by - Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by
the garbage collector while the Heap lock is held. the garbage collector while the Heap lock is held.
- Issue #12462: time.sleep() now calls immediatly the (Python) signal handler - Issue #12462: time.sleep() now immediately calls the (Python) signal handler
if it is interrupted by a signal, instead of having to wait until the next if it is interrupted by a signal, instead of having to wait until the next
instruction. instruction.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment