summaryrefslogtreecommitdiff
path: root/RELEASING.txt
blob: 1c428cbff5a04b91443150d1e2f9493ec6e8f8a4 (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Releasing
=========

- For clarity, we define releases as follows.

  - Alpha, beta, dev and similar statuses do not qualify whether a release is
    major or minor. The term "pre-release" means alpha, beta, or dev.

  - A release is final when it is no longer pre-release.

  - A *major* release is where the first number either before or after the
    first dot increases. Examples: 1.0 to 1.1a1, or 0.9 to 1.0.

  - A *minor* or *bug fix* release is where the number after the second dot
    increases. Example: 1.0 to 1.0.1.

Prepare new release
-------------------

- Do platform test via tox:

  $ tox -r

  Make sure statement coverage is at 100% (the test run will fail if not).

- Run tests on Windows if feasible.

- Ensure all features of the release are documented (audit CHANGES.txt or
  communicate with contributors).

- Change CHANGES.txt heading to reflect the new version number.

- Minor releases should include a link under "Bug Fix Releases" to the minor
  feature changes in CHANGES.txt.

- Change setup.py version to the release version number.

- Make sure PyPI long description renders (requires ``readme_renderer``
  installed into your Python)::

  $ python setup.py check -r -s -m

- Create a release tag.

- Make sure your Python has ``setuptools-git``, ``twine``, and ``wheel``
  installed and release to PyPI::

  $ python setup.py sdist bdist_wheel
  $ twine upload dist/waitress-X.X-*


Prepare main for further development (major releases only)
----------------------------------------------------------

- In CHANGES.txt, preserve headings but clear out content. Add heading
  "unreleased" for the version number.

- Forward port the changes in CHANGES.txt to HISTORY.txt.

- Change setup.py version to the next version number.


Marketing and communications
----------------------------

- Check `https://wiki.python.org/moin/WebServers
  <https://wiki.python.org/moin/WebServers>`_.

- Announce to Twitter.

```
waitress 1.x released.

PyPI
https://pypi.org/project/waitress/1.x/

=== One time only for new version, first pre-release ===
What's New
https://docs.pylonsproject.org/projects/waitress/en/latest/#id2
=== For all subsequent pre-releases ===
Changes
https://docs.pylonsproject.org/projects/waitress/en/latest/#change-history

Documentation:
https://docs.pylonsproject.org/projects/waitress/en/latest/

Issues
https://github.com/Pylons/waitress/issues
```

- Announce to maillist.

```
waitress 1.X.X has been released.

The full changelog is here:
https://docs.pylonsproject.org/projects/waitress/en/latest/#change-history

What's New In waitress 1.X:
https://docs.pylonsproject.org/projects/waitress/en/latest/#id2

Documentation:
https://docs.pylonsproject.org/projects/waitress/en/latest/

You can install it via PyPI:

  pip install waitress==1.X

Enjoy, and please report any issues you find to the issue tracker at
https://github.com/Pylons/waitress/issues

Thanks!

- waitress core developers
```