diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index dd1b9ea6e..45e6cfb1f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -49,7 +49,7 @@ jobs:
- "3.9"
- "3.10" # quotes to avoid being interpreted as the number 3.1
- "3.11"
- # - "3.12-dev"
+ - "3.12-dev"
env: [{ STATIC_DEPS: true }, { STATIC_DEPS: false }]
include:
diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml
index 89078587b..4d4ca5a78 100644
--- a/.github/workflows/wheels.yml
+++ b/.github/workflows/wheels.yml
@@ -85,6 +85,8 @@ jobs:
pyversion: "cp310*"
- image: manylinux_2_24_aarch64
pyversion: "cp311*"
+ - image: manylinux_2_24_aarch64
+ pyversion: "cp312*"
- image: musllinux_1_1_aarch64
pyversion: "cp36*"
@@ -98,6 +100,8 @@ jobs:
pyversion: "cp310*"
- image: musllinux_1_1_aarch64
pyversion: "cp311*"
+ - image: musllinux_1_1_aarch64
+ pyversion: "cp312*"
steps:
- uses: actions/checkout@v3
diff --git a/CHANGES.txt b/CHANGES.txt
index c684ad5e1..633dd5daa 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,15 @@
lxml changelog
==============
+4.9.3 (2023-06-30)
+==================
+
+Bugs fixed
+----------
+
+* Python 3.12-compatible release with no substantive changes
+
+
4.9.2 (2022-12-13)
==================
diff --git a/doc/main.txt b/doc/main.txt
index 60e831b4c..d46d9ebca 100644
--- a/doc/main.txt
+++ b/doc/main.txt
@@ -160,8 +160,8 @@ Index `_ (PyPI). It has the source
that compiles on various platforms. The source distribution is signed
with `this key `_.
-The latest version is `lxml 4.9.2`_, released 2022-12-13
-(`changes for 4.9.2`_). `Older versions <#old-versions>`_
+The latest version is `lxml 4.9.3`_, released 2022-06-30
+(`changes for 4.9.3`_). `Older versions <#old-versions>`_
are listed below.
Please take a look at the
@@ -256,7 +256,9 @@ See the websites of lxml
..
and the `latest in-development version `_.
-.. _`PDF documentation`: lxmldoc-4.9.2.pdf
+.. _`PDF documentation`: lxmldoc-4.9.3.pdf
+
+* `lxml 4.9.3`_, released 2023-06-30 (`changes for 4.9.3`_)
* `lxml 4.9.2`_, released 2022-12-13 (`changes for 4.9.2`_)
@@ -284,6 +286,7 @@ See the websites of lxml
* `older releases `_
+.. _`lxml 4.9.3`: /files/lxml-4.9.3.tgz
.. _`lxml 4.9.2`: /files/lxml-4.9.2.tgz
.. _`lxml 4.9.1`: /files/lxml-4.9.1.tgz
.. _`lxml 4.9.0`: /files/lxml-4.9.0.tgz
diff --git a/requirements.txt b/requirements.txt
index 988182be6..b3a8bdb97 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1 +1 @@
-Cython>=0.29.7
+Cython>=0.29.35
diff --git a/setup.py b/setup.py
index a9e4c20d4..f9d7b7fa6 100644
--- a/setup.py
+++ b/setup.py
@@ -263,6 +263,8 @@ def build_packages(files):
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
+ 'Programming Language :: Python :: 3.11',
+ 'Programming Language :: Python :: 3.12',
'Programming Language :: C',
'Operating System :: OS Independent',
'Topic :: Text Processing :: Markup :: HTML',
diff --git a/src/lxml/__init__.py b/src/lxml/__init__.py
index f90fccc6a..42400a06d 100644
--- a/src/lxml/__init__.py
+++ b/src/lxml/__init__.py
@@ -1,6 +1,6 @@
# this is a package
-__version__ = "4.9.2"
+__version__ = "4.9.3"
def get_include():