Release checklist

  • Update the version number and changelog in doc/changelog.rst

  • Update the version number in VERSION.txt

  • Update the shared library version number in meson.build:

    • If there are ABI changes, update the first number and reset the second to zero.

    • Otherwise, increment the second number.

  • Check that .pyi stubs have been updated

  • Check that Github Actions successfully tested the release and built wheels

  • Install the sdist from Github Actions and check that it passes pytest

  • Install a wheel from Github Actions and check that it passes pytest

  • Tag the release

  • Run git push --tags

  • Upload the sdist and wheels to PyPI with twine

  • Upload the sdist and debug symbols to Github release

  • Check that readthedocs has updated itself