Skip to content

Releasing Manticore

Dan Guido edited this page Sep 1, 2018 · 52 revisions

To release manticore

  1. Merge a PR bumping the version number in setup.py, bumping the version number in __main__.py (--version), and updating the changelog with the version being released. Conventional commit message is "Manticore x.y.z". In the changelog don't forget to update the number in the "unreleased" line and check the date is correct.
  2. Based on external contribution activity in this last release, send Dan external contributors, emails, and links to their prs/contributions
  3. Tag that commit with the version number, and push tags. Check you are tagging master branch
    • git checkout master
    • git pull origin master
    • git tag -a 0.1.xx -m "Manticore 0.1.xx"
    • git push origin 0.1.xx or git push origin --tags
  4. Make a draft release in github releases page https://github.com/trailofbits/manticore/releases
  5. Push to pypi
    • python setup.py sdist # this creates the distribution file in dist/ folder
    • twine upload dist/*
  6. Update the github releases page https://github.com/trailofbits/manticore/releases
  7. Confirm that readthedocs documentation was generated correctly https://manticore.readthedocs.io/en/latest/
  8. Determine date for next release

Tips

Readmes and changelogs are content best edited in a collaborative editing environment like Google Docs (vs GH Pull Request).

Use the Github diff links to see all the commits between the last release and now, e.g. https://github.com/trailofbits/manticore/compare/0.1.3...HEAD

Start with the categories of changes from keepachangelog

Types of changes

Added for new features.
Changed for changes in existing functionality.
Deprecated for soon-to-be removed features.
Removed for now removed features.
Fixed for any bug fixes.
Security in case of vulnerabilities.

and start categorizing features/commits from the diff into those

Resources