@@ -1325,6 +1325,11 @@ way it ought to: your application works with unicode strings, and the email
1325
1325
package transparently encodes and decodes the unicode to and from the RFC
1326
1326
standard Content Transfer Encodings.
1327
1327
1328
+ Other API Changes
1329
+ ~~~~~~~~~~~~~~~~~
1330
+
1331
+ Added :class: `email.parser.BytesHeaderParser `.
1332
+
1328
1333
1329
1334
ftplib
1330
1335
------
@@ -1371,6 +1376,16 @@ used by :class:`~html.parser.HTMLParser`.
1371
1376
(Contributed by Ezio Melotti in :issue: `11113 ` and :issue: `15156 `)
1372
1377
1373
1378
1379
+ http
1380
+ ----
1381
+
1382
+ :class: `http.server.BaseHTTPRequestHandler ` now buffers the headers and writes
1383
+ them all at once when :meth: `~http.server.BaseHTTPRequestHandler.end_headers ` is
1384
+ called. A new method :meth: `~http.server.BaseHTTPRequestHandler.flush_headers `
1385
+ can be used to directly manage when the accumlated headers are sent.
1386
+ (Contributed by Andrew Schaaf in :issue: `3709 `.)
1387
+
1388
+
1374
1389
html.parser
1375
1390
-----------
1376
1391
@@ -1385,6 +1400,7 @@ are also available on the latest bug fix releases of Python 2.7/3.2.
1385
1400
:issue: `755670 `, :issue: `13357 `, :issue: `12629 `, :issue: `1200313 `,
1386
1401
:issue: `670664 `, :issue: `13273 `, :issue: `12888 `, :issue: `7311 `)
1387
1402
1403
+
1388
1404
imaplib
1389
1405
-------
1390
1406
@@ -1427,6 +1443,20 @@ written on the :class:`~io.TextIOWrapper` object is immediately handled to its
1427
1443
underlying binary buffer.
1428
1444
1429
1445
1446
+ itertools
1447
+ ---------
1448
+
1449
+ :func: `~itertools.accumulate ` now takes an optional ``func `` argument for
1450
+ providing a user-supplied binary function.
1451
+
1452
+
1453
+ logging
1454
+ -------
1455
+
1456
+ :func: `~logging.basicConfig ` now supports an optional ``handlers `` argument
1457
+ taking an iterable of handlers to be added to the root logger.
1458
+
1459
+
1430
1460
math
1431
1461
----
1432
1462
@@ -1775,6 +1805,15 @@ socket
1775
1805
(Contributed by Ross Lagerwall in :issue: `10866 `.)
1776
1806
1777
1807
1808
+ sqlite3
1809
+ -------
1810
+
1811
+ New :class: `sqlite3.Connection ` method
1812
+ :meth: `~sqlite3.Connection.set_trace_callback ` can be used to capture a trace of
1813
+ all sql commands processed by sqlite. (Contributed by Torsten Landschoff
1814
+ in :issue: `11688 `.)
1815
+
1816
+
1778
1817
ssl
1779
1818
---
1780
1819
@@ -1788,41 +1827,37 @@ ssl
1788
1827
1789
1828
* The :mod: `ssl ` module now exposes a finer-grained exception hierarchy
1790
1829
in order to make it easier to inspect the various kinds of errors.
1791
-
1792
1830
(Contributed by Antoine Pitrou in :issue: `11183 `)
1793
1831
1794
1832
* :meth: `~ssl.SSLContext.load_cert_chain ` now accepts a *password * argument
1795
1833
to be used if the private key is encrypted.
1796
-
1797
1834
(Contributed by Adam Simpkins in :issue: `12803 `)
1798
1835
1799
1836
* Diffie-Hellman key exchange, both regular and Elliptic Curve-based, is
1800
1837
now supported through the :meth: `~ssl.SSLContext.load_dh_params ` and
1801
1838
:meth: `~ssl.SSLContext.set_ecdh_curve ` methods.
1802
-
1803
1839
(Contributed by Antoine Pitrou in :issue: `13626 ` and :issue: `13627 `)
1804
1840
1805
1841
* SSL sockets have a new :meth: `~ssl.SSLSocket.get_channel_binding ` method
1806
1842
allowing the implementation of certain authentication mechanisms such as
1807
- SCRAM-SHA-1-PLUS.
1808
-
1809
- (Contributed by Jacek Konieczny in :issue: `12551 `)
1843
+ SCRAM-SHA-1-PLUS. (Contributed by Jacek Konieczny in :issue: `12551 `)
1810
1844
1811
1845
* You can query the SSL compression algorithm used by an SSL socket, thanks
1812
1846
to its new :meth: `~ssl.SSLSocket.compression ` method.
1813
-
1814
1847
(Contributed by Antoine Pitrou in :issue: `13634 `)
1815
1848
1816
1849
* Support has been added for the Next Procotol Negotiation extension using
1817
1850
the :meth: `ssl.SSLContext.set_npn_protocols ` method.
1818
-
1819
1851
(Contributed by Colin Marc in :issue: `14204 `)
1820
1852
1821
1853
* SSL errors can now be introspected more easily thanks to
1822
1854
:attr: `~ssl.SSLError.library ` and :attr: `~ssl.SSLError.reason ` attributes.
1823
-
1824
1855
(Contributed by Antoine Pitrou in :issue: `14837 `)
1825
1856
1857
+ * The :func: `~ssl.get_server_certificate ` function now supports IPv6.
1858
+ (Contributed by Charles-François Natali in :issue: `11811 `.)
1859
+
1860
+
1826
1861
stat
1827
1862
----
1828
1863
@@ -1837,7 +1872,7 @@ subprocess
1837
1872
----------
1838
1873
1839
1874
Command strings can now be bytes objects on posix platforms. (Contributed by
1840
- Victor Stiner in :issue: `8513 `.)
1875
+ Victor Stinner in :issue: `8513 `.)
1841
1876
1842
1877
A new constant :data: `~subprocess.DEVNULL ` allows suppressing output in a
1843
1878
platform-independent fashion. (Contributed by Ross Lagerwall in
@@ -1848,18 +1883,15 @@ sys
1848
1883
---
1849
1884
1850
1885
The :mod: `sys ` module has a new :data: `~sys.thread_info ` :term: `struct
1851
- sequence ` holding informations about the thread implementation.
1852
-
1853
- (:issue: `11223 `)
1886
+ sequence ` holding informations about the thread implementation
1887
+ (:issue: `11223 `).
1854
1888
1855
1889
textwrap
1856
1890
--------
1857
1891
1858
1892
The :mod: `textwrap ` module has a new :func: `~textwrap.indent ` that makes
1859
1893
it straightforward to add a common prefix to selected lines in a block
1860
- of text.
1861
-
1862
- (:issue: `13857 `)
1894
+ of text (:issue: `13857 `).
1863
1895
1864
1896
1865
1897
threading
@@ -2222,6 +2254,14 @@ Porting Python code
2222
2254
:exc: `poplib.error_proto ` errors may need to be changed if errors on ``quit ``
2223
2255
are encountered by a particular application (:issue: `11291 `).
2224
2256
2257
+ * The ``strict `` argument to :class: `email.parser.Parser `, deprecated since
2258
+ Python 2.4, has finally been removed.
2259
+
2260
+ * The deprecated method ``unittest.TestCase.assertSameElements `` has been
2261
+ removed.
2262
+
2263
+ * The deprecated variable ``time.accept2dyear `` has been removed.
2264
+
2225
2265
2226
2266
Porting C code
2227
2267
--------------
0 commit comments