1695 Commits

Author SHA1 Message Date
Ivan Pozdeev
135adbb192 2.8.0 2026-07-13 21:01:27 +03:00
native-api
958e3aca95
Add miniconda3 26.5.3-1 (#3491) 2026-07-11 08:23:42 +03:00
max
e4c462dc70
Fix typos in docs, scripts, and tests (#3490) 2026-07-08 18:03:00 +03:00
Ayush
19f4c7cf20
Add an experimental pyenv-binary plugin with a save command (#3487)
* pyenv-binary: add experimental plugin skeleton

Adds a new plugin, decoupled from `pyenv install`, for packaging and installing
relocatable Python binaries. This commit is just the command dispatcher; the
individual subcommands follow.

`pyenv binary <command>` dispatches to the matching script under the plugin's
libexec, so subcommands stay out of the top-level `pyenv commands` list.

Groundwork for the binary distribution support discussed in #2334.

* pyenv-binary: add the `save` subcommand

`pyenv binary save <version> [<output-dir>]` packs an installed version into a
relocatable .tar.gz with relative paths and writes a metadata file recording the
build platform, distro, libc version and the external system libraries the
build links against (via `ldd` on Linux, `otool -L` on macOS).

* pyenv-binary: reject invalid version names and drop readlink -f in save

A version is a single directory name under versions/, so refuse names with a
slash or a dot-dot component before building the prefix path.

Also emit the python paths directly instead of `readlink -f`, which BSD
readlink on macOS does not support; ldd/otool follow the symlinks anyway, so
the resolved paths were never needed.

* pyenv-binary: test the `save` subcommand

Cover argument validation, the version-name guard, and packaging an
installed version into an archive with matching metadata.

* pyenv-binary: test dependency parsing and tighten the version guard

Add tests that feed realistic ldd and otool listings through save and
check only the libraries resolving outside the prefix end up in the
metadata, since that filtering is the fiddliest part of the command.

Narrow the version guard to reject `.' and `..' rather than any name
containing a dot-dot, now that a slash is already refused, and note why
the find still matches *.so.* even though CPython does not produce them.
2026-07-03 09:08:54 +03:00
Michael Šimáček
8f68aab443
Add graalpy-3.12-25.1.3 (#3485)
* Add graalpy-3.12-25.1.3

* Adjust GraalPy version detection with the new naming scheme

---------

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2026-06-30 21:25:03 +03:00
Ivan Pozdeev
a27d2723d6 install: reflect the new alias syntax in reference 2026-06-30 04:17:58 +03:00
Ayush
4c78a0dd50
pyenv-install: install a version under a custom name with <version>:<alias> (#3484) 2026-06-30 04:12:16 +03:00
native-api
ebd788d08c
Add miniforge3-26.3.2-2, 26.3.2-3 (#3481) 2026-06-25 09:52:54 +03:00
native-api
4b77d83d9d
CI: add_version enhancements (#3480)
* Default 30 seems enough for our needs
* comments on critical knowledge
* Cleaner handling of t thunk patches
* Fix an error when adding a release for which there's also a prerelease
* Workaround excepthook not working in Github Actions
* requirements.txt workaround is only needed for old Python
2026-06-25 09:48:57 +03:00
Ivan Pozdeev
933d0aaf1d 2.7.3 2026-06-24 05:14:13 +03:00
pyenv-bot[bot]
09dce106a4
Add CPython 3.15.0b3 (#3479)
Co-authored-by: native-api <2670332+native-api@users.noreply.github.com>
2026-06-24 04:27:01 +03:00
Ivan Pozdeev
b52a8e3f52 python-build scripts: Switch to jc release
They finally made a release with our fix
2026-06-19 08:36:53 +03:00
Ayush
f122a9d764
CI: add_version enhancements (#3475)
- Prevent OpenSSL from bumping across major versions
- Skip adding versions that already have pending PRs
- Copy/move patches when adding new releases in the same series
2026-06-14 21:46:48 +03:00
Ivan Pozdeev
b43c9e5d42 2.7.2 2026-06-10 23:16:50 +03:00
pyenv-bot[bot]
532b659ca2
Add CPython 3.13.14 (#3473)
---------

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2026-06-10 23:12:21 +03:00
pyenv-bot[bot]
7565df6eab
Add CPython 3.14.6 (#3472)
---------

Co-authored-by: native-api <2670332+native-api@users.noreply.github.com>
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2026-06-10 23:11:56 +03:00
Ivan Pozdeev
6c0c5cfa96 Fix verify_* calls in 3.6.x
Fixes #3470
2026-06-10 21:56:41 +03:00
Ivan Pozdeev
45180928d3
2.7.1 2026-06-03 09:09:54 +03:00
pyenv-bot[bot]
efc77132f7
Add CPython 3.15.0b2 (#3467)
Co-authored-by: native-api <2670332+native-api@users.noreply.github.com>
2026-06-03 00:55:40 +03:00
native-api
c425c9ec3a
Update URLs for PyPy nightly; Remove pypy3.5 and pypy3.7 nightly (#3466)
pypy3.5-c-jit-latest and pypy3.7-c-jit-latest are no longer available
2026-06-02 13:16:51 +03:00
native-api
95ddd7d479
Support 3.9 EOL Pip URL, consolidate tests (#3465) 2026-06-02 10:29:59 +03:00
Ivan Pozdeev
29057a6c69
2.6.32 2026-05-31 06:20:35 +03:00
Ivan Pozdeev
034e15b810
3.14.0-5: Support building against OpenSSL 4 2026-05-30 22:00:43 +03:00
native-api
4c6d4c9be7
Add missing CPython 3.14.2t (#3464) 2026-05-30 17:58:36 +03:00
native-api
549a644688
Fix linking against a keg_only Homebrew OpenSSL when a a non-keg_only one is also installed (#3462) 2026-05-30 16:53:57 +03:00
native-api
7f1139ebe6
Add micropython 1.22.0 to 1.28.0; add downstream patches to fix compilation errors (#3460) 2026-05-30 16:36:04 +03:00
native-api
08a015100e
python_build: Make verify_python verify `pythonX.Y' suffix (#3459)
* Fix erroneous use in tests that didn't show until now
2026-05-30 12:47:16 +03:00
native-api
8decb512b4
Merge pull request #3458 from native-api/with_openssl_rpath
3.11.0+: Use the `--with-openssl-rpath' Configure option when possible
2026-05-30 05:46:13 +03:00
Ivan Pozdeev
84414c0121
3.11.5: Add missing patch 2026-05-30 05:38:46 +03:00
Ivan Pozdeev
9ea5bd3005
3.11.0+: Use the `--with-openssl-rpath' Configure option
The options is available since 3.10.0+ (https://github.com/python/cpython/pull/24820)
but has no effect until 3.11.0 (cpython b9e9292d75fdea621e05e39b8629e6935d282d0d)
and broken in MacOS until 3.12.2 (cpython cc13eabc7ce08accf49656e258ba500f74a1dae8),
we add downstream patches to fix that except for 3.11-dev where we disabled it
2026-05-30 05:38:32 +03:00
Michael Simacek
4f47143108 Add graalpy-25.0.3 2026-05-22 08:36:54 +02:00
native-api
06fd1ce788
2.7, 3.4: force C99 standard; 2.7.14-18: force OpenSSL 1 formula (#3448)
GCC 15+ uses C23 by default
(https://www.phoronix.com/news/GCC-15-Default-C23)

fixes "error: static declaration of ‘sinpi’ follows non-static declaration"
fixes "error: cannot use keyword ‘false’ as enumeration constant"

* use OpenSSL 1.0 and 1.1 only from formulae
2026-05-14 06:41:47 +03:00
native-api
0864daa5ea
miniconda 26, CI: switch check to 3.13 (#3447) 2026-05-12 01:32:56 +03:00
native-api
522164fbd5
miniforge3 26.1, 26.3, add_miniforge: exclude .pkg installers (#3446)
According to Miniforge README, they are only meant for interactive installation
2026-05-12 01:06:24 +03:00
native-api
8c59c44902
Add miniconda3 26.3.2-2, miniforge3 26.3.2-0, 26.3.2-1 (#3445) 2026-05-11 23:47:34 +03:00
Ivan Pozdeev
c639152ac7
2.6.31 2026-05-11 01:39:26 +03:00
pyenv-bot[bot]
331ff66e2d
Add CPython 3.14.5 (#3444)
* Keep bundled OpenSSL 3
There's no support for OpenSSL 4 yet

---------

Co-authored-by: native-api <2670332+native-api@users.noreply.github.com>
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2026-05-11 01:36:03 +03:00
Ivan Pozdeev
3399b2e2e5
clarify confusing error message 2026-05-08 20:10:35 +03:00
Ivan Pozdeev
5bb6b27d61
CI: add_version: support prereleases for non-initial releases
They unexpectedly made a prerelease 3.14.5rc1
2026-05-08 20:10:35 +03:00
Ivan Pozdeev
97573e156e
CI: add_version: correctly handle exceptions
exit code 1 is used as a signal that no new version is found -- so have to use a different exit code for unhandled exceptions
2026-05-08 17:48:39 +03:00
Ivan Pozdeev
40dba8256f
2.6.30 2026-05-08 17:37:31 +03:00
Ned Batchelder
e30c23eac2
Add CPython 3.16-dev, switch 3.15-dev to maintenance branch (#3442)
3.15.0b1 released means we need 3.16 support
2026-05-08 17:10:22 +03:00
Ivan Pozdeev
a7cc776274
2.6.29 2026-05-08 03:54:43 +03:00
native-api
e08497a2b7
Add CPython 3.14.5rc1 (#3441) 2026-05-08 03:53:13 +03:00
John Sirois
709f42cc08
Add CPython 3.15.0b1 (#3440) 2026-05-08 03:22:11 +03:00
orbisai0security
6bdb85d8b7
CI: add-version: Add timeouts to CPython release metadata fetches (#3439)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-06 06:35:23 +03:00
John Sirois
3966e507ba
Add PyPy v7.3.22
The release blog entry is here:
https://pypy.org/posts/2026/04/pypy-v7322-release.html
2026-04-29 19:39:23 -07:00
Ivan Pozdeev
485090e713
2.6.28 2026-04-29 08:26:10 +03:00
Ivan Pozdeev
ae1bb9c061
CI: add_python: 3.9 is EOL 2026-04-17 22:30:54 +03:00
Ivan Pozdeev
46e4e6ab07
-dead code
[no ci]
2026-04-15 15:18:16 +03:00