Sourced from cython's changelog.
3.3.0 (2026-08-22)
(Complete changelog for the 3.3.0 release, including pre-releases.)
Features added
PEP-634 Pattern Matching is implemented. (Github issue :issue:
4029)
except *(PEP-654 exception groups) is implemented for Python 3.11 and later. (Github issue :issue:4993)Unpacking in comprehensions (PEP-798) is implemented for list/set/dict comprehensions. It is not yet available for generator expressions. Original patch by Morax. (Github issue :issue:
7898)Changes were made to adapt to Python 3.15 and its Limited API. This does not yet cover
abi3t. (Github issues :issue:6405, :issue:7190, :issue:7347, :issue:7348, :issue:7358)Cython now uses a new export/import naming scheme for fused C functions that increases the resilience against seemingly compatible user code changes. The original names are kept for backwards compatibility. (Github issue :issue:
7656)Declared container item types (e.g.
list[float]ortuple[atype, ...]) are now used by the type system. (Github issues :issue:7288, :issue:7798)Type inference was improved for builtin Python types and their methods. (Github issues :issue:
7536, :issue:7644, :issue:7887, :issue:7888)Exception base types are inferred for the target variable of multi-exception
exceptclauses and for collections of exceptions. Properties like.argsand.contextuse direct C access in CPython. (Github issue :issue:7783)Annotations on global variables are now used by type inference. (Github issue :issue:
7877)The feature set of the shared module can be selected at build time by listing named features to include or exclude. This is an experimental configuration, subject to further improvements. Failures to include used features will currently result in import failures. (Github issue :issue:
7759)To control the generation of the shared module, the
cythoncommand gained a sub-commandcython generate-shared pkg/modulename.cwith additional options
... (truncated)
bcd04a2
Update changelog.dd3ab0a
Prepare release of 3.3.0.294caa8
Fix use of PyState_RemoveModule on module init failure path (#7906)a5d566a
Build: Validate that all expected wheels were built.2dd996d
Build: Upgrade cibuildwheel.1b9e5ec
Update changelog.148e945
Avoid useless None checks in PyTypeTestNode. (GH-7904)82e4301
Fix type checks for exception base types. (#7903)207f4a9
Allow pipes in srctree tests (GH-7901)ef74612
Update version for next release.