summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
Commit message (Collapse)AuthorAgeFilesLines
* bpo-28724: Add methods send_fds and recv_fds to the socket module (GH-12889)Joannah Nanjekye2019-09-111-0/+0
| | | | | | | The socket module now has the socket.send_fds() and socket.recv.fds() functions. Contributed by Joannah Nanjekye, Shinya Okano (original patch) and Victor Stinner. Co-Authored-By: Victor Stinner <vstinner@redhat.com>
* bpo-35224: Additional documentation for Assignment Expressions (GH-15935)Emily Morehouse2019-09-111-2/+0
| | | | | | | | | | | | | Add or update assignment expression documentation for: - FAQ - Design - Reference - Expressions - Reference - Lexical Analysis https://bugs.python.org/issue35224 Automerge-Triggered-By: @matrixise
* Doc: Indicate locations of parse_qs, parse_qsl, escape (GH-14828)Simon Willison2019-09-111-1/+2
| | | | Since they have been removed from cgi it's useful to remind people where they can be found instead.
* bpo-38096: Clean up the "struct sequence" / "named tuple" docs (GH-15895)Raymond Hettinger2019-09-112-3/+3
| | | | | | | | * bpo-38096: Clean up the "struct sequence" / "named tuple" docs * Fix remaining occurrences of "struct sequence" * Repair a user visible docstring
* bpo-32972: Document IsolatedAsyncioTestCase of unittest module (GH-15878)Xtreak2019-09-111-0/+26
| | | | | | | | | | | * Document `unittest.IsolatedAsyncioTestCase` API * Add a simple example with respect to order of evaluation of setup and teardown calls. https://bugs.python.org/issue32972 Automerge-Triggered-By: @asvetlov
* bpo-37995: Add an option to ast.dump() to produce a multiline output. (GH-15631)Serhiy Storchaka2019-09-091-0/+8
|
* Fix typo in math.prod example (GH-15614)Ashwin Vishnu2019-09-091-1/+1
|
* bpo-15088 : Remove PyGen_NeedsFinalizing() (GH-15702)Joannah Nanjekye2019-09-061-0/+5
| | | | | Remove PyGen_NeedsFinalizing(): it was not documented, tested or used anywhere within CPython after the implementation of PEP 442.
* bpo-37878: Remove PyThreadState_DeleteCurrent() function (GH-15315)Joannah Nanjekye2019-09-051-0/+3
| | | | | | | * Rename PyThreadState_DeleteCurrent() to _PyThreadState_DeleteCurrent() * Move it to the internal C API Co-Authored-By: Carol Willing <carolcode@willingconsulting.com>
* bpo-36409: Remove old plistlib API deprecated in 3.4 (GH-15615)Jon Janzen2019-09-051-0/+6
| | | | * Remove implementation for old plistlib API deprecated in 3.4
* closes bpo-37966: Fully implement the UAX #15 quick-check algorithm. (GH-15558)Greg Price2019-09-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of the `unicodedata.is_normalized` function is to answer the question `str == unicodedata.normalized(form, str)` more efficiently than writing just that, by using the "quick check" optimization described in the Unicode standard in UAX #15. However, it turns out the code doesn't implement the full algorithm from the standard, and as a result we often miss the optimization and end up having to compute the whole normalized string after all. Implement the standard's algorithm. This greatly speeds up `unicodedata.is_normalized` in many cases where our partial variant of quick-check had been returning MAYBE and the standard algorithm returns NO. At a quick test on my desktop, the existing code takes about 4.4 ms/MB (so 4.4 ns per byte) when the partial quick-check returns MAYBE and it has to do the slow normalize-and-compare: $ build.base/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \ -- 'unicodedata.is_normalized("NFD", s)' 50 loops, best of 5: 4.39 msec per loop With this patch, it gets the answer instantly (58 ns) on the same 1 MB string: $ build.dev/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \ -- 'unicodedata.is_normalized("NFD", s)' 5000000 loops, best of 5: 58.2 nsec per loop This restores a small optimization that the original version of this code had for the `unicodedata.normalize` use case. With this, that case is actually faster than in master! $ build.base/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \ -- 'unicodedata.normalize("NFD", s)' 500 loops, best of 5: 561 usec per loop $ build.dev/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \ -- 'unicodedata.normalize("NFD", s)' 500 loops, best of 5: 512 usec per loop
* bpo-36543: Remove old-deprecated ElementTree features. (GH-12707)Serhiy Storchaka2019-09-011-0/+6
| | | | | Remove methods Element.getchildren(), Element.getiterator() and ElementTree.getiterator() and the xml.etree.cElementTree module.
* bpo-37951: Lift subprocess's fork() restriction (GH-15544)Christian Heimes2019-08-271-0/+6
|
* bpo-36917: Add default implementation of ast.NodeVisitor.visit_Constant(). ↵Serhiy Storchaka2019-08-261-0/+7
| | | | | | | (GH-15490) It emits a deprecation warning and calls corresponding method visit_Num(), visit_Str(), etc.
* bpo-34880: Add the LOAD_ASSERTION_ERROR opcode. (GH-15073)Zackery Spytz2019-08-251-0/+9
| | | | Fix assert statement misbehavior if AssertionError is shadowed.
* Fix link to changelog in 3.9 What's New page (GH-15445)Ned Deily2019-08-241-1/+1
|
* bpo-32554: Deprecate hashing arbitrary types in random.seed() (GH-15382)Raymond Hettinger2019-08-221-0/+6
|
* bpo-37663: have venv activation scripts all consistently use __VENV_PROMPT__ ↵Brett Cannon2019-08-211-0/+15
| | | | | | | for prompt customization (GH-14941) The activation scripts generated by venv were inconsistent in how they changed the shell's prompt. Some used `__VENV_PROMPT__` exclusively, some used `__VENV_PROMPT__` if it was set even though by default `__VENV_PROMPT__` is always set and the fallback matched the default, and one ignored `__VENV_PROMPT__` and used `__VENV_NAME__` instead (and even used a differing format to the default prompt). This change now has all activation scripts use `__VENV_PROMPT__` only and relies on the fact that venv sets that value by default. The color of the customization is also now set in fish to the blue from the Python logo for as hex color support is built into that shell (much like PowerShell where the built-in green color is used).
* bpo-37834: Normalise handling of reparse points on Windows (GH-15231)Steve Dower2019-08-211-0/+21
| | | | | | | | | | bpo-37834: Normalise handling of reparse points on Windows * ntpath.realpath() and nt.stat() will traverse all supported reparse points (previously was mixed) * nt.lstat() will let the OS traverse reparse points that are not name surrogates (previously would not traverse any reparse point) * nt.[l]stat() will only set S_IFLNK for symlinks (previous behaviour) * nt.readlink() will read destinations for symlinks and junction points only bpo-1311: os.path.exists('nul') now returns True on Windows * nt.stat('nul').st_mode is now S_IFCHR (previously was an error)
* bpo-9949: Enable symlink traversal for ntpath.realpath (GH-15287)Steve Dower2019-08-211-0/+3
|
* bpo-37759: Second round of edits to Whatsnew 3.8 (GH-15204)Raymond Hettinger2019-08-121-20/+88
|
* bpo-37804: Remove the deprecated method threading.Thread.isAlive() (GH-15225)Dong-hee Na2019-08-121-0/+4
|
* bpo-32912: Revert SyntaxWarning on invalid escape sequences. (GH-15195)Gregory P. Smith2019-08-101-5/+0
| | | | | | | | | | | | | | | | | | DeprecationWarning will continue to be emitted for invalid escape sequences in string and bytes literals just as it did in 3.7. SyntaxWarning may be emitted in the future. But per mailing list discussion, we don't yet know when because we haven't settled on how to do so in a non-disruptive manner. (Applies 4c5b6bac2408f879231c7cd38d67657dd4804e7c to the master branch). (This is https://github.com/python/cpython/pull/15142 for master/3.9) https://bugs.python.org/issue32912 Automerge-Triggered-By: @gpshead
* bpo-37759: First round of major edits to Whatsnew 3.8 (GH-15127)Raymond Hettinger2019-08-051-37/+168
|
* bpo-37444: Update differing exception between builtins and importlib (GH-14869)Ngalim Siregar2019-08-031-0/+20
| | | | | | | | | | Imports now raise `TypeError` instead of `ValueError` for relative import failures. This makes things consistent between `builtins.__import__` and `importlib.__import__` as well as using a more natural import for the failure. https://bugs.python.org/issue37444 Automerge-Triggered-By: @brettcannon
* bpo-33821: Update IDLE section of What's New 3.7 (#15036)Terry Jan Reedy2019-07-311-1/+10
| | | | | | * bpo-33821: Update IDLE section of What's New 3.7 * Fix roles.
* bpo-33822: Add IDLE section of What's New 3.8 (#15035)Terry Jan Reedy2019-07-311-0/+27
| | | | | | * bpo-33822: Add IDLE section of What's New 3.8 * Fix role.
* bpo-36084: Add threading Native ID information to What's New documentation ↵Jake Tesler2019-07-301-4/+12
| | | | (GH-14845)
* bpo-37268: Add deprecation notice and a DeprecationWarning for the parser ↵Pablo Galindo2019-07-301-0/+4
| | | | | | | | | | | | | | | module (GH-15017) Deprecate the parser module and add a deprecation warning triggered on import and a warning block in the documentation. https://bugs.python.org/issue37268 Automerge-Triggered-By: @pablogsal
* bpo-17535: IDLE editor line numbers (GH-14030)Tal Einat2019-07-232-0/+12
|
* bpo-37481: Deprecate distutils bdist_wininst command (GH-14553)Victor Stinner2019-07-051-0/+4
| | | | The distutils bdist_wininst command is now deprecated, use bdist_wheel (wheel packages) instead.
* bpo-37266: Add bpo number to the What's New entry (GH614584)Victor Stinner2019-07-041-0/+1
| | | To get more info about this change.
* Fix typo in 3.9's Whats new. Pyton -> Python (GH-14567)ILJI CHOI2019-07-031-1/+1
|
* bpo-37209: Add pickle entry for 3.8 whatsnew (GH-14503)Pierre Glaser2019-07-011-0/+14
|
* bpo-37221: Add PyCode_NewWithPosOnlyArgs to be used internally and set ↵Pablo Galindo2019-07-011-0/+5
| | | | | | PyCode_New as a compatibility wrapper (GH-13959) Add PyCode_NewEx to be used internally and set PyCode_New as a compatibility wrapper
* bpo-37376: pprint support for SimpleNamespace (GH-14318)Carl Bordum Hansen2019-06-261-0/+6
| | | https://bugs.python.org/issue37376
* bpo-37414: Remove sys.callstats() (GH-14398)Victor Stinner2019-06-261-0/+5
| | | | | Remove the undocumented sys.callstats() function. Since Python 3.7, it was deprecated and always returned None. It required a special build option CALL_PROFILE which was already removed in Python 3.7.
* bpo-37412: os.getcwdb() now uses UTF-8 on Windows (GH-14396)Victor Stinner2019-06-261-0/+5
| | | | | | | | | The os.getcwdb() function now uses the UTF-8 encoding on Windows, rather than the ANSI code page: see PEP 529 for the rationale. The function is no longer deprecated on Windows. os.getcwd() and os.getcwdb() now detect integer overflow on memory allocations. On Unix, these functions properly report MemoryError on memory allocation failure.
* bpo-37388: Development mode check encoding and errors (GH-14341)Victor Stinner2019-06-251-0/+9
| | | | | | | | | In development mode and in debug build, encoding and errors arguments are now checked on string encoding and decoding operations. Examples: open(), str.encode() and bytes.decode(). By default, for best performances, the errors argument is only checked at the first encoding/decoding error, and the encoding argument is sometimes ignored for empty strings.
* bpo-20443: _PyConfig_Read() gets the absolute path of run_filename (GH-14053)Victor Stinner2019-06-251-0/+8
| | | | | | | | | | | | Python now gets the absolute path of the script filename specified on the command line (ex: "python3 script.py"): the __file__ attribute of the __main__ module, sys.argv[0] and sys.path[0] become an absolute path, rather than a relative path. * Add _Py_isabs() and _Py_abspath() functions. * _PyConfig_Read() now tries to get the absolute path of run_filename, but keeps the relative path if _Py_abspath() fails. * Reimplement os._getfullpathname() using _Py_abspath(). * Use _Py_isabs() in getpath.c.
* Fix minor spelling error in What's new for Python 3.8 (GH-14371)Pablo Galindo2019-06-251-1/+1
|
* bpo-35224: Add What's new entry for evaluation order in dict comprehensions ↵Pablo Galindo2019-06-251-0/+8
| | | | (GH-14319)
* bpo-37392: Remove sys.setcheckinterval() (GH-14355)Victor Stinner2019-06-251-0/+5
| | | | | | | Remove sys.getcheckinterval() and sys.setcheckinterval() functions. They were deprecated since Python 3.2. Use sys.getswitchinterval() and sys.setswitchinterval() instead. Remove also check_interval field of the PyInterpreterState structure.
* bpo-37351: Removes libpython38.a from standard Windows distribution (#14276)Steve Dower2019-06-211-0/+19
|
* Update What's New in Python 3.9 (GH-14253)Victor Stinner2019-06-202-1/+2
| | | | * Mention bpo of PyImport_Cleanup removal * Fix bpo number of PyByteArray_Init removal
* Update What's New in Python 3.8 (GH-14239)Victor Stinner2019-06-191-1/+2
| | | | * Mention issue in which ByByteArray_Init() has been removed. * Fix typo
* bpo-36710: Remove PyImport_Cleanup() function (GH-14221)Victor Stinner2019-06-191-0/+3
| | | | | | | * Rename PyImport_Cleanup() to _PyImport_Cleanup() and move it to the internal C API. Add 'tstate' parameters. * Remove documentation of _PyImport_Init(), PyImport_Cleanup(), _PyImport_Fini(). All three were documented as "For internal use only.".
* Document changes in PyNode_AddChild and PyParser_AddToken (GH-14214)Ivan Levkivskyi2019-06-191-0/+2
| | | I didn't find any entries in the docs about these functions, so I just mentioned them, in "What's New".
* bpo-37320: Remove openfp() of aifc, sunau and wave (GH-14169)Victor Stinner2019-06-171-3/+8
| | | | | aifc.openfp() alias to aifc.open(), sunau.openfp() alias to sunau.open(), and wave.openfp() alias to wave.open() have been removed. They were deprecated since Python 3.7.
* bpo-37194: Add PyObject_CallNoArgs() rationale (GH-14159)Victor Stinner2019-06-171-1/+4
| | | | Explain in the doc why PyObject_CallNoArgs() should be preferred over other existing ways to call a function without any arguments.