Skip to content

Releasing a new version

Leandro Toledo edited this page Jun 10, 2016 · 4 revisions

Releasing a new version

This project adheres to the Semantic Versioning specification by Tom Preston-Werner.

Requirements

Packages:

$ pip install -r requirements-dev.txt -r docs/requirements-docs.txt
$ pip install wheel twine

Process

  • Bump version:

    • telegram/__init__.py
  • Log changes to:

    • CHANGES.rst
  • Run tests:

    $ make test
    
  • Build source distribution:

    $ python setup.py sdist bdist_wheel
    
  • Register new version:

    $ python setup.py register
    
  • Upload to PyPI (-s to sign the package with your GnuPG key):

    $ twine upload -s dist/python*
    
  • Commit the version bump and add tag:

    $ git commit -a -m 'Bump version to v<VERSION>'
    $ git push
    
  • Create a new release:

    • Tag version: v<VERSION>
    • Release title: v<VERSION>
    • Description: <logs from CHANGES.rst>
  • Build documentation:

    $ python setup.py build_sphinx
    
  • Upload documentation (Upload failed (503): backend read error may happen but not really an issue):

    $ python setup.py upload_sphinx
    
  • Close milestones for this version.

  • Test in a clean virtualenv that pip install python-telegram-bot works with the new version.

Public Announcements

Please use the following channels/groups to announce a new version release:

Clone this wiki locally