Make sure to run all these steps on the correct branch you want to create a new
release for! The command examples assume that you have a git remote called
upstream that points to the mitmproxy/mitmproxy repo.
- Verify that
mitmproxy/version.pyis correct - Update CHANGELOG
- Verify that all CI tests pass
- Create a major version branch - e.g.
v4.x. Assuming you have a remote repo calledupstreamthat points to the mitmproxy/mitmproxy repo::git checkout -b v4.x upstream/mastergit push -u upstream v4.x
- Tag the release and push to Github
- For alphas, betas, and release candidates, use lightweight tags. This is necessary so that the .devXXXX counter does not reset.
- For final releases, use annotated tags. This makes the .devXXXX counter reset.
git tag -a v4.0.0 -m v4.0.0git push upstream v4.0.0
- Wait for tag CI to complete
- Create release notice on Github here if not already auto-created by the tag.
- We DO NOT upload release artifacts to GitHub anymore. Simply add the
following snippet to the notice:
You can find the latest release packages on our snapshot server: https://snapshots.mitmproxy.org/v<version number here>
- The created wheel is uploaded to PyPi automatically
- Please check https://pypi.python.org/pypi/mitmproxy about the latest version
- The Homebrew maintainers are typically very fast and detect our new relese within a day.
- If you feel the need, you can run this from a macOS machine:
brew bump-formula-pr --url https://github.com/mitmproxy/mitmproxy/archive/v<version number here>
- The docker image is built on Travis and pushed to Docker Hub automatically.
- Please check https://hub.docker.com/r/mitmproxy/mitmproxy/tags/ about the latest version
- Update
latesttag:export VERSION=4.0.3 && docker pull mitmproxy/mitmproxy:$VERSION && docker tag mitmproxy/mitmproxy:$VERSION mitmproxy/mitmproxy:latest && docker push mitmproxy/mitmproxy:latest
- Update version here: https://github.com/mitmproxy/www/blob/master/src/config.toml
- Run
./build && ./upload-test - If everything looks alright, run
./upload-prod
- Make sure you've uploaded the previous version's docs to archive
- If everything looks alright:
./build-current./upload-stable
- Last but not least, bump the version on master in https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/version.py for major releases.
