summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
Commit message (Collapse)AuthorAgeFilesLines
* bpo-33041: Rework compiling an "async for" loop. (#6142)Serhiy Storchaka2018-03-231-0/+4
| | | | | | | | * Added new opcode END_ASYNC_FOR. * Setting global StopAsyncIteration no longer breaks "async for" loops. * Jumping into an "async for" loop is now disabled. * Jumping out of an "async for" loop no longer corrupts the stack. * Simplify the compiler.
* bpo-32489: Allow 'continue' in 'finally' clause. (GH-5822)Serhiy Storchaka2018-03-181-0/+5
|
* bpo-29719: Remove Date and Release field in whatsnew/3.7 and 8 (GH-6093)Ned Deily2018-03-132-6/+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
|
* Fix 3.8 whatsnew changelog linkNed Deily2018-02-281-1/+1
|
* 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-17611. Move unwinding of stack for "pseudo exceptions" from interpreter ↵Serhiy Storchaka2018-02-221-0/+18
| | | | | | | | | to compiler. (GH-5006) Co-authored-by: Mark Shannon <mark@hotpy.org> Co-authored-by: Antoine Pitrou <antoine@python.org>
* 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-30688: Support \N{name} escapes in re patterns. (GH-5588)Serhiy Storchaka2018-02-091-0/+2
| | | Co-authored-by: Jonathan Eunice <jonathan.eunice@gmail.com>
* Make formatting of some return codes conforming to the general style. (#5587)Serhiy Storchaka2018-02-091-2/+2
|
* 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
* bpo-32749: Make dbm.dumb databases more cosistent with other dbm databases. ↵Serhiy Storchaka2018-02-051-0/+5
| | | | (#5497)
* Fix typo in whatsnew/3.7.rst (GH-5551)Dag Heyman2018-02-051-1/+1
| | | now longer -> no longer
* bpo-10544: Disallow "yield" in comprehensions and generator expressions. ↵Serhiy Storchaka2018-02-041-0/+9
| | | | (GH-4564)
* [3.8] bpo-31508: Remove support of arguments in ↵Serhiy Storchaka2018-02-011-0/+8
| | | | | | tkinter.ttk.Treeview.selection. (GH-3651) It was deprecated in 3.6.
* Update Doc build to 3.8Ned Deily2018-01-312-0/+116
|
* 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>
* bpo-32433: Optimized HMAC digest (#5023)Christian Heimes2018-01-271-0/+7
| | | | | | | The hmac module now has hmac.digest(), which provides an optimized HMAC digest for short messages. hmac.digest() is up to three times faster than hmac.HMAC().digest(). Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32670: Enforce PEP 479. (#5327)Yury Selivanov2018-01-261-0/+6
|
* String annotations [PEP 563] (#4390)Guido van Rossum2018-01-261-0/+51
| | | | | | | | * Document `from __future__ import annotations` * Provide plumbing and tests for `from __future__ import annotations` * Implement unparsing the AST back to string form This is required for PEP 563 and as such only implements a part of the unparsing process that covers expressions.
* bpo-32304: Fix distutils upload for sdists ending with \x0d (GH-5264)Bo Bayles2018-01-261-0/+5
| | | | Patch by Bo Bayles.
* bpo-29302: Implement contextlib.AsyncExitStack. (#4790)Ilya Kulakov2018-01-251-0/+3
|
* bpo-29708: Add What's New entries for SOURCE_DATE_EPOCH and py_compile (GH-5306)Brett Cannon2018-01-251-15/+31
|
* bpo-32248 - Implement `ResourceReader` and `get_resource_reader()` for ↵Barry Warsaw2018-01-241-2/+6
| | | | zipimport (#5248)
* bpo-32593: Drop FreeBSD 9 and older support (#5232)Victor Stinner2018-01-221-0/+5
| | | Drop support of FreeBSD 9 and older.
* bpo-32591: Add native coroutine origin tracking (#5250)Nathaniel J. Smith2018-01-211-0/+3
| | | | | | * Add coro.cr_origin and sys.set_coroutine_origin_tracking_depth * Use coroutine origin information in the unawaited coroutine warning * Stop using set_coroutine_wrapper in asyncio debug mode * In BaseEventLoop.set_debug, enable debugging in the correct thread
* bpo-25910: Link redirections in docs (#1933)Sanyam Khurana2018-01-207-7/+7
| | | Fixes some redirection links in docs.
* bpo-31900: Fix localeconv() encoding for LC_NUMERIC (#4174)Victor Stinner2018-01-151-0/+3
| | | | | | | | * Add _Py_GetLocaleconvNumeric() function: decode decimal_point and thousands_sep fields of localeconv() from the LC_NUMERIC encoding, rather than decoding from the LC_CTYPE encoding. * Modify locale.localeconv() and "n" formatter of str.format() (for int, float and complex to use _Py_GetLocaleconvNumeric() internally.
* bpo-32248: Introduce the concept of Loader.get_resource_reader() (GH-5108)Brett Cannon2018-01-121-4/+13
|
* bpo-31975 (PEP 565): Show DeprecationWarning in __main__ (GH-4458)Nick Coghlan2018-01-081-0/+40
| | | | | | | | | | | | | - primary change is to add a new default filter entry for 'default::DeprecationWarning:__main__' - secondary change is an internal one to cope with plain strings in the warning module's internal filter list (this avoids the need to create a compiled regex object early on during interpreter startup) - assorted documentation updates, including many more examples of configuring the warnings settings - additional tests to ensure that both the pure Python and the C accelerated warnings modules have the expected default configuration
* bpo-32206: Pdb can now run modules (GH-4752)Mario Corchero2018-01-061-0/+4
| | | | | | | | | | | Add a new argument "-m" to the pdb module to allow users to run `python -m pdb -m my_module_name`. This relies on private APIs in the runpy module to work, but we can get away with that since they're both part of the standard library and can be updated together if the runpy internals get refactored.