summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d
Commit message (Collapse)AuthorAgeFilesLines
* bpo-41972: Use the two-way algorithm for string searching (GH-22904)Dennis Sweeney2021-02-281-0/+1
| | | | | Implement an enhanced variant of Crochemore and Perrin's Two-Way string searching algorithm, which reduces worst-case time from quadratic (the product of the string and pattern lengths) to linear. This applies to forward searches (like``find``, ``index``, ``replace``); the algorithm for reverse searches (like ``rfind``) is not changed. Co-authored-by: Tim Peters <tim.peters@gmail.com>
* bpo-43251: sqlite3_column_name() failures now raise MemoryError (GH-24609)Erlend Egeberg Aasland2021-02-281-0/+2
|
* bpo-43321: Fix SystemError in getargs.c (GH-24656)Inada Naoki2021-02-271-0/+2
|
* bpo-42128: Structural Pattern Matching (PEP 634) (GH-22917)Brandt Bucher2021-02-261-0/+1
| | | | | Co-authored-by: Guido van Rossum <guido@python.org> Co-authored-by: Talin <viridia@gmail.com> Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
* bpo-38302: __pow__/__rpow__ now called when __ipow__ returns NotImplemented ↵Alex2021-02-261-0/+1
| | | | (#16459)
* bpo-43317: Use io.DEFAULT_BUFFER_SIZE instead of 1024 in gzip CLI (#24645)Ruben Vorderman2021-02-261-0/+3
| | | This improves the performance slightly.
* closes bpo-43278: remove unnecessary leading '\n' from COMPILER when build ↵Joseph Shen2021-02-261-0/+1
| | | | | with GCC/Clang (GH-24606) Automerge-Triggered-By: GH:benjaminp
* bpo-43316: gzip: CLI uses non-zero return code on error. (GH-24647)Ruben Vorderman2021-02-251-0/+3
| | | | Exit code is now 1 instead of 0. A message is printed to stderr instead of stdout. This is the proper behaviour for a tool that can be used in scripts.
* bpo-42151: don't set specified_attributes=1 in pure Python ElementTree ↵Felix C. Stegerman2021-02-241-0/+3
| | | | (GH-22987)
* bpo-43283: Add IDLE doc paragraph about print speed (GH-24615)Terry Jan Reedy2021-02-241-0/+3
| | | | | | Printing to IDLE's Shell is often slower than printing to a system terminal, but it can be made faster by pre-formatting a single string before printing.
* bpo-43146: fix None-handling in single-arg traceback.print_exception(None) ↵Irit Katriel2021-02-231-0/+1
| | | | | (GH-24629) (The previous commit fixed print_exception(None, None, None).)
* bpo-43146: fix regression in traceback.print_exception(None) (GH-24463)Irit Katriel2021-02-231-0/+1
|
* bpo-43239: Export PyCFunction_New with PyAPI_FUNC (GH-24551)Petr Viktorin2021-02-231-0/+2
|
* bpo-36346: Document removal schedule of deprecate APIs (GH-20879)Inada Naoki2021-02-221-0/+2
| | | We will remove wstr cache in Python 3.12. See PEP 623.
* bpo-36346: Emit DeprecationWarning for PyArg_Parse() with 'u' or 'Z'. (GH-20927)Inada Naoki2021-02-221-0/+2
| | | | | Emit DeprecationWarning when PyArg_Parse*() is called with 'u', 'Z' format. See PEP 623.
* bpo-42808: Add PyType_Type.tp_vectorcall for type(obj) performance (GH-24058)Dennis Sweeney2021-02-221-0/+2
|
* bpo-43260: io: Prevent large data remains in textio buffer. (GH-24592)Inada Naoki2021-02-211-0/+2
| | | | | | | | When very large data remains in TextIOWrapper, flush() may fail forever. So prevent that data larger than chunk_size is remained in TextIOWrapper internal buffer. Co-Authored-By: Eryk Sun
* bpo-43288: Fix bug in test_importlib test. (GH-24612)Neil Schemenauer2021-02-211-0/+2
|
* bpo-27646: Say that 'yield from' expression can be any iterable (GH-24595)Terry Jan Reedy2021-02-211-0/+2
| | | Previously, the doc at least strongly implied that it had to be an iterator.
* bpo-43277: Add PySet_CheckExact to the C-API (GH-24598)Pablo Galindo2021-02-201-0/+3
| | | For some mysterious reason we have PySet_Check, PyFrozenSet_Check, PyAnySet_Check, PyAnySet_CheckExact and PyFrozenSet_CheckExact but no PySet_CheckExact.
* bpo-42990: Functions inherit current builtins (GH-24564)Victor Stinner2021-02-201-0/+7
| | | | | | | | | | | | | | | | | | | | The types.FunctionType constructor now inherits the current builtins if the globals dictionary has no "__builtins__" key, rather than using {"None": None} as builtins: same behavior as eval() and exec() functions. Defining a function with "def function(...): ..." in Python is not affected, globals cannot be overriden with this syntax: it also inherits the current builtins. PyFrame_New(), PyEval_EvalCode(), PyEval_EvalCodeEx(), PyFunction_New() and PyFunction_NewWithQualName() now inherits the current builtins namespace if the globals dictionary has no "__builtins__" key. * Add _PyEval_GetBuiltins() function. * _PyEval_BuiltinsFromGlobals() now uses _PyEval_GetBuiltins() if builtins cannot be found in globals. * Add tstate parameter to _PyEval_BuiltinsFromGlobals().
* bpo-35134: Move non-limited C API files to Include/cpython/ (GH-24561)Nicholas Sim2021-02-191-0/+3
| | | | | | Include/{odictobject.h,parser_interface.h,picklebufobject.h,pydebug.h,pyfpe.h} into Include/cpython/. Parser: peg_api: include Python.h instead of parser_interface.h.
* bpo-43270: Remove private _PyErr_OCCURRED() macro (GH-24579)Victor Stinner2021-02-191-0/+2
| | | | | | | | Remove the private _PyErr_OCCURRED() macro: use the public PyErr_Occurred() function instead. CPython internals must use the internal _PyErr_Occurred(tstate) function instead: it is the most efficient way to check if an exception was raised.
* bpo-43258: Don't allocate sqlite3 aggregate context for empty queries (GH-24569)Erlend Egeberg Aasland2021-02-191-0/+2
|
* bpo-39448: Add regen-frozen makefile target. (GH-18174)Neil Schemenauer2021-02-191-0/+2
| | | | | Add the "regen-frozen" makefile target that regenerates the code for the frozen __hello__ module.
* bpo-42960: Add resource.RLIMIT_KQUEUES constant from FreeBSD (GH-24251)David CARLIER2021-02-181-0/+1
|
* bpo-42990: Add __builtins__ attribute to functions (GH-24559)Victor Stinner2021-02-181-0/+3
| | | | | | Expose the new PyFunctionObject.func_builtins member in Python as a new __builtins__ attribute on functions. Document also the behavior change in What's New in Python 3.10.
* bpo-35134: Move Include/{pyarena.h,pyctype.h} to Include/cpython/ (GH-24550)Nicholas Sim2021-02-171-0/+3
| | | | Move non-limited C API headers pyarena.h and pyctype.h into Include/cpython/ directory.
* bpo-40170: Move 3 NEWS entries to the C API section (GH-24555)Erlend Egeberg Aasland2021-02-173-0/+0
|
* bpo-40170: Always define PyExceptionClass_Name() as a function (GH-24553)Erlend Egeberg Aasland2021-02-171-0/+3
| | | Remove macro variant of PyExceptionClass_Name().
* bpo-43103: Add configure --without-static-libpython (GH-24418)Victor Stinner2021-02-171-0/+3
| | | | | | | | Add a new configure --without-static-libpython option to not build the libpythonMAJOR.MINOR.a static library and not install the python.o object file. Fix smelly.py and stable_abi.py tools when libpython3.10.a is missing.
* bpo-40170: Always define PyIter_Check() as a function (GH-24548)Erlend Egeberg Aasland2021-02-161-0/+3
|
* bpo-40170: Convert PyDescr_IsData() to static inline function (GH-24535)Erlend Egeberg Aasland2021-02-161-0/+3
|
* bpo-43155: Add PyCMethod_New to PC/python3dll.c (GH-24500)Zackery Spytz2021-02-161-0/+1
|
* bpo-42819, readline: Disable bracketed paste (GH-24108)Dustin Rodrigues2021-02-151-0/+8
|
* bpo-43181: Convert PyObject_TypeCheck to static inline function (GH-24533)Erlend Egeberg Aasland2021-02-151-0/+2
|
* bpo-42967: only use '&' as a query string separator (#24297)Adam Goldschmidt2021-02-141-0/+1
| | | | | | | | | | | bpo-42967: [security] Address a web cache-poisoning issue reported in urllib.parse.parse_qsl(). urllib.parse will only us "&" as query string separator by default instead of both ";" and "&" as allowed in earlier versions. An optional argument seperator with default value "&" is added to specify the separator. Co-authored-by: Éric Araujo <merwok@netwok.org> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Co-authored-by: Éric Araujo <merwok@netwok.org>
* bpo-43172: readline now passes its tests when built against libedit (GH-24499)Gregory P. Smith2021-02-121-0/+4
| | | | | | | bpo-43172: readline now passes its tests when built against libedit. Existing irreconcilable API differences remain in readline.get_begidx and readline.get_endidx behavior based on libreadline vs libedit use. A note about that has been documented.
* bpo-43174: Windows: Use /utf-8 compiler option. (GH-24498)Inada Naoki2021-02-121-0/+1
|
* bpo-40956: Fix segfault when Connection.backup is called without target ↵Erlend Egeberg Aasland2021-02-101-0/+3
| | | | (GH-24503)
* bpo-42217: compiler: merge same co_code and co_linetable objects (GH-23056)Inada Naoki2021-02-101-0/+1
|
* bpo-43163: Handle unclosed parentheses in codeop (GH-24483)Pablo Galindo2021-02-091-0/+2
|
* bpo-43162: [Enum] deprecate enum member.member access (GH-24486)Ethan Furman2021-02-091-0/+2
| | | | | | | In 3.5 (?) a speed optimization made it possible to access members as attributes of other members, i.e. ``Color.RED.BLUE``. This was always discouraged in the docs, and other recent optimizations has made that one no longer necessary. Because some may be relying on it anyway, it is being deprecated in 3.10, and will be removed in 3.11.
* bpo-13501: allow choosing between readline and libedit (GH-24189)Roland Hieber2021-02-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | In contrast to macOS, libedit is available as its own include file and library on Linux systems to prevent file name clashes. So if both libraries are available on the system, readline is currently chosen by default; and if only libedit is available, it is not found at all. This patch adds a way to link against libedit by adding the following arguments to configure: --with-readline link against libreadline (the default) --with-readline=editline link against libeditline --with-readline=no disable building the readline module --without-readline (same) The runtime detection of libedit vs. readline was already done in commit 7105319ada2e66365902 (2019-12-04, serge-sans-paille: "bpo-38634: Allow non-apple build to cope with libedit (GH-16986)"). Fixes: GH-12076 ("bpo-13501 Build or disable readline with Editline") Fixes: bpo-13501 ("Make libedit support more generic; port readline / libedit to FreeBSD") Co-authored-by: Enji Cooper (ngie-eign) Co-authored-by: Martin Panter (vadmium) Co-authored-by: Robert Marshall (kellinm)
* bpo-40692: Run more test_concurrent_futures tests (GH-20239)Asheesh Laroia2021-02-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In the case of multiprocessing.synchronize() being missing, the test_concurrent_futures test suite now skips only the tests that require multiprocessing.synchronize(). Validate that multiprocessing.synchronize exists as part of _check_system_limits(), allowing ProcessPoolExecutor to raise NotImplementedError during __init__, rather than crashing with ImportError during __init__ when creating a lock imported from multiprocessing.synchronize. Use _check_system_limits() to disable tests of ProcessPoolExecutor on systems without multiprocessing.synchronize. Running the test suite without multiprocessing.synchronize reveals that Lib/compileall.py crashes when it uses a ProcessPoolExecutor. Therefore, change Lib/compileall.py to call _check_system_limits() before creating the ProcessPoolExecutor. Note that both Lib/compileall.py and Lib/test/test_compileall.py were attempting to sanity-check ProcessPoolExecutor by expecting ImportError. In multiprocessing.resource_tracker, sem_unlink() is also absent on platforms where POSIX semaphores aren't available. Avoid using sem_unlink() if it, too, does not exist. Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* bpo-43149: Improve error message for exception group without parentheses ↵Pablo Galindo2021-02-071-0/+2
| | | | (GH-24467)
* bpo-43102: Set namedtuple __new__'s internal builtins to a dict. (GH-24439)Raymond Hettinger2021-02-041-0/+2
|
* bpo-43106: Add os.O_EVTONLY/O_FSYNC/O_SYMLINK/O_NOFOLLOW_ANY (GH-24428)Dong-hee Na2021-02-031-0/+2
|
* bpo-43121: Fix incorrect SyntaxError message for missing comma (GH-24436)Pablo Galindo2021-02-031-0/+2
|
* Python 3.10.0a5Pablo Galindo2021-02-0267-135/+670
|