Commit Graph

636 Commits

Author SHA1 Message Date
Chris Eibl 306c556fdb gh-144319: obtain SeLockMemoryPrivilege on Windows (#144928) 2026-03-23 23:00:26 +00:00
Lysandros Nikolaou 7a1da4575b gh-142518: Improve mimalloc allocator docs (#145224) 2026-03-11 15:14:47 +01:00
Hugo van Kemenade 6024d3c6da Python 3.15.0a7 2026-03-10 14:31:15 +02:00
Stan Ulbrych bdf0105291 gh-103997: Remove incorrect statements about -c dedenting (gh-138624) 2026-03-10 09:56:00 +01:00
Filipe Laíns eb611a8515 GH-145275: add -X pathconfig_warnings and PYTHON_PATHCONFIG_WARNINGS (#145277) 2026-03-02 19:19:05 +00:00
Thomas A Caswell 201d251567 DOC: clarify and expand documentation about PYTHONUSERBASE and PYTHONNOUSERSITE (#144637) 2026-03-02 15:54:26 +00:00
indoor47 11eec7a492 gh-145305: Update ocert.org URLs in docs from http to https (#145304)
Co-authored-by: Adam (indoor47) <adamai@agentmail.to>
2026-02-27 18:24:39 +02:00
rueteh 4e45c9c309 gh-136677: Introduce executable specific linker flags to configure (#137296)
* introduce executable specific linker flags

Add PY_CORE_EXE_LDFLAGS and EXE_LDFLAGS which stores executable specific
LDFLAGS, replacing PY_CORE_LDFLAGS for building
executable targets.

If PY_CORE_EXE_LDFLAGS / EXE_LDFLAGS is not provided, then it defaults
to the value of PY_CORE_LDFLAGS which is the existing behaviour.

If both flags are supplied, and there is a need
to distinguish between executable and shared specific LDFLAGS,
in particular, PY_CORE_LDFLAGS should contain the shared specific LDFLAGS.

* documentation for new linker flags

* update Misc folder documentation

* Update Makefile.pre.in

Co-authored-by: Victor Stinner <vstinner@python.org>

---------

Co-authored-by: Filipe Laíns <filipe.lains@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Filipe Laíns <lains@riseup.net>
2026-02-24 22:52:02 +00:00
Steve Dower da39c68c2f Update Python install manager docs (GH-145160)
These updates align with v26.0 that was just released.
2026-02-23 22:28:23 +00:00
Ned Batchelder 852ec18978 Docs: remove unneeded author attributions (#145002)
These directives are not maintained and misleadingly indicate individual
rather than community ownership.

See https://github.com/python/docs-community/issues/180 for discussion,
and https://github.com/python/devguide/pull/1740 for an update to the
devguide.

Also ensured that everyone is in the Misc/ACKS file.
2026-02-19 18:45:28 -05:00
Pablo Galindo Salgado 46d5106cfa gh-142349: Implement PEP 810 - Explicit lazy imports (#142351)
Co-authored-by: T. Wouters <twouters@meta.com >
Co-authored-by: Brittany Reynoso <breynoso@meta.com>
Co-authored-by: Dino Viehland <dinoviehland@meta.com>
2026-02-12 00:15:33 +00:00
Hugo van Kemenade 15b216f30d Python 3.15.0a6 2026-02-11 14:23:15 +02:00
Peter Bierma 3a0e183556 gh-144277: Fix usage of free-threaded terminology in the documentation (GH-144333) 2026-02-01 20:39:26 -05:00
Pablo Galindo Salgado 96e4cd698a gh-144319: Fix huge page safety in pymalloc arenas (#144331)
The pymalloc huge page support had two problems. First, on
architectures where the default huge page size exceeds the arena
size (e.g. 32 MiB on PPC, 512 MiB on ARM64 with 64 KB base
pages), mmap with MAP_HUGETLB silently allocates a full huge page
even when the requested size is smaller. The subsequent munmap
with the original arena size then fails with EINVAL, permanently
leaking the entire huge page. Second, huge pages were always
attempted when compiled in, with no way to disable them at
runtime. On Linux, if the huge page pool is exhausted, page
faults including copy-on-write faults after fork deliver SIGBUS
and kill the process.

The arena allocator now queries the system huge page size from
/proc/meminfo and skips MAP_HUGETLB when the arena size is not a
multiple of it. Huge pages also now require explicit opt-in at
runtime via the PYTHON_PYMALLOC_HUGEPAGES environment variable,
which is read through PyConfig and respects -E and -I flags.
The config field pymalloc_hugepages is propagated to the runtime
allocators struct so the low-level arena allocator can check it
without calling getenv directly.
2026-01-30 18:18:56 +00:00
Pablo Galindo Salgado b1bc868fba gh-144319: Add huge pages support for pymalloc (#144320) 2026-01-29 12:26:11 +00:00
Steve Dower f52af86cba Update install manager docs (python/pymanager#227) (GH-144079) 2026-01-21 15:33:05 +00:00
Hugo van Kemenade f1eb0c0b0c Python 3.15.0a3 2025-12-16 14:26:12 +02:00
Steve Dower 37fe9a90c5 Updates to PyManager docs based on feedback. (GH-142473) 2025-12-09 23:07:50 +00:00
Stan Ulbrych d3c888b4ec gh-139707: Fix example for configure option (GH-142153)
Fix example for nre configure option
2025-12-02 14:12:20 +01:00
Stan Ulbrych d4fa70706c gh-139707: Add mechanism for distributors to supply error messages for missing stdlib modules (GH-140783) 2025-12-01 14:36:17 +01:00
Steve Dower b101e9d36b Add PyManager troubleshooting steps for direct launch of script files (GH-141530) 2025-11-14 15:23:01 +00:00
Steve Dower 336154f4b0 Add documentation for Python install manager's install_dir, global_dir and download_dir (GH-140223) 2025-11-11 20:02:49 +00:00
Petr Viktorin d2ce6d708a gh-139707: Add docs for optional modules (GH-140171)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Emma Smith <emma@emmatyping.dev>
Co-authored-by: Author: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-11-06 11:49:44 +01:00
Stan Ulbrych 2ca3c85054 Update documented minimum required zlib library version (#140116) 2025-10-15 00:16:00 +02:00
Hugo van Kemenade aeff92d86a Python 3.15.0a1 2025-10-14 13:46:08 +03:00
Hugo van Kemenade 88fc0a0fdc Using Python on Windows: Free-threaded is supported from 3.14 (#139992) 2025-10-13 17:18:45 +03:00
Bartosz Sławecki 0344db8d60 gh-131189: Remove curses mention from PYTHON_BASIC_REPL docs (#140022)
The `curses` dependency for the default REPL has been removed
in 09dfb50f1b.
2025-10-13 10:40:39 +02:00
Stan Ulbrych 8f14bddeae gh-139823: Extend list of optional dependencies in configure.rst (#139826)
Co-authored-by: Emma Smith <emma@emmatyping.dev>
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-10-10 06:48:09 +00:00
Zachary Ware 98e748b3a0 gh-139573: Update OpenSSL in CI (GH-139577) 2025-10-04 19:43:17 -05:00
Russell Keith-Magee 195d13c85e gh-132006: Add support for handling XCPrivacy manifests (#139163)
Adds a PrivacyInfo.xcprivacy file when packaging `_hashlib` and `_ssl` modules
for iOS (based on the original OpenSSL sources); and adds handling to the build
script to allow any app to add `xcprivacy` handling for a binary module.
2025-09-29 05:50:46 +08:00
sobolevn 0aab07ccf7 gh-115119: Defer --with-system-libmpdec removal to 3.16 (#139318) 2025-09-26 14:21:38 +03:00
Russell Keith-Magee 35c7e52b3e gh-138171: Migrate iOS testbed location and add Apple build script (#138176)
Adds tooling to generate and test an iOS XCframework, in a way that will also facilitate
adding other XCframework targets for other Apple platforms (tvOS, watchOS, visionOS and 
even macOS, potentially).

---------
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-09-19 13:23:38 +01:00
Malcolm Smith 594bdde9df gh-137242: Mention Android binary releases in documentation (#138305)
Adds a mention of binary releases to the Android documentation.

---------
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-09-18 13:25:30 +00:00
Serhiy Storchaka cf9ef73121 gh-134716: Support regular expressions in -W and PYTHONWARNINGS (GH-138149) 2025-09-16 17:06:44 +00:00
sobolevn 1c984ba953 gh-136355: Deprecate -b and -bb CLI flags in 3.15 (#136363)
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2025-09-14 20:00:03 +03:00
Stan Ulbrych 2e8f64c931 gh-71648: Optimize PNG files (GH-138842)
* Only keep > 1 kb savings
2025-09-12 20:13:05 +00:00
Petr Viktorin 0c74fc8af0 gh-137210: Add a struct, slot & function for checking an extension's ABI (GH-137212)
Co-authored-by: Steve Dower <steve.dower@microsoft.com>
2025-09-05 16:23:18 +02:00
Adam Turner 424e2ab95a GH-101100: Resolve reference warnings in using/windows.rst (#138416) 2025-09-03 17:18:21 +01:00
Stan Ulbrych b3ff3165d2 gh-89905: Correct -R option doc (#137608) 2025-09-01 19:58:25 +02:00
Russell Keith-Magee 2ba2287b85 gh-137973: Add a non-parallel test plan to the iOS testbed project (#138018)
Modifies the iOS testbed project to add a test plan. This simplifies the iOS
test runner, as we can now use the built-in log streaming to see test results.
It also allows for some other affordances, like providing a default LLDB config,
and using a standardized mechanism for specifying test arguments.
2025-08-22 13:11:50 +08:00
Hugo van Kemenade 2a6888ea14 gh-137749: Python 3.14 installer is for macOS 10.15 and later (#137753) 2025-08-14 14:01:45 +03:00
Adam Turner d6cf05b5d0 Fix tables in 'Using on Windows' for the text writer (#137012) 2025-07-22 16:15:29 +00:00
Disconnect3d d19bb44713 Doc/c-api/memory.rst: extend --without-pymalloc doc with ASan information (GH-136790)
* Doc/c-api/memory.rst: extend --without-pymalloc doc with ASan information

This commit extends the documentation for disabling pymalloc with the `--without-pymalloc` flag regarding why it is worth to use it when enabling AddressSanitizer for Python build (which is done, e.g., in CPython's CI builds).

I have tested the CPython latest main build with both ASan and pymalloc enabled and it seems to work just fine. I did run the `python -m test` suite which didn't uncover any ASan crashes (though, it detected some memory leaks, which I believe are irrelevant here).

I have discussed ASan and this flag with @encukou on the CPython Core sprint on EuroPython 2025. We initially thought that the `--without-pymalloc` flag is needed for ASan builds due to the fact pymalloc must hit the begining of page when determining if the memory to be freed comes from pymalloc or was allocated by the system malloc. In other words, we thought, that ASan would crash CPython during free of big objects (allocated by system malloc). It may be that this was the case in the past, but it is not the case anymore as the `address_in_range` function used by pymalloc is annotated to be skipped from the ASan instrumentation.

This code can be seen here:
https://github.com/python/cpython/blob/acefb978dcb5dd554e3c49a3015ee5c2ad6bfda1/Objects/obmalloc.c#L2096-L2110

While the annotation macro is defined here:
https://github.com/python/cpython/blob/acefb978dcb5dd554e3c49a3015ee5c2ad6bfda1/Include/pyport.h#L582-L598

And the corresponding attribute is documented in:
* for gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-no_005fsanitize_005faddress-function-attribute
* for clang: https://clang.llvm.org/docs/AttributeReference.html#no-sanitize-address-no-address-safety-analysis

* Update Doc/c-api/memory.rst

* Improve --with-address-sanitizer and pymalloc docs

---------

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2025-07-19 13:52:54 +02:00
Adam Turner c89a66feb1 GH-133711: Enable UTF-8 mode by default (PEP 686) (#133712)
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-07-15 10:45:41 +01:00
Petr Viktorin 9aac5a3d44 gh-131591: Document Py_REMOTE_DEBUG (GH-135929) 2025-07-07 12:56:29 +02:00
Sergey B Kirpichev b2e498ac26 gh-115119: Recommend upstream libmpdec in build requirements (#136205)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-07-03 14:44:59 +02:00
Russell Keith-Magee b38810bab7 gh-135966: Modify iOS testbed to make app_packages a site directory (#135967)
The iOS testbed now treats the app_packages folder as a site folder. This ensures it is
on the path, but also ensures any .pth files are processed on app startup.
2025-06-27 12:46:49 +08:00
Brian Schubert 34ce1920ca Docs: Fix duplicate word typos (GH-135958) 2025-06-26 20:00:19 -04:00
mpage fea5ccc55d gh-135805: Document the X option and env var for controlling thread-local bytecode (#135868)
Document the X option and env var for controlling thread-local bytecode.
2025-06-24 10:02:50 -07:00
Ned Deily 7c685894cd gh-119132: Update 'Using Python on macOS' documentation. (#135591)
Remove `experimental` qualification for free-threading in the document text. Note that images included in the document will be updated later in the release cycle.
2025-06-16 19:35:59 -04:00