3839 Commits

Author SHA1 Message Date
Seth Michael Larson
ade85bc5f4
[3.12] gh-139330: Check expat version/checksum in SBOM with refresh.sh
* [3.12] gh-139330: Check expat version/checksum in SBOM with refresh.sh

Check expat version/checksum in SBOM with refresh.sh
(cherry picked from commit 89b5571)

Co-authored-by: Seth Michael Larson <seth@python.org>

* 2.7.1
2025-09-26 17:23:04 +00:00
Miss Islington (bot)
310cd8943a
[3.12] gh-133410: Fix PR detection in build workflow (GH-133671) (#134057)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-05-15 17:04:54 +03:00
Miss Islington (bot)
483729fbc6
[3.12] GH-133410: Use commit hashes for change detection (gh-133416) (#133426)
GH-133410: Use commit hashes for change detection (gh-133416)
(cherry picked from commit d530e74e444fc483f6d2077f701160e55d3003d8)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-05-06 01:48:34 +02:00
Miss Islington (bot)
33834cb2b3
[3.12] gh-131852: Filter out POT-Creation-Date in msgfmt (GH-131880) (GH-132216)
(cherry picked from commit ad6a032cebf59d1668caa7e726aa5da72e1cbb5c)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
2025-04-07 11:52:22 +00:00
Tomas R.
da7ac18c9d
[3.12] gh-130197: pygettext: Test the --escape option (GH-131902) (GH-132033)
(cherry picked from commit 87d9983994e9a423e9e0050b1bbee52ebaf84367)
2025-04-02 23:29:02 +03:00
Miss Islington (bot)
4f7b66ab82
[3.12] gh-128446: Run Windows CI tests on each commit (GH-131702) (#131706)
gh-128446: Run Windows CI tests on each commit (GH-131702)
(cherry picked from commit 7d9442f0d55a7169940b9371d6e58a7c2ec1fa8a)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-03-28 13:08:47 +02:00
Serhiy Storchaka
a3f4889413
[3.12] gh-85012: Properly reset msgctxt when compiling messages with msgfmt (GH-130525) (GH-131206)
Add also human-readable snapshots for tests.
(cherry picked from commit 7ea6e88eb490635518c63c3305c03baf3e151555)

Co-authored-by: Tomas R <tomas.roun8@gmail.com>
2025-03-13 19:09:42 +00:00
Bénédikt Tran
7ce5f15981
[3.12] gh-130740: Move some stdbool.h includes after Python.h (#130738) (#130757)
gh-130740: Move some `stdbool.h` includes after `Python.h` (#130738)

Move some `#include <stdbool.h>` after `#include "Python.h"` when `pyconfig.h` is not
included first and when we are in a platform-agnostic context. This is to avoid having
features defined by `stdbool.h` before those decided by `Python.h` (this caused some
build failures when compiling CPython with `zig cc`).

(cherry-picked from commit 214562ed4ddc248b007f718ed92ebcc0c3669611)

---------

Co-authored-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
2025-03-04 10:38:24 +01:00
Adam Turner
7a14c2a6ad
[3.12] gh-128446: Skip Windows CI for Unix build system changes (GH-128450) (#130435)
(cherry picked from commit b05fa90b21dd01bb836285cdd41920320b09e681)

Authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
Co-authored-by: Srinivas Reddy Thatiparthy (తాటిపర్తి శ్రీనివాస్  రెడ్డి) <thatiparthysreenivas@gmail.com>
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2025-02-22 01:33:56 +00:00
Hugo van Kemenade
91e5e246b3
[3.12] Convert change detection to a Python script (GH-129627) (#130370)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
2025-02-21 17:18:44 +02:00
Miss Islington (bot)
5af357d27c
[3.12] gh-125741: Update build.yml for the new check_autoconf_regen job (GH-125772) (#130229)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-02-17 18:01:27 +02:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
895e23d2c3
[3.12] Merge TSAN test matrices in CI (#123278) (#129674) 2025-02-06 16:46:00 +00:00
Miss Islington (bot)
91399c3984
[3.12] gh-127303: Add docs for token.EXACT_TOKEN_TYPES (GH-127304) (#127391)
gh-127303: Add docs for token.EXACT_TOKEN_TYPES (GH-127304)

---------

(cherry picked from commit dd3a87d2a8f8750978359a99de2c5cb2168351d1)

Co-authored-by: Илья Любавский <100635212+lubaskinc0de@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-11-29 09:22:27 +00:00
Miss Islington (bot)
306db142c2
[3.12] gh-126807: pygettext: Do not attempt to extract messages from function definitions. (GH-126808) (GH-126847)
Fixes a bug where pygettext would attempt
to extract a message from a code like this:

def _(x): pass

This is because pygettext only looks at one
token at a time and '_(x)' looks like a
function call.

However, since 'x' is not a string literal,
it would erroneously issue a warning.
(cherry picked from commit 9a456383bed52010b90bd491277ea855626a7bba)

Co-authored-by: Tomas R <tomas.roun8@gmail.com>
2024-11-14 22:35:35 +00:00
Miss Islington (bot)
9e86d211fc
[3.12] gh-126623: Update libexpat to 2.6.4, make future updates easier (GH-126792) (GH-126797)
gh-126623: Update libexpat to 2.6.4, make future updates easier (GH-126792)

Update libexpat to 2.6.4, make future updates easier.
(cherry picked from commit 3c9996909402fadc98e6ca2a64e75a71a7427352)

Co-authored-by: Seth Michael Larson <seth@python.org>
2024-11-13 18:50:29 +00:00
Miss Islington (bot)
bc31c73f5a
[3.12] gh-126525: Fix makeunicodedata.py output on macOS and Windows (GH-126526) (#126726)
gh-126525: Fix `makeunicodedata.py` output on macOS and Windows (GH-126526)
(cherry picked from commit f223efb2a2d6a3e86556be7295cbbd3ef839f489)

Co-authored-by: sobolevn <mail@sobolevn.me>
2024-11-12 10:41:28 +00:00
Erlend E. Aasland
b00887d176
[3.12] gh-89640: harden float word ordering (#125571 and #126387) (#126430)
Properly detect float word ordering on Linux (gh-125571)

autoconf-archive patch by Dan Amelang.

(cherry picked from commit 26d627779f79d8d5650fe7be348432eccc28f8f9)

Hardcode WASM float word ordering to little endian (gh-126387)

(cherry picked from commit 532fc08102d62c04d55f5b8aac00bd9e7e12ff4b)
2024-11-05 23:19:13 +01:00
Miss Islington (bot)
679dfaeb4c
[3.12] gh-124612: Use ghcr.io/python/autoconf instead of public image (GH-124657) (#126184)
(cherry picked from commit b502573f7f800dbb2e401fa2a7a05eceac692c7a)

Co-authored-by: Donghee Na <donghee.na@python.org>
2024-10-30 14:22:50 +00:00
Petr Viktorin
49f6beb56a
[3.12] gh-113993: Make interned strings mortal (GH-120520, GH-121364, GH-121903, GH-122303) (#123065)
This backports several PRs for gh-113993, making interned strings mortal so they can be garbage-collected when no longer needed.

* Allow interned strings to be mortal, and fix related issues (GH-120520)

  * Add an InternalDocs file describing how interning should work and how to use it.

  * Add internal functions to *explicitly* request what kind of interning is done:
    - `_PyUnicode_InternMortal`
    - `_PyUnicode_InternImmortal`
    - `_PyUnicode_InternStatic`

  * Switch uses of `PyUnicode_InternInPlace` to those.

  * Disallow using `_Py_SetImmortal` on strings directly.
    You should use `_PyUnicode_InternImmortal` instead:
    - Strings should be interned before immortalization, otherwise you're possibly
      interning a immortalizing copy.
    - `_Py_SetImmortal` doesn't handle the `SSTATE_INTERNED_MORTAL` to
      `SSTATE_INTERNED_IMMORTAL` update, and those flags can't be changed in
      backports, as they are now part of public API and version-specific ABI.

  * Add private `_only_immortal` argument for `sys.getunicodeinternedsize`, used in refleak test machinery.

   Make sure the statically allocated string singletons are unique. This means these sets are now disjoint:
    - `_Py_ID`
    - `_Py_STR` (including the empty string)
    - one-character latin-1 singletons

    Now, when you intern a singleton, that exact singleton will be interned.

  * Add a `_Py_LATIN1_CHR` macro, use it instead of `_Py_ID`/`_Py_STR` for one-character latin-1 singletons everywhere (including Clinic).

  * Intern `_Py_STR` singletons at startup.

  * Beef up the tests. Cover internal details (marked with `@cpython_only`).

  * Add lots of assertions

* Don't immortalize in PyUnicode_InternInPlace; keep immortalizing in other API (GH-121364)

  * Switch PyUnicode_InternInPlace to _PyUnicode_InternMortal, clarify docs

  * Document immortality in some functions that take `const char *`

  This is PyUnicode_InternFromString;
  PyDict_SetItemString, PyObject_SetAttrString;
  PyObject_DelAttrString; PyUnicode_InternFromString;
  and the PyModule_Add convenience functions.

  Always point out a non-immortalizing alternative.

  * Don't immortalize user-provided attr names in _ctypes

* Immortalize names in code objects to avoid crash (GH-121903)

* Intern latin-1 one-byte strings at startup (GH-122303)

There are some 3.12-specific changes, mainly to allow statically allocated strings in deepfreeze. (In 3.13, deepfreeze switched to the general `_Py_ID`/`_Py_STR`.)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-09-27 13:28:48 -07:00
Miss Islington (bot)
1494d9563f
gh-117505: Run ensurepip in isolated env in Windows installer (GH-118257)
ensurepip forks a subprocess to run pip itself, but that subprocess only inherits a -I isolated mode flag (see _run_pip() in Lib/ensurepip/__init__.py), not the "-E -s" flags that the installer has been using. This means that parts of ensurepip don't actually run in an isolated environment and can make incorrect decisions based on packages installed in the user site-packages.
(cherry picked from commit c9073eb1a99606df1efeb8959e9f11a8ebc23ae2)

Co-authored-by: Michael Vincent <377567+Vynce@users.noreply.github.com>
2024-09-18 15:16:29 +01:00
Miss Islington (bot)
41608f1760
gh-123915: Ensure that Windows AMD64 and ARM64 release builds use different directories (GH-123918)
(cherry picked from commit 00ffdf27367fb9aef247644a96f1a9ffb5be1efe)

Co-authored-by: adang1345 <adang1345@gmail.com>
2024-09-10 20:12:41 +00:00
Miss Islington (bot)
1248524940
[3.12] gh-123892: Add "_wmi" to sys.stdlib_module_names (GH-123893) (#123897)
gh-123892: Add "_wmi" to sys.stdlib_module_names (GH-123893)
(cherry picked from commit fb1b51a58df4315f7ef3171a5abeb74f132b0971)

Co-authored-by: Victor Stinner <vstinner@python.org>
2024-09-10 10:11:56 +00:00
Victor Stinner
8b16ec65a2
[3.12] Fix typos (#123775) (#123867)
Fix typos (#123775)

(cherry picked from commit 9017b95ff2dcff16bcb0b0a609ed2b0daa845943)

Co-authored-by: algonell <algonell@gmail.com>
2024-09-09 13:22:13 +00:00
Miss Islington (bot)
e75ecd0b42
[3.12] gh-123700: Update OpenSSL versions in multissltests and CI (GH-123704)
Remove EOL 1.1.1w from CI and move it to the 'old' set in multissltests,
add latest 3.3.2 to both CI and multissltests.

(cherry picked from commit d83e30caddcbf9482273743d287577517ec735b7)

Co-authored-by: Zachary Ware <zach@python.org>
2024-09-04 16:31:28 -05:00
Zachary Ware
e094d61a15
[3.12] gh-123418: Update CI to use fresh OpenSSL releases (GH-123698)
Also adds openssl/openssl GitHub URL template for newer OpenSSL downloads
(cherry picked from commit 56b00f4705634af2861a8aa9c2eb5769012220f0)
2024-09-04 14:37:09 -05:00
Miss Islington (bot)
ff4ad2ea89
[3.12] gh-123458: Skip SBOM generation if no git repository is detected (GH-123507) (#123615)
gh-123458: Skip SBOM generation if no git repository is detected (GH-123507)
(cherry picked from commit db42934270c5c23be9f6804cad98dfd8234caf6f)

Co-authored-by: Seth Michael Larson <seth@python.org>
2024-09-03 01:21:40 +02:00
Hugo van Kemenade
514787a984
[3.12] build(deps): bump hypothesis from 6.108.10 to 6.111.2 in /Tools (GH-123567) (#123592)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 14:38:42 +03:00
Miss Islington (bot)
be88b3b996
[3.12] Fix syntax in generate_re_casefix.py (GH-122699) (#122722)
This was broken in gh-97963.
(cherry picked from commit b72c748d7fb4ecc0bc4626c7bc05fbc6c83f0ba8)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-08-06 06:42:27 +00:00
Miss Islington (bot)
0f83b8f306
[3.12] gh-122044: Don't error during gitignore filtering with no files (GH-122045) (#122354)
Co-authored-by: Seth Michael Larson <seth@python.org>
2024-07-27 14:27:34 +00:00
Miss Islington (bot)
02c19f0338
[3.12] gh-122270: Fix typos in the Py_DEBUG macro name (GH-122271) (GH-122276)
(cherry picked from commit 6c09b8de5c67406113e8d082e05c9587e35a852a)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-07-25 11:22:42 +00:00
Eric Snow
dd4c8aca61
[3.12] gh-117482: Simplify the Fix For Builtin Types Slot Wrappers (gh-122241)
In gh-121602, I applied a fix to a builtin types initialization bug.
That fix made sense in the context of some broader future changes,
but introduced a little bit of extra complexity.  For earlier versions
those future changes are not relevant; we can avoid the extra complexity.
Thus we can revert that earlier change and replace it with this one,
which is more focused and conceptually simpler.  This is essentially
the implementation of an idea that @markshannon pointed out to me.

Note that this change would be much smaller if we didn't have to deal
with repr compatibility for builtin types that explicitly inherit tp slots
(see expect_manually_inherited()).  The alternative is to stop
*explicitly* inheriting tp slots in static PyTypeObject values,
which is churn that we can do separately.

(cherry picked from commit 716c6771fcfd3be90bba9f888a579b36c02cdb13, AKA gh-121932)
2024-07-24 19:07:32 +00:00
Adam Turner
ff98d9021a
[3.12] GH-121970: Rewrite the C-API annotations extension (GH-121985) (#122025)
(cherry picked from commit 22c9d9c1fcc3bb6186524330b169eda6df450f1b)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2024-07-19 12:48:50 +00:00
Eric Snow
0ec761a96a
[3.12] gh-117482: Fix Builtin Types Slot Wrappers (gh-121632)
When builtin static types are initialized for a subinterpreter, various "tp" slots have already been inherited (for the main interpreter).  This was interfering with the logic in add_operators() (in Objects/typeobject.c), causing a wrapper to get created when it shouldn't.  This change fixes that by preserving the original data from the static type struct and checking that.

(cherry picked from commit 5250a031332eb9499d5fc190d7287642e5a144b9, AKA gh-121602)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-07-11 21:20:08 +00:00
neonene
7719eefcce
[3.12] gh-71587: Drop local reference cache to _strptime module in _datetime (gh-120431)
The _strptime module object was cached in a static local variable (in the datetime.strptime() implementation).  That's a problem when it crosses isolation boundaries, such as reinitializing the runtme or between interpreters.  This change fixes the problem by dropping the static variable, instead always relying on the normal sys.modules cache (via PyImport_Import()).

(cherry picked from commit 127c1d2771749853e287632c086b6054212bf12a, AKA gh-120224)
2024-06-13 12:47:46 -06:00
Miss Islington (bot)
386e49259c
[3.12] gh-112844: Update CPE references for external dependencies (GH-118521) (#119238)
Co-authored-by: Seth Michael Larson <seth@python.org>
2024-05-20 13:32:51 -06:00
Miss Islington (bot)
656491783d
[3.12] gh-118671: Updated dead ActiveState links (GH-118730) (#118754)
Co-authored-by: trag1c <trag1cdev@yahoo.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
2024-05-08 07:22:35 +00:00
Seth Michael Larson
f5406ef454
gh-116122: Add SBOM generation to PCbuild/build.bat (GH-116138)
(cherry picked from commit 72dae53e09a5344bf4922d934a34a2fa48a11c86)

Co-authored-by: Seth Michael Larson <seth@python.org>
2024-05-01 15:47:41 +01:00
Miss Islington (bot)
97c0194c9f
gh-118347: Fix Windows installer not updating launcher (GH-118386)
(cherry picked from commit 96d8ca7ad6c4f23f023dd6ed0abd042b29dff4a2)

Co-authored-by: Steve Dower <steve.dower@python.org>
2024-04-29 21:16:17 +00:00
neonene
9f4ae13d2a
[3.12] gh-117613: Argument Clinic: ensure that defining class params are positional-only (#117939) 2024-04-17 21:11:17 +00:00
Miss Islington (bot)
8d42c57789
[3.12] gh-99108: Update and check HACL* version information (GH-117295) (GH-117302)
gh-99108: Update and check HACL* version information (GH-117295)

(cherry picked from commit 669ef49c7d42f35da6f7ee280102353b9b37f83e)

Co-authored-by: Seth Michael Larson <seth@python.org>
2024-03-27 22:16:19 +00:00
Antoine Pitrou
fcb230180f
[3.12] gh-112536: Add --tsan test for reasonable TSAN execution times. (gh-116601) (#116929)
(cherry picked from commit ebf29b3)

Co-authored-by: Donghee Na <donghee.na@python.org>
2024-03-18 10:22:19 +01:00
Miss Islington (bot)
de239beaec
[3.12] gh-116576: Fix Tools/scripts/sortperf.py sorting the same list (GH-116577) (#116582)
gh-116576: Fix `Tools/scripts/sortperf.py` sorting the same list (GH-116577)
(cherry picked from commit 4704e55a71c859c5d17cc2747ba62f49da58ea2d)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2024-03-11 07:15:51 +00:00
Brett Cannon
88fdb082d9
[3.12] GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 primitives (GH-116327) (GH-116373) 2024-03-05 13:35:02 -08:00
Terry Jan Reedy
84b023d243
[3.12] chore: fix typos (#116345) (#116370)
Co-authored-by: cui fliter <imcusg@gmail.com>
(cherry picked from commit e7ba6e9dbe5433b4a0bcb0658da6a68197c28630)
2024-03-05 18:51:17 +00:00
Miss Islington (bot)
34efd49280
gh-115554: Improved logic for handling multiple existing py.exe launcher installs (GH-115793)
(cherry picked from commit 9b7f253b55f10df03d43c8a7c2da40ea523ac7a1)

Co-authored-by: Steve Dower <steve.dower@python.org>
2024-03-05 16:47:03 +00:00
Miss Islington (bot)
8785eab342
[3.12] gh-116265: Remove obsolete sentence. (GH-116284) (#116331)
Remove sentence in Tools/c-analyzer/README referring to deleted
ignore-globals.txt.
(cherry picked from commit 88b5c665ee1624af1bc5097d3eb2af090b9cabed)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2024-03-04 22:20:44 +00:00
Miss Islington (bot)
25b21596fe
[3.12] GH-115978: Disable *readv() and *writev() on WASI (GH-116228) (GH-116231)
GH-115978: Disable `*readv()` and `*writev()` on WASI (GH-116228)

Wasmtime doesn't implement these functions in a way to pass test_posix (https://github.com/bytecodealliance/wasmtime/issues/7830).
(cherry picked from commit 5dc8c84d397110f9edfa56793ad8887b1f176d79)

Co-authored-by: Brett Cannon <brett@python.org>
2024-03-02 01:11:41 +00:00
Miss Islington (bot)
211b55951d
[3.12] gh-112844: Add SBOM for external dependencies (GH-115789) (#116128)
Co-authored-by: Seth Michael Larson <seth@python.org>
2024-02-29 21:32:14 +00:00
Miss Islington (bot)
dd961d8329
[3.12] gh-108303: Move Lib/test/sortperf.py to Tools/scripts (GH-114687) (#115625)
gh-108303: Move `Lib/test/sortperf.py` to `Tools/scripts` (GH-114687)
(cherry picked from commit f9154f8f237e31e7c30f8698f980bee5e494f1e0)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2024-02-18 07:46:23 +00:00
Brett Cannon
0e4f73b8e4
[3.12] GH-113516: don't set LDSHARED when building for WASI (GH-115495) (GH-115496) 2024-02-15 01:19:42 +00:00