Commit Graph

198 Commits

Author SHA1 Message Date
Miss Islington (bot) 48dc7527e3
bpo-32996: Enhancements to What's New based on feedback (GH-7988)
(cherry picked from commit 4d26c8a177)

Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-06-28 09:14:52 -07:00
Ned Deily 933c4513c6 Python 3.7.0
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEDZbfTUEQ5cQ/v7F/LTR+pqplQh0FAlszAEkACgkQLTR+pqpl
 Qh3umg//a3eSst508H59PVuPoiQv4JeX4lvV2WMy//51qk47tlgdJp8OXcYM6Y11
 uCrQSTFVJaRu+/gBiPgT4yiXdCh/DsphLhqsgm1vSlzego+J+hkdREelUeWKhX/X
 Pyu2GbOwxtyOfaWjyRNEtT2/8XdCBjo4dw68p2JvlQ65X/duCHM3dp4PIL2u5CHH
 5/DeBrqLBWyYUwumyWFx4z5PrTN1EmO8yR6B9F0u518k1pgTqd7flRefHwyd2jzA
 S9F7JgUgyTiwO3FmjylIem9uLgOyWuldH+czsAqyEmodo7jb4ekxv+jVMiLStt2r
 Ct/yxx+rPNjhtJZtiWUd6gl6Z5Z9tLx7qc13RoryijFhiUD/G8gFx28wVMExzW05
 fkNKNHNhM0iN4L1FCZuyLxFri8BX9gdpmY6XEuKffzhiGjcwnf0kMn5p5pmWrQbX
 vXnvtOabXqr71jNDy4SbzI+CsTQcTSQYkVAZiPOwBjjt/cKhyUO6B5NHA8A3MYxK
 Uevqr6rUC2x7rrTCh9lroJ7Npg8q3R1e6rd57MVumQlnyl8LQR5jpNuwcQjcV7Go
 IsIZ3VYVUYRJh1a2dTI3Cu6Z3RbFVbLChWGVTQ3kxd9pZ8oRx8Ts49BteUxo5VcY
 XQnMxIOifWAFkc5Y/yT5IiS+IXtQm8xqkpwsg6kfP5dI8/dxMQo=
 =jOsP
 -----END PGP SIGNATURE-----

Merge 3.7.0 final changes
2018-06-27 18:23:18 -04:00
Ned Deily 1bf9cc5093 3.7.0 final 2018-06-26 23:07:35 -04:00
Miss Islington (bot) 2d10166998 Fix nested list in 3.7 What's New (GH-7659) (GH-7660)
(cherry picked from commit 5a98209180)

Co-authored-by: Ned Deily <nad@python.org>
2018-06-26 19:52:17 -04:00
Miss Islington (bot) 416e488415
bpo-33859: Fix spelling mistakes in docs. (GH-7691)
(cherry picked from commit c151f7846d)

Co-authored-by: Xtreak <tirkarthi@users.noreply.github.com>
2018-06-15 22:26:34 -07:00
Miss Islington (bot) 66cea5cb1b Fix nested list in 3.7 What's New (GH-7659) (GH-7660)
(cherry picked from commit 5a98209180)

Co-authored-by: Ned Deily <nad@python.org>
2018-06-12 05:02:53 -04:00
Miss Islington (bot) ef5f4ba96e bpo-25612: Add minimal What's New in 3.7 entry (GH-7656) (GH-7658)
(cherry picked from commit 04290cb994)

Co-authored-by: Ned Deily <nad@python.org>
2018-06-12 00:26:30 -04:00
Miss Islington (bot) 60c699374c
bpo-33656: Add entry to What's New 3.7. (GH-7638)
This is a separate PR because this does not backport to 3.6.
(cherry picked from commit 8a05f559ce)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-06-11 11:45:49 -07:00
Miss Islington (bot) 14a190c882
bpo-33745: Add What's New for empty function docstring change. (GH-7611)
(cherry picked from commit 12c6cdf4d1)

Co-authored-by: Ned Deily <nad@python.org>
2018-06-10 20:00:17 -07:00
Miss Islington (bot) a73399d596 bpo-33109: Remove now-obsolete What's New entry for bpo-26510. (GH-7609) (GH-7610)
(cherry picked from commit ef057bfb06)

Co-authored-by: Ned Deily <nad@python.org>
2018-06-10 22:30:57 -04:00
Miss Islington (bot) 1ed8294924
bpo-33821: Update idlelib subsection of What's New 3.7 (GH-7590)
(cherry picked from commit 222f7f4033)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-06-10 11:35:22 -07:00
Miss Islington (bot) dd613cf335
bpo-33409: Clarify PEP 538/540 relationship (GH-7534)
While locale coercion and UTF-8 mode turned out to
be complementary ideas rather than competing ones,
it isn't immediately obvious why it's useful to
have both, or how they interact at runtime.

This updates both the Python 3.7 What's New doc
and the PYTHONCOERCECLOCALE and PYTHONUTF8
documentation in an attempt to clarify that
relationship:

- in the respective What's New sections, add a closing paragraph
  explaining which problem each one solves, and pointing to the
  other PEP's section for the specific aspects it relies on the other
  PEP to solve
- use "locale-aware mode" as a more descriptive term for the
  default non-UTF-8 mode
- improve wording conistenccy between the PYTHONCOERCECLOCALE
  and PYTHONUTF8 docs when they cover the same thing (mostly
  related to legacy locale detection and setting the standard
  stream error handler)
- improve the description of the locale coercion trigger conditions
  (including pointing out that setting LC_ALL turns off locale coercion)
- port the full description of the UTF-8 mode behaviour changes
  from PEP 540 into the PYTHONUTF8 documentation
- be explicit that PYTHONIOENCODING still overrides the settings
  for the standard streams
- mention concrete examples of things that do and don't get their
  text encoding assumptions adjusted by the two text encoding
  assumption override techniques
(cherry picked from commit 1bcb8a6368)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
2018-06-09 00:13:53 -07:00
Miss Islington (bot) f4dcf49159
bpo-33736: Improve the documentation of asyncio stream APIs (GH-7326)
(cherry picked from commit c0d062f523)

Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-06-08 08:54:31 -07:00
Miss Islington (bot) 0738443a5b
bpo-33792: Add selector and proactor windows policies (GH-7487)
(cherry picked from commit 8f4042964d)

Co-authored-by: Yury Selivanov <yury@magic.io>
2018-06-07 18:31:50 -07:00
Miss Islington (bot) 942b7ff11a
update 3.7 whatsnew entry about Unicode version (GH-7480)
Followup to 4705ea38c9 and bpo-33778.
(cherry picked from commit 34b734699b)

Co-authored-by: Benjamin Peterson <benjamin@python.org>
2018-06-07 07:50:33 -07:00
Miss Islington (bot) 0e823c6efa
bpo-31368: Enhance os.preadv() documentation (GH-7254)
(cherry picked from commit 02e2a085dc)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2018-05-30 16:22:13 -07:00
Julien Palard 4f53e2ac16
[3.7] bpo-31639: Change ThreadedHTTPServer to ThreadingHTTPServer class name (GH-7195) (GH-7219)
* [3.7] bpo-31639: Change ThreadedHTTPServer to ThreadingHTTPServer class name (GH-7195).
(cherry picked from commit 1cee216cf3)

* Fix whatsnew entry about ThreadedHTTPServer. (GH-7220)
(cherry picked from commit a34e424bdb)
2018-05-30 02:24:17 +02:00
Serhiy Storchaka 2641ee5040
bpo-32911: Revert bpo-29463. (GH-7121)
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 10:49:10 +03:00
Miss Islington (bot) fa286edbde
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.
(cherry picked from commit 453bd0bc65)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-05-23 18:34:43 -07:00
Miss Islington (bot) 72ef4fc32b [3.7] bpo-33618: Enable TLS 1.3 in tests (GH-7079) (GH-7082)
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>
(cherry picked from commit 529525fb5a)
2018-05-23 22:49:04 +02:00
Miss Islington (bot) 2fc443c469
bpo-32436: Document PEP 567 changes to asyncio. (GH-7073)
(cherry picked from commit 28b9178023)

Co-authored-by: Yury Selivanov <yury@magic.io>
2018-05-23 10:59:17 -07:00
Miss Islington (bot) afec2d583a
bpo-33592: Document the C API in PEP 567 (contextvars) (GH-7033)
(cherry picked from commit b2f5f59ae1)

Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-05-22 10:58:01 -07:00
Miss Islington (bot) 98a18def99 Add idlelib and IDLE section to What's New in 3.7. (GH-7019) (GH-7020)
(cherry picked from commit dd281873ba)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-05-20 17:44:12 -04:00
Elvis Pranskevichus 15f3d0cc76 [3.7] bpo-32996: The bulk of What's New in Python 3.7 (GH-6978). (GH-6998)
(cherry picked from commit 63536bd286)

Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-05-19 23:39:45 -04:00
Miss Islington (bot) efa6427797
bpo-33559: Attribute changed repr of exceptions (GH-6954)
(cherry picked from commit fb9dd89153)

Co-authored-by: Miro Hrončok <miro@hroncok.cz>
2018-05-17 13:09:57 -07:00
Miss Islington (bot) 54fc49737a bpo-33559: Document changed repr of exceptions (GH-6943) (GH-6950)
(cherry picked from commit 631753fcc5)

Co-authored-by: Miro Hrončok <miro@hroncok.cz>
2018-05-17 14:41:07 -04:00
Pablo Galindo 8e633a4035 bpo-20104: Remove posix_spawn from 3.7 (GH-6794)
Remove os.posix_spawn, the API isn't complete and we're still figuring out how it should look. wait for 3.8.
2018-05-14 17:52:43 -04:00
Miss Islington (bot) 101d0d585f
bpo-32717: Document PEP 560 (GH-6726)
(cherry picked from commit bd5f96581b)

Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
2018-05-08 11:52:36 -07:00
Miss Islington (bot) 198c0c0509
Update What's new in 3.7 to reference preadv, pwritev and posix_spawn (GH-6524)
(cherry picked from commit 9009f3e389)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2018-04-18 22:26:41 -07:00
Miss Islington (bot) 986eaa86da
bpo-33185: Improve wording and markup (GH-6477)
Adds some working and markup fixes that I missed
in the initial commit for this issue.

(Follow-up to GH-6419)
(cherry picked from commit 1a5c4bdb6e)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
2018-04-15 06:55:10 -07:00
Miss Islington (bot) d7ffa58207
bpo-33185: Fix regression in pydoc CLI sys.path handling (GH-6419)
The pydoc CLI assumed -m pydoc would add the empty string
to sys.path, and hence got confused when it switched to
adding the full initial working directory instead.

This refactors the pydoc CLI path manipulation to be
more testable, and ensures it won't accidentally
remove the standard library directory containing
pydoc itself from sys.path.
(cherry picked from commit 82a9481059)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
2018-04-15 05:17:13 -07:00
Ethan Furman 3715176557
[3.7] bpo-33217: deprecate non-Enum lookups in Enums (GH-6392)
deprecate non-Enum lookups in Enums

Lookups such as `1 in Color` and `2 in SomeFlag()` will raise TypeError
in 3.8+.
2018-04-11 18:56:25 -07:00
Brett Cannon a09bb87c1e
[3.7] bpo-33169: Remove values of `None` from sys.path_importer_cache when invalidating caches (GH-6402) (GH-6403)
An entry of None in sys.path_importer_cache represents a negative/missing finder for a path, so clearing it out makes sense.
(cherry picked from commit 9e2be60634)
2018-04-06 17:02:18 -07:00
Serhiy Storchaka fd93666c8a
[3.7] Fix duplicating words words. (GH-6296) (GH-6297)
Most of them have been added in 3.7.
(cherry picked from commit bac2d5ba30)
2018-03-28 23:05:24 +03:00
Nick Coghlan ee3784594b
bpo-33053: -m now adds *starting* directory to sys.path (GH-6231) (#6236)
Historically, -m added the empty string as sys.path
zero, meaning it resolved imports against the current
working directory, the same way -c and the interactive
prompt do.

This changes the sys.path initialisation to add the
*starting* working directory as sys.path[0] instead,
such that changes to the working directory while the
program is running will have no effect on imports
when using the -m switch.

(cherry picked from commit d5d9e02dd3)
2018-03-25 23:43:50 +10:00
Miss Islington (bot) c6d94c37f4
bpo-33042: Fix pre-initialization sys module configuration (GH-6157)
- new test case for pre-initialization of sys.warnoptions and sys._xoptions
- restored ability to call these APIs prior to Py_Initialize
- updated the docs for the affected APIs to make it clear they can be
  called before Py_Initialize
- also enhanced the existing embedding test cases
  to check for expected settings in the sys module
(cherry picked from commit bc77eff8b9)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
2018-03-25 04:27:57 -07:00
Ned Deily d461ed84b5
bpo-29719: Remove Date and Release field in whatsnew/3.7 (GH-6094) 2018-03-12 21:16:54 -04:00
Miss Islington (bot) 720a4b69c6
bpo-32996: Improve What's New in 3.7. (GH-5983)
(cherry picked from commit 51302a5fcc)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-03-10 22:29:30 -08:00
Miss Islington (bot) e8a5a92037 bpo-27645: Add support for native backup facility of SQLite (GH-4238)
(cherry picked from commit d7aed4102d)

Co-authored-by: Emanuele Gaifas <lelegaifax@gmail.com>
2018-03-11 01:29:19 +03:00
Miss Islington (bot) 063c637cdb Add What's New for issues 32303 and 32305 (GH-5994) (GH-5995)
(cherry picked from commit 4c19b95734)

Co-authored-by: Barry Warsaw <barry@python.org>
2018-03-05 12:51:56 -08:00
Miss Islington (bot) f92478d57a [3.7] bpo-30147: Add re.escape changes to 3.7 What's New (GH-5978) (GH-5979)
(cherry picked from commit 18fd892463)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2018-03-04 18:22:32 -05:00
Miss Islington (bot) 0e06be836c Add What's new entry for datetime.fromisoformat (GH-5559) (GH-5939)
Documents bpo-15873
(cherry picked from commit 22864bc8e4)

Co-authored-by: Paul Ganssle <pganssle@users.noreply.github.com>
2018-03-01 13:48:10 -05:00
Miss Islington (bot) fff596f792 bpo-10381, bpo-32403: What's new entries for changes to datetime (gh-5814) (gh-5929)
* Add What's New entry for addition of datetime.timezone to the C API

Closes bpo-10381

* Add what's new entry for date and datetime optimizations

Closes bpo-32403
(cherry picked from commit 5bd04f964b)

Co-authored-by: Paul Ganssle <pganssle@users.noreply.github.com>
2018-02-27 14:58:28 -05:00
Miss Islington (bot) 4c842b0920
bpo-31453: Add setter for min/max protocol version (GH-5259)
OpenSSL 1.1 has introduced a new API to set the minimum and maximum
supported protocol version. The API is easier to use than the old
OP_NO_TLS1 option flags, too.

Since OpenSSL has no call to set minimum version to highest supported,
the implementation emulate maximum_version = MINIMUM_SUPPORTED and
minimum_version = MAXIMUM_SUPPORTED by figuring out the minumum and
maximum supported version at compile time.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 698dde16f6)

Co-authored-by: Christian Heimes <christian@python.org>
2018-02-27 03:41:04 -08:00
Christian Heimes 89c2051a55
[3.7] bpo-32951: Disable SSLSocket/SSLObject constructor (GH-5864) (#5925)
Direct instantiation of SSLSocket and SSLObject objects is now prohibited.
The constructors were never documented, tested, or designed as public
constructors. The SSLSocket constructor had limitations. For example it was
not possible to enabled hostname verification except was
ssl_version=PROTOCOL_TLS_CLIENT with cert_reqs=CERT_REQUIRED.

SSLContext.wrap_socket() and SSLContext.wrap_bio are the recommended API
to construct SSLSocket and SSLObject instances. ssl.wrap_socket() is
also deprecated.

The only test case for direct instantiation was added a couple of days
ago for IDNA testing.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 9d50ab563d)

Co-authored-by: Christian Heimes <christian@python.org>
2018-02-27 11:17:32 +01:00
Miss Islington (bot) 102d5204ad
bpo-28124: deprecate ssl.wrap_socket() (GH-5888)
The ssl module function ssl.wrap_socket() has been de-emphasized
and deprecated in favor of the more secure and efficient
SSLContext.wrap_socket() method.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 90f05a527c)

Co-authored-by: Christian Heimes <christian@python.org>
2018-02-27 01:45:31 -08:00
Miss Islington (bot) 2614ed4c6e
bpo-32947: OpenSSL 1.1.1-pre1 / TLS 1.3 fixes (GH-5663)
* bpo-32947: OpenSSL 1.1.1-pre1 / TLS 1.3 fixes

Misc fixes and workarounds for compatibility with OpenSSL 1.1.1-pre1 and
TLS 1.3 support. With OpenSSL 1.1.1, Python negotiates TLS 1.3 by
default. Some test cases only apply to TLS 1.2. Other tests currently
fail because the threaded or async test servers stop after failure.

I'm going to address these issues when OpenSSL 1.1.1 reaches beta.

OpenSSL 1.1.1 has added a new option OP_ENABLE_MIDDLEBOX_COMPAT for TLS
1.3. The feature is enabled by default for maximum compatibility with
broken middle boxes. Users should be able to disable the hack and CPython's test suite needs
it to verify default options.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 05d9fe32a1)

Co-authored-by: Christian Heimes <christian@python.org>
2018-02-27 00:17:49 -08:00
Miss Islington (bot) 1c37e27719 [bpo-28414] Make all hostnames in SSL module IDN A-labels (GH-5128) (GH-5843)
Previously, the ssl module stored international domain names (IDNs)
as U-labels. This is problematic for a number of reasons -- for
example, it made it impossible for users to use a different version
of IDNA than the one built into Python.

After this change, we always convert to A-labels as soon as possible,
and use them for all internal processing. In particular, server_hostname
attribute is now an A-label, and on the server side there's a new
sni_callback that receives the SNI servername as an A-label rather than
a U-label.
(cherry picked from commit 11a1493bc4)

Co-authored-by: Christian Heimes <christian@python.org>
2018-02-23 19:18:28 -08:00
Miss Islington (bot) 034a945fa7
bpo-31333: Fix typo in whatsnew/3.7.rst (GH-5744)
(cherry picked from commit 3fb813d2c6)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-02-18 14:35:40 -08:00
Ivan Levkivskyi 3892899288
bpo-31333: Re-implement ABCMeta in C (GH-5733)
This adds C versions of methods used by ABCMeta that
improve performance of various ABC operations.
2018-02-18 17:39:43 +00:00