Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
with:
submodules: recursive

- uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: latest-known
python-version: "3.14"
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
with:
submodules: recursive

- uses: pypa/cibuildwheel@v4.2.0
- uses: pypa/cibuildwheel@v4.3.0

- uses: actions/upload-artifact@v7
with:
Expand All @@ -80,7 +80,7 @@ jobs:
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v7
- uses: actions/download-artifact@v8
with:
pattern: "*"
path: dist
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.14t"]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.14t", "3.15", "3.15t"]

steps:
- uses: actions/checkout@v7
with:
submodules: recursive

- uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: latest-known
python-version: ${{ matrix.python-version }}
Expand All @@ -75,7 +75,7 @@ jobs:
with:
submodules: recursive

- uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: latest-known
python-version: "3.14"
Expand Down
5 changes: 5 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# CHANGES

## Unreleased

- Support Python 3.15, including the free-threaded CPython 3.15 build, with
tests and wheels for Linux, macOS, and Windows

## 2.3.0 (2026-09-16)

- Support free-threaded CPython 3.14 without re-enabling the GIL, including
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ cChardet is a high-speed universal character encoding detector built on the

## Python support

cChardet supports CPython 3.11 through 3.14, including the free-threaded
CPython 3.14 build. Each version is tested on Linux, macOS, and Windows.
cChardet supports CPython 3.11 through 3.15, including the free-threaded
CPython 3.14 and 3.15 builds. Each version is tested on Linux, macOS, and
Windows.

## Development

Expand Down
13 changes: 7 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ classifiers = [
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14',
'Programming Language :: Python :: 3.15',
]
requires-python = ">=3.11"
dynamic = ["version"]
Expand All @@ -33,13 +34,13 @@ version = { attr = "cchardet.__version__" }
dev = [
"build>=1.6.1",
"chardet>=7.6.0",
"charset-normalizer>=3.5.1",
"cython>=3.2.9,<3.4",
"mypy>=1.15",
"charset-normalizer>=3.5.2",
"cython>=3.3.0,<3.4",
"mypy>=2.4.0",
"pyperf>=2.10.0",
"pytest>=9.1.1",
"ruff>=0.16.7",
"setuptools>=77",
"ruff>=0.16.10",
"setuptools>=84.0.0",
"twine>=7.0.0",
]

Expand All @@ -66,7 +67,7 @@ format.quote-style = "double"
format.indent-style = "space"

[tool.cibuildwheel]
build = "cp311-* cp312-* cp313-* cp314-* cp314t-*"
build = "cp311-* cp312-* cp313-* cp314-* cp314t-* cp315-* cp315t-*"
skip = "*-musllinux_*"
archs = "auto"
test-command = "python tools/wheel_smoke.py"
Expand Down
Loading
Loading