Alex Stapleton | c5fffd3 | 2014-03-18 15:29:00 +0000 | [diff] [blame] | 1 | Doing a release |
Alex Gaynor | 89063f6 | 2014-01-06 15:52:38 -0800 | [diff] [blame] | 2 | =============== |
| 3 | |
Paul Kehrer | 27bb5fe | 2014-07-04 11:28:08 -0500 | [diff] [blame^] | 4 | Doing a release of ``cryptography`` requires a few steps. |
| 5 | |
| 6 | Verifying OpenSSL version |
| 7 | ------------------------- |
| 8 | |
| 9 | The release process uses a static build for Windows wheels. Check that the |
| 10 | Windows Jenkins builders are on the latest version of OpenSSL before performing |
| 11 | the release. |
Alex Gaynor | 89063f6 | 2014-01-06 15:52:38 -0800 | [diff] [blame] | 12 | |
| 13 | Bumping the version number |
| 14 | -------------------------- |
| 15 | |
Paul Kehrer | 27bb5fe | 2014-07-04 11:28:08 -0500 | [diff] [blame^] | 16 | The next step in doing a release is bumping the version number in the |
Alex Gaynor | 89063f6 | 2014-01-06 15:52:38 -0800 | [diff] [blame] | 17 | software. |
| 18 | |
Alex Gaynor | ce0b5a3 | 2014-01-06 16:53:31 -0800 | [diff] [blame] | 19 | * Update the version number in ``cryptography/__about__.py``. |
Alex Stapleton | a39a319 | 2014-03-14 20:03:12 +0000 | [diff] [blame] | 20 | * Update the version number in ``vectors/cryptography_vectors/__about__.py``. |
Alex Gaynor | 3f23040 | 2014-01-08 09:21:57 -0800 | [diff] [blame] | 21 | * Set the release date in the :doc:`/changelog`. |
Alex Gaynor | 89063f6 | 2014-01-06 15:52:38 -0800 | [diff] [blame] | 22 | * Do a commit indicating this. |
| 23 | * Send a pull request with this. |
| 24 | * Wait for it to be merged. |
| 25 | |
| 26 | Performing the release |
| 27 | ---------------------- |
| 28 | |
Alex Stapleton | 63b3de2 | 2014-02-08 09:43:16 +0000 | [diff] [blame] | 29 | The commit that merged the version number bump is now the official release |
Alex Gaynor | b3794db | 2014-01-07 09:25:54 -0800 | [diff] [blame] | 30 | commit for this release. You will need to have ``gpg`` installed and a ``gpg`` |
| 31 | key in order to do a release. Once this has happened: |
Alex Gaynor | 89063f6 | 2014-01-06 15:52:38 -0800 | [diff] [blame] | 32 | |
| 33 | * Run ``invoke release {version}``. |
| 34 | |
Alex Gaynor | fea893c | 2014-01-07 11:06:51 -0800 | [diff] [blame] | 35 | The release should now be available on PyPI and a tag should be available in |
| 36 | the repository. You should verify that ``pip install cryptography`` works |
Alex Gaynor | 41c14d5 | 2014-01-07 11:19:08 -0800 | [diff] [blame] | 37 | correctly: |
| 38 | |
| 39 | .. code-block:: pycon |
| 40 | |
| 41 | >>> import cryptography |
| 42 | >>> cryptography.__version__ |
| 43 | '...' |
Alex Stapleton | a39a319 | 2014-03-14 20:03:12 +0000 | [diff] [blame] | 44 | >>> import cryptography_vectors |
| 45 | >>> cryptography_vectors.__version__ |
| 46 | '...' |
Alex Gaynor | 41c14d5 | 2014-01-07 11:19:08 -0800 | [diff] [blame] | 47 | |
| 48 | Verify that this is the version you just released. |
Paul Kehrer | ff26c74 | 2014-04-02 19:11:53 -0500 | [diff] [blame] | 49 | |
| 50 | Post-release tasks |
| 51 | ------------------ |
| 52 | |
Paul Kehrer | 3bcd3e0 | 2014-04-02 21:00:35 -0500 | [diff] [blame] | 53 | * Update the version number to the next major (e.g. ``0.5.dev1``) in |
Paul Kehrer | ff26c74 | 2014-04-02 19:11:53 -0500 | [diff] [blame] | 54 | ``cryptography/__about__.py`` and |
| 55 | ``vectors/cryptography_vectors/__about__.py``. |
Paul Kehrer | 3bcd3e0 | 2014-04-02 21:00:35 -0500 | [diff] [blame] | 56 | * Add new :doc:`/changelog` entry with next version and note that it is under |
| 57 | active development |
Paul Kehrer | ff26c74 | 2014-04-02 19:11:53 -0500 | [diff] [blame] | 58 | * Send a pull request with these items |
Paul Kehrer | 3254741 | 2014-04-02 21:31:41 -0500 | [diff] [blame] | 59 | * Check for any outstanding code undergoing a deprecation cycle by looking in |
| 60 | ``cryptography.utils`` for ``DeprecatedIn**`` definitions. If any exist open |
| 61 | a ticket to increment them for the next release. |
Ayrx | eced8b7 | 2014-05-04 16:07:39 +0800 | [diff] [blame] | 62 | * Send an email to the `mailing list`_ announcing the release. |
| 63 | |
| 64 | .. _`mailing list`: https://mail.python.org/mailman/listinfo/cryptography-dev |