Commit Graph

21328 Commits

Author SHA1 Message Date
Serhiy Storchaka 0a36ac1a09
bpo-33641: Convert RFC references into links. (GH-7103)
85% of them are already links.
2018-05-31 07:39:00 +03:00
Pablo Galindo 02e2a085dc bpo-31368: Enhance os.preadv() documentation (GH-7254) 2018-05-31 01:00:04 +02:00
Dmitry Shachnev 495e567a2b 3.6 what's new: fix a reference to PEP 528 (#7113) 2018-05-30 18:52:43 -04:00
Andrés Delfino 05f1c8902c bpo-33696: Install python-docs-theme even if SPHINXBUILD is defined (GH-7242) 2018-05-30 09:08:25 -07:00
jhaydaman 0a28c0d12e bpo-33238: Add InvalidStateError to concurrent.futures. (GH-7056)
Future.set_result and Future.set_exception now raise InvalidStateError
if the futures are not pending or running. This mirrors the behavior
of asyncio.Future, and prevents AssertionErrors in asyncio.wrap_future
when set_result is called multiple times.
2018-05-30 10:15:06 +03:00
Elvis Pranskevichus dec947ca26 Fix typo introduced in GH-7217 (#7230) 2018-05-29 20:14:59 -04:00
Julien Palard a34e424bdb
Fix whatsnew entry about ThreadedHTTPServer. (GH-7220) 2018-05-30 00:44:12 +02:00
Elvis Pranskevichus f9aeca2085 bpo-23859: Document that asyncio.wait() does not cancel its futures (#7217)
Unlike `asyncio.wait_for()`, `asyncio.wait()` does not cancel the passed
futures when a timeout accurs.
2018-05-29 18:21:44 -04:00
Elvis Pranskevichus e2b340ab41 bpo-32751: Wait for task cancellation in asyncio.wait_for() (GH-7216)
Currently, asyncio.wait_for(fut), upon reaching the timeout deadline,
cancels the future and returns immediately.  This is problematic for
when *fut* is a Task, because it will be left running for an arbitrary
amount of time.  This behavior is iself surprising and may lead to
related bugs such as the one described in bpo-33638:

    condition = asyncio.Condition()
    async with condition:
        await asyncio.wait_for(condition.wait(), timeout=0.5)

Currently, instead of raising a TimeoutError, the above code will fail
with `RuntimeError: cannot wait on un-acquired lock`, because
`__aexit__` is reached _before_ `condition.wait()` finishes its
cancellation and re-acquires the condition lock.

To resolve this, make `wait_for` await for the task cancellation.
The tradeoff here is that the `timeout` promise may be broken if the
task decides to handle its cancellation in a slow way.  This represents
a behavior change and should probably not be back-patched to 3.6 and
earlier.
2018-05-29 17:31:01 -04:00
Yury Selivanov 863b674909
bpo-32684: Fix gather to propagate cancel of itself with return_exceptions (GH-7209) 2018-05-29 17:20:02 -04:00
Géry Ogam 1cee216cf3 bpo-31639: Change ThreadedHTTPServer to ThreadingHTTPServer class name (GH-7195) 2018-05-29 22:10:30 +02:00
Mandeep Singh e55de2d77f bpo-30935: update get_event_loop docs (GH-2731) 2018-05-29 14:37:08 -04:00
Serhiy Storchaka 73cbe7a01a
bpo-32911: Revert bpo-29463. (GH-7121) (GH-7197)
Remove the docstring attribute of AST types and restore docstring
expression as a first stmt in their body.

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
2018-05-29 12:04:55 +03:00
Steve Dower 3e51a3d592
bpo-32878: Adds documentation for st_ino on Windows (GH-5764) 2018-05-28 17:24:36 -07:00
Andrés Delfino 8c1ad0c4f6 bpo-33670: Expose Sphinx errorlevel (GH-7156) 2018-05-28 16:28:22 -07:00
Andrés Delfino 3d3e66c2da bpo-33673: Install python-docs-theme even if Sphinx is already installed (GH-7163) 2018-05-28 16:20:34 -07:00
Yury Selivanov 416c1ebd98
bpo-32610: Fix asyncio.all_tasks() to return only pending tasks. (GH-7174) 2018-05-28 17:54:02 -04:00
Yury Selivanov dbf102271f
bpo-33654: Support BufferedProtocol in set_protocol() and start_tls() (GH-7130)
In this commit:

* Support BufferedProtocol in set_protocol() and start_tls()
* Fix proactor to cancel readers reliably
* Update tests to be compatible with OpenSSL 1.1.1
* Clarify BufferedProtocol docs
* Bump TLS tests timeouts to 60 seconds; eliminate possible race from start_serving
* Rewrite test_start_tls_server_1
2018-05-28 14:31:28 -04:00
Ethan Smith c651275afe bpo-32380: Create functools.singledispatchmethod (#6306) 2018-05-26 13:38:33 -07:00
Andrés Delfino 2298c0e6a6 Fix typo spotted by Guido (GH-7131) 2018-05-26 11:18:02 -07:00
Andrés Delfino 6e33f810c9 bpo-32769: A new take on annotations/type hinting glossary entries (GH-6829) 2018-05-26 05:43:39 -07:00
Ivan Levkivskyi 6e413f4327
Document typing.NoReturn (GH-7107) 2018-05-24 21:33:55 -07:00
Ned Deily 8ebf5ceb0f
bpo-33109: argparse subparsers are once again not required by default (GH-6919)
bpo-26510 in 3.7.0a2 changed the behavior of argparse to make
subparsers required by default, returning to the behavior of 2.7
and 3.2. The behavior was changed in 3.3 to be no longer required.
While it might make more sense to have the default to required,
compatibility with 3.3 through 3.6 is probably less disruptive
than trying to reintroduce compatibility with 2.7 at this point.
This change restores the 3.6 behavior.
2018-05-23 21:55:15 -04:00
Victor Stinner 453bd0bc65
bpo-33540: Add block_on_close attr to socketserver (GH-6911)
Add a new block_on_close class attribute to ForkingMixIn and
ThreadingMixIn classes of socketserver to opt-in for pre-3.7 behaviour.
2018-05-24 03:14:44 +02:00
Christian Heimes 529525fb5a
bpo-33618: Enable TLS 1.3 in tests (GH-7079)
TLS 1.3 behaves slightly different than TLS 1.2. Session tickets and TLS
client cert auth are now handled after the initialy handshake. Tests now
either send/recv data to trigger session and client certs. Or tests
ignore ConnectionResetError / BrokenPipeError on the server side to
handle clients that force-close the socket fd.

To test TLS 1.3, OpenSSL 1.1.1-pre7-dev (git master + OpenSSL PR
https://github.com/openssl/openssl/pull/6340) is required.

Signed-off-by: Christian Heimes <christian@python.org>
2018-05-23 22:24:45 +02:00
Yury Selivanov 28b9178023
bpo-32436: Document PEP 567 changes to asyncio. (GH-7073) 2018-05-23 13:35:04 -04:00
sth 825aab95fd bpo-27300: Add the errors parameter to tempfile classes. (GH-6696) 2018-05-23 08:07:01 +03:00
Matthias Bussonnier 8bb0b5b03c bpo-33604: Remove Pending from hmac Deprecation warning. (GH-7062)
bpo-33604: Bump removal notice from 3.6 to 3.8 and change PendingDeprecationWarning to DeprecationWarning as we had intended to do earlier...
2018-05-22 15:55:31 -07:00
Christian Heimes e8eb6cb792
bpo-33570: TLS 1.3 ciphers for OpenSSL 1.1.1 (GH-6976)
Change TLS 1.3 cipher suite settings for compatibility with OpenSSL
1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by
default.

Also update multissltests and Travis config to test with latest OpenSSL.

Signed-off-by: Christian Heimes <christian@python.org>
2018-05-22 22:50:12 +02:00
John Reese 6c4fab0f4b bpo-33516: Add support for __round__ in MagicMock (GH-6880)
unittest.mock.MagicMock now supports the __round__() magic method.
2018-05-22 22:01:10 +02:00
Serhiy Storchaka 4e29f566e8
Add missed details of the C API introduced in 3.7. (GH-7047)
* Set the limited API version for PyImport_GetModule and PyOS_*Fork
  functions.
* Add PyImport_GetModule and Py_UTF8Mode in PC/python3.def.
* Add several functions in Doc/data/refcounts.dat.
2018-05-22 20:59:42 +03:00
Elvis Pranskevichus b2f5f59ae1 bpo-33592: Document the C API in PEP 567 (contextvars) (GH-7033) 2018-05-22 13:31:56 -04:00
Masayuki Yamamoto 55bfe690d5 Add PyThread_tss_* to Doc/data/refcounts.dat. (GH-7038)
Thread Specific Storage (TSS) API is a public C API (new in 3.7).
2018-05-22 11:21:25 +03:00
Serhiy Storchaka f5b1183610
bpo-5945: Improve mappings and sequences C API docs. (GH-7029) 2018-05-22 11:02:44 +03:00
Andrés Delfino 268cc7c3f8 Fix lambda parameters being refered as arguments (GH-7037) 2018-05-22 07:57:45 +02:00
INADA Naoki 1179f4b40f
bpo-33583: Add note in PyObject_GC_Resize() doc (GH-7021) 2018-05-21 18:35:41 +09:00
Aaron Hall, MBA 4054b172ab bpo-26103: Fix inspect.isdatadescriptor() and a data descriptor definition. (GH-1959)
Look for '__set__' or '__delete__'.
2018-05-21 02:46:42 +03:00
Terry Jan Reedy dd281873ba
Add idlelib and IDLE section to What's New in 3.7. (#7019) 2018-05-20 17:00:13 -04:00
Andrés Delfino 0c4be82890 bpo-33580: Make binary/text file glossary entries follow most common "see also" style. (GH-6991) 2018-05-20 18:12:50 +03:00
Lisa Roach 900c48dba3 bpo-30940: Updating round() docs. (GH-6342) 2018-05-20 18:00:18 +03:00
Eitan Adler 9572132ab3 Docs: be less specific about python versions (GH-6985)
CPython 3.5 is old now, and we don't bump this version often,
so lets avoid using specific versions.
2018-05-20 17:38:01 +03:00
Serhiy Storchaka f5e7b1999f
bpo-23722: Raise a RuntimeError for absent __classcell__. (GH-6931)
A DeprecationWarning was emitted in Python 3.6-3.7.
2018-05-20 08:48:12 +03:00
Serhiy Storchaka 8ae8e6af37
bpo-23722: Fix docs for future __classcell__ changes. (GH-6999) 2018-05-20 08:13:52 +03:00
Elvis Pranskevichus 63536bd286 bpo-32996: The bulk of What's New in Python 3.7 (GH-6978) 2018-05-19 23:15:06 -04:00
Daniel Chimeno cf8abcbe03 import secrets module in secrets recipes (#6705) 2018-05-20 01:01:49 +10:00
Ivan Levkivskyi f65e31fee3
bpo-28556: Don't simplify unions at runtime (GH-6841) 2018-05-18 16:00:38 -07:00
Serhiy Storchaka bde3e0bf09
Fix C API docs: PyCapsule_Import always set an exception on failure. (GH-6967) 2018-05-18 16:32:54 +03:00
Miro Hrončok fb9dd89153 bpo-33559: Attribute changed repr of exceptions (GH-6954) 2018-05-17 15:04:57 -04:00
Miro Hrončok 631753fcc5 bpo-33559: Document changed repr of exceptions (GH-6943) 2018-05-17 13:44:53 -04:00
Yury Selivanov d8d715f514
asyncio/docs: Mark asyncio.run() as provisional in 3.7. (#6946) 2018-05-17 13:44:00 -04:00