summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d
Commit message (Collapse)AuthorAgeFilesLines
* bpo-45947: Place dict and values pointer at fixed (negative) offset just ↵Mark Shannon2021-12-071-0/+3
| | | | | | | | | | | | | | | | | | | before GC header. (GH-29879) * Place __dict__ immediately before GC header for plain Python objects. * Fix up lazy dict creation logic to use managed dict pointers. * Manage values pointer, placing them directly before managed dict pointers. * Convert hint-based load/store attr specialization target managed dict classes. * Specialize LOAD_METHOD for managed dict objects. * Remove unsafe _PyObject_GC_Calloc function. * Remove unsafe _PyObject_GC_Malloc() function. * Add comment explaning use of Py_TPFLAGS_MANAGED_DICT.
* bpo-46004: Fix error location for loops with invalid targets (GH-29959)Pablo Galindo Salgado2021-12-071-0/+2
|
* Revert "bpo-28533: Remove asyncore, asynchat, smtpd modules (GH-29521)" ↵Victor Stinner2021-12-072-5/+0
| | | | | (GH-29951) This reverts commit 9bf2cbc4c498812e14f20d86acb61c53928a5a57.
* bpo-23819: asyncio: Replace AssertionError with TypeError where it makes ↵Kumar Aditya2021-12-061-0/+1
| | | | sense (GH-29894)
* bpo-44035: Check autoconf files thoroughly (GH-29935)Christian Heimes2021-12-061-0/+2
| | | | | | | | | Check that users don't push changes with outdated or patched autoconf. The presence of runstatedir option and aclocal 1.16.3 are good markers. Use my container image to regenerate autoconf files. "Check for changes" will fail later when any file is regenerated. Use ccache in check_generated_files to speed up testing.
* bpo-45732: Update python.org macOS installer to use Tcl/Tk 8.6.12. (GH-29931)Ned Deily2021-12-061-0/+1
|
* bpo-45840: Improve cross-references in the data model documentation (GH-29633)Alex Waygood2021-12-051-0/+1
|
* bpo-45664: Fix resolve_bases() and new_class() for GenericAlias instance as ↵Serhiy Storchaka2021-12-051-0/+2
| | | | a base (GH-29298)
* bpo-45663: Fix is_dataclass() for dataclasses which are subclasses of ↵Serhiy Storchaka2021-12-051-0/+2
| | | | types.GenericAlias (GH-29294)
* bpo-45662: Fix the repr of InitVar with a type alias to the built-in class ↵Serhiy Storchaka2021-12-051-0/+2
| | | | | (GH-29291) For example, InitVar[list[int]].
* bpo-37295: Optimize math.comb() and math.perm() (GH-29090)Serhiy Storchaka2021-12-051-0/+1
| | | | | | | | For very large numbers use divide-and-conquer algorithm for getting benefit of Karatsuba multiplication of large numbers. Do calculations completely in C unsigned long long instead of Python integers if possible.
* bpo-27946: Fix possible crash in ElementTree.Element (GH-29915)Serhiy Storchaka2021-12-051-0/+3
| | | | | Getting an attribute via attrib.get() simultaneously with replacing the attrib dict can lead to access to deallocated dict.
* bpo-13236: Flush the output stream more often in unittest (GH-29864)Serhiy Storchaka2021-12-041-0/+2
| | | It can prevent some losses when output to buffered stream.
* bpo-45695: Test out-of-tree builds on GHA (GH-29904)Christian Heimes2021-12-041-0/+1
|
* bpo-45607: Make it possible to enrich exception displays via setting their ↵Irit Katriel2021-12-031-0/+4
| | | | __note__ field (GH-29880)
* bpo-45816: Support building with VS 2022 (v143 toolset) on Windows (GH-29577)Crowthebird2021-12-031-0/+1
|
* bpo-45711: [asyncio] Normalize exceptions immediately after Fetch, before ↵Irit Katriel2021-12-031-0/+1
| | | | they are stored as StackItem, which should be normalized (GH-29890)
* bpo-45950: Introduce Bootstrap Python again (#29859)Christian Heimes2021-12-031-0/+4
| | | | | | | | | The build system now uses a :program:`_bootstrap_python` interpreter for freezing and deepfreezing again. To speed up build process the build tools :program:`_bootstrap_python` and :program:`_freeze_module` are no longer build with LTO. Cross building depends on a build Python interpreter, which must have same version and bytecode as target host Python.
* bpo-45885: Specialize COMPARE_OP (GH-29734)Dennis Sweeney2021-12-031-0/+1
| | | | | | | * Add COMPARE_OP_ADAPTIVE adaptive instruction. * Add COMPARE_OP_FLOAT_JUMP, COMPARE_OP_INT_JUMP and COMPARE_OP_STR_JUMP specialized instructions. * Introduce and use _PyUnicode_Equal
* bpo-45582: Port getpath[p].c to Python (GH-29041)Steve Dower2021-12-031-0/+3
| | | | | The getpath.py file is frozen at build time and executed as code over a namespace. It is never imported, nor is it meant to be importable or reusable. However, it should be easier to read, modify, and patch than the previous code. This commit attempts to preserve every previously tested quirk, but these may be changed in the future to better align platforms.
* bpo-45535: Improve output of Enum ``dir()`` (GH-29316)Alex Waygood2021-12-021-0/+1
| | | | | | Modify the ``EnumType.__dir__()`` and ``Enum.__dir__()`` to ensure that user-defined methods and methods inherited from mixin classes always show up in the output of `help()`. This change also makes it easier for IDEs to provide auto-completion.
* bpo-45711: Change exc_info related APIs to derive type and traceback from ↵Irit Katriel2021-11-301-0/+6
| | | | the exception instance (GH-29780)
* bpo-30533:Add function inspect.getmembers_static that does not call ↵Weipeng Hong2021-11-301-0/+2
| | | | | | | | | | | | | | | | | | | | | properties or dynamic properties. (#20911) * Add function inspect.getmembers_static that does not call properties or dynamic properties. * update _getmembers args * Update Misc/NEWS.d/next/Library/2020-06-16-18-00-56.bpo-30533.StL57t.rst Co-authored-by: Itamar Ostricher <itamarost@gmail.com> * Update Lib/inspect.py Co-authored-by: Itamar Ostricher <itamarost@gmail.com> * Removes the copy pasted doc string Co-authored-by: Itamar Ostricher <itamarost@gmail.com> Co-authored-by: Dino Viehland <dinoviehland@gmail.com>
* bpo-45917: Add math.exp2() method - return 2 raised to the power of x (GH-29829)Gideon2021-11-291-0/+1
| | | Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
* bpo-43905: Expand dataclasses.astuple() and asdict() docs (GH-26154)andrei kulakov2021-11-291-0/+2
| | | | | | Expanded ``astuple()`` docs, warning about deepcopy being applied and providing a workaround. Automerge-Triggered-By: GH:ericvsmith
* bpo-45881: configure --with-freeze-module --with-build-python (GH-29835)Christian Heimes2021-11-291-0/+2
| | | | Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no> Co-authored-by: Ethan Smith <ethan@ethanhs.me>
* bpo-45828: Use unraisable exceptions within sqlite3 callbacks (FH-29591)Erlend Egeberg Aasland2021-11-291-0/+2
|
* bpo-40280: Emscripten systems use .wasm suffix by default (GH-29842)Christian Heimes2021-11-291-0/+1
|
* bpo-45786: Allocate space for frame in frame object. (GH-29729)Mark Shannon2021-11-291-0/+2
|
* bpo-43498: Fix dictionary iteration error in _ExecutorManagerThread (GH-24868)Jakub Kulík2021-11-291-0/+2
|
* bpo-40280: Disable unusable core extension modules on emscripten (GH-29834)Erlend Egeberg Aasland2021-11-291-0/+1
| | | Co-authored-by: Christian Heimes <christian@python.org>
* bpo-37658: Actually return result in race condition (GH-29202)Sam Bull2021-11-291-0/+3
|
* bpo-45915: use fcntl(fd, F_GETFD) in is_valid_fd() (GH-29821)Christian Heimes2021-11-281-0/+1
|
* bpo-19460: Add test for MIMENonMultipart (GH-29817)1809092021-11-281-0/+1
|
* bpo-45614: Fix traceback display for exceptions with invalid module name ↵Irit Katriel2021-11-271-0/+1
| | | | (GH-29726)
* bpo-42268: Fail the configure step if the selected compiler doesn't support ↵Pablo Galindo Salgado2021-11-271-0/+2
| | | | memory sanitizer (GH-29806)
* bpo-45876: Improve accuracy for stdev() and pstdev() in statistics (GH-29736)Raymond Hettinger2021-11-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Inlined code from variance functions * Added helper functions for the float square root of a fraction * Call helper functions * Add blurb * Fix over-specified test * Add a test for the _sqrt_frac() helper function * Increase the tested range * Add type hints to the internal function. * Fix test for correct rounding * Simplify ⌊√(n/m)⌋ calculation Co-authored-by: Mark Dickinson <dickinsm@gmail.com> * Add comment and beef-up tests * Test for zero denominator * Add algorithmic references * Add test for the _isqrt_frac_rto() helper function. * Compute the 109 instead of hard-wiring it * Stronger test for _isqrt_frac_rto() * Bigger range * Bigger range * Replace float() call with int/int division to be parallel with the other code path. * Factor out division. Update proof link. Remove internal type declaration Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
* bpo-44530: Reverts a change to the 'code.__new__' audit event (GH-29809)Steve Dower2021-11-271-0/+2
|
* bpo-41735: Fix thread lock in zlib.Decompress.flush() may go wrong (GH-29587)Ma Lin2021-11-271-0/+1
| | | | | * Fix thread lock in zlib.Decompress.flush() may go wrong Getting `.unconsumed_tail` before acquiring the thread lock may mix up decompress state.
* bpo-45901: Fixes argument passing when invoking .py files directly through ↵Steve Dower2021-11-261-0/+4
| | | | the Store package (GH-29799)
* bpo-45866: Fix typo in the NEWS entry (GH-29798)Victor Stinner2021-11-261-1/+1
|
* bpo-40280: Move hard-coded feature checks to configure (GH-29789)Christian Heimes2021-11-261-0/+3
| | | Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* bpo-40280: Add configure check for socket shutdown (GH-29795)Christian Heimes2021-11-261-0/+3
|
* bpo-45866: pegen strips directory of "generated from" header (GH-29777)Victor Stinner2021-11-261-0/+4
| | | | | "make regen-all" now produces the same output when run from a directory other than the source tree: when building Python out of the source tree.
* bpo-43137: webbrowser: Replace gvfs-open and gnome-open with "gio open" ↵Simon McVittie2021-11-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-29154) * [bpo-43137](): webbrowser: Prefer gio open over gvfs-open gvfs-open(1) was superseded by gio(1) in 2015, and removed from GNOME releases in 2018. Debian and its derivatives like Ubuntu currently still have a compatibility shim for gvfs-open, but we plan to remove it. webbrowser prefers xdg-settings and xdg-open over gvfs-open, so this will only have any practical effect on systems where the xdg-utils package is not installed. Note that we don't check for GNOME_DESKTOP_SESSION_ID before using gio. gio does the right thing on any desktop environment that follows freedesktop.org specifications, similar to xdg-settings, so it's unnecessary to guard in this way. GNOME_DESKTOP_SESSION_ID was deprecated in 2008 and removed from upstream gnome-session in 2018 (it's still present in Debian/Ubuntu for backward compatibility, but probably shouldn't be). The replacement way to detect a desktop environment is the XDG_CURRENT_DESKTOP environment variable, which is a colon-separated sequence where the first item is the current desktop environment and the second and subsequent items (if present) are other desktop environments that it resembles or is based on. Resolves: * [bpo-43137](): webbrowser: Never invoke gnome-open gnome-open was part of GNOME 2, which was superseded in around 2010 and is unmaintained. The replacement was gvfs-open, which was subsequently replaced by gio(1) (as used in the previous commit). * [bpo-43137](): webbrowser: Don't run gvfs-open on GNOME gvfs-open was deprecated in 2015 and removed in 2018. The replacement is gio(1) (as used in a previous commit). GNOME_DESKTOP_SESSION_ID was deprecated in 2008 and removed in 2018. The replacement is XDG_CURRENT_DESKTOP (as mentioned in a previous commit). --- To test this on a typical modern Linux system, it is necessary to disable the `xdg-settings` and `xdg-open` code paths, for example with this hack: <details><summary>Hack to disable use of xdg-settings and xdg-open</summary> ```diff diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py index 3244f206aa..8f6c09d1d2 100755 --- a/Lib/webbrowser.py +++ b/Lib/webbrowser.py @@ -459,7 +459,7 @@ def open(self, url, new=0, autoraise=True): def register_X_browsers(): # use xdg-open if around - if shutil.which("xdg-open"): + if 0 and shutil.which("xdg-open"): register("xdg-open", None, BackgroundBrowser("xdg-open")) # Opens an appropriate browser for the URL scheme according to @@ -549,7 +549,7 @@ def register_standard_browsers(): # Prefer X browsers if present if os.environ.get("DISPLAY") or os.environ.get("WAYLAND_DISPLAY"): try: - cmd = "xdg-settings get default-web-browser".split() + cmd = "false xdg-settings get default-web-browser".split() raw_result = subprocess.check_output(cmd, stderr=subprocess.DEVNULL) result = raw_result.decode().strip() except (FileNotFoundError, subprocess.CalledProcessError, PermissionError, NotADirectoryError) : ``` </details> I haven't attempted to assess which of the specific web browsers such as Galeon are still extant, and which ones disappeared years ago. They could almost certainly be cleaned up, but that's beyond the scope of this PR.
* bpo-40280: Add wasm cross build targets (GH-29771)Christian Heimes2021-11-251-0/+3
|
* bpo-33393: Update config.guess and config.sub (GH-29781)Christian Heimes2021-11-251-0/+3
|
* bpo-41498: Fix build on platforms without sigset_t (GH-29770)Christian Heimes2021-11-251-0/+4
|
* bpo-45727: Only trigger the 'did you forgot a comma' error suggestion if ↵Pablo Galindo Salgado2021-11-241-0/+3
| | | | inside parentheses (GH-29757)
* bpo-45881: Use CC from env first for cross building (GH-29752)Christian Heimes2021-11-241-0/+2
|