Skip to content

Commit 2913e8f

Browse files
authored
Add Python 3.15 support and drop Python 3.9 (#430)
Upgraded libs to the latest stable version
1 parent d120770 commit 2913e8f

11 files changed

Lines changed: 40 additions & 40 deletions

File tree

‎.github/workflows/cache_libs.yml‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
workflow_call:
55
inputs:
66
LIBICONV_VERSION:
7-
default: "1.18"
7+
default: "1.19"
88
required: false
99
type: string
1010
LIBXML2_VERSION:
@@ -16,39 +16,39 @@ on:
1616
required: false
1717
type: string
1818
OPENSSL_VERSION:
19-
default: "3.6.0"
19+
default: "3.6.5"
2020
required: false
2121
type: string
2222
XMLSEC1_VERSION:
23-
default: "1.3.11"
23+
default: "1.3.12"
2424
required: false
2525
type: string
2626
ZLIB_VERSION:
27-
default: "1.3.1"
27+
default: "1.3.2"
2828
required: false
2929
type: string
3030
WIN_LIBICONV_VERSION:
31-
default: "1.18-1"
31+
default: "1.19-1"
3232
required: false
3333
type: string
3434
WIN_LIBXML2_VERSION:
35-
default: "2.11.9-3"
35+
default: "2.11.9-8"
3636
required: false
3737
type: string
3838
WIN_LIBXSLT_VERSION:
39-
default: "1.1.39"
39+
default: "1.1.45"
4040
required: false
4141
type: string
4242
WIN_OPENSSL_VERSION:
43-
default: "3.5.6"
43+
default: "3.5.9"
4444
required: false
4545
type: string
4646
WIN_XMLSEC1_VERSION:
47-
default: "1.3.11"
47+
default: "1.3.12"
4848
required: false
4949
type: string
5050
WIN_ZLIB_VERSION:
51-
default: "1.3.1"
51+
default: "1.3.2"
5252
required: false
5353
type: string
5454

@@ -87,7 +87,7 @@ jobs:
8787
- "ubuntu-22.04"
8888
- "ubuntu-22.04-arm"
8989
- "macos-latest"
90-
- "windows-2022"
90+
- "windows-2025-vs2026"
9191
- "windows-11-arm"
9292

9393
runs-on: ${{ matrix.os }}

‎.github/workflows/linuxbrew.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010

1111
strategy:
1212
matrix:
13-
python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
13+
python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
1414

1515
env:
1616
# For some unknown reason, linuxbrew tries to use "gcc-11" by default, which doesn't exist.

‎.github/workflows/macosx.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
strategy:
2525
matrix:
26-
python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
26+
python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
2727
static_deps: ["static", ""]
2828

2929
steps:

‎.github/workflows/manylinux.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
strategy:
2525
matrix:
26-
python-abi: [cp39-cp39, cp310-cp310, cp311-cp311, cp312-cp312, cp313-cp313, cp314-cp314]
26+
python-abi: [cp310-cp310, cp311-cp311, cp312-cp312, cp313-cp313, cp314-cp314, cp315-cp315]
2727
image:
2828
- manylinux2014_x86_64
2929
- manylinux_2_28_x86_64

‎.github/workflows/sdist.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
strategy:
1616
matrix:
17-
python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
17+
python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
1818

1919
steps:
2020
- uses: actions/checkout@v3

‎.github/workflows/wheels.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484

8585
- name: Install cibuildwheel
8686
# N.B. Keep cibuildwheel version pin consistent with "build_wheels" job below.
87-
run: pipx install cibuildwheel==3.3
87+
run: pipx install cibuildwheel==4.3.4
8888

8989
- id: set-matrix
9090
run: |
@@ -96,7 +96,7 @@ jobs:
9696
&& cibuildwheel --print-build-identifiers --platform macos \
9797
| jq -nRc '{"only": inputs, "os": "macos-latest"}' \
9898
&& cibuildwheel --print-build-identifiers --platform windows \
99-
| jq -nRc '{"only": inputs, "os": "windows-2022"}' \
99+
| jq -nRc '{"only": inputs, "os": "windows-2025-vs2026"}' \
100100
&& cibuildwheel --print-build-identifiers --platform windows --archs ARM64 \
101101
| jq -nRc '{"only": inputs, "os": "windows-11-arm"}'
102102
} | jq -sc
@@ -145,7 +145,7 @@ jobs:
145145
platforms: all
146146

147147
- name: Build wheels
148-
uses: pypa/cibuildwheel@v3.3.0
148+
uses: pypa/cibuildwheel@v4.3.4
149149
with:
150150
only: ${{ matrix.only }}
151151
env:

‎.travis.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ notifications:
99
email: false
1010

1111
python:
12-
- "3.9"
1312
- "3.10"
1413
- "3.11"
1514
- "3.12"
1615
- "3.13"
1716
- "3.14"
17+
- "3.15"
1818

1919
env:
2020
global:

‎build_support/lib_xmlsec_dependency_builder.py‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def triplet(self) -> str:
3636

3737

3838
class LibXmlsecDependencyBuilder:
39-
WINDOWS_LIBS_DOWNLOAD_RELEASE_URL = 'https://github.com/mxamin/python-xmlsec-win-binaries/releases/download/2026.04.28/'
39+
WINDOWS_LIBS_DOWNLOAD_RELEASE_URL = 'https://github.com/mxamin/python-xmlsec-win-binaries/releases/download/2026.10.23/'
4040
LIB_VERSION_ENV_VARS: ClassVar[dict[str, str]] = {
4141
'libiconv_version': 'PYXMLSEC_LIBICONV_VERSION',
4242
'libxml2_version': 'PYXMLSEC_LIBXML2_VERSION',
@@ -46,20 +46,20 @@ class LibXmlsecDependencyBuilder:
4646
'zlib_version': 'PYXMLSEC_ZLIB_VERSION',
4747
}
4848
UNIX_DEFAULT_LIB_VERSIONS: ClassVar[dict[str, str]] = {
49-
'libiconv_version': '1.18',
49+
'libiconv_version': '1.19',
5050
'libxml2_version': '2.14.6', # Make sure it matches with lxml
51-
'libxslt_version': '1.1.43',
52-
'openssl_version': '3.6.0',
53-
'xmlsec1_version': '1.3.11',
54-
'zlib_version': '1.3.1',
51+
'libxslt_version': '1.1.43', # 1.1.44+ requires libxml2 >= 2.15.1
52+
'openssl_version': '3.6.5',
53+
'xmlsec1_version': '1.3.12',
54+
'zlib_version': '1.3.2',
5555
}
5656
WINDOWS_DEFAULT_LIB_VERSIONS: ClassVar[dict[str, str]] = {
57-
'libiconv_version': '1.18-1',
58-
'libxml2_version': '2.11.9-3', # Make sure it matches with lxml
59-
'libxslt_version': '1.1.39',
60-
'openssl_version': '3.5.6',
61-
'xmlsec1_version': '1.3.11',
62-
'zlib_version': '1.3.1',
57+
'libiconv_version': '1.19-1',
58+
'libxml2_version': '2.11.9-8', # Make sure it matches with lxml
59+
'libxslt_version': '1.1.45',
60+
'openssl_version': '3.5.9',
61+
'xmlsec1_version': '1.3.12',
62+
'zlib_version': '1.3.2',
6363
}
6464

6565
def __init__(self, platform_name, info=None, libs_dir=None, buildroot=None, plat_name=None):

‎pyproject.toml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name = "xmlsec"
66
dynamic = ["version"]
77
description = "Python bindings for the XML Security Library"
88
readme = {file = "README.md", content-type = "text/markdown"}
9-
requires-python = ">=3.9"
9+
requires-python = ">=3.10"
1010
dependencies = ["lxml>=3.8"]
1111
keywords = ["xmlsec"]
1212
authors = [
@@ -24,12 +24,12 @@ classifiers = [
2424
"Operating System :: OS Independent",
2525
"Programming Language :: C",
2626
"Programming Language :: Python :: 3",
27-
"Programming Language :: Python :: 3.9",
2827
"Programming Language :: Python :: 3.10",
2928
"Programming Language :: Python :: 3.11",
3029
"Programming Language :: Python :: 3.12",
3130
"Programming Language :: Python :: 3.13",
3231
"Programming Language :: Python :: 3.14",
32+
"Programming Language :: Python :: 3.15",
3333
"Topic :: Text Processing :: Markup :: XML",
3434
"Typing :: Typed"
3535
]
@@ -90,7 +90,7 @@ disable_error_code = ["attr-defined"]
9090
line-length = 130
9191

9292
# Target Python version (used for autofixes and style rules)
93-
target-version = "py39"
93+
target-version = "py310"
9494

9595
# Directories and files to exclude from linting and formatting
9696
exclude = [
@@ -154,12 +154,12 @@ line-ending = "lf"
154154
# cibuildwheel
155155
[tool.cibuildwheel]
156156
build = [
157-
"cp39-*",
158157
"cp310-*",
159158
"cp311-*",
160159
"cp312-*",
161160
"cp313-*",
162-
"cp314-*"
161+
"cp314-*",
162+
"cp315-*"
163163
]
164164
build-verbosity = 1
165165
environment = {PYXMLSEC_STATIC_DEPS="true"}

‎requirements.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
lxml==6.1.0
1+
lxml==6.1.3

0 commit comments

Comments
 (0)