summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Docs: group sqlite3.Connection attributes and methods (#96090)Erlend E. Aasland2022-08-191-39/+37
|
* gh-94635: Remove sqlite3 doc introduction heading (#96089)Erlend E. Aasland2022-08-191-3/+0
|
* gh-95853: WASM: better version and asset handling in scripts (GH-96045)Christian Heimes2022-08-195-6/+42
| | | | | - support EMSDK tot-upstream and git releases - allow WASM assents for wasm64-emscripten and WASI. This makes single file distributions on WASI easier. - decouple WASM assets from browser builds
* gh-96039: Corrected wording error in itertools doc (GH-96105)MrSuspicious2022-08-191-1/+1
|
* gh-96017: Fix some compiler warnings (GH-96018)Christian Heimes2022-08-192-0/+4
| | | | | - "comparison of integers of different signs" in typeobject.c - only define static_builtin_index_is_set in DEBUG builds - only define recreate_gil with ifdef HAVE_FORK
* GH-95822: Need _PyType_Lookup() in descriptor howto code equivalent. (GH-95967)Raymond Hettinger2022-08-191-1/+21
|
* gh-95914: Add Py_UNICODE encode APIs removed in PEP 624 to 3.11 What's New ↵C.A.M. Gerlach2022-08-181-0/+25
| | | | | | | (#96016) * 3.11 Whatsnew: Add Py_UNICODE encode functions removed in PEP 624 * Just use :func: instead of :c:func: for non-resolved funcs so ! works
* gh-95463: Remove backwards incompatible change regarding the ↵Pablo Galindo Salgado2022-08-182-1/+3
| | | | | _MASK_UTF_FILENAME flags in bpo-28080 (GH-96072) Automerge-Triggered-By: GH:pablogsal
* GH-93179: Document the thread safety of functools.lru_cache (GH-95970)Raymond Hettinger2022-08-181-0/+6
|
* gh-90536: Add support for the BOLT post-link binary optimizer (gh-95908)Kevin Modzelewski2022-08-187-1/+351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for the BOLT post-link binary optimizer Using [bolt](https://github.com/llvm/llvm-project/tree/main/bolt) provides a fairly large speedup without any code or functionality changes. It provides roughly a 1% speedup on pyperformance, and a 4% improvement on the Pyston web macrobenchmarks. It is gated behind an `--enable-bolt` configure arg because not all toolchains and environments are supported. It has been tested on a Linux x86_64 toolchain, using llvm-bolt built from the LLVM 14.0.6 sources (their binary distribution of this version did not include bolt). Compared to [a previous attempt](https://github.com/faster-cpython/ideas/issues/224), this commit uses bolt's preferred "instrumentation" approach, as well as adds some non-PIE flags which enable much better optimizations from bolt. The effects of this change are a bit more dependent on CPU microarchitecture than other changes, since it optimizes i-cache behavior which seems to be a bit more variable between architectures. The 1%/4% numbers were collected on an Intel Skylake CPU, and on an AMD Zen 3 CPU I got a slightly larger speedup (2%/4%), and on a c6i.xlarge EC2 instance I got a slightly lower speedup (1%/3%). The low speedup on pyperformance is not entirely unexpected, because BOLT improves i-cache behavior, and the benchmarks in the pyperformance suite are small and tend to fit in i-cache. This change uses the existing pgo profiling task (`python -m test --pgo`), though I was able to measure about a 1% macrobenchmark improvement by using the macrobenchmarks as the training task. I personally think that both the PGO and BOLT tasks should be updated to use macrobenchmarks, but for the sake of splitting up the work this PR uses the existing pgo task. * Simplify the build flags * Add a NEWS entry * Update Makefile.pre.in Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> * Update configure.ac Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> * Add myself to ACKS * Add docs * Other review comments * fix tab/space issue * Make it more clear that --enable-bolt is experimental * Add link to bolt's github page Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
* Remove manual build scripts for Windows dependencies and put them in the ↵Steve Dower2022-08-184-293/+0
| | | | release-tools repository instead (GH-96088)
* GH-95861: Add support for Spearman's rank correlation coefficient (GH-95863)Raymond Hettinger2022-08-184-18/+117
|
* Docs: Escape lone stars in sqlite3 docs (#96081)Erlend E. Aasland2022-08-181-5/+5
|
* gh-95271: Rework sqlite3 tutorial (#95749)Erlend E. Aasland2022-08-181-50/+138
| | | | Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM> Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
* gh-93103: Doc uses PyConfig rather than deprecated vars (#96070)Victor Stinner2022-08-184-12/+10
| | | | The C API documentation now uses the new PyConfig API, rather than deprecated global configuration variables.
* gh-95813: Improve HTMLParser from the view of inheritance (#95874)Dong-hee Na2022-08-182-1/+16
| | | | | | | * gh-95813: Improve HTMLParser from the view of inheritance * gh-95813: Add unittest * Address code review
* gh-95913: Add traceback module additions to what's new in 3.11 (GH-95980)Irit Katriel2022-08-181-0/+14
|
* gh-95913: make the new internal classes pdb.ModuleTarget/ScriptTarget ↵Irit Katriel2022-08-182-5/+5
| | | | private (GH-96053)
* Remove dead code in _PyDict_GetItemHint and rename to _PyDict_LookupIndex ↵Matthias Görgens2022-08-183-51/+10
| | | | (GH-95948)
* gh-90110: Update the c-analyzer Tool (gh-96058)Eric Snow2022-08-174-8/+87
|
* gh-90110: Get the C Analyzer Tool Working Again (gh-96057)Eric Snow2022-08-173-579/+383
| | | | | | | | We broke it with a recent `_PyArg_Parser` change. Also: * moved the `_PyArg_Parser` whitelist entries over to ignored.tsv now that they are thread-safe * added some known globals from a currently-excluded file * dropped some outdated globals from the whitelist
* Correct news entry. (GH-96043)Mark Shannon2022-08-171-1/+1
|
* GH-95589: Dont crash when subclassing extension classes with multiple ↵Mark Shannon2022-08-174-43/+67
| | | | | | | inheritance (GH-96028) * Treat tp_weakref and tp_dictoffset like other opaque slots for multiple inheritance. * Document Py_TPFLAGS_MANAGED_DICT and Py_TPFLAGS_MANAGED_WEAKREF in what's new.
* gh-95991: Add some infrastructure for testing Limited API in _testcapi ↵Petr Viktorin2022-08-177-23/+64
| | | | | | | | | | | | | (GH-95992) - Limited API needs to be enabled per source file - Some builds don't support Limited API, so Limited API tests must be skipped on those builds (currently this is `Py_TRACE_REFS`, but that may change.) - `Py_LIMITED_API` must be defined before `<Python.h>` is included. This puts the hoop-jumping in `testcapi/parts.h`, so individual test files can be relatively simple. (Currently that's only `vectorcall_limited.c`, imagine more.)
* GH-93911: Specialize `LOAD_ATTR` for custom `__getattribute__` (GH-93988)Ken Jin2022-08-1711-86/+219
|
* gh-95736: Fix event loop creation in IsolatedAsyncioTestCase (GH-96033)Serhiy Storchaka2022-08-171-4/+4
| | | | | | It should be created before calling the setUp() method, but after checking for skipping a test. Automerge-Triggered-By: GH:tiran
* gh-96005: FreeBSD has ENOTCAPABLE, too (GH-96034)Christian Heimes2022-08-172-3/+5
|
* GH-95704: Don't suppress errors from tasks when TG is cancelled (#95761)Guido van Rossum2022-08-173-28/+35
| | | | | | | | | | | | | When a task catches CancelledError and raises some other error, the other error should not silently be suppressed. Any scenario where a task crashes in cleanup upon cancellation will now result in an ExceptionGroup wrapping the crash(es) instead of propagating CancelledError and ignoring the side errors. NOTE: This represents a change in behavior (hence the need to change several tests). But it is only an edge case. Co-authored-by: Thomas Grainger <tagrain@gmail.com>
* GH-95909: Make `_PyArg_Parser` initialization thread safe (GH-95958)Kumar Aditya2022-08-163-12/+48
|
* gh-96005: Handle WASI ENOTCAPABLE in getpath (GH-96006)Christian Heimes2022-08-166-4/+31
| | | | | | - On WASI `ENOTCAPABLE` is now mapped to `PermissionError`. - The `errno` modules exposes the new error number. - `getpath.py` now ignores `PermissionError` when it cannot open landmark files `pybuilddir.txt` and `pyenv.cfg`.
* gh-94823: Improve coverage in tokenizer.c:valid_utf8 (GH-94856)Michael Droettboom2022-08-161-0/+61
| | | | | | When loading a source file from disk, there is a separate UTF-8 validator distinct from the one in `unicode_decode_utf8`. This exercises that code path with the same set of invalid inputs as we use for testing the "other" UTF-8 decoder.
* GH-95736: fix IsolatedAsyncioTestCase to initialize Runner before calling ↵Kumar Aditya2022-08-163-0/+20
| | | | setup functions (#95898)
* GH-95245: Move weakreflist into the pre-header. (GH-95996)Mark Shannon2022-08-166-20/+105
|
* remove repetitive credit from what's new in 3.11 rst (GH-96024)Irit Katriel2022-08-161-1/+0
|
* gh-95957: Add instructions for Tcl/Tk and OpenSSL on RHEL/CentOS 7 (#95964)Christian Heimes2022-08-166-6/+46
| | | Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* Change CODEOWNERS entries for iritkatriel (GH-96008)Irit Katriel2022-08-161-2/+1
|
* gh-95808: Add missing early returns in _asynciomodule.c (#95809)Yury Selivanov2022-08-151-2/+3
|
* gh-78143: IDLE - fix settings dialog page label. (#96009)Terry Jan Reedy2022-08-151-1/+1
| | | | '/Tab' should have been removed from the font page label when the tab-spaces setting was moved to the Windows page.
* GH-94808: Test __build_class__ inside non-dict __builtins__ (GH-95932)Michael Droettboom2022-08-151-5/+9
|
* GH-95899: fix asyncio.Runner to call set_event_loop only once (#95900)Kumar Aditya2022-08-153-3/+20
|
* gh-95231: Disable md5 & crypt modules if FIPS is enabled (GH-94742)Shreenidhi Shedi2022-08-152-1/+4
| | | | | | | | | | | | | | | | | | | | | If kernel fips is enabled, we get permission error upon doing `import crypt`. So, if kernel fips is enabled, disable the unallowed hashing methods. Python 3.9.1 (default, May 10 2022, 11:36:26) [GCC 10.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import crypt Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.9/crypt.py", line 117, in <module> _add_method('MD5', '1', 8, 34) File "/usr/lib/python3.9/crypt.py", line 94, in _add_method result = crypt('', salt) File "/usr/lib/python3.9/crypt.py", line 82, in crypt return _crypt.crypt(word, salt) PermissionError: [Errno 1] Operation not permitted Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
* gh-95707: Fix function signature (GH-95995)Christian Heimes2022-08-151-1/+2
|
* GH-95707: Fix uses of `Py_TPFLAGS_MANAGED_DICT` (GH-95854)Mark Shannon2022-08-157-25/+137
| | | | | | * Make sure that tp_dictoffset is correct with Py_TPFLAGS_MANAGED_DICT is set. * Avoid traversing managed dict twice when subclassing class with Py_TPFLAGS_MANAGED_DICT set.
* gh-95853: Address wasm build and test issues (GH-95985)Christian Heimes2022-08-153-6/+14
|
* Clarify asyncio.Runner docs re: loop_factory (#95979)Kumar Aditya2022-08-141-1/+3
|
* GH-95977: Speed up calling pure python descriptor __get__ with vectorcall ↵Kumar Aditya2022-08-142-1/+3
| | | | (gh-95978)
* bpo-40222: Mark exception table function in the dis module as private (#95961)Pablo Galindo Salgado2022-08-141-8/+8
|
* gh-95853: Add script to automate WASM build (GH-95828)Christian Heimes2022-08-139-21/+827
| | | | | | | | | | | | Automate WASM build with a new Python script. The script provides several build profiles with configure flags for Emscripten flavors and WASI. The script can detect and use Emscripten SDK and WASI SDK from default locations or env vars. ``configure`` now detects Node arguments and creates HOSTRUNNER arguments for Node 16. It also sets correct arguments for ``wasm64-emscripten``. Co-authored-by: Brett Cannon <brett@python.org>
* gh-89313: Add hashlib.file_digest to whatsnew 3.11 (GH-95965)Christian Heimes2022-08-131-0/+4
| | | Automerge-Triggered-By: GH:pablogsal
* bpo-25625: Document contextlib.chdir in the 3.11 what's new (#95962)Pablo Galindo Salgado2022-08-131-0/+7
|