summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
Commit message (Collapse)AuthorAgeFilesLines
* gh-101100: Fix sphinx warnings in `whatsnew/3.0.rst` (#127662)Yuki Kobayashi2024-12-101-56/+56
|
* gh-126925: Modify how iOS test results are gathered (#127592)Russell Keith-Magee2024-12-091-0/+7
| | | | | | | Adds a `use_system_log` config item to enable stdout/stderr redirection for Apple platforms. This log streaming is then used by a new iOS test runner script, allowing the display of test suite output at runtime. The iOS test runner script can be used by any Python project, not just the CPython test suite.
* GH-125413: Revert addition of `pathlib.Path.scandir()` method (#127377)Barney Gale2024-12-051-6/+0
| | | | | | | | | | Remove documentation for `pathlib.Path.scandir()`, and rename the method to `_scandir()`. In the private pathlib ABCs, make `iterdir()` abstract and call it from `_scandir()`. It's not worthwhile to add this method at the moment - see discussion: https://discuss.python.org/t/ergonomics-of-new-pathlib-path-scandir/71721 Co-authored-by: Steve Dower <steve.dower@microsoft.com>
* gh-127221: Add colour to unittest output (#127223)Hugo van Kemenade2024-12-052-9/+7
| | | Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
* gh-127413: allow to show specialized bytecode via `dis` CLI (#127414)Bénédikt Tran2024-12-051-0/+6
|
* gh-127255: Make `CopyComPointer` public and add to `ctypes` doc. (GH-127275)Jun Komoda2024-12-031-1/+4
|
* gh-126585: Add EHWPOISON error code (#126586)RUANG (James Roy)2024-12-031-0/+5
|
* gh-109523: Raise a BlockingIOError if reading text from a non-blocking ↵Giovanni Siragusa2024-12-021-0/+9
| | | | stream cannot immediately return bytes. (GH-122933)
* gh-126899: Add `**kw` to `tkinter.Misc.after` and `tkinter.Misc.after_idle` ↵Zhikang Yan2024-12-011-0/+8
| | | | | | | (#126900) --------- Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-69639: Add mixed-mode rules for complex arithmetic (C-like) (GH-124829)Sergey B Kirpichev2024-11-261-0/+4
| | | | | | | | | | | | | | | "Generally, mixed-mode arithmetic combining real and complex variables should be performed directly, not by first coercing the real to complex, lest the sign of zero be rendered uninformative; the same goes for combinations of pure imaginary quantities with complex variables." (c) Kahan, W: Branch cuts for complex elementary functions. This patch implements mixed-mode arithmetic rules, combining real and complex variables as specified by C standards since C99 (in particular, there is no special version for the true division with real lhs operand). Most C compilers implementing C99+ Annex G have only these special rules (without support for imaginary type, which is going to be deprecated in C2y).
* gh-107954: Document PEP 741 in What's New 3.14 (#127056)Victor Stinner2024-11-251-0/+36
|
* gh-101100: Fix sphinx warnings of removed opcodes (#127222)Yuki Kobayashi2024-11-246-16/+16
|
* GH-127133: Remove ability to nest argument groups & mutually exclusive ↵Savannah Ostrowski2024-11-241-0/+8
| | | | groups (#127186)
* gh-97514: Authenticate the forkserver control socket. (GH-99309)Gregory P. Smith2024-11-201-0/+5
| | | | | | | | | | | | | | | | | | | This adds authentication to the forkserver control socket. In the past only filesystem permissions protected this socket from code injection into the forkserver process by limiting access to the same UID, which didn't exist when Linux abstract namespace sockets were used (see issue) meaning that any process in the same system network namespace could inject code. We've since stopped using abstract namespace sockets by default, but protecting our control sockets regardless of type is a good idea. This reuses the HMAC based shared key auth already used by `multiprocessing.connection` sockets for other purposes. Doing this is useful so that filesystem permissions are not relied upon and trust isn't implied by default between all processes running as the same UID with access to the unix socket. ### pyperformance benchmarks No significant changes. Including `concurrent_imap` which exercises `multiprocessing.Pool.imap` in that suite. ### Microbenchmarks This does _slightly_ slow down forkserver use. How much so appears to depend on the platform. Modern platforms and simple platforms are less impacted. This PR adds additional IPC round trips to the control socket to tell forkserver to spawn a new process. Systems with potentially high latency IPC are naturally impacted more. Typically a 1-4% slowdown on a very targeted process creation microbenchmark, with a worst case overloaded system slowdown of 20%. No evidence that these slowdowns appear in practical sense. See the PR for details.
* gh-126615: `ctypes`: Make `COMError` public (GH-126686)Jun Komoda2024-11-201-0/+3
| | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* GH-84850: Improve whatsnew entry for `[Fancy]URLopener` removal (#127032)Barney Gale2024-11-201-0/+7
|
* gh-123299: Copyedit "What's New in Python 3.14" (#127028)Hugo van Kemenade2024-11-201-17/+17
|
* GH-84850: Remove `urllib.request.URLopener` and `FancyURLopener` (#125739)Barney Gale2024-11-191-0/+4
|
* gh-85957: Add missing MIME types for images with RFCs (#126966)Hugo van Kemenade2024-11-181-0/+11
|
* gh-123803: Support arbitrary code page encodings on Windows (GH-123804)Serhiy Storchaka2024-11-181-0/+3
| | | | | | If the cpXXX encoding is not directly implemented in Python, fall back to use the Windows-specific API codecs.code_page_encode() and codecs.code_page_decode().
* Add PEP 761 to What's New (#126550)Seth Michael Larson2024-11-151-0/+10
| | | | Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* gh-122549: Add platform.invalidate_caches() (#122547)Bénédikt Tran2024-11-151-0/+8
| | | Allow to invalidate platform's cached results.
* Doc: Recommend shlex.quote alongside pipes removal (#126570)Colin Watson2024-11-141-0/+2
| | | | | | | One of the most common reasons I see the old `pipes` module still in use when porting to Python 3.13 is for the undocumented `pipes.quote` function, which can easily be replaced with `shlex.quote`. I think it's worth specifically calling this out, since being directed to the `subprocess` module would be confusing in this case.
* gh-126390: Support for preserving order of options and nonoption arguments ↵Serhiy Storchaka2024-11-131-0/+3
| | | | in gnu_getopt() (GH-126393)
* gh-123619: Add an unstable C API function for enabling deferred reference ↵Peter Bierma2024-11-131-0/+3
| | | | | | counting (GH-123635) Co-authored-by: Sam Gross <colesbury@gmail.com>
* gh-116897: Deprecate generic false values in urllib.parse.parse_qsl() ↵Serhiy Storchaka2024-11-121-0/+7
| | | | | | | | (GH-116903) Accepting objects with false values (like 0 and []) except empty strings and byte-like objects and None in urllib.parse functions parse_qsl() and parse_qs() is now deprecated.
* gh-89083: add support for UUID version 8 (RFC 9562) (#123224)Bénédikt Tran2024-11-121-0/+8
| | | Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* gh-126061: Add PyLong_IsPositive/Zero/Negative() functions (#126065)RUANG (James Roy)2024-11-121-0/+5
| | | | | Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* gh-125916: Allow functools.reduce() 'initial' to be a keyword argument (#125917)Sayandip Dutta2024-11-121-0/+5
|
* gh-84852: Add MIME types for .eot, ,otf, .ttf, .woff and .woff2 fonts (#20199)Sahil Prajapati2024-11-121-0/+10
| | | | | 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>
* Docs: re-create pages for removed modules to document their removal. (#126622)Ned Batchelder2024-11-111-0/+6
| | | | | Will also need to change the redirects that were created here: https://github.com/python/psf-salt/pull/521/files
* gh-89416: Add RFC 9559 MIME types for Matroska formats (#126412)Hugo van Kemenade2024-11-111-0/+14
| | | | | 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
|
* gh-126374: Add support of options with optional arguments in the getopt ↵Serhiy Storchaka2024-11-111-0/+5
| | | | module (GH-126375)
* Add missing fullstop `.` to whatsnew/3.8.rst (GH-126553)Rafael Fontenelle2024-11-111-1/+1
|
* gh-120754: Add to `io` optimization to what's new (#126466)Cody Maloney2024-11-061-0/+9
|
* gh-120057: Add os.reload_environ() function (#126268)Victor Stinner2024-11-051-3/+4
| | | | | | | Replace the os.environ.refresh() method with a new os.reload_environ() function. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
* gh-101865: Docs: Keep co_lnotab deprecation for at least 3.14 (#126392)Hugo van Kemenade2024-11-041-2/+2
|
* gh-119793: Add optional length-checking to `map()` (GH-120471)Nice Zombies2024-11-041-0/+4
| | | | | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
* gh-126353: remove implicit creation of loop from `asyncio.get_event_loop` ↵Kumar Aditya2024-11-041-0/+5
| | | | | (#126354) Remove implicit creation of loop from `asyncio.get_event_loop`. This is a step forward of deprecating the policy system of asyncio.
* gh-120026: soft deprecate Py_HUGE_VAL macro (#120027)Sergey B Kirpichev2024-11-011-0/+4
| | | Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
* gh-97850: remove ``find_loader`` and ``get_loader`` from ``pkgutil`` (#119656)Bénédikt Tran2024-11-012-1/+8
| | | | | Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Co-authored-by: Brett Cannon <brett@python.org>
* GH-125413: Add `pathlib.Path.scandir()` method (#126060)Barney Gale2024-11-011-0/+6
| | | | | Add `pathlib.Path.scandir()` as a trivial wrapper of `os.scandir()`. This will be used to implement several `PathBase` methods more efficiently, including methods that provide `Path.copy()`.
* gh-58032: Docs: Sort argparse alphabetically (GH-125871)Hugo van Kemenade2024-10-301-10/+9
| | | Sort argparse alphabetically
* GH-125837: Split `LOAD_CONST` into three. (GH-125972)Mark Shannon2024-10-291-1/+1
| | | | | | | | * Add LOAD_CONST_IMMORTAL opcode * Add LOAD_SMALL_INT opcode * Remove RETURN_CONST opcode
* gh-126012: Add `__class_getitem__` to `memoryview` (#126013)Brian Schubert2024-10-271-0/+4
| | | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
* gh-125633: Add function `ispackage` to stdlib `inspect` (#125634)Zhikang Yan2024-10-271-0/+4
| | | | | --------- Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-121654: Add PyType_Freeze() function (#122457)Victor Stinner2024-10-251-0/+3
| | | Co-authored-by: Petr Viktorin <encukou@gmail.com>
* gh-123930: Better error for "from imports" when script shadows module (#123929)Shantanu2024-10-241-2/+2
|
* gh-125286: Share the Main Refchain With Legacy Interpreters (gh-125709)Eric Snow2024-10-231-0/+9
| | | | | They used to be shared, before 3.12. Returning to sharing them resolves a failure on Py_TRACE_REFS builds. Co-authored-by: Petr Viktorin <encukou@gmail.com>