summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew/3.7.rst
Commit message (Collapse)AuthorAgeFilesLines
* bpo-33821: Update idlelib subsection of What's New 3.7 (#7590)Terry Jan Reedy2018-06-101-2/+10
|
* bpo-33409: Clarify PEP 538/540 relationship (GH-7534)Nick Coghlan2018-06-091-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* bpo-33736: Improve the documentation of asyncio stream APIs (GH-7326)Elvis Pranskevichus2018-06-081-3/+4
|
* bpo-33792: Add selector and proactor windows policies (GH-7487)Yury Selivanov2018-06-081-0/+4
|
* update 3.7 whatsnew entry about Unicode version (GH-7480)Benjamin Peterson2018-06-071-2/+2
| | | Followup to 4705ea38c900f068fd262aca02943896d1123544 and bpo-33778.
* bpo-31368: Enhance os.preadv() documentation (GH-7254)Pablo Galindo2018-05-301-3/+4
|
* Fix whatsnew entry about ThreadedHTTPServer. (GH-7220)Julien Palard2018-05-291-1/+1
|
* bpo-32911: Revert bpo-29463. (GH-7121) (GH-7197)Serhiy Storchaka2018-05-291-7/+0
| | | | | | 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>
* bpo-33540: Add block_on_close attr to socketserver (GH-6911)Victor Stinner2018-05-241-4/+23
| | | | Add a new block_on_close class attribute to ForkingMixIn and ThreadingMixIn classes of socketserver to opt-in for pre-3.7 behaviour.
* bpo-33618: Enable TLS 1.3 in tests (GH-7079)Christian Heimes2018-05-231-4/+8
| | | | | | | | | | | | 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>
* bpo-32436: Document PEP 567 changes to asyncio. (GH-7073)Yury Selivanov2018-05-231-0/+11
|
* bpo-33592: Document the C API in PEP 567 (contextvars) (GH-7033)Elvis Pranskevichus2018-05-221-1/+5
|
* Add idlelib and IDLE section to What's New in 3.7. (#7019)Terry Jan Reedy2018-05-201-0/+27
|
* bpo-32996: The bulk of What's New in Python 3.7 (GH-6978)Elvis Pranskevichus2018-05-201-590/+1546
|
* bpo-33559: Attribute changed repr of exceptions (GH-6954)Miro Hrončok2018-05-171-0/+1
|
* bpo-33559: Document changed repr of exceptions (GH-6943)Miro Hrončok2018-05-171-0/+3
|
* bpo-32717: Document PEP 560 (GH-6726)Ivan Levkivskyi2018-05-081-0/+19
|
* Add What's New for Korean documentation translation. (GH-6645)Julien Palard2018-05-011-1/+4
|
* Update What's new in 3.7 to reference preadv, pwritev and posix_spawn (GH-6524)Pablo Galindo2018-04-191-0/+8
|
* bpo-33185: Improve wording and markup (GH-6477)Nick Coghlan2018-04-151-5/+7
| | | | | | Adds some working and markup fixes that I missed in the initial commit for this issue. (Follow-up to GH-6419)
* bpo-33185: Fix regression in pydoc CLI sys.path handling (GH-6419)Nick Coghlan2018-04-151-3/+4
| | | | | | | | | | 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.
* Fix duplicating words words. (GH-6296)Serhiy Storchaka2018-03-281-1/+1
| | | Most of them have been added in 3.7.
* bpo-33053: -m now adds *starting* directory to sys.path (GH-6231)Nick Coghlan2018-03-251-0/+11
| | | | | | | | | | | | 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.
* bpo-33042: Fix pre-initialization sys module configuration (GH-6157)Nick Coghlan2018-03-251-2/+21
| | | | | | | | | - 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
* bpo-29719: Remove Date and Release field in whatsnew/3.7 and 8 (GH-6093)Ned Deily2018-03-131-3/+0
|
* bpo-32996: Improve What's New in 3.7. (#5983)Serhiy Storchaka2018-03-111-123/+125
|
* bpo-27645: Add support for native backup facility of SQLite (GH-4238)Emanuele Gaifas2018-03-101-0/+9
|
* Add What's New for issues 32303 and 32305 (GH-5994)Barry Warsaw2018-03-051-0/+8
|
* bpo-30147: Add re.escape changes to 3.7 What's New (GH-5978)Cheryl Sabella2018-03-041-0/+4
|
* bpo-10381, bpo-32403: What's new entries for changes to datetime (gh-5814)Paul Ganssle2018-02-271-0/+10
| | | | | | | | | | * 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
* bpo-31453: Add setter for min/max protocol version (#5259)Christian Heimes2018-02-271-0/+5
| | | | | | | | | | | | 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>
* bpo-32951: Disable SSLSocket/SSLObject constructor (#5864)Christian Heimes2018-02-271-0/+6
| | | | | | | | | | | | | | | | 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>
* bpo-28124: deprecate ssl.wrap_socket() (#5888)Christian Heimes2018-02-271-0/+5
| | | | | | | 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>
* bpo-32947: OpenSSL 1.1.1-pre1 / TLS 1.3 fixes (#5663)Christian Heimes2018-02-271-0/+3
| | | | | | | | | | | | | | | | | | * 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>
* [bpo-28414] Make all hostnames in SSL module IDN A-labels (GH-5128)Christian Heimes2018-02-241-0/+8
| | | | | | | | | | | | 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.
* bpo-31333: Fix typo in whatsnew/3.7.rst (GH-5744)Terry Jan Reedy2018-02-181-1/+1
|
* bpo-31333: Re-implement ABCMeta in C (#5273)Ivan Levkivskyi2018-02-181-0/+6
| | | | This adds C versions of methods used by ABCMeta that improve performance of various ABC operations.
* bpo-32436: Add docs for contextvars (#5685)Yury Selivanov2018-02-161-0/+19
|
* Correct the code example in Python 3.7's What's New (GH-5696)xpvpc2018-02-161-1/+1
| | | There was an extra dash in the example for re.sub().
* bpo-30579: Docs for dynamic traceback creation (GH-5653)Nick Coghlan2018-02-131-0/+6
|
* bpo-32585: Add tkinter.ttk.Spinbox. (#5221)Alan D Moore2018-02-091-0/+6
|
* Add What's new entry for datetime.fromisoformat (#5559)Paul Ganssle2018-02-061-0/+8
| | | Documents bpo-15873
* Fix typo in whatsnew/3.7.rst (GH-5551)Dag Heyman2018-02-051-1/+1
| | | now longer -> no longer
* bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181)Mark Shannon2018-01-301-0/+2
|
* bpo-25988: Deprecate exposing collections.abc in collections GH-5414Raymond Hettinger2018-01-291-0/+5
|
* bpo-31429: Define TLS cipher suite on build time (#3532)Christian Heimes2018-01-291-0/+6
| | | | | | | | | | | | | Until now Python used a hard coded white list of default TLS cipher suites. The old approach has multiple downsides. OpenSSL's default selection was completely overruled. Python did neither benefit from new cipher suites (ChaCha20, TLS 1.3 suites) nor blacklisted cipher suites. For example we used to re-enable 3DES. Python now defaults to OpenSSL DEFAULT cipher suite selection and black lists all unwanted ciphers. Downstream vendors can override the default cipher list with --with-ssl-default-suites. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-31233, bpo-31151: Document socketserver changes (#5417)Victor Stinner2018-01-291-0/+8
| | | | | socketserver.ForkingMixIn.server_close() and socketserver.ThreadingMixIn.server_close() now waits until all child processes and non-daemonic threads complete.
* Add example for PEP 557. (GH-5383)Eric V. Smith2018-01-281-0/+11
|
* Pep 557 What's New (GH-5371)Eric V. Smith2018-01-281-0/+18
| | | | Add PEP 557 Data CLasses to What's New.
* bpo-31399: Let OpenSSL verify hostname and IP address (#3462)Christian Heimes2018-01-271-0/+32
| | | | | | | | | | | | | | | bpo-31399: Let OpenSSL verify hostname and IP The ssl module now uses OpenSSL's X509_VERIFY_PARAM_set1_host() and X509_VERIFY_PARAM_set1_ip() API to verify hostname and IP addresses. * Remove match_hostname calls * Check for libssl with set1_host, libssl must provide X509_VERIFY_PARAM_set1_host() * Add documentation for OpenSSL 1.0.2 requirement * Don't support OpenSSL special mode with a leading dot, e.g. ".example.org" matches "www.example.org". It's not standard conform. * Add hostname_checks_common_name Signed-off-by: Christian Heimes <christian@python.org>