1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
----------------------
How to release netaddr
----------------------
Here is how to go about releasing a new version of `netaddr`.
* Make sure you have the necessary dependencies installed:
::
pip install --upgrade wheel twine
* Pull down the latest set of changes for the ``master`` branch.
The assumption is the ``master`` branch build is green and everything works correctly
(we have a CI process in place).
* Update the top-most section in the ``CHANGELOG.rst`` with details of all notable
changes since the last release that aren't there already.
Set the release date to the current day.
* Decide what the new version should be (depending on the changes that will be present
in this release):
* Fixes – patch version bump
* New features – minor version bump
* Substantial or breaking changes – major version bump
* Update the version numbers throughout the source code. That includes changing the currently
version number in
- ``netaddr/__init__.py``
- ``docs/source/conf.py``
and replacing all ``NEXT_NETADDR_VERSION`` instances with the new version (except for places
like this file, of course).
* Commit all changes.
* Build and publish the package::
make build-and-publish
* Tag the release and sync it to remote repo::
git tag -a x.y.z -m 'Release version x.y.z'
make push_tags
* Create a `GitHub Release <https://github.com/netaddr/netaddr/releases/new>`_ based on
the tag you just pushed.
Put the new ``CHANGELOG.rst`` contents there and add the "Full changelog" link at the
end (copy and adapt from the previous release).
|