StateChart 3.2.0¶
Not released yet
Warning
Python 3.9 support dropped. StateMachine 3.2.0 requires Python 3.10 or
later. If you cannot upgrade Python yet, pin to python-statemachine<3.2
(the 3.1.x series remains the last line supporting 3.9).
Backward incompatible changes in 3.2.0¶
Python 3.9 support dropped¶
Python 3.9 reached end-of-life on 2025-10-31 and is no longer supported by the Python core team. StateMachine 3.2 now requires Python 3.10+.
Rationale:
Python 3.9 represented around 1.4% of PyPI downloads of
python-statemachinein the 180 days prior to this release; Python 3.10+ accounts for the vast majority of attributable traffic.Dropping 3.9 lets the codebase adopt
match/case(PEP 634), PEP 604 union syntax (X | Y), PEP 585 built-in generics (list[int]instead ofList[int]), andzip(strict=True)(PEP 618) internally.The same minimum has already been adopted by the major libraries in the ecosystem (pandas, FastAPI, SQLAlchemy, NumPy, Django 5).
Migration¶
Upgrade your interpreter to Python 3.10 or later, or
Pin
python-statemachine<3.2to stay on the 3.1.x line.
No public API was changed by this drop. Code that runs on 3.10+ today will continue to run unchanged on 3.2.
What’s new in 3.2.0¶
TODO
Bug fixes in 3.2.0¶
TODO