Version 2.0.0
Public changes
The following are changes that will affect users of the
Drop support for Python 3.9
Python 3.9 officially reached end-of-life as of Oct. 31 2025. Dependencies such as Numpy and SciPy have dropped support for this version, and to continue to support the latest versions of those libraries Python 3.9 support has been removed from
Upgrade dependency versions
Minimum dependency versions have been updated.
Decorator module
The decorator functions that transform Python functions into component implementations have been moved into the dedicated staliro.decorators module. These functions were particularly problematic for the type-checker, and confining them to a single module allows us to limit where we need to use complex type hinting.
Other changes
These changes do not affect the functionality of the library, but help improve the developer experience or automation
Replace Hatch with uv
uv is a new Python dependency and project management tool gaining popularity in the Python community. While Hatch is an excellent tool, uv provides a better development experience, and its increased performance helps speed up the CI pipeline. The one drawback to using uv is the loss of the dedicated Hatch scripts, which let us define helpful, easier-to-remember commands.
Typing upgrades
We were able to remove a significant number of the type stubs defined in this repository as more stub packages become available on PyPI. These stubs are generally higher-quality than the ad hoc stubs we implemented and thus provide a measurable increase in the quality of the type hints for this library. We are also exploring adding additional type-checkers to the CI pipeline as newer tools such as zuban, pyrefly, and ty reach maturity.