From 121848ca4a8054c6201d091d6e5dedb56f398973 Mon Sep 17 00:00:00 2001 From: dosisod <39638017+dosisod@users.noreply.github.com> Date: Sun, 11 Oct 2026 14:47:19 -0400 Subject: [PATCH 1/3] Document support for Python 3.15 --- CHANGELOG.md | 3 ++- README.md | 2 +- docs/index.rst | 2 +- docs/install.rst | 4 ++-- setup.py | 1 + 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 277d29bb3..6f130473d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # 1.21.0 (UNRELEASED) +- Add support for Python 3.15 + - Fix custom ODB backends: acquire the GIL when calling back into Python, and fix `write_cb`'s type argument [#1496](https://github.com/libgit2/pygit2/pull/1496) @@ -15,7 +17,6 @@ - Wheels: build the bundled libgit2 and libssh2 in Release mode instead of Debug [#1497](https://github.com/libgit2/pygit2/pull/1497) - # 1.20.1 (2026-09-12) - Update wheels to libgit2 1.9.7 diff --git a/README.md b/README.md index 3d0891e92..c59c8d75a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # pygit2 - libgit2 bindings in Python Bindings to the libgit2 shared library, implements Git plumbing. -Supports Python 3.11 to 3.14 and PyPy3 7.3+ +Supports Python 3.11 to 3.15 and PyPy3 7.3+ [![test-ci-badge][test-ci-badge]][test-ci-link] [![deploy-ci-badge][deploy-ci-badge]][deploy-ci-link] diff --git a/docs/index.rst b/docs/index.rst index af3380e59..9d5da98da 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,7 +3,7 @@ pygit2 - libgit2 bindings in Python ###################################################################### Bindings to the libgit2 shared library, implements Git plumbing. -Supports Python 3.11 to 3.14 and PyPy3 7.3+ +Supports Python 3.11 to 3.15 and PyPy3 7.3+ Links ===================================== diff --git a/docs/install.rst b/docs/install.rst index 54bb07dc8..9116c477f 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -46,7 +46,7 @@ Requirements Supported versions of Python: -- Python 3.11 to 3.14 +- Python 3.11 to 3.15 - PyPy3 7.3+ Python requirements (these are specified in ``setup.py``): @@ -83,7 +83,7 @@ of Python and the required libgit2 version. +-------------+----------------+------------+ | pygit2 | Python | libgit2 | +-------------+----------------+------------+ -| 1.19 - 1.20 | 3.11 - 3.14(t) | 1.9 | +| 1.19 - 1.20 | 3.11 - 3.15(t) | 1.9 | +-------------+----------------+------------+ | 1.17 - 1.18 | 3.10 - 3.13 | 1.9 | +-------------+----------------+------------+ diff --git a/setup.py b/setup.py index 778a6c0e8..51d9da595 100644 --- a/setup.py +++ b/setup.py @@ -81,6 +81,7 @@ def exclude(line: str) -> bool: 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', 'Programming Language :: Python :: 3.14', + 'Programming Language :: Python :: 3.15', 'Programming Language :: Python :: Implementation :: PyPy', 'Programming Language :: Python :: Implementation :: CPython', 'Topic :: Software Development :: Version Control', From 48bacca511d816f131a38b1a5e9266cd0c00d811 Mon Sep 17 00:00:00 2001 From: dosisod <39638017+dosisod@users.noreply.github.com> Date: Sun, 11 Oct 2026 15:25:00 -0400 Subject: [PATCH 2/3] Upgrade cibuildwheel to support Python 3.15 --- .github/workflows/wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 6aa0363ac..49629c1bc 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -117,7 +117,7 @@ jobs: path: dist - name: Install cibuildwheel - run: python -m pip install cibuildwheel~=3.3 + run: python -m pip install cibuildwheel~=4.3.1 - name: Build wheels shell: bash @@ -180,7 +180,7 @@ jobs: path: dist - name: Install cibuildwheel - run: python -m pip install cibuildwheel~=3.3 + run: python -m pip install cibuildwheel~=4.3.1 - name: Build wheels shell: bash From 12610880c314b0c5821341405496130b229eed67 Mon Sep 17 00:00:00 2001 From: dosisod <39638017+dosisod@users.noreply.github.com> Date: Mon, 19 Oct 2026 12:03:05 -0400 Subject: [PATCH 3/3] Fix windows builds, tweak docs --- docs/install.rst | 2 +- pyproject.toml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/install.rst b/docs/install.rst index 9116c477f..d673dc791 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -83,7 +83,7 @@ of Python and the required libgit2 version. +-------------+----------------+------------+ | pygit2 | Python | libgit2 | +-------------+----------------+------------+ -| 1.19 - 1.20 | 3.11 - 3.15(t) | 1.9 | +| 1.19 - 1.21 | 3.11 - 3.15(t) | 1.9 | +-------------+----------------+------------+ | 1.17 - 1.18 | 3.10 - 3.13 | 1.9 | +-------------+----------------+------------+ diff --git a/pyproject.toml b/pyproject.toml index 96cc48cfa..a143e3645 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,6 +35,7 @@ environment.LIBGIT2_SRC = "build/libgit2_src" environment.LIBGIT2_VERSION = "1.9.7" before-all = "powershell -File build.ps1" before-build = "" +repair-wheel-command = "" [[tool.cibuildwheel.overrides]] select="*-win_amd64"