Release processΒΆ

  1. All tests pass on continuous integration

  2. The changelog is up-to-date and dated

  3. If new options are added, regenerate the usage information in the documentation with, for example:

    stty cols 80
    csvformat -h
    stty sane
    
  4. The version number is correct in:

    • setup.py

    • docs/conf.py

    • csvkit/cli.py

  5. Regenerate the man pages:

    sphinx-build -b man docs man
    
  6. Check for new authors:

    git log --perl-regexp --author='^((?!James McKinney).*)$'
    
  7. Tag the release:

    git tag -a x.y.z -m 'x.y.z release.'
    git push --follow-tags