summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-84852: Add MIME types for .eot, ,otf, .ttf, .woff and .woff2 fonts (#20199)Sahil Prajapati2024-11-124-0/+22
| | | | | Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* GH-126195: Use M1 JIT memory protection APIs (GH-126196)Diego Russo2024-11-122-2/+17
|
* gh-58749: Remove incorrect language spec claims about the global statement ↵Beomsoo Kim2024-11-123-44/+191
| | | | | | | | (GH-126523) * Removes erroneous explanation of the `global` statement restrictions; a name declared as global can be subsequently bound using any kind of name binding operation. * Updates `test_global.py` to also test various name-binding scenarios for global variables to ensure correct behavior
* gh-76785: Improved Subinterpreters Compatibility with 3.12 (1/2) (gh-126704)Eric Snow2024-11-119-43/+55
| | | | | | | | | These changes makes it easier to backport the _interpreters, _interpqueues, and _interpchannels modules to Python 3.12. This involves the following: * rename several structs and typedefs * add several typedefs * stop using the PyThreadState.state field directly in parking_lot.c
* Docs: re-create pages for removed modules to document their removal. (#126622)Ned Batchelder2024-11-1128-0/+451
| | | | | Will also need to change the redirects that were created here: https://github.com/python/psf-salt/pull/521/files
* gh-126413: Add translation tests for getopt and optparse (GH-126698)Tomas R.2024-11-117-55/+114
|
* gh-76785: Minor Cleanup of Exception-related Cross-interpreter State (gh-126602)Eric Snow2024-11-114-58/+81
| | | This change makes it easier to backport the _interpreters, _interpqueues, and _interpchannels modules to Python 3.12.
* gh-89416: Add RFC 9559 MIME types for Matroska formats (#126412)Hugo van Kemenade2024-11-114-20/+46
| | | | | Co-authored-by: Zachary Ware <zachary.ware@gmail.com> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-84559: gh-103134: Whats new 3.14 entries for multiprocessing. (GH-126697)Gregory P. Smith2024-11-111-8/+25
|
* Update documentation links to Microsoft's documentation pages (GH-126379)谭九鼎2024-11-113-9/+9
|
* gh-126374: Add support of options with optional arguments in the getopt ↵Serhiy Storchaka2024-11-115-25/+112
| | | | module (GH-126375)
* gh-117941: Reject option names starting with "--no-" in ↵Serhiy Storchaka2024-11-113-0/+12
| | | | | | argparse.BooleanOptionalAction (GH-125894) They never worked correctly.
* gh-126505: Fix bugs in compiling case-insensitive character classes (GH-126557)Serhiy Storchaka2024-11-113-9/+73
| | | | | * upper-case non-BMP character was ignored * the ASCII flag was ignored when matching a character range whose upper bound is beyond the BMP region
* gh-126654: Fix crash in several functions in `_interpreters` module (#126678)sobolevn2024-11-113-0/+25
|
* gh-126417: validate ABC methods on multiprocessing proxy types (#126454)Stephen Morton2024-11-111-0/+22
| | | | | Checks that appropriate dunder __ methods exist on the dict and list proxy types. Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Add missing fullstop `.` to whatsnew/3.8.rst (GH-126553)Rafael Fontenelle2024-11-111-1/+1
|
* gh-126664: Use `else` instead of `finally` in "The with statement" ↵vivodi2024-11-111-5/+2
| | | | documentation. (GH-126665)
* gh-117378: Clear up the NEWS entry wording (GH-126634)Gregory P. Smith2024-11-111-3/+3
| | | | | gh-117378: Clear up the NEWS entry wording. Docs are hard. Lets go shopping!
* gh-126543: Docs: change "bound type var" to "bounded" when used in the ↵Pedro Fonini2024-11-111-11/+11
| | | | context of the 'bound' kw argument to TypeVar (#126584)
* gh-126647: `Doc/using/configure.rst`: Add an entry for ↵Kirill Podoprigora2024-11-101-0/+13
| | | | | | | | | | | | | | ``--enable-experimental-jit`` option (#126648) Add an entry for the ``--enable-experimental-jit`` option in ``Doc/using/configure.rst``. This was added as an experimental option in CPython 3.13. Possible values for it: * `no` - don't build the JIT. * `yes` - build the JIT. * `yes-off` - build the JIT but disable it by default. * `interpreter` - don't build the JIT but enable tier 2 interpreter instead. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* gh-117378: Only run the new multiprocessing SysPath test when appropriate ↵Gregory P. Smith2024-11-101-29/+30
| | | | | | | | | (GH-126635) The first version had it running two forkserver and one spawn tests underneath each of the _fork, _forkserver, and _spawn test suites that build off the generic one. This adds to the existing complexity of the multiprocessing test suite by offering BaseTestCase classes another attribute to control which suites they are invoked under. Practicality vs purity here. :/ Net result: we don't over-run the new test and their internal logic is simplified.
* Skip test in test_socket.py if `sys.getrefcount` isn't available (#126640)CF Bolz-Tereick2024-11-101-0/+2
| | | Skip `testMakefileCloseSocketDestroy` test if `sys.getrefcount` isn't available. This is necessary for PyPy and other Python implementations that do not have `sys.getrefcount`.
* gh-126565: Skip `zipfile.Path.exists` check in write mode (#126576)Jan Hicken2024-11-102-1/+2
| | | | | | | | | | | When `zipfile.Path.open` is called, the implementation will check whether the path already exists in the ZIP file. However, this check is only required when the ZIP file is in read mode. By swapping arguments of the `and` operator, the short-circuiting will prevent the check from being run in write mode. This change will improve the performance of `open()`, because checking whether a file exists is slow in write mode, especially when the archive has many members.
* Postpone `module.__loader__` deprecation to Python 3.16 (#126482)Hugo van Kemenade2024-11-103-9/+9
|
* gh-117378: Fix multiprocessing forkserver preload sys.path inheritance. ↵Gregory P. Smith2024-11-093-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-126538) gh-117378: Fix multiprocessing forkserver preload sys.path inheritance. `sys.path` was not properly being sent from the parent process when launching the multiprocessing forkserver process to preload imports. This bug has been there since the forkserver start method was introduced in Python 3.4. It was always _supposed_ to inherit `sys.path` the same way the spawn method does. Observable behavior change: A `''` value in `sys.path` will now be replaced in the forkserver's `sys.path` with an absolute pathname `os.path.abspath(os.getcwd())` saved at the time that `multiprocessing` was imported in the parent process as it already was when using the spawn start method. **This will only be observable during forkserver preload imports**. The code invoked before calling things in another process already correctly sets `sys.path`. Which is likely why this went unnoticed for so long as a mere performance issue in some configurations. A workaround for the bug on impacted Pythons is to set PYTHONPATH in the environment before multiprocessing's forkserver process was started. Not perfect as that is then inherited by other children, etc, but likely good enough for many people's purposes. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* pathlib ABCs: tighten up `resolve()` and `absolute()` (#126611)Barney Gale2024-11-093-32/+53
| | | | | | | | | | | | In `PathBase.resolve()`, raise `UnsupportedOperation` if a non-POSIX path parser is used (our implementation uses `posixpath._realpath()`, which produces incorrect results for non-POSIX path flavours.) Also tweak code to call `self.absolute()` upfront rather than supplying an emulated `getcwd()` function. Adjust `PathBase.absolute()` to work somewhat like `resolve()`. If a POSIX path parser is used, we treat the root directory as the current directory. This is the simplest useful behaviour for concrete path types without a current directory cursor.
* pathlib ABCs: support initializing paths with no arguments (#126608)Barney Gale2024-11-092-9/+8
| | | | | | | | In the past I've equivocated about whether to require at least one argument in the `PurePathBase` (and `PathBase`) initializer, and what the default should be if we make it optional. I now have a local use case that has persuaded me to make it optional and default to the empty string (a `zipp.Path`-like class that treats relative and absolute paths similarly.) Happily this brings the base class more in line with `PurePath` and `Path`.
* gh-120619: Strength reduce function guards, support 2-operand uop forms ↵Ken Jin2024-11-0917-270/+379
| | | | | (GH-124846) Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
* gh-126187 Add emscripten.py script to automate emscripten build (#126190)Hood Chatham2024-11-093-136/+354
| | | | | Add emscripten.py script to automate emscripten build. This is modeled heavily on `Tools/wasm/wasi.py`. This will form the basis of an Emscripten build bot.
* GH-126212: Fix removal of slashes in file URIs on Windows (#126214)Barney Gale2024-11-083-21/+18
| | | | | | Adjust `urllib.request.pathname2url()` and `url2pathname()` so that they don't remove slashes from Windows DOS drive paths and URLs. There was no basis for this behaviour, and it conflicts with how UNC and POSIX paths are handled.
* GH-126547: Pre-assign version numbers for a few common classes (GH-126551)Mark Shannon2024-11-0812-2/+29
|
* gh-126497: Add missing venv redirectors to freethreaded installer (GH-126556)Steve Dower2024-11-082-4/+8
|
* gh-125298: Remove misleading text in os.kill documentation (GH-125749)RUANG (James Roy)2024-11-081-2/+1
| | | Windows has not accepted process handles in many releases.
* gh-126072: Set docstring attribute for module and class (#126231)Xuanteng Huang2024-11-086-20/+77
|
* remove minor redundant code from `_asyncio` (#126578)Kumar Aditya2024-11-081-3/+1
|
* gh-126579: Adapt sys.audit() to Argument Clinic (GH-126580)Serhiy Storchaka2024-11-082-42/+63
|
* GH-107803: use circular double linked list for tasks in `_asyncio` (#126577)Kumar Aditya2024-11-081-52/+21
|
* gh-122943: Add the varpos parameter in _PyArg_UnpackKeywords (GH-126564)Serhiy Storchaka2024-11-0894-685/+1220
| | | | Remove _PyArg_UnpackKeywordsWithVararg. Add comments for integer arguments of _PyArg_UnpackKeywords.
* gh-122943: Move code generation for var-positional parameter to converters ↵Serhiy Storchaka2024-11-082-73/+91
| | | | (GH-126575)
* gh-89640: Restore configure error message on failure to detect float word ↵Hood Chatham2024-11-082-2/+7
| | | | | | | | | | | order (#126569) Before #126387, if we didn't detect float word order we'd raise the following configure error: Unknown float word ordering. You need to manually preset ax_cv_c_float_words_bigendian=no (or yes) according to your system. This puts it back (except for ARM or WASM, which as hardcoded).
* gh-126171: fix possible null dereference in _imp_find_frozen_impl (#126566)Valery Fedorenko2024-11-081-1/+1
|
* gh-122943: Remove the object converter for var-positional parameter (GH-126560)Serhiy Storchaka2024-11-087-87/+80
|
* gh-120017: use 'do-while(0)' in some `{codegen,compile}.c` multi-line macros ↵Bénédikt Tran2024-11-072-62/+72
| | | | (#120018)
* GH-123877: default to `wasm32-wasip1` instead of `wasm32-wasi` to be more ↵Brett Cannon2024-11-075-9/+12
| | | | | | | | | specific (GH-126552) Eventually wasm32-wasi will represent WASI 1.0, and so it's currently deprecated so it can be used for that eventual purpose. wasm32-wasip1 is also more specific to what version of WASI is currently supported. --------- Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-122943: Rework support of var-positional parameter in Argument Clinic ↵Serhiy Storchaka2024-11-0722-662/+1597
| | | | | | | | | | | | | | | | | | (GH-122945) Move creation of a tuple for var-positional parameter out of _PyArg_UnpackKeywordsWithVararg(). Merge _PyArg_UnpackKeywordsWithVararg() with _PyArg_UnpackKeywords(). Add a new parameter in _PyArg_UnpackKeywords(). The "parameters" and "converters" attributes of ParseArgsCodeGen no longer contain the var-positional parameter. It is now available as the "varpos" attribute. Optimize code generation for var-positional parameter and reuse the same generating code for functions with and without keyword parameters. Add special converters for var-positional parameter. "tuple" represents it as a Python tuple and "array" represents it as a continuous array of PyObject*. "object" is a temporary alias of "tuple".
* GH-126464 Fix JIT CI on aarch64-apple-darwin (GH-126494)alm2024-11-071-8/+7
|
* gh-126298: Don't deduplicate slice constants based on equality (#126398)Michael Droettboom2024-11-072-20/+93
| | | | | | | | | | | | | | | * gh-126298: Don't deduplicated slice constants based on equality * NULL check for PySlice_New * Fix refcounting * Fix refcounting some more * Fix refcounting * Make tests more complete * Fix tests
* gh-76785: Minor Cleanup of "Cross-interpreter" Code (gh-126457)Eric Snow2024-11-0715-337/+343
| | | | | | | | The primary objective here is to allow some later changes to be cleaner. Mostly this involves renaming things and moving a few things around. * CrossInterpreterData -> XIData * crossinterpdatafunc -> xidatafunc * split out pycore_crossinterp_data_registry.h * add _PyXIData_lookup_t
* Chore: Fix typo in `pyarena.c` (#126527)Aditya Borikar2024-11-071-1/+1
|
* gh-126529: Update devguide links to relative filenames in InternalDocs (#126530)Valerii2024-11-072-3/+3
| | | | Update devguide links to relative filenames in InternalDocs/parser.md and InternalDocs/compiler.md.