blob: dd62c79468431e6892e476a8657fd510d2327556 [file] [log] [blame]
Alex Stapletonc5fffd32014-03-18 15:29:00 +00001Doing a release
Alex Gaynor89063f62014-01-06 15:52:38 -08002===============
3
4Doing a release of ``cryptography`` is a two part process.
5
6Bumping the version number
7--------------------------
8
9The first step in doing a release is bumping the version number in the
10software.
11
Alex Gaynorce0b5a32014-01-06 16:53:31 -080012* Update the version number in ``cryptography/__about__.py``.
Alex Stapletona39a3192014-03-14 20:03:12 +000013* Update the version number in ``vectors/cryptography_vectors/__about__.py``.
Alex Gaynor3f230402014-01-08 09:21:57 -080014* Set the release date in the :doc:`/changelog`.
Alex Gaynor89063f62014-01-06 15:52:38 -080015* Do a commit indicating this.
16* Send a pull request with this.
17* Wait for it to be merged.
18
19Performing the release
20----------------------
21
Alex Stapleton63b3de22014-02-08 09:43:16 +000022The commit that merged the version number bump is now the official release
Alex Gaynorb3794db2014-01-07 09:25:54 -080023commit for this release. You will need to have ``gpg`` installed and a ``gpg``
24key in order to do a release. Once this has happened:
Alex Gaynor89063f62014-01-06 15:52:38 -080025
26* Run ``invoke release {version}``.
27
Alex Gaynorfea893c2014-01-07 11:06:51 -080028The release should now be available on PyPI and a tag should be available in
29the repository. You should verify that ``pip install cryptography`` works
Alex Gaynor41c14d52014-01-07 11:19:08 -080030correctly:
31
32.. code-block:: pycon
33
34 >>> import cryptography
35 >>> cryptography.__version__
36 '...'
Alex Stapletona39a3192014-03-14 20:03:12 +000037 >>> import cryptography_vectors
38 >>> cryptography_vectors.__version__
39 '...'
Alex Gaynor41c14d52014-01-07 11:19:08 -080040
41Verify that this is the version you just released.
Paul Kehrerff26c742014-04-02 19:11:53 -050042
43Post-release tasks
44------------------
45
Paul Kehrer3bcd3e02014-04-02 21:00:35 -050046* Update the version number to the next major (e.g. ``0.5.dev1``) in
Paul Kehrerff26c742014-04-02 19:11:53 -050047 ``cryptography/__about__.py`` and
48 ``vectors/cryptography_vectors/__about__.py``.
Paul Kehrer3bcd3e02014-04-02 21:00:35 -050049* Add new :doc:`/changelog` entry with next version and note that it is under
50 active development
Paul Kehrerff26c742014-04-02 19:11:53 -050051* Send a pull request with these items
Paul Kehrer32547412014-04-02 21:31:41 -050052* Check for any outstanding code undergoing a deprecation cycle by looking in
53 ``cryptography.utils`` for ``DeprecatedIn**`` definitions. If any exist open
54 a ticket to increment them for the next release.
Ayrxeced8b72014-05-04 16:07:39 +080055* Send an email to the `mailing list`_ announcing the release.
56
57.. _`mailing list`: https://mail.python.org/mailman/listinfo/cryptography-dev