The following steps should be performed before releasing a new stormpy version. 1. Update `CHANGELOG.md` * To get all the commits from an author since the last tag execute: ```console git log last_tag..HEAD --author "author_name" ``` * Set release month 2. Update used tool versions: * Update `storm_min_version` in `setup.py` * Update `install_requires` version of pycarl in `setup.py` 3. Check that stormpy builds without errors and all tests are successful * [Travis](https://travis-ci.org/moves-rwth/stormpy) should run successfully 4. Set new stormpy version: * Set new stormpy version in `lib/stormpy/_version.py` 5. Set new tag in git ```console git tag -a new_version git push origin new_version ``` Next we push the tag to GitHub. This step requires the GitHub repo to to be configured as a remote. ```console git remote add github https://github.com/moves-rwth/stormpy.git git push github new_version ``` The new tag should now be visible on [GitHub](https://github.com/moves-rwth/stormpy/tags). 6. [Add new release](https://github.com/moves-rwth/stormpy/releases/new) in GitHub. 7. Create new python package for release on [Pypi](https://pypi.org/project/stormpy/): ```console python3 setup.py sdist python3 -m pip install --user --upgrade twine python3 -m twine upload dist/* ``` 8. Create [Docker containers](https://hub.docker.com/r/movesrwth/stormpy) for new version.