687 Commits
Author SHA1 Message Date
Davi de Jesus 5ca490bda6 Docs: Fix installer name in the macOS command-line install example (#160527) 2026-10-23 15:40:54 -07:00
Hugo van Kemenade ae5c45758b gh-160425: Use parsed literals to keep version current in Windows docs (#160430) 2026-10-23 16:01:57 +01:00
Bhuvansh 1f1ae145d1 gh-154388: Document Python install variants on Windows (GH-154482) 2026-10-22 23:07:44 +00:00
Zanie Blue c6661bdc7d gh-124948: Reject explicit Cortex-A53 workaround flags with BOLT (gh-160337) 2026-10-22 22:02:49 +00:00
Skip MontanaroMuse Code (Meta Muse Spark)C.A.M. GerlachLukasz Langa
437212057c gh-151950: Fix dangling references in test.rst (#114958)
Co-authored-by: Muse Code (Meta Muse Spark)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Lukasz Langa <ambv@meta.com>
2026-10-21 13:48:00 -07:00
Peter BiermaandPetr Viktorin 01ff2e22e1 gh-141004: Document remaining parts of the public C API (GH-159892)
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2026-10-21 19:21:48 +02:00
Terry Jan ReedyandSteve Dower d52dba352c Two small changes in using/windows (#159438)
Thes are based on Steve Dower's answer (to my questions) at
https://discuss.python.org/t/python-3-16-0-alpha-1-is-now-available/109466/11.

Update sentence about updates to note that site-packages and Scripts
directories are left alone.

Add a link to the administer configuration section.
---------

Co-authored-by: Steve Dower <steve.dower@microsoft.com>
2026-10-15 21:50:23 -04:00
Abhishek Acharya 91248026c8 gh-159010: Fix spelling of -X disable-remote-debug option in docs (#159014) 2026-10-14 14:18:19 +01:00
Savannah Ostrowski 22d79d9840 Python 3.16.0a1 2026-10-13 08:05:54 -07:00
adam j hartz 64018ac45c gh-159278: Fix incorrect links from duplicate customization label in docs (GH-159279) 2026-10-12 19:48:41 -04:00
Feodor Fitsner 22762c0dd5 gh-159003: Document Flet in macOS, iOS, and Android guides (#159042)
Adds Flet to the list of GUI options for macOS, iOS and Android.
2026-10-12 07:19:17 +08:00
Vasiliy Kiryanov 2791c35cae gh-136872: Build pymalloc in sanitizer builds, but disable it by default (GH-157934)
--with-*address-sanitizer and --with-memory-sanitizer unconditionally
disabled pymalloc (even when --with-pymalloc was given explicitly).

Enable it, so that it's available with `PYTHONMALLOC=pymalloc`.
Disable it by default on the affected sanitizer builds.
2026-10-07 18:05:37 +02:00
197607e865 gh-156049: Add support for building with HWAsan (#156721)
Co-authored-by: Florian Mayer <fmayer@google.com>
Co-authored-by: Anna <araslanova.anna.a@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-10-06 19:34:53 +01:00
Stan UlbrychandVictor Stinner b93fb19a6e Run a job that the test suite with MSan to the CI (#158625)
* Run the test suite with MSan in CI

* Additional fixes

* Add `_Py_MSAN_UNPOISON_STRING`

* Apply Victor's suggestions

Co-authored-by: Victor Stinner <victor.stinner@gmail.com>

* Apply Victor's suggestions

Co-authored-by: Victor Stinner <victor.stinner@gmail.com>

---------

Co-authored-by: Victor Stinner <victor.stinner@gmail.com>
2026-10-05 02:11:42 +01:00
869a50574f gh-158010: Avoid recommending out-of-date OpenSSL in configure doc (GH-158266)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-09-28 10:08:28 -05:00
Hugo van Kemenade d95f29589e gh-148603: Update docs now UTF-8 is default (PEP 686) (#157372) 2026-09-15 16:50:40 +03:00
Steve Dower 62b7f28cd4 Fix sentence case for documentation header (GH-156768) 2026-09-14 17:28:32 +01:00
Steve Dower 8f847875d6 Add documentation on PyManager proxy setting overrides (GH-156768) 2026-09-10 22:21:15 +01:00
465b3b80f9 gh-156109: Allow static, non-framework iOS builds (#156110)
Allows a static build of iOS for users that want to build and embed a libPython
into an iOS binary. This configuration can't use shared modules or binary 
wheels, but it can be useful under some circumstances, so there's no reason to
explicitly exclude it.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
2026-09-08 07:54:41 +00:00
Micah Lindstrom 223ee6d5d7 Documentation on handling a corrupt nuget.config when installing packages from Nuget (GH-154039) 2026-08-25 14:03:27 +01:00
Stan Ulbrych 5d91cf6487 gh-139314: Add support for linking against zlib-rs and libbzip2-rs (#155119) 2026-08-14 10:06:14 +01:00
BhuvanshandStan Ulbrych 58a620ae48 gh-154753: Update references to moved files in the docs (#155553)
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-08-14 09:22:51 +01:00
4b04d5abcd gh-76303: Improve documentation of the -x command line option (GH-155559)
Expand the documentation for the -x command-line option to explain its
purpose and usage for turning Python scripts into Windows batch files,
with examples of batch file header lines.

Co-authored-by: Rory Glenn <glennrory@gmail.com>
Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
2026-08-11 17:45:45 +03:00
Taeknology 5ba1eb53d7 gh-135828: Disable syntax highlighting in Using Python on macOS (#150074) 2026-07-30 22:56:28 +03:00
Hugo van KemenadeandPetr Viktorin 771abfe06f gh-153872: macOS: free-threading support is installed by default on Python 3.15 (#154103)
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2026-07-22 15:09:55 +03:00
Steve Dower bd315837d8 gh-153511: Removes Tools/msi, Tools/nuget, and legacy py.exe launcher sources (GH-153512) 2026-07-20 22:25:12 +01:00
Serhiy StorchakaandClaude Opus 4.8 3c274d0c61 gh-136687: Add ./configure --with-curses to select the curses backend (GH-153992)
Add --with-curses=ncursesw|ncurses|curses|no, mirroring --with-readline.
The default (auto) keeps the current behaviour: prefer ncursesw, fall back
to ncurses.  --with-curses=curses links the system's native curses (e.g. on
NetBSD or Solaris), which has no pkg-config file and was previously
unreachable; it is built with wide-character support when the library
provides it.  --without-curses excludes the curses and _curses_panel modules
from the build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 06:08:30 +00:00
Sam Katakouzinos 32cfc88d6a Docs: Fix typo in the pymanager command name (GH-153877) 2026-07-18 09:27:59 -04:00
Serhiy Storchaka 54976e1482 gh-148488: Clarify the company/tag separator in the py -V docs (GH-153427) 2026-07-14 22:32:20 +01:00
Harjoth Khara 106eb532ea gh-153438: Update NuGet download URL (GH-153482) 2026-07-10 12:13:08 +01:00
Steve Dower e28a2f4930 Add shebang documentation for PyManager 26.3b1 (GH-150931) 2026-06-04 21:37:18 +01:00
Dhruv Singla 9baa7c63be gh-129851: Fix the documentation for -m command (GH-129862) 2026-05-30 15:47:14 +00:00
Stefano Rivera 9c23f3452d gh-131372: Configurable build-details.json name (#150098)
* Configurable build-details.json name

Linux distributions that co-install multiple Python versions in the same
path (e.g. multiarch on Debian, debug builds, and free-threading) need a
way to place multiple build-details.jsons side-by-side.

PEP-739 is being updated [0] to recommend renaming in this situation. To
ensure some standardization, this PR generates appropriate names for
distributions that need to use this feature.

[0]: https://github.com/python/peps/pull/4889

* NEWS entry

* Document configure option and add to whatsnew
2026-05-25 13:37:50 +01:00
Pablo Galindo Salgado 1f3c2679f1 gh-149321: Remove lazy_imports=none startup mode (#149389) 2026-05-19 16:01:15 -07:00
9eb3b14668 gh-115119: Removed bundled copy of the libmpdec (GH-133964)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Zachary Ware <zach@python.org>
2026-05-12 21:34:37 +00:00
Stan UlbrychandHugo van Kemenade 6a0be131c3 gh-149595: Remove the sys._enablelegacywindowsfsencoding() function (#149596)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-05-12 17:11:34 +01:00
Hugo van Kemenade f31a89bb90 Python 3.15.0b1 2026-05-07 16:26:31 +03:00
Victor Stinner b3cfd36ba4 gh-149202: Don't use -fno-omit-frame-pointer on ppc64le (#149485)
The power ABI specification requires that compilers maintain a back
chain by default, so unwinding already works without a dedicated
frame pointer. Don't use -fno-omit-frame-pointer on ppc64le.
2026-05-07 11:47:08 +02:00
Petr Viktorin 612140e7dd gh-149202: Fix frame pointer unwinding on ppc64le and armv7/clang (#149409)
- ppc64's backchain format is also different from x86
- On 32-bit ARM, clang needs `-mno-thumb`, not `-marm` like GCC
2026-05-07 10:37:00 +02:00
4ed40146f1 gh-149202: Fix frame pointer unwinding on s390x and ARM (GH-149362)
-fno-omit-frame-pointer is not enough to make every target walkable by the
simple manual frame pointer unwinder.

The helper used by test_frame_pointer_unwind used to assume the frame pointer
named a two-word record where fp[0] was the previous frame pointer and fp[1]
was the return address. That is only the generic layout used by some targets.
This patch keeps that default, but moves the slots behind named offsets so
architecture-specific layouts can describe where the backchain and return
address really live.

On s390x, GCC and Clang do not emit a usable backchain unless -mbackchain is
enabled. Without it, the unwinder stops at the current C frame and the test
reports no Python frames. Once backchains are present, the helper must also
stop at the current thread's known C stack bounds; otherwise it can follow the
final backchain far enough to dereference an invalid frame and segfault.
For Linux s390x backchain frames, the documented z/Architecture stack-frame
layout saves r14, the return-address register, at byte offset 112 from the
frame pointer, so read the return address from that named slot instead of fp[1].

The 112-byte offset comes from Linux's s390 debugging documentation: its Stack
Frame Layout table shows z/Architecture backchain frames with the backchain at
offset 0 and saved r14 of the caller function at offset 112:
https://www.kernel.org/doc/html/v5.3/s390/debugging390.html#stack-frame-layout

This helper remains scoped to Linux s390x backchain frames. GNU SFrame's s390x
notes state that the s390x ELF ABI does not generally mandate where RA and FP
are saved, or whether they are saved at all:
https://sourceware.org/binutils/docs/sframe-spec.html#s390x

As Jens Remus noted, -fno-omit-frame-pointer is not needed when -mbackchain is
present.

On 32-bit ARM, GCC defaults to Thumb mode on common armhf toolchains. The Thumb
prologue keeps the saved frame pointer and link register at offsets that depend
on the generated frame, which breaks the fp[0]/fp[1] walk used by the helper.
Use -marm when it is supported for frame-pointer builds, and teach the helper
the GCC ARM-mode slots where the previous frame pointer is at fp[-1] and the
saved LR return address is at fp[0].


Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-05-06 15:03:37 +00:00
3236773257 gh-149202: Implement PEP 831 – Frame Pointers Everywhere: Enabling System-Level Observability for Python (#149201)
Co-authored-by: Savannah Ostrowski <savannah@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Emma Smith <emma@emmatyping.dev>
2026-05-01 21:16:11 +01:00
partev 82767780f8 gh-148779: Update Briefcase link in android.rst documentation (#148777)
Use canonical beeware.org URL for link to Briefcase.
2026-04-20 05:44:08 +08:00
Steve Dower 54607eec34 Add PyManager documentation for index signatures (GH-148631) 2026-04-15 22:48:14 +01:00
Geoffrey Thomas c88c27b0c1 gh-133312: configure: add --enable-static-libpython-for-interpreter (#133313)
This option changes the behavior of --enable-shared to continue to build
the libpython3.x.so shared library, but not use it for linking the
python3 interpreter executable. Instead, the executable is linked
directly against the libpython .o files as it would be with
--disable-shared.

There are two benefits of this change. First, libpython uses
thread-local storage, which is noticeably slower when used in a loaded
module instead of in the main program, because the main program can take
advantage of constant offsets from the thread state pointer but loaded
modules have to dynamically call a function __tls_get_addr() to
potentially allocate their thread-local storage area. (There is another
thread-local storage model for dynamic libraries which mitigates most of
this performance hit, but it comes at the cost of preventing
dlopen("libpython3.x.so"), which is a use case we want to preserve.)

Second, this improves the user experience around relocatable Python a
little bit, in that we don't need to use an $ORIGIN-relative path to
locate libpython3.x.so, which has some mild benefits around musl (which
does not support $ORIGIN-relative DT_NEEDED, only $ORIGIN-relative
DT_RPATH/DT_RUNPATH), users who want to make the interpreter setuid or
setcap (which prevents processing $ORIGIN), etc.
2026-04-14 16:26:19 +01:00
Ken JinandVictor Stinner e007631e99 gh-148284: Block inlining of gigantic functions in ceval.c for clang 22 (GH-148334)
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-04-11 00:52:23 +08:00
Hugo van Kemenade d518f15ea4 Merge branch 'main' of https://github.com/python/cpython 2026-04-07 20:34:01 +03:00
Victor Stinner feee573f36 gh-148014: Accept a function name in -X presite option (#148015) 2026-04-07 14:05:39 +00:00
Hugo van Kemenade 55ea59e7dc Python 3.15.0a8 2026-04-07 14:24:03 +03:00
Antonio CuniandPablo Galindo 1c4408aeca gh-130472: Integrate fancycompleter with the new repl, to get colored tab completions (#130473)
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2026-04-05 14:23:07 +00:00
konsti 03f3b9ade9 gh-146907: Clarify ABI compatibility between debug and release builds (GH-146925) 2026-04-01 16:17:56 +02:00