Skip to content

Commit 417f24d

Browse files
committed
v0.4.0 per changelog
1 parent 53c52d4 commit 417f24d

6 files changed

Lines changed: 19 additions & 7 deletions

File tree

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ jobs:
2727
# Build wheels using cibuildwheel
2828
# ENV variables control the build (architectures, python versions)
2929
- name: Build wheels
30-
uses: pypa/cibuildwheel@v2.21.3
30+
uses: pypa/cibuildwheel@v3.3.1
3131
env:
3232
# Build for Python 3.11+
33-
CIBW_BUILD: "cp311-* cp312-* cp313-*"
33+
CIBW_BUILD: "cp311-* cp312-* cp313-* cp314-* cp314t-*"
3434
# Skip PyPy, musllinux, and 32-bit Linux
3535
CIBW_SKIP: "pp* *-musllinux_* *-manylinux_i686"
3636

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
os: [ubuntu-22.04, macos-latest]
17-
python-version: ["3.11", "3.12", "3.13"]
17+
python-version: ["3.11", "3.12", "3.13", "3.14"]
1818
steps:
1919
- uses: actions/checkout@v4
2020
- uses: actions/setup-python@v5

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.4.0] - 2026-02-17
9+
10+
### Added
11+
12+
- **Python 3.14**: Add support for Python 3.14 in CI tests, wheel builds, and packaging.
13+
- **Free Threading**: Declare free-threading compatibility (`py::mod_gil_not_used`) for Python 3.13t/3.14t builds. Build and publish free-threaded (`cp314t`) wheels.
14+
15+
### Changed
16+
17+
- **CI**: Upgrade cibuildwheel from v2 to v3.3.1 for Python 3.14 wheel builds.
18+
819
## [0.3.6] - 2026-02-17
920

1021
### Fixed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
VENV_BIN := $(PWD)/venv/bin
1212

1313
# PY_BEST: scan for newest supported Python (used when creating new venvs)
14-
# Supports 3.11-3.13 to match requires-python >=3.11
15-
PY_BEST := $(shell for v in 3.13 3.12 3.11; do command -v python$$v >/dev/null 2>&1 && { echo python$$v; exit 0; }; done; command -v python3 2>/dev/null || command -v python 2>/dev/null)
14+
# Supports 3.11-3.14 to match requires-python >=3.11
15+
PY_BEST := $(shell for v in 3.14 3.13 3.12 3.11; do command -v python$$v >/dev/null 2>&1 && { echo python$$v; exit 0; }; done; command -v python3 2>/dev/null || command -v python 2>/dev/null)
1616

1717
# PY_PATH: active python3/python on PATH (respects CI setup-python and activated venvs)
1818
PY_PATH := $(shell command -v python3 2>/dev/null || command -v python 2>/dev/null)

bindings/python/module.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ static std::span<const T> as_span(const py::array& arr, const char* name) {
8787
return std::span<const T>(static_cast<const T*>(buf.ptr), static_cast<std::size_t>(buf.size));
8888
}
8989

90-
PYBIND11_MODULE(_netgraph_core, m) {
90+
PYBIND11_MODULE(_netgraph_core, m, py::mod_gil_not_used()) {
9191
m.doc() = "NetGraph-Core C++ bindings";
9292

9393
py::enum_<EdgeTieBreak>(m, "EdgeTieBreak")

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
44

55
[project]
66
name = "netgraph-core"
7-
version = "0.3.6"
7+
version = "0.4.0"
88
description = "C++ implementation of graph algorithms for network flow analysis and traffic engineering with Python bindings"
99
readme = "README.md"
1010
requires-python = ">=3.11"
@@ -21,6 +21,7 @@ classifiers = [
2121
"Programming Language :: Python :: 3.11",
2222
"Programming Language :: Python :: 3.12",
2323
"Programming Language :: Python :: 3.13",
24+
"Programming Language :: Python :: 3.14",
2425
"Programming Language :: Python :: 3 :: Only",
2526
"Programming Language :: C++",
2627
"Programming Language :: Python :: Implementation :: CPython",

0 commit comments

Comments
 (0)