• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1===============
2Release Process
3===============
4
5In order to allow for rapid, predictable releases, Setuptools uses a
6mechanical technique for releases, enacted by Travis following a
7successful build of a tagged release per
8`PyPI deployment <https://docs.travis-ci.com/user/deployment/pypi>`_.
9
10Prior to cutting a release, please check that the CHANGES.rst reflects
11the summary of changes since the last release.
12Ideally, these changelog entries would have been added
13along with the changes, but it's always good to check.
14Think about it from the
15perspective of a user not involved with the development--what would
16that person want to know about what has changed--or from the
17perspective of your future self wanting to know when a particular
18change landed.
19
20To cut a release, install and run ``bump2version {part}`` where ``part``
21is major, minor, or patch based on the scope of the changes in the
22release. Then, push the commits to the master branch. If tests pass,
23the release will be uploaded to PyPI (from the Python 3.6 tests).
24
25Release Frequency
26-----------------
27
28Some have asked why Setuptools is released so frequently. Because Setuptools
29uses a mechanical release process, it's very easy to make releases whenever the
30code is stable (tests are passing). As a result, the philosophy is to release
31early and often.
32
33While some find the frequent releases somewhat surprising, they only empower
34the user. Although releases are made frequently, users can choose the frequency
35at which they use those releases. If instead Setuptools contributions were only
36released in batches, the user would be constrained to only use Setuptools when
37those official releases were made. With frequent releases, the user can govern
38exactly how often he wishes to update.
39
40Frequent releases also then obviate the need for dev or beta releases in most
41cases. Because releases are made early and often, bugs are discovered and
42corrected quickly, in many cases before other users have yet to encounter them.
43
44Release Managers
45----------------
46
47Additionally, anyone with push access to the master branch has access to cut
48releases.
49