Releasing ChatterBot

ChatterBot follows semantic versioning as a set of guidelines for release versions.

  • Major releases (2.0.0, 3.0.0, etc.) are used for large, potentially backwards incompatible changes.
  • Minor releases (2.1.0, 2.2.0, 3.1.0, 3.2.0, etc.) are used for releases that contain features and dependency changes.
  • Patch releases (e.g., 2.1.1, 2.1.2, 3.0.1, 3.0.10, etc.) are used for releases that contain only bug fixes.

These rules are adhered to as much as possible but sometimes mistakes are made.

Release Process

The following procedure is used to finalize a new version of ChatterBot.

  1. We make sure that all CI tests on the master branch are passing.
  2. We tag the release on GitHub.
  3. A new package is generated from the latest version of the master branch.
python setup.py sdist bdist_wheel
  1. The Python package files are uploaded to PyPi.
twine upload dist/*