Skip to content
Adrian Sampson edited this page Jan 26, 2014 · 43 revisions

This is a to-do list for every new release.

Verification

  • pylint -E beets to check for errors.
  • Run all unit tests (tox).
  • Version number bump:
    • setup.py
    • __version__ in root module
    • docs/conf.py
    • docs/changelog.rst
  • Check that setup.py is up to date (dependencies, version number, packages, etc).
  • Check that the changelog is up to date and includes a human-readable summary paragraph.
  • Add release date to the changelog.
  • Spell-check with codespell: ./codespell.py -q2 ~/beets
  • Try all the basic built-in commands on an existing large library. Import some music, with autotagging both on (the default) and off (-A).

Release

  • Tag the revision in Mercurial (hg tag v1.X.Y).
  • Submit to PyPI:
    • Using Setuptools: python setup.py sdist upload
    • Or Twine: twine upload dist/beets-1.X.Y.tar.gz, along with the eventual Wheel
    • Ensure we can install from PyPI: ~/venv/bin/pip install beets.
  • Tag and release dependent subprojects: pyacoustid, audioread, (bluelet, confit, mediafile, ...)
  • Paste the changelog into a GitHub release.

Announcement

The distro packages have their own maintainers. Non-exhaustive list:

Clone this wiki locally