Matthew Iversen | 69a6fad | 2014-02-25 02:10:44 +1100 | [diff] [blame] | 1 | Changelog |
| 2 | ========= |
| 3 | |
Alex Gaynor | 9c521ee | 2017-07-17 14:59:03 -0400 | [diff] [blame] | 4 | 2.1 - - `master`_ |
| 5 | ~~~~~~~~~~~~~~~~~ |
| 6 | |
| 7 | .. note:: This version is not yet released and is under active development. |
| 8 | |
Paul Kehrer | 0d6aaf4 | 2017-07-20 13:04:25 +0200 | [diff] [blame] | 9 | * **BACKWARDS INCOMPATIBLE:** ``Whirlpool``, ``RIPEMD160``, and |
| 10 | ``UnsupportedExtension`` have been removed in accordance with our |
| 11 | :doc:`/api-stability` policy. |
| 12 | |
Paul Kehrer | dce57f6 | 2017-07-26 19:18:55 -0500 | [diff] [blame^] | 13 | 2.0.1 - 2017-07-26 |
| 14 | ~~~~~~~~~~~~~~~~~~ |
| 15 | |
| 16 | * Fixed a compilation bug affecting OpenBSD. |
| 17 | * Altered the ``manylinux1`` wheels to statically link OpenSSL instead of |
| 18 | dynamically linking and bundling the shared object. This should resolve |
| 19 | crashes seen when using ``uwsgi`` or other binaries that link against |
| 20 | OpenSSL independently. |
| 21 | * Fixed the stack level for the ``signer`` and ``verifier`` warnings. |
| 22 | |
Paul Kehrer | 9799e58 | 2017-07-17 16:38:15 +0200 | [diff] [blame] | 23 | 2.0 - 2017-07-17 |
| 24 | ~~~~~~~~~~~~~~~~ |
Alex Gaynor | b90e8d8 | 2017-05-29 23:10:39 -0400 | [diff] [blame] | 25 | |
Paul Kehrer | e3a2fb2 | 2017-06-26 15:08:33 -1000 | [diff] [blame] | 26 | * **BACKWARDS INCOMPATIBLE:** Support for Python 3.3 has been dropped. |
Paul Kehrer | 85675fc | 2017-07-01 13:02:37 -0500 | [diff] [blame] | 27 | * We now ship ``manylinux1`` wheels linked against OpenSSL 1.1.0f. These wheels |
| 28 | will be automatically used with most Linux distributions if you are running |
| 29 | the latest pip. |
Paul Kehrer | 1a5d70e | 2017-06-03 17:11:55 -1000 | [diff] [blame] | 30 | * Deprecated the use of ``signer`` on |
| 31 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`, |
| 32 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`, |
| 33 | and |
| 34 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey` |
| 35 | in favor of ``sign``. |
| 36 | * Deprecated the use of ``verifier`` on |
| 37 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`, |
| 38 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`, |
| 39 | and |
| 40 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey` |
| 41 | in favor of ``verify``. |
Alex Gaynor | 6a0718f | 2017-06-04 13:36:58 -0400 | [diff] [blame] | 42 | * Added support for parsing |
| 43 | :class:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp` |
| 44 | objects from X.509 certificate extensions. |
Paul Kehrer | 7e53d91 | 2017-06-07 18:08:57 -1000 | [diff] [blame] | 45 | * Added support for |
| 46 | :class:`~cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305`. |
Paul Kehrer | 1a2e817 | 2017-07-16 16:46:13 +0200 | [diff] [blame] | 47 | * Added support for |
| 48 | :class:`~cryptography.hazmat.primitives.ciphers.aead.AESCCM`. |
Paul Kehrer | a217358 | 2017-07-17 13:10:14 +0200 | [diff] [blame] | 49 | * Added |
| 50 | :class:`~cryptography.hazmat.primitives.ciphers.aead.AESGCM`, a "one shot" |
| 51 | API for AES GCM encryption. |
Paul Kehrer | 3e357f7 | 2017-06-09 02:31:30 -1000 | [diff] [blame] | 52 | * Added support for :doc:`/hazmat/primitives/asymmetric/x25519`. |
Paul Kehrer | 361a9fc | 2017-06-24 10:12:04 -1000 | [diff] [blame] | 53 | * Added support for serializing and deserializing Diffie-Hellman parameters |
| 54 | with |
| 55 | :func:`~cryptography.hazmat.primitives.serialization.load_pem_parameters`, |
| 56 | :func:`~cryptography.hazmat.primitives.serialization.load_der_parameters`, |
| 57 | and |
Paul Kehrer | 2748e2e | 2017-06-24 13:20:15 -1000 | [diff] [blame] | 58 | :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHParameters.parameter_bytes` |
Paul Kehrer | 361a9fc | 2017-06-24 10:12:04 -1000 | [diff] [blame] | 59 | . |
Alex Gaynor | 0c9aed9 | 2017-07-08 21:50:01 -0400 | [diff] [blame] | 60 | * The ``extensions`` attribute on :class:`~cryptography.x509.Certificate`, |
| 61 | :class:`~cryptography.x509.CertificateSigningRequest`, |
| 62 | :class:`~cryptography.x509.CertificateRevocationList`, and |
| 63 | :class:`~cryptography.x509.RevokedCertificate` now caches the computed |
| 64 | ``Extensions`` object. There should be no performance change, just a |
| 65 | performance improvement for programs accessing the ``extensions`` attribute |
| 66 | multiple times. |
Paul Kehrer | 1a5d70e | 2017-06-03 17:11:55 -1000 | [diff] [blame] | 67 | |
Paul Kehrer | 23ead43 | 2017-05-29 21:10:46 -0500 | [diff] [blame] | 68 | 1.9 - 2017-05-29 |
| 69 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | d0aad45 | 2017-03-10 08:36:18 -0400 | [diff] [blame] | 70 | |
Paul Kehrer | a55cc3b | 2017-05-27 18:00:44 -0500 | [diff] [blame] | 71 | * **BACKWARDS INCOMPATIBLE:** Elliptic Curve signature verification no longer |
Alex Gaynor | 5ca9946 | 2017-05-10 23:11:30 -0400 | [diff] [blame] | 72 | returns ``True`` on success. This brings it in line with the interface's |
| 73 | documentation, and our intent. The correct way to use |
| 74 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey.verify` |
| 75 | has always been to check whether or not |
| 76 | :class:`~cryptography.exceptions.InvalidSignature` was raised. |
Alex Gaynor | 2240ba2 | 2017-05-20 13:23:15 -0700 | [diff] [blame] | 77 | * **BACKWARDS INCOMPATIBLE:** Dropped support for macOS 10.7 and 10.8. |
Alex Gaynor | 6091e11 | 2017-05-23 20:31:03 -0700 | [diff] [blame] | 78 | * **BACKWARDS INCOMPATIBLE:** The minimum supported PyPy version is now 5.3. |
Paul Kehrer | 66e1eb2 | 2017-05-25 15:56:57 -0500 | [diff] [blame] | 79 | * Python 3.3 support has been deprecated, and will be removed in the next |
Alex Gaynor | db51114 | 2017-05-22 20:53:47 -0700 | [diff] [blame] | 80 | ``cryptography`` release. |
Alex Gaynor | 2240ba2 | 2017-05-20 13:23:15 -0700 | [diff] [blame] | 81 | * Add support for providing ``tag`` during |
| 82 | :class:`~cryptography.hazmat.primitives.ciphers.modes.GCM` finalization via |
| 83 | :meth:`~cryptography.hazmat.primitives.ciphers.AEADDecryptionContext.finalize_with_tag`. |
Paul Kehrer | 6fcbebd | 2017-05-20 12:04:06 -0700 | [diff] [blame] | 84 | * Fixed an issue preventing ``cryptography`` from compiling against |
| 85 | LibreSSL 2.5.x. |
Paul Kehrer | 416f526 | 2017-05-23 23:38:59 -0700 | [diff] [blame] | 86 | * Added |
| 87 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey.key_size` |
| 88 | and |
| 89 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey.key_size` |
| 90 | as convenience methods for determining the bit size of a secret scalar for |
| 91 | the curve. |
Alex Gaynor | d08ddd5 | 2017-05-20 09:01:54 -0700 | [diff] [blame] | 92 | * Accessing an unrecognized extension marked critical on an X.509 object will |
| 93 | no longer raise an ``UnsupportedExtension`` exception, instead an |
| 94 | :class:`~cryptography.x509.UnrecognizedExtension` object will be returned. |
| 95 | This behavior was based on a poor reading of the RFC, unknown critical |
| 96 | extensions only need to be rejected on certificate verification. |
Paul Kehrer | 5103235 | 2017-05-20 10:09:02 -0700 | [diff] [blame] | 97 | * The CommonCrypto backend has been removed. |
Paul Kehrer | a4668c6 | 2017-05-20 13:25:47 -0700 | [diff] [blame] | 98 | * MultiBackend has been removed. |
Paul Kehrer | 70e8f90 | 2017-05-23 16:55:19 -0700 | [diff] [blame] | 99 | * ``Whirlpool`` and ``RIPEMD160`` have been deprecated. |
Paul Kehrer | 5fb1021 | 2017-05-02 12:04:53 -0500 | [diff] [blame] | 100 | |
Paul Kehrer | 139b25f | 2017-05-26 06:32:15 -0500 | [diff] [blame] | 101 | 1.8.2 - 2017-05-26 |
| 102 | ~~~~~~~~~~~~~~~~~~ |
| 103 | |
| 104 | * Fixed a compilation bug affecting OpenSSL 1.1.0f. |
| 105 | * Updated Windows and macOS wheels to be compiled against OpenSSL 1.1.0f. |
Paul Kehrer | d0aad45 | 2017-03-10 08:36:18 -0400 | [diff] [blame] | 106 | |
| 107 | 1.8.1 - 2017-03-10 |
| 108 | ~~~~~~~~~~~~~~~~~~ |
| 109 | |
| 110 | * Fixed macOS wheels to properly link against 1.1.0 rather than 1.0.2. |
| 111 | |
Paul Kehrer | 928e4ee | 2017-03-09 22:43:42 -0400 | [diff] [blame] | 112 | 1.8 - 2017-03-09 |
| 113 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | fad63fe | 2016-12-12 16:41:26 -0600 | [diff] [blame] | 114 | |
Alex Gaynor | 31b5d78 | 2016-12-23 12:20:36 -0500 | [diff] [blame] | 115 | * Added support for Python 3.6. |
Alex Gaynor | 5a05902 | 2017-02-11 10:05:34 -0500 | [diff] [blame] | 116 | * Windows and macOS wheels now link against OpenSSL 1.1.0. |
Paul Kehrer | e9dbbd8 | 2017-03-09 18:43:40 -0400 | [diff] [blame] | 117 | * macOS wheels are no longer universal. This change significantly shrinks the |
| 118 | size of the wheels. Users on macOS 32-bit Python (if there are any) should |
| 119 | migrate to 64-bit or build their own packages. |
Ofek Lev | 0e6a129 | 2017-02-08 00:09:41 -0500 | [diff] [blame] | 120 | * Changed ASN.1 dependency from ``pyasn1`` to ``asn1crypto`` resulting in a |
| 121 | general performance increase when encoding/decoding ASN.1 structures. Also, |
| 122 | the ``pyasn1_modules`` test dependency is no longer required. |
Paul Kehrer | 9b34ca9 | 2017-02-16 22:20:38 -0600 | [diff] [blame] | 123 | * Added support for |
| 124 | :meth:`~cryptography.hazmat.primitives.ciphers.CipherContext.update_into` on |
| 125 | :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`. |
Aviv Palivoda | 1c7bd66 | 2017-02-08 06:38:42 +0200 | [diff] [blame] | 126 | * Added |
| 127 | :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKeyWithSerialization.private_bytes` |
| 128 | to |
| 129 | :class:`~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKeyWithSerialization`. |
Aviv Palivoda | 1c7bd66 | 2017-02-08 06:38:42 +0200 | [diff] [blame] | 130 | * Added |
Paul Kehrer | 2748e2e | 2017-06-24 13:20:15 -1000 | [diff] [blame] | 131 | :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHPublicKey.public_bytes` |
Aviv Palivoda | 1c7bd66 | 2017-02-08 06:38:42 +0200 | [diff] [blame] | 132 | to |
Paul Kehrer | 2748e2e | 2017-06-24 13:20:15 -1000 | [diff] [blame] | 133 | :class:`~cryptography.hazmat.primitives.asymmetric.dh.DHPublicKey`. |
Paul Kehrer | 7a13085 | 2017-02-09 05:55:34 +0800 | [diff] [blame] | 134 | * :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key` |
| 135 | and |
| 136 | :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key` |
| 137 | now require that ``password`` must be bytes if provided. Previously this |
| 138 | was documented but not enforced. |
Paul Kehrer | 20fe2be | 2017-03-09 13:06:51 -0400 | [diff] [blame] | 139 | * Added support for subgroup order in :doc:`/hazmat/primitives/asymmetric/dh`. |
Aviv Palivoda | 1c7bd66 | 2017-02-08 06:38:42 +0200 | [diff] [blame] | 140 | |
Paul Kehrer | c7a2e72 | 2017-01-28 17:45:57 +0900 | [diff] [blame] | 141 | 1.7.2 - 2017-01-27 |
| 142 | ~~~~~~~~~~~~~~~~~~ |
| 143 | |
| 144 | * Updated Windows and macOS wheels to be compiled against OpenSSL 1.0.2k. |
| 145 | |
Paul Kehrer | c8f47ad | 2016-12-14 19:26:06 -0600 | [diff] [blame] | 146 | 1.7.1 - 2016-12-13 |
| 147 | ~~~~~~~~~~~~~~~~~~ |
| 148 | |
| 149 | * Fixed a regression in ``int_from_bytes`` where it failed to accept |
| 150 | ``bytearray``. |
Paul Kehrer | fad63fe | 2016-12-12 16:41:26 -0600 | [diff] [blame] | 151 | |
Paul Kehrer | 5df72e8 | 2016-12-12 12:06:09 -0600 | [diff] [blame] | 152 | 1.7 - 2016-12-12 |
| 153 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 0858591 | 2016-11-22 20:04:40 +0800 | [diff] [blame] | 154 | |
Alex Gaynor | 29b2ebc | 2016-11-22 09:25:17 -0500 | [diff] [blame] | 155 | * Support for OpenSSL 1.0.0 has been removed. Users on older version of OpenSSL |
| 156 | will need to upgrade. |
Aviv Palivoda | 495f21a | 2016-11-25 18:51:28 +0200 | [diff] [blame] | 157 | * Added support for Diffie-Hellman key exchange using |
Alex Gaynor | a9b8690 | 2017-05-24 15:01:14 -0700 | [diff] [blame] | 158 | :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKey.exchange`. |
Paul Kehrer | a22964a | 2016-12-10 09:15:41 -0600 | [diff] [blame] | 159 | * The OS random engine for OpenSSL has been rewritten to improve compatibility |
| 160 | with embedded Python and other edge cases. More information about this change |
| 161 | can be found in the |
| 162 | `pull request <https://github.com/pyca/cryptography/pull/3229>`_. |
Paul Kehrer | 0858591 | 2016-11-22 20:04:40 +0800 | [diff] [blame] | 163 | |
Paul Kehrer | 4a2f36b | 2016-11-22 10:50:28 +0800 | [diff] [blame] | 164 | 1.6 - 2016-11-22 |
| 165 | ~~~~~~~~~~~~~~~~ |
Alex Gaynor | f25e63d | 2016-08-26 20:55:44 -0400 | [diff] [blame] | 166 | |
Alex Gaynor | 2e8725d | 2016-08-29 21:40:19 -0400 | [diff] [blame] | 167 | * Deprecated support for OpenSSL 1.0.0. Support will be removed in |
| 168 | ``cryptography`` 1.7. |
Paul Kehrer | 500850b | 2016-11-20 00:40:16 +0800 | [diff] [blame] | 169 | * Replaced the Python-based OpenSSL locking callbacks with a C version to fix |
| 170 | a potential deadlock that could occur if a garbage collection cycle occurred |
| 171 | while inside the lock. |
Paul Kehrer | 306ce51 | 2016-08-29 09:36:09 +0800 | [diff] [blame] | 172 | * Added support for :class:`~cryptography.hazmat.primitives.hashes.BLAKE2b` and |
| 173 | :class:`~cryptography.hazmat.primitives.hashes.BLAKE2s` when using OpenSSL |
| 174 | 1.1.0. |
Paul Kehrer | c7b29b8 | 2016-09-01 09:17:21 +0800 | [diff] [blame] | 175 | * Added |
| 176 | :attr:`~cryptography.x509.Certificate.signature_algorithm_oid` support to |
| 177 | :class:`~cryptography.x509.Certificate`. |
| 178 | * Added |
| 179 | :attr:`~cryptography.x509.CertificateSigningRequest.signature_algorithm_oid` |
| 180 | support to :class:`~cryptography.x509.CertificateSigningRequest`. |
| 181 | * Added |
| 182 | :attr:`~cryptography.x509.CertificateRevocationList.signature_algorithm_oid` |
| 183 | support to :class:`~cryptography.x509.CertificateRevocationList`. |
Terry Chia | d8a27df | 2016-09-01 23:39:57 +0800 | [diff] [blame] | 184 | * Added support for :class:`~cryptography.hazmat.primitives.kdf.scrypt.Scrypt` |
| 185 | when using OpenSSL 1.1.0. |
Paul Kehrer | 9977786 | 2016-11-15 07:34:55 +0800 | [diff] [blame] | 186 | * Added a workaround to improve compatibility with Python application bundling |
| 187 | tools like ``PyInstaller`` and ``cx_freeze``. |
Paul Kehrer | 8b89bcc | 2016-09-03 11:31:43 -0500 | [diff] [blame] | 188 | * Added support for generating a |
| 189 | :meth:`~cryptography.x509.random_serial_number`. |
Paul Kehrer | 3feeec8 | 2016-10-01 07:12:27 -0500 | [diff] [blame] | 190 | * Added support for encoding ``IPv4Network`` and ``IPv6Network`` in X.509 |
| 191 | certificates for use with :class:`~cryptography.x509.NameConstraints`. |
Paul Kehrer | 500850b | 2016-11-20 00:40:16 +0800 | [diff] [blame] | 192 | * Added :meth:`~cryptography.x509.Name.public_bytes` to |
| 193 | :class:`~cryptography.x509.Name`. |
Fraser Tweedale | 02467dd | 2016-11-07 15:54:04 +1000 | [diff] [blame] | 194 | * Added :class:`~cryptography.x509.RelativeDistinguishedName` |
| 195 | * :class:`~cryptography.x509.DistributionPoint` now accepts |
| 196 | :class:`~cryptography.x509.RelativeDistinguishedName` for |
| 197 | :attr:`~cryptography.x509.DistributionPoint.relative_name`. |
| 198 | Deprecated use of :class:`~cryptography.x509.Name` as |
| 199 | :attr:`~cryptography.x509.DistributionPoint.relative_name`. |
Fraser Tweedale | 01ee6f5 | 2016-11-12 01:28:56 +1000 | [diff] [blame] | 200 | * :class:`~cryptography.x509.Name` now accepts an iterable of |
| 201 | :class:`~cryptography.x509.RelativeDistinguishedName`. RDNs can |
| 202 | be accessed via the :attr:`~cryptography.x509.Name.rdns` |
| 203 | attribute. When constructed with an iterable of |
| 204 | :class:`~cryptography.x509.NameAttribute`, each attribute becomes |
| 205 | a single-valued RDN. |
Ofek Lev | c41b9d4 | 2016-11-11 20:07:11 -0500 | [diff] [blame] | 206 | * Added |
| 207 | :func:`~cryptography.hazmat.primitives.asymmetric.ec.derive_private_key`. |
Paul Kehrer | ec7fc46 | 2016-11-21 07:55:18 +0800 | [diff] [blame] | 208 | * Added support for signing and verifying RSA, DSA, and ECDSA signatures with |
Paul Kehrer | f555c74 | 2016-11-20 22:48:10 +0800 | [diff] [blame] | 209 | :class:`~cryptography.hazmat.primitives.asymmetric.utils.Prehashed` |
| 210 | digests. |
Terry Chia | d8a27df | 2016-09-01 23:39:57 +0800 | [diff] [blame] | 211 | |
Alex Gaynor | b94cacf | 2016-11-06 01:27:20 -0400 | [diff] [blame] | 212 | 1.5.3 - 2016-11-05 |
| 213 | ~~~~~~~~~~~~~~~~~~ |
| 214 | |
| 215 | * **SECURITY ISSUE**: Fixed a bug where ``HKDF`` would return an empty |
| 216 | byte-string if used with a ``length`` less than ``algorithm.digest_size``. |
Alex Gaynor | fb0e719 | 2016-11-09 19:51:09 -0500 | [diff] [blame] | 217 | Credit to **Markus Döring** for reporting the issue. *CVE-2016-9243* |
Alex Gaynor | b94cacf | 2016-11-06 01:27:20 -0400 | [diff] [blame] | 218 | |
Alex Gaynor | b4c087a | 2016-09-26 18:11:59 -0400 | [diff] [blame] | 219 | 1.5.2 - 2016-09-26 |
| 220 | ~~~~~~~~~~~~~~~~~~ |
| 221 | |
| 222 | * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2j. |
Paul Kehrer | 306ce51 | 2016-08-29 09:36:09 +0800 | [diff] [blame] | 223 | |
Paul Kehrer | 08652e9 | 2016-09-22 22:47:50 -0500 | [diff] [blame] | 224 | 1.5.1 - 2016-09-22 |
| 225 | ~~~~~~~~~~~~~~~~~~ |
| 226 | |
| 227 | * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2i. |
| 228 | * Resolved a ``UserWarning`` when used with cffi 1.8.3. |
| 229 | * Fixed a memory leak in name creation with X.509. |
| 230 | * Added a workaround for old versions of setuptools. |
| 231 | * Fixed an issue preventing ``cryptography`` from compiling against |
| 232 | OpenSSL 1.0.2i. |
| 233 | |
| 234 | |
Paul Kehrer | c0ee738 | 2016-08-26 22:59:49 +0800 | [diff] [blame] | 235 | 1.5 - 2016-08-26 |
| 236 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 67ea444 | 2016-06-04 12:00:54 -0700 | [diff] [blame] | 237 | |
Alex Gaynor | 17097bf | 2016-06-27 22:29:38 -0400 | [diff] [blame] | 238 | * Added |
| 239 | :func:`~cryptography.hazmat.primitives.asymmetric.padding.calculate_max_pss_salt_length`. |
Aviv Palivoda | f67429b | 2016-06-30 21:42:46 +0300 | [diff] [blame] | 240 | * Added "one shot" |
| 241 | :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey.sign` |
| 242 | and |
| 243 | :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey.verify` |
| 244 | methods to DSA keys. |
Aviv Palivoda | 2120a8e | 2016-07-02 19:43:06 +0300 | [diff] [blame] | 245 | * Added "one shot" |
| 246 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey.sign` |
| 247 | and |
| 248 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey.verify` |
| 249 | methods to ECDSA keys. |
Maximilian Hils | 679a914 | 2016-07-31 16:43:19 -0700 | [diff] [blame] | 250 | * Switched back to the older callback model on Python 3.5 in order to mitigate |
| 251 | the locking callback problem with OpenSSL <1.1.0. |
InvalidInterrupt | 8e66ca6 | 2016-08-16 19:39:31 -0700 | [diff] [blame] | 252 | * :class:`~cryptography.x509.CertificateBuilder`, |
| 253 | :class:`~cryptography.x509.CertificateRevocationListBuilder`, and |
| 254 | :class:`~cryptography.x509.RevokedCertificateBuilder` now accept timezone |
| 255 | aware ``datetime`` objects as method arguments |
Paul Kehrer | 07ea3cd | 2016-08-26 21:48:24 +0800 | [diff] [blame] | 256 | * ``cryptography`` now supports OpenSSL 1.1.0 as a compilation target. |
Alex Gaynor | 17097bf | 2016-06-27 22:29:38 -0400 | [diff] [blame] | 257 | |
Paul Kehrer | 67ea444 | 2016-06-04 12:00:54 -0700 | [diff] [blame] | 258 | |
Paul Kehrer | 69365ce | 2016-06-04 09:57:11 -0700 | [diff] [blame] | 259 | 1.4 - 2016-06-04 |
| 260 | ~~~~~~~~~~~~~~~~ |
Alex Gaynor | f8c75fc | 2016-03-18 19:54:45 -0400 | [diff] [blame] | 261 | |
Paul Kehrer | 69365ce | 2016-06-04 09:57:11 -0700 | [diff] [blame] | 262 | * Support for OpenSSL 0.9.8 has been removed. Users on older versions of |
| 263 | OpenSSL will need to upgrade. |
Paul Kehrer | cb0fa2e | 2016-05-29 22:37:33 -0500 | [diff] [blame] | 264 | * Added :class:`~cryptography.hazmat.primitives.kdf.kbkdf.KBKDFHMAC`. |
Alex Gaynor | 9498929 | 2016-06-03 13:04:26 -0700 | [diff] [blame] | 265 | * Added support for ``OpenSSH`` public key serialization. |
Paul Kehrer | 69365ce | 2016-06-04 09:57:11 -0700 | [diff] [blame] | 266 | * Added support for SHA-2 in RSA |
| 267 | :class:`~cryptography.hazmat.primitives.asymmetric.padding.OAEP` when using |
| 268 | OpenSSL 1.0.2 or greater. |
| 269 | * Added "one shot" |
| 270 | :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey.sign` |
| 271 | and |
| 272 | :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey.verify` |
| 273 | methods to RSA keys. |
Alex Gaynor | 401ac6f | 2017-02-17 08:23:22 -0500 | [diff] [blame] | 274 | * Deprecated the ``serial`` attribute on |
| 275 | :class:`~cryptography.x509.Certificate`, in favor of |
| 276 | :attr:`~cryptography.x509.Certificate.serial_number`. |
Paul Kehrer | 69365ce | 2016-06-04 09:57:11 -0700 | [diff] [blame] | 277 | |
Alex Gaynor | f8c75fc | 2016-03-18 19:54:45 -0400 | [diff] [blame] | 278 | |
Alex Gaynor | 5751515 | 2016-06-02 20:53:52 -0700 | [diff] [blame] | 279 | 1.3.4 - 2016-06-03 |
| 280 | ~~~~~~~~~~~~~~~~~~ |
| 281 | |
| 282 | * Added another OpenSSL function to the bindings to support an upcoming |
| 283 | ``pyOpenSSL`` release. |
| 284 | |
| 285 | |
| 286 | 1.3.3 - 2016-06-02 |
| 287 | ~~~~~~~~~~~~~~~~~~ |
| 288 | |
| 289 | * Added two new OpenSSL functions to the bindings to support an upcoming |
| 290 | ``pyOpenSSL`` release. |
| 291 | |
Paul Kehrer | bb8d69a | 2016-05-04 13:33:20 -0500 | [diff] [blame] | 292 | 1.3.2 - 2016-05-04 |
| 293 | ~~~~~~~~~~~~~~~~~~ |
| 294 | |
| 295 | * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2h. |
| 296 | * Fixed an issue preventing ``cryptography`` from compiling against |
| 297 | LibreSSL 2.3.x. |
| 298 | |
Paul Kehrer | 81f4896 | 2016-03-21 17:46:53 -0400 | [diff] [blame] | 299 | 1.3.1 - 2016-03-21 |
| 300 | ~~~~~~~~~~~~~~~~~~ |
| 301 | |
| 302 | * Fixed a bug that caused an ``AttributeError`` when using ``mock`` to patch |
| 303 | some ``cryptography`` modules. |
| 304 | |
Paul Kehrer | c969461 | 2016-03-17 20:31:44 -0400 | [diff] [blame] | 305 | 1.3 - 2016-03-18 |
| 306 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | ac904e3 | 2016-01-08 07:53:25 -0800 | [diff] [blame] | 307 | |
Cédric Krier | bf0f464 | 2016-02-26 18:40:20 +0100 | [diff] [blame] | 308 | * Added support for padding ANSI X.923 with |
| 309 | :class:`~cryptography.hazmat.primitives.padding.ANSIX923`. |
Alex Gaynor | be6dd9b | 2016-01-22 17:12:14 -0500 | [diff] [blame] | 310 | * Deprecated support for OpenSSL 0.9.8. Support will be removed in |
| 311 | ``cryptography`` 1.4. |
Paul Kehrer | dba49b9 | 2016-03-13 20:15:53 -0400 | [diff] [blame] | 312 | * Added support for the :class:`~cryptography.x509.PolicyConstraints` |
| 313 | X.509 extension including both parsing and generation using |
| 314 | :class:`~cryptography.x509.CertificateBuilder` and |
| 315 | :class:`~cryptography.x509.CertificateSigningRequestBuilder`. |
Paul Kehrer | 1573212 | 2016-03-06 20:58:26 -0430 | [diff] [blame] | 316 | * Added :attr:`~cryptography.x509.CertificateSigningRequest.is_signature_valid` |
| 317 | to :class:`~cryptography.x509.CertificateSigningRequest`. |
Alex Gaynor | af50366 | 2016-03-05 10:40:50 -0500 | [diff] [blame] | 318 | * Fixed an intermittent ``AssertionError`` when performing an RSA decryption on |
| 319 | an invalid ciphertext, ``ValueError`` is now correctly raised in all cases. |
Paul Kehrer | 61ff356 | 2016-03-11 22:51:27 -0400 | [diff] [blame] | 320 | * Added |
| 321 | :meth:`~cryptography.x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier`. |
Alex Gaynor | be6dd9b | 2016-01-22 17:12:14 -0500 | [diff] [blame] | 322 | |
Alex Gaynor | 287ab1b | 2016-03-01 22:15:55 -0500 | [diff] [blame] | 323 | 1.2.3 - 2016-03-01 |
| 324 | ~~~~~~~~~~~~~~~~~~ |
| 325 | |
| 326 | * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2g. |
| 327 | |
Paul Kehrer | 2c6b8d0 | 2016-01-29 13:36:40 -0600 | [diff] [blame] | 328 | 1.2.2 - 2016-01-29 |
| 329 | ~~~~~~~~~~~~~~~~~~ |
| 330 | |
| 331 | * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2f. |
| 332 | |
Paul Kehrer | 56ea7b8 | 2016-01-08 11:53:20 -0800 | [diff] [blame] | 333 | 1.2.1 - 2016-01-08 |
| 334 | ~~~~~~~~~~~~~~~~~~ |
| 335 | |
| 336 | * Reverts a change to an OpenSSL ``EVP_PKEY`` object that caused errors with |
| 337 | ``pyOpenSSL``. |
| 338 | |
Paul Kehrer | 577f95e | 2016-01-07 21:56:53 -0800 | [diff] [blame] | 339 | 1.2 - 2016-01-08 |
| 340 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | c5b430f | 2015-10-29 07:52:35 +0900 | [diff] [blame] | 341 | |
Paul Kehrer | 49bb756 | 2015-12-25 16:17:40 -0600 | [diff] [blame] | 342 | * **BACKWARDS INCOMPATIBLE:** |
| 343 | :class:`~cryptography.x509.RevokedCertificate` |
| 344 | :attr:`~cryptography.x509.RevokedCertificate.extensions` now uses extension |
| 345 | classes rather than returning raw values inside the |
| 346 | :class:`~cryptography.x509.Extension` |
| 347 | :attr:`~cryptography.x509.Extension.value`. The new classes |
| 348 | are: |
| 349 | |
| 350 | * :class:`~cryptography.x509.CertificateIssuer` |
Paul Kehrer | 7058ece | 2015-12-25 22:28:29 -0600 | [diff] [blame] | 351 | * :class:`~cryptography.x509.CRLReason` |
Paul Kehrer | 23c0bbc | 2015-12-25 22:35:19 -0600 | [diff] [blame] | 352 | * :class:`~cryptography.x509.InvalidityDate` |
Paul Kehrer | f23722a | 2015-12-31 15:56:56 -0600 | [diff] [blame] | 353 | * Deprecated support for OpenSSL 0.9.8 and 1.0.0. At this time there is no time |
| 354 | table for actually dropping support, however we strongly encourage all users |
Paul Kehrer | 0509ec2 | 2016-01-08 07:56:17 -0800 | [diff] [blame] | 355 | to upgrade, as those versions no longer receive support from the OpenSSL |
Paul Kehrer | f23722a | 2015-12-31 15:56:56 -0600 | [diff] [blame] | 356 | project. |
Paul Kehrer | d91e7c1 | 2015-10-01 16:50:42 -0500 | [diff] [blame] | 357 | * The :class:`~cryptography.x509.Certificate` class now has |
| 358 | :attr:`~cryptography.x509.Certificate.signature` and |
Paul Kehrer | d289805 | 2015-11-03 22:00:41 +0900 | [diff] [blame] | 359 | :attr:`~cryptography.x509.Certificate.tbs_certificate_bytes` attributes. |
Paul Kehrer | 80dc752 | 2015-12-03 22:19:30 -0600 | [diff] [blame] | 360 | * The :class:`~cryptography.x509.CertificateSigningRequest` class now has |
| 361 | :attr:`~cryptography.x509.CertificateSigningRequest.signature` and |
| 362 | :attr:`~cryptography.x509.CertificateSigningRequest.tbs_certrequest_bytes` |
| 363 | attributes. |
Paul Kehrer | 18a9612 | 2015-12-21 11:14:34 -0600 | [diff] [blame] | 364 | * The :class:`~cryptography.x509.CertificateRevocationList` class now has |
| 365 | :attr:`~cryptography.x509.CertificateRevocationList.signature` and |
| 366 | :attr:`~cryptography.x509.CertificateRevocationList.tbs_certlist_bytes` |
| 367 | attributes. |
Paul Kehrer | 8b399b7 | 2015-12-02 22:53:40 -0600 | [diff] [blame] | 368 | * :class:`~cryptography.x509.NameConstraints` are now supported in the |
Paul Kehrer | 756d7d2 | 2015-12-02 23:45:42 -0600 | [diff] [blame] | 369 | :class:`~cryptography.x509.CertificateBuilder` and |
| 370 | :class:`~cryptography.x509.CertificateSigningRequestBuilder`. |
Paul Kehrer | 54a837d | 2015-12-20 23:42:32 -0600 | [diff] [blame] | 371 | * Support serialization of certificate revocation lists using the |
Paul Kehrer | 2d1d24d | 2015-12-21 09:23:52 -0600 | [diff] [blame] | 372 | :meth:`~cryptography.x509.CertificateRevocationList.public_bytes` method of |
Paul Kehrer | 54a837d | 2015-12-20 23:42:32 -0600 | [diff] [blame] | 373 | :class:`~cryptography.x509.CertificateRevocationList`. |
Paul Kehrer | 51f39cb | 2015-12-21 21:17:39 -0600 | [diff] [blame] | 374 | * Add support for parsing :class:`~cryptography.x509.CertificateRevocationList` |
| 375 | :meth:`~cryptography.x509.CertificateRevocationList.extensions` in the |
Paul Kehrer | 2587d30 | 2015-12-22 17:20:42 -0600 | [diff] [blame] | 376 | OpenSSL backend. The following extensions are currently supported: |
| 377 | |
| 378 | * :class:`~cryptography.x509.AuthorityInformationAccess` |
| 379 | * :class:`~cryptography.x509.AuthorityKeyIdentifier` |
Paul Kehrer | 3b95cd7 | 2015-12-22 21:40:20 -0600 | [diff] [blame] | 380 | * :class:`~cryptography.x509.CRLNumber` |
Paul Kehrer | 2587d30 | 2015-12-22 17:20:42 -0600 | [diff] [blame] | 381 | * :class:`~cryptography.x509.IssuerAlternativeName` |
Paul Kehrer | 09ad50c | 2015-12-26 13:59:27 -0600 | [diff] [blame] | 382 | * Added :class:`~cryptography.x509.CertificateRevocationListBuilder` and |
| 383 | :class:`~cryptography.x509.RevokedCertificateBuilder` to allow creation of |
| 384 | CRLs. |
Paul Kehrer | 58ddc11 | 2015-12-30 20:19:00 -0600 | [diff] [blame] | 385 | * Unrecognized non-critical X.509 extensions are now parsed into an |
| 386 | :class:`~cryptography.x509.UnrecognizedExtension` object. |
Paul Kehrer | d91e7c1 | 2015-10-01 16:50:42 -0500 | [diff] [blame] | 387 | |
Paul Kehrer | 869cfd9 | 2015-12-10 14:12:05 -0600 | [diff] [blame] | 388 | 1.1.2 - 2015-12-10 |
| 389 | ~~~~~~~~~~~~~~~~~~ |
| 390 | |
| 391 | * Fixed a SIGBUS crash with the OS X wheels caused by redefinition of a |
| 392 | method. |
| 393 | * Fixed a runtime error ``undefined symbol EC_GFp_nistp224_method`` that |
| 394 | occurred with some OpenSSL installations. |
| 395 | * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2e. |
| 396 | |
Paul Kehrer | dcf40fc | 2015-11-18 22:11:36 -0600 | [diff] [blame] | 397 | 1.1.1 - 2015-11-19 |
| 398 | ~~~~~~~~~~~~~~~~~~ |
| 399 | |
| 400 | * Fixed several small bugs related to compiling the OpenSSL bindings with |
| 401 | unusual OpenSSL configurations. |
| 402 | * Resolved an issue where, depending on the method of installation and |
| 403 | which Python interpreter they were using, users on El Capitan (OS X 10.11) |
| 404 | may have seen an ``InternalError`` on import. |
| 405 | |
Paul Kehrer | e9ac027 | 2015-10-28 15:48:01 +0900 | [diff] [blame] | 406 | 1.1 - 2015-10-28 |
| 407 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | bff54ef | 2015-08-12 08:47:34 -0500 | [diff] [blame] | 408 | |
Alex Gaynor | 39d38b9 | 2015-10-17 16:44:15 -0400 | [diff] [blame] | 409 | * Added support for Elliptic Curve Diffie-Hellman with |
Alex Gaynor | d294989 | 2015-10-17 16:45:55 -0400 | [diff] [blame] | 410 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.ECDH`. |
Alex Gaynor | ace036d | 2015-09-24 20:23:08 -0400 | [diff] [blame] | 411 | * Added :class:`~cryptography.hazmat.primitives.kdf.x963kdf.X963KDF`. |
Paul Kehrer | 8735548 | 2015-10-21 20:27:44 -0500 | [diff] [blame] | 412 | * Added support for parsing certificate revocation lists (CRLs) using |
| 413 | :func:`~cryptography.x509.load_pem_x509_crl` and |
| 414 | :func:`~cryptography.x509.load_der_x509_crl`. |
Paul Kehrer | 0d76a2e | 2015-05-17 13:36:13 -0700 | [diff] [blame] | 415 | * Add support for AES key wrapping with |
| 416 | :func:`~cryptography.hazmat.primitives.keywrap.aes_key_wrap` and |
| 417 | :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap`. |
Paul Kehrer | e9ac027 | 2015-10-28 15:48:01 +0900 | [diff] [blame] | 418 | * Added a ``__hash__`` method to :class:`~cryptography.x509.Name`. |
Paul Kehrer | 1a1b115 | 2015-10-28 09:33:05 +0900 | [diff] [blame] | 419 | * Add support for encoding and decoding elliptic curve points to a byte string |
| 420 | form using |
| 421 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.encode_point` |
| 422 | and |
| 423 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.from_encoded_point`. |
Paul Kehrer | e9ac027 | 2015-10-28 15:48:01 +0900 | [diff] [blame] | 424 | * Added :meth:`~cryptography.x509.Extensions.get_extension_for_class`. |
| 425 | * :class:`~cryptography.x509.CertificatePolicies` are now supported in the |
| 426 | :class:`~cryptography.x509.CertificateBuilder`. |
| 427 | * ``countryName`` is now encoded as a ``PrintableString`` when creating subject |
| 428 | and issuer distinguished names with the Certificate and CSR builder classes. |
Paul Kehrer | 1a1b115 | 2015-10-28 09:33:05 +0900 | [diff] [blame] | 429 | |
Paul Kehrer | 8addede | 2015-09-26 22:57:35 -0500 | [diff] [blame] | 430 | 1.0.2 - 2015-09-27 |
| 431 | ~~~~~~~~~~~~~~~~~~ |
| 432 | * **SECURITY ISSUE**: The OpenSSL backend prior to 1.0.2 made extensive use |
| 433 | of assertions to check response codes where our tests could not trigger a |
| 434 | failure. However, when Python is run with ``-O`` these asserts are optimized |
| 435 | away. If a user ran Python with this flag and got an invalid response code |
| 436 | this could result in undefined behavior or worse. Accordingly, all response |
| 437 | checks from the OpenSSL backend have been converted from ``assert`` |
| 438 | to a true function call. Credit **Emilia Käsper (Google Security Team)** |
| 439 | for the report. |
| 440 | |
Paul Kehrer | 2f6b169 | 2015-09-05 20:58:52 -0500 | [diff] [blame] | 441 | 1.0.1 - 2015-09-05 |
| 442 | ~~~~~~~~~~~~~~~~~~ |
| 443 | |
| 444 | * We now ship OS X wheels that statically link OpenSSL by default. When |
| 445 | installing a wheel on OS X 10.10+ (and using a Python compiled against the |
| 446 | 10.10 SDK) users will no longer need to compile. See :doc:`/installation` for |
| 447 | alternate installation methods if required. |
| 448 | * Set the default string mask to UTF-8 in the OpenSSL backend to resolve |
| 449 | character encoding issues with older versions of OpenSSL. |
| 450 | * Several new OpenSSL bindings have been added to support a future pyOpenSSL |
| 451 | release. |
| 452 | * Raise an error during install on PyPy < 2.6. 1.0+ requires PyPy 2.6+. |
Paul Kehrer | bff54ef | 2015-08-12 08:47:34 -0500 | [diff] [blame] | 453 | |
Paul Kehrer | 55ab805 | 2015-08-11 18:22:55 -0500 | [diff] [blame] | 454 | 1.0 - 2015-08-12 |
Paul Kehrer | d5257ab | 2015-05-13 20:48:36 -0500 | [diff] [blame] | 455 | ~~~~~~~~~~~~~~~~ |
| 456 | |
Paul Kehrer | 68b3b1e | 2015-05-19 13:05:21 -0700 | [diff] [blame] | 457 | * Switched to the new `cffi`_ ``set_source`` out-of-line API mode for |
| 458 | compilation. This results in significantly faster imports and lowered |
Paul Kehrer | 73f06c7 | 2015-06-07 23:17:39 -0500 | [diff] [blame] | 459 | memory consumption. Due to this change we no longer support PyPy releases |
| 460 | older than 2.6 nor do we support any released version of PyPy3 (until a |
| 461 | version supporting cffi 1.0 comes out). |
Paul Kehrer | 60cc9ef | 2015-08-04 19:29:52 +0100 | [diff] [blame] | 462 | * Fix parsing of OpenSSH public keys that have spaces in comments. |
Andre Caron | beed294 | 2015-05-18 13:47:36 -0400 | [diff] [blame] | 463 | * Support serialization of certificate signing requests using the |
| 464 | ``public_bytes`` method of |
| 465 | :class:`~cryptography.x509.CertificateSigningRequest`. |
Andre Caron | a8aded6 | 2015-05-19 20:11:57 -0400 | [diff] [blame] | 466 | * Support serialization of certificates using the ``public_bytes`` method of |
| 467 | :class:`~cryptography.x509.Certificate`. |
Jiangge Zhang | 764f637 | 2015-06-05 18:01:22 +0800 | [diff] [blame] | 468 | * Add ``get_provisioning_uri`` method to |
| 469 | :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP` and |
| 470 | :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP` for generating |
| 471 | provisioning URIs. |
Paul Kehrer | 66f380c | 2015-06-12 11:23:34 -0500 | [diff] [blame] | 472 | * Add :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHash` |
| 473 | and :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHMAC`. |
Ian Cordasco | ab94b90 | 2015-06-17 08:28:02 -0500 | [diff] [blame] | 474 | * Raise a ``TypeError`` when passing objects that are not text as the value to |
| 475 | :class:`~cryptography.x509.NameAttribute`. |
Paul Kehrer | 44171a2 | 2015-08-01 21:21:26 +0100 | [diff] [blame] | 476 | * Add support for :class:`~cryptography.x509.OtherName` as a general name |
| 477 | type. |
| 478 | * Added new X.509 extension support in :class:`~cryptography.x509.Certificate` |
| 479 | The following new extensions are now supported: |
| 480 | |
| 481 | * :class:`~cryptography.x509.OCSPNoCheck` |
| 482 | * :class:`~cryptography.x509.InhibitAnyPolicy` |
| 483 | * :class:`~cryptography.x509.IssuerAlternativeName` |
| 484 | * :class:`~cryptography.x509.NameConstraints` |
| 485 | |
| 486 | * Extension support was added to |
| 487 | :class:`~cryptography.x509.CertificateSigningRequest`. |
Ian Cordasco | 46479d0 | 2015-08-03 08:30:20 -0500 | [diff] [blame] | 488 | * Add support for creating signed certificates with |
| 489 | :class:`~cryptography.x509.CertificateBuilder`. This includes support for |
Paul Kehrer | e0ecfdc | 2015-08-06 10:53:15 +0100 | [diff] [blame] | 490 | the following extensions: |
Ian Cordasco | 46479d0 | 2015-08-03 08:30:20 -0500 | [diff] [blame] | 491 | |
| 492 | * :class:`~cryptography.x509.BasicConstraints` |
| 493 | * :class:`~cryptography.x509.SubjectAlternativeName` |
Paul Kehrer | e0ecfdc | 2015-08-06 10:53:15 +0100 | [diff] [blame] | 494 | * :class:`~cryptography.x509.KeyUsage` |
| 495 | * :class:`~cryptography.x509.ExtendedKeyUsage` |
| 496 | * :class:`~cryptography.x509.SubjectKeyIdentifier` |
| 497 | * :class:`~cryptography.x509.AuthorityKeyIdentifier` |
| 498 | * :class:`~cryptography.x509.AuthorityInformationAccess` |
| 499 | * :class:`~cryptography.x509.CRLDistributionPoints` |
Paul Kehrer | 683d4d8 | 2015-08-06 23:13:45 +0100 | [diff] [blame] | 500 | * :class:`~cryptography.x509.InhibitAnyPolicy` |
Paul Kehrer | 2dfd9da | 2015-08-10 21:30:23 -0500 | [diff] [blame] | 501 | * :class:`~cryptography.x509.IssuerAlternativeName` |
| 502 | * :class:`~cryptography.x509.OCSPNoCheck` |
Ian Cordasco | 46479d0 | 2015-08-03 08:30:20 -0500 | [diff] [blame] | 503 | |
Paul Kehrer | 91e385d | 2015-08-08 22:50:28 -0500 | [diff] [blame] | 504 | * Add support for creating certificate signing requests with |
| 505 | :class:`~cryptography.x509.CertificateSigningRequestBuilder`. This includes |
| 506 | support for the same extensions supported in the ``CertificateBuilder``. |
Paul Kehrer | 31c5c33 | 2015-08-10 11:59:38 -0500 | [diff] [blame] | 507 | * Deprecate ``encode_rfc6979_signature`` and ``decode_rfc6979_signature`` in |
| 508 | favor of |
| 509 | :func:`~cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature` |
| 510 | and |
| 511 | :func:`~cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature`. |
| 512 | |
Paul Kehrer | 91e385d | 2015-08-08 22:50:28 -0500 | [diff] [blame] | 513 | |
Paul Kehrer | 3bbda28 | 2015-07-09 09:48:23 -0500 | [diff] [blame] | 514 | 0.9.3 - 2015-07-09 |
| 515 | ~~~~~~~~~~~~~~~~~~ |
| 516 | |
| 517 | * Updated Windows wheels to be compiled against OpenSSL 1.0.2d. |
| 518 | |
Paul Kehrer | 7b41163 | 2015-07-03 18:07:41 -0500 | [diff] [blame] | 519 | 0.9.2 - 2015-07-04 |
| 520 | ~~~~~~~~~~~~~~~~~~ |
| 521 | |
| 522 | * Updated Windows wheels to be compiled against OpenSSL 1.0.2c. |
| 523 | |
Alex Gaynor | c4bb7d5 | 2015-06-06 17:27:14 -0400 | [diff] [blame] | 524 | 0.9.1 - 2015-06-06 |
| 525 | ~~~~~~~~~~~~~~~~~~ |
| 526 | |
| 527 | * **SECURITY ISSUE**: Fixed a double free in the OpenSSL backend when using DSA |
| 528 | to verify signatures. Note that this only affects PyPy 2.6.0 and (presently |
| 529 | unreleased) CFFI versions greater than 1.1.0. |
| 530 | |
Paul Kehrer | c486ed5 | 2015-05-13 17:59:31 -0500 | [diff] [blame] | 531 | 0.9 - 2015-05-13 |
| 532 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 8ce597b | 2015-03-09 00:01:17 -0500 | [diff] [blame] | 533 | |
Paul Kehrer | 741fccb | 2015-04-14 10:22:25 -0400 | [diff] [blame] | 534 | * Removed support for Python 3.2. This version of Python is rarely used |
| 535 | and caused support headaches. Users affected by this should upgrade to 3.3+. |
Alex Gaynor | 6e7f622 | 2015-03-29 21:51:38 -0400 | [diff] [blame] | 536 | * Deprecated support for Python 2.6. At the time there is no time table for |
| 537 | actually dropping support, however we strongly encourage all users to upgrade |
| 538 | their Python, as Python 2.6 no longer receives support from the Python core |
| 539 | team. |
Paul Kehrer | ebbeedf | 2015-05-08 18:13:14 -0500 | [diff] [blame] | 540 | * Add support for the |
| 541 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.SECP256K1` elliptic |
| 542 | curve. |
Alex Gaynor | 5d27d4d | 2015-04-04 14:56:02 -0500 | [diff] [blame] | 543 | * Fixed compilation when using an OpenSSL which was compiled with the |
| 544 | ``no-comp`` (``OPENSSL_NO_COMP``) option. |
Paul Kehrer | a2c4865 | 2015-03-10 15:48:37 -0500 | [diff] [blame] | 545 | * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` |
| 546 | serialization of public keys using the ``public_bytes`` method of |
Paul Kehrer | 1955ebf | 2015-03-10 08:38:57 -0500 | [diff] [blame] | 547 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`, |
| 548 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`, |
| 549 | and |
Paul Kehrer | a2c4865 | 2015-03-10 15:48:37 -0500 | [diff] [blame] | 550 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. |
Paul Kehrer | 919a5b2 | 2015-03-14 13:15:17 -0500 | [diff] [blame] | 551 | * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` |
| 552 | serialization of private keys using the ``private_bytes`` method of |
| 553 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`, |
| 554 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`, |
| 555 | and |
| 556 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. |
Paul Kehrer | a1a1f23 | 2015-03-15 15:34:35 -0500 | [diff] [blame] | 557 | * Add support for parsing X.509 certificate signing requests (CSRs) with |
Paul Kehrer | 1effb6e | 2015-03-30 15:05:59 -0500 | [diff] [blame] | 558 | :func:`~cryptography.x509.load_pem_x509_csr` and |
| 559 | :func:`~cryptography.x509.load_der_x509_csr`. |
Paul Kehrer | d14dcc5 | 2015-04-14 14:21:21 -0400 | [diff] [blame] | 560 | * Moved ``cryptography.exceptions.InvalidToken`` to |
| 561 | :class:`cryptography.hazmat.primitives.twofactor.InvalidToken` and deprecated |
| 562 | the old location. This was moved to minimize confusion between this exception |
| 563 | and :class:`cryptography.fernet.InvalidToken`. |
Paul Kehrer | aeb7720 | 2015-05-13 11:52:38 -0500 | [diff] [blame] | 564 | * Added support for X.509 extensions in :class:`~cryptography.x509.Certificate` |
| 565 | objects. The following extensions are supported as of this release: |
| 566 | |
| 567 | * :class:`~cryptography.x509.BasicConstraints` |
| 568 | * :class:`~cryptography.x509.AuthorityKeyIdentifier` |
| 569 | * :class:`~cryptography.x509.SubjectKeyIdentifier` |
| 570 | * :class:`~cryptography.x509.KeyUsage` |
| 571 | * :class:`~cryptography.x509.SubjectAlternativeName` |
| 572 | * :class:`~cryptography.x509.ExtendedKeyUsage` |
| 573 | * :class:`~cryptography.x509.CRLDistributionPoints` |
| 574 | * :class:`~cryptography.x509.AuthorityInformationAccess` |
| 575 | * :class:`~cryptography.x509.CertificatePolicies` |
| 576 | |
| 577 | Note that unsupported extensions with the critical flag raise |
Alex Gaynor | d08ddd5 | 2017-05-20 09:01:54 -0700 | [diff] [blame] | 578 | ``UnsupportedExtension`` while unsupported extensions set to non-critical are |
| 579 | silently ignored. Read the :doc:`X.509 documentation</x509/index>` for more |
| 580 | information. |
Paul Kehrer | 1955ebf | 2015-03-10 08:38:57 -0500 | [diff] [blame] | 581 | |
Paul Kehrer | 33906b8 | 2015-04-10 21:00:08 -0400 | [diff] [blame] | 582 | 0.8.2 - 2015-04-10 |
| 583 | ~~~~~~~~~~~~~~~~~~ |
| 584 | |
| 585 | * Fixed a race condition when initializing the OpenSSL or CommonCrypto backends |
| 586 | in a multi-threaded scenario. |
| 587 | |
Paul Kehrer | 41a750c | 2015-03-19 22:46:23 -0500 | [diff] [blame] | 588 | 0.8.1 - 2015-03-20 |
| 589 | ~~~~~~~~~~~~~~~~~~ |
| 590 | |
| 591 | * Updated Windows wheels to be compiled against OpenSSL 1.0.2a. |
| 592 | |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 593 | 0.8 - 2015-03-08 |
| 594 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 08120d7 | 2014-12-17 21:37:58 -0600 | [diff] [blame] | 595 | |
Alex Gaynor | 5d66ca5 | 2014-12-25 18:39:39 -0800 | [diff] [blame] | 596 | * :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can |
| 597 | now load elliptic curve public keys. |
Paul Kehrer | 836b830 | 2015-01-18 09:42:58 -0600 | [diff] [blame] | 598 | * Added |
Paul Kehrer | 8802a5b | 2015-02-13 12:06:57 -0600 | [diff] [blame] | 599 | :attr:`~cryptography.x509.Certificate.signature_hash_algorithm` support to |
Paul Kehrer | b0a8039 | 2015-02-11 23:39:49 -0600 | [diff] [blame] | 600 | :class:`~cryptography.x509.Certificate`. |
| 601 | * Added |
Paul Kehrer | 836b830 | 2015-01-18 09:42:58 -0600 | [diff] [blame] | 602 | :func:`~cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors` |
Paul Kehrer | 48402ff | 2015-02-16 15:31:52 -0600 | [diff] [blame] | 603 | * :class:`~cryptography.hazmat.primitives.kdf.KeyDerivationFunction` was moved |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 604 | from ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 48402ff | 2015-02-16 15:31:52 -0600 | [diff] [blame] | 605 | :mod:`~cryptography.hazmat.primitives.kdf`. |
Paul Kehrer | 719d536 | 2015-01-01 20:03:52 -0600 | [diff] [blame] | 606 | * Added support for parsing X.509 names. See the |
Alex Gaynor | 5e0da3a | 2015-07-12 10:35:56 -0500 | [diff] [blame] | 607 | :doc:`X.509 documentation</x509/index>` for more information. |
Paul Kehrer | 99a249d | 2015-01-04 15:55:22 -0600 | [diff] [blame] | 608 | * Added |
| 609 | :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key` to |
| 610 | support loading of DER encoded private keys and |
| 611 | :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` to |
| 612 | support loading DER encoded public keys. |
Steven McDonald | 27e6b9c | 2015-02-18 16:37:03 +1100 | [diff] [blame] | 613 | * Fixed building against LibreSSL, a compile-time substitute for OpenSSL. |
Paul Kehrer | 77f540d | 2015-02-20 12:53:04 -0600 | [diff] [blame] | 614 | * FreeBSD 9.2 was removed from the continuous integration system. |
Paul Kehrer | f28dd45 | 2015-03-05 10:22:59 -0600 | [diff] [blame] | 615 | * Updated Windows wheels to be compiled against OpenSSL 1.0.2. |
Paul Kehrer | 7bfa22e | 2015-03-04 13:48:30 -0600 | [diff] [blame] | 616 | * :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key` |
| 617 | and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` |
Paul Kehrer | 791afc0 | 2015-03-05 14:29:28 -0600 | [diff] [blame] | 618 | now support PKCS1 RSA public keys (in addition to the previous support for |
Paul Kehrer | 7bfa22e | 2015-03-04 13:48:30 -0600 | [diff] [blame] | 619 | SubjectPublicKeyInfo format for RSA, EC, and DSA). |
Paul Kehrer | f83e25c | 2015-02-21 18:34:00 -0600 | [diff] [blame] | 620 | * Added |
Paul Kehrer | 59e5c86 | 2015-03-02 10:36:50 -0600 | [diff] [blame] | 621 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization` |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 622 | and deprecated ``EllipticCurvePrivateKeyWithNumbers``. |
Paul Kehrer | 59e5c86 | 2015-03-02 10:36:50 -0600 | [diff] [blame] | 623 | * Added |
| 624 | :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization.private_bytes` |
| 625 | to |
| 626 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. |
| 627 | * Added |
Paul Kehrer | f83e25c | 2015-02-21 18:34:00 -0600 | [diff] [blame] | 628 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization` |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 629 | and deprecated ``RSAPrivateKeyWithNumbers``. |
Paul Kehrer | f83e25c | 2015-02-21 18:34:00 -0600 | [diff] [blame] | 630 | * Added |
Paul Kehrer | 223a8f0 | 2015-02-28 18:54:10 -0600 | [diff] [blame] | 631 | :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization.private_bytes` |
Paul Kehrer | f83e25c | 2015-02-21 18:34:00 -0600 | [diff] [blame] | 632 | to |
| 633 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`. |
Paul Kehrer | ec34263 | 2015-03-01 16:53:58 -0600 | [diff] [blame] | 634 | * Added |
| 635 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization` |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 636 | and deprecated ``DSAPrivateKeyWithNumbers``. |
Paul Kehrer | ec34263 | 2015-03-01 16:53:58 -0600 | [diff] [blame] | 637 | * Added |
| 638 | :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization.private_bytes` |
| 639 | to |
| 640 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`. |
Paul Kehrer | 3f157e0 | 2015-02-28 11:31:06 -0600 | [diff] [blame] | 641 | * Added |
| 642 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization` |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 643 | and deprecated ``RSAPublicKeyWithNumbers``. |
Paul Kehrer | 8ea90ef | 2015-07-04 16:26:58 -0500 | [diff] [blame] | 644 | * Added ``public_bytes`` to |
Paul Kehrer | 3f157e0 | 2015-02-28 11:31:06 -0600 | [diff] [blame] | 645 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`. |
Paul Kehrer | 419615b | 2015-03-05 21:01:16 -0600 | [diff] [blame] | 646 | * Added |
| 647 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization` |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 648 | and deprecated ``EllipticCurvePublicKeyWithNumbers``. |
Paul Kehrer | 8ea90ef | 2015-07-04 16:26:58 -0500 | [diff] [blame] | 649 | * Added ``public_bytes`` to |
Paul Kehrer | 419615b | 2015-03-05 21:01:16 -0600 | [diff] [blame] | 650 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. |
Paul Kehrer | 26006c5 | 2015-03-08 18:27:11 -0500 | [diff] [blame] | 651 | * Added |
| 652 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization` |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 653 | and deprecated ``DSAPublicKeyWithNumbers``. |
Paul Kehrer | 8ea90ef | 2015-07-04 16:26:58 -0500 | [diff] [blame] | 654 | * Added ``public_bytes`` to |
Paul Kehrer | 26006c5 | 2015-03-08 18:27:11 -0500 | [diff] [blame] | 655 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`. |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 656 | * :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and |
| 657 | :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 658 | ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 659 | :mod:`~cryptography.hazmat.primitives.hashes`. |
| 660 | * :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`, |
| 661 | :class:`~cryptography.hazmat.primitives.ciphers.AEADCipherContext`, |
| 662 | :class:`~cryptography.hazmat.primitives.ciphers.AEADEncryptionContext`, |
| 663 | :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`, and |
| 664 | :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm` |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 665 | were moved from ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 666 | :mod:`~cryptography.hazmat.primitives.ciphers`. |
| 667 | * :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode`, |
| 668 | :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithInitializationVector`, |
| 669 | :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithNonce`, and |
| 670 | :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithAuthenticationTag` |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 671 | were moved from ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 672 | :mod:`~cryptography.hazmat.primitives.ciphers.modes`. |
| 673 | * :class:`~cryptography.hazmat.primitives.padding.PaddingContext` was moved |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 674 | from ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 675 | :mod:`~cryptography.hazmat.primitives.padding`. |
| 676 | * |
| 677 | :class:`~cryptography.hazmat.primitives.asymmetric.padding.AsymmetricPadding` |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 678 | was moved from ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 679 | :mod:`~cryptography.hazmat.primitives.asymmetric.padding`. |
Paul Kehrer | 1a5d70e | 2017-06-03 17:11:55 -1000 | [diff] [blame] | 680 | * ``AsymmetricSignatureContext`` and ``AsymmetricVerificationContext`` |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 681 | were moved from ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 1a5d70e | 2017-06-03 17:11:55 -1000 | [diff] [blame] | 682 | ``cryptography.hazmat.primitives.asymmetric``. |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 683 | * :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`, |
| 684 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParametersWithNumbers`, |
| 685 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`, |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 686 | ``DSAPrivateKeyWithNumbers``, |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 687 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` and |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 688 | ``DSAPublicKeyWithNumbers`` were moved from |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 689 | ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 690 | :mod:`~cryptography.hazmat.primitives.asymmetric.dsa` |
| 691 | * :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`, |
| 692 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurveSignatureAlgorithm`, |
| 693 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`, |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 694 | ``EllipticCurvePrivateKeyWithNumbers``, |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 695 | :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`, |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 696 | and ``EllipticCurvePublicKeyWithNumbers`` |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 697 | were moved from ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 698 | :mod:`~cryptography.hazmat.primitives.asymmetric.ec`. |
| 699 | * :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`, |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 700 | ``RSAPrivateKeyWithNumbers``, |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 701 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` and |
Paul Kehrer | c0dd53e | 2015-07-04 11:27:27 -0500 | [diff] [blame] | 702 | ``RSAPublicKeyWithNumbers`` were moved from |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 703 | ``cryptography.hazmat.primitives.interfaces`` to |
Paul Kehrer | 5dc4b88 | 2015-03-08 18:19:50 -0500 | [diff] [blame] | 704 | :mod:`~cryptography.hazmat.primitives.asymmetric.rsa`. |
Alex Gaynor | 5d66ca5 | 2014-12-25 18:39:39 -0800 | [diff] [blame] | 705 | |
Paul Kehrer | 72572f9 | 2015-01-16 08:10:12 -0600 | [diff] [blame] | 706 | 0.7.2 - 2015-01-16 |
| 707 | ~~~~~~~~~~~~~~~~~~ |
| 708 | |
| 709 | * Updated Windows wheels to be compiled against OpenSSL 1.0.1l. |
| 710 | * ``enum34`` is no longer installed on Python 3.4, where it is included in |
| 711 | the standard library. |
| 712 | * Added a new function to the OpenSSL bindings to support additional |
| 713 | functionality in pyOpenSSL. |
| 714 | |
Paul Kehrer | 842e58a | 2014-12-28 15:17:39 -0700 | [diff] [blame] | 715 | 0.7.1 - 2014-12-28 |
| 716 | ~~~~~~~~~~~~~~~~~~ |
| 717 | |
| 718 | * Fixed an issue preventing compilation on platforms where ``OPENSSL_NO_SSL3`` |
| 719 | was defined. |
| 720 | |
Paul Kehrer | e813509 | 2014-12-17 14:20:40 -0600 | [diff] [blame] | 721 | 0.7 - 2014-12-17 |
| 722 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 9868133 | 2014-09-29 21:43:57 -0500 | [diff] [blame] | 723 | |
Alex Gaynor | df6a5cd | 2014-11-07 09:36:47 -0300 | [diff] [blame] | 724 | * Cryptography has been relicensed from the Apache Software License, Version |
| 725 | 2.0, to being available under *either* the Apache Software License, Version |
| 726 | 2.0, or the BSD license. |
Alex Gaynor | 4c82513 | 2014-10-20 21:27:08 -0700 | [diff] [blame] | 727 | * Added key-rotation support to :doc:`Fernet </fernet>` with |
| 728 | :class:`~cryptography.fernet.MultiFernet`. |
Paul Kehrer | 214d91d | 2014-12-18 07:20:04 -0600 | [diff] [blame] | 729 | * More bit-lengths are now supported for ``p`` and ``q`` when loading DSA keys |
Alex Gaynor | a438e83 | 2014-10-19 19:47:05 -0700 | [diff] [blame] | 730 | from numbers. |
Paul Kehrer | 7bc3686 | 2017-05-29 10:13:35 -0500 | [diff] [blame] | 731 | * Added :class:`~cryptography.hazmat.primitives.mac.MACContext` as a |
Paul Kehrer | ebee006 | 2015-03-07 12:34:33 -0600 | [diff] [blame] | 732 | common interface for CMAC and HMAC and deprecated ``CMACContext``. |
Paul Kehrer | b3a3e5c | 2014-11-27 11:27:32 -1000 | [diff] [blame] | 733 | * Added support for encoding and decoding :rfc:`6979` signatures in |
| 734 | :doc:`/hazmat/primitives/asymmetric/utils`. |
Mark Adams | 78a7d1c | 2014-12-12 23:13:12 -0600 | [diff] [blame] | 735 | * Added |
Alex Gaynor | 993b85a | 2014-12-15 10:42:45 -0800 | [diff] [blame] | 736 | :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` to |
Paul Kehrer | e813509 | 2014-12-17 14:20:40 -0600 | [diff] [blame] | 737 | support the loading of OpenSSH public keys (:rfc:`4253`). Only RSA and DSA |
| 738 | keys are currently supported. |
Paul Kehrer | e76cd27 | 2014-12-14 19:00:51 -0600 | [diff] [blame] | 739 | * Added initial support for X.509 certificate parsing. See the |
Alex Gaynor | 5e0da3a | 2015-07-12 10:35:56 -0500 | [diff] [blame] | 740 | :doc:`X.509 documentation</x509/index>` for more information. |
Terry Chia | c7c82f3 | 2014-10-20 12:15:22 +0800 | [diff] [blame] | 741 | |
Paul Kehrer | 555b150 | 2014-10-15 23:24:57 -0500 | [diff] [blame] | 742 | 0.6.1 - 2014-10-15 |
| 743 | ~~~~~~~~~~~~~~~~~~ |
| 744 | |
| 745 | * Updated Windows wheels to be compiled against OpenSSL 1.0.1j. |
| 746 | * Fixed an issue where OpenSSL 1.0.1j changed the errors returned by some |
| 747 | functions. |
| 748 | * Added our license file to the ``cryptography-vectors`` package. |
| 749 | * Implemented DSA hash truncation support (per FIPS 186-3) in the OpenSSL |
| 750 | backend. This works around an issue in 1.0.0, 1.0.0a, and 1.0.0b where |
| 751 | truncation was not implemented. |
| 752 | |
Paul Kehrer | c3f11d8 | 2014-09-29 20:31:15 -0500 | [diff] [blame] | 753 | 0.6 - 2014-09-29 |
| 754 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 1757fe3 | 2014-07-07 22:29:23 -0500 | [diff] [blame] | 755 | |
Alex Gaynor | ef82334 | 2014-09-27 12:04:22 -0400 | [diff] [blame] | 756 | * Added |
| 757 | :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key` to |
| 758 | ease loading private keys, and |
| 759 | :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key` to |
| 760 | support loading public keys. |
Alex Gaynor | 1658f94 | 2014-07-08 00:02:37 -0700 | [diff] [blame] | 761 | * Removed the, deprecated in 0.4, support for the ``salt_length`` argument to |
| 762 | the :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1` |
| 763 | constructor. The ``salt_length`` should be passed to |
| 764 | :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS` instead. |
Paul Kehrer | f4fbf39 | 2014-08-21 08:36:49 -1000 | [diff] [blame] | 765 | * Fix compilation on OS X Yosemite. |
Paul Kehrer | 77e95a0 | 2014-09-25 12:28:07 -0500 | [diff] [blame] | 766 | * Deprecated ``elliptic_curve_private_key_from_numbers`` and |
| 767 | ``elliptic_curve_public_key_from_numbers`` in favor of |
| 768 | ``load_elliptic_curve_private_numbers`` and |
| 769 | ``load_elliptic_curve_public_numbers`` on |
| 770 | :class:`~cryptography.hazmat.backends.interfaces.EllipticCurveBackend`. |
Paul Kehrer | 45efdbc | 2015-02-12 10:58:22 -0600 | [diff] [blame] | 771 | * Added ``EllipticCurvePrivateKeyWithNumbers`` and |
| 772 | ``EllipticCurvePublicKeyWithNumbers`` support. |
Paul Kehrer | f378e40 | 2014-09-27 11:28:42 -0500 | [diff] [blame] | 773 | * Work around three GCM related bugs in CommonCrypto and OpenSSL. |
Paul Kehrer | 4c77365 | 2014-09-27 11:26:02 -0500 | [diff] [blame] | 774 | |
| 775 | * On the CommonCrypto backend adding AAD but not subsequently calling update |
| 776 | would return null tag bytes. |
| 777 | |
| 778 | * One the CommonCrypto backend a call to update without an empty add AAD call |
| 779 | would return null ciphertext bytes. |
| 780 | |
| 781 | * On the OpenSSL backend with certain versions adding AAD only would give |
| 782 | invalid tag bytes. |
| 783 | |
| 784 | * Support loading EC private keys from PEM. |
Alex Gaynor | 1658f94 | 2014-07-08 00:02:37 -0700 | [diff] [blame] | 785 | |
Paul Kehrer | 01f0c67 | 2014-08-20 20:15:18 -1000 | [diff] [blame] | 786 | 0.5.4 - 2014-08-20 |
| 787 | ~~~~~~~~~~~~~~~~~~ |
| 788 | |
| 789 | * Added several functions to the OpenSSL bindings to support new |
| 790 | functionality in pyOpenSSL. |
| 791 | * Fixed a redefined constant causing compilation failure with Solaris 11.2. |
| 792 | |
Paul Kehrer | 86cf5b1 | 2014-08-07 05:38:17 -1000 | [diff] [blame] | 793 | 0.5.3 - 2014-08-06 |
| 794 | ~~~~~~~~~~~~~~~~~~ |
| 795 | |
| 796 | * Updated Windows wheels to be compiled against OpenSSL 1.0.1i. |
| 797 | |
Paul Kehrer | 2456e66 | 2014-07-09 19:51:32 -0500 | [diff] [blame] | 798 | 0.5.2 - 2014-07-09 |
| 799 | ~~~~~~~~~~~~~~~~~~ |
| 800 | |
Paul Kehrer | a4668c6 | 2017-05-20 13:25:47 -0700 | [diff] [blame] | 801 | * Add ``TraditionalOpenSSLSerializationBackend`` support to ``multibackend``. |
Paul Kehrer | 2456e66 | 2014-07-09 19:51:32 -0500 | [diff] [blame] | 802 | * Fix compilation error on OS X 10.8 (Mountain Lion). |
| 803 | |
Paul Kehrer | f092d73 | 2014-07-07 19:42:15 -0500 | [diff] [blame] | 804 | 0.5.1 - 2014-07-07 |
| 805 | ~~~~~~~~~~~~~~~~~~ |
| 806 | |
Paul Kehrer | a4668c6 | 2017-05-20 13:25:47 -0700 | [diff] [blame] | 807 | * Add ``PKCS8SerializationBackend`` support to ``multibackend``. |
Paul Kehrer | f092d73 | 2014-07-07 19:42:15 -0500 | [diff] [blame] | 808 | |
Paul Kehrer | 3c6a239 | 2014-07-07 08:29:07 -0500 | [diff] [blame] | 809 | 0.5 - 2014-07-07 |
| 810 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 50a0485 | 2014-05-03 08:57:13 -0500 | [diff] [blame] | 811 | |
Alex Gaynor | 8f1b8e8 | 2014-06-29 20:43:29 -0700 | [diff] [blame] | 812 | * **BACKWARDS INCOMPATIBLE:** |
| 813 | :class:`~cryptography.hazmat.primitives.ciphers.modes.GCM` no longer allows |
| 814 | truncation of tags by default. Previous versions of ``cryptography`` allowed |
| 815 | tags to be truncated by default, applications wishing to preserve this |
Alex Gaynor | 4efe61a | 2014-06-29 20:44:53 -0700 | [diff] [blame] | 816 | behavior (not recommended) can pass the ``min_tag_length`` argument. |
Paul Kehrer | 8987bcb | 2014-07-06 09:28:29 -0500 | [diff] [blame] | 817 | * Windows builds now statically link OpenSSL by default. When installing a |
Paul Kehrer | 3df9a31 | 2014-07-06 09:25:29 -0500 | [diff] [blame] | 818 | wheel on Windows you no longer need to install OpenSSL separately. Windows |
| 819 | users can switch between static and dynamic linking with an environment |
| 820 | variable. See :doc:`/installation` for more details. |
Paul Kehrer | 88bac25 | 2014-05-21 12:42:13 -0500 | [diff] [blame] | 821 | * Added :class:`~cryptography.hazmat.primitives.kdf.hkdf.HKDFExpand`. |
Paul Kehrer | 2a947c4 | 2014-05-15 17:22:08 -0400 | [diff] [blame] | 822 | * Added :class:`~cryptography.hazmat.primitives.ciphers.modes.CFB8` support |
| 823 | for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES` and |
| 824 | :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` on |
Paul Kehrer | 5103235 | 2017-05-20 10:09:02 -0700 | [diff] [blame] | 825 | ``commoncrypto`` and :doc:`/hazmat/backends/openssl`. |
Paul Kehrer | 055f960 | 2014-05-20 23:21:26 -0500 | [diff] [blame] | 826 | * Added ``AES`` :class:`~cryptography.hazmat.primitives.ciphers.modes.CTR` |
| 827 | support to the OpenSSL backend when linked against 0.9.8. |
Paul Kehrer | 45efdbc | 2015-02-12 10:58:22 -0600 | [diff] [blame] | 828 | * Added ``PKCS8SerializationBackend`` and |
| 829 | ``TraditionalOpenSSLSerializationBackend`` support to the |
| 830 | :doc:`/hazmat/backends/openssl`. |
Paul Kehrer | 21fc582 | 2014-07-04 09:28:55 -0500 | [diff] [blame] | 831 | * Added :doc:`/hazmat/primitives/asymmetric/ec` and |
| 832 | :class:`~cryptography.hazmat.backends.interfaces.EllipticCurveBackend`. |
Paul Kehrer | d1bac5e | 2014-06-13 12:34:49 -0500 | [diff] [blame] | 833 | * Added :class:`~cryptography.hazmat.primitives.ciphers.modes.ECB` support |
| 834 | for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` on |
Paul Kehrer | 5103235 | 2017-05-20 10:09:02 -0700 | [diff] [blame] | 835 | ``commoncrypto`` and :doc:`/hazmat/backends/openssl`. |
Paul Kehrer | 45efdbc | 2015-02-12 10:58:22 -0600 | [diff] [blame] | 836 | * Deprecated the concrete ``RSAPrivateKey`` class in favor of backend |
Paul Kehrer | a10be69 | 2015-02-12 12:58:27 -0600 | [diff] [blame] | 837 | specific providers of the |
| 838 | :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey` |
| 839 | interface. |
Paul Kehrer | 45efdbc | 2015-02-12 10:58:22 -0600 | [diff] [blame] | 840 | * Deprecated the concrete ``RSAPublicKey`` in favor of backend specific |
Paul Kehrer | a10be69 | 2015-02-12 12:58:27 -0600 | [diff] [blame] | 841 | providers of the |
| 842 | :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` |
| 843 | interface. |
Paul Kehrer | 45efdbc | 2015-02-12 10:58:22 -0600 | [diff] [blame] | 844 | * Deprecated the concrete ``DSAPrivateKey`` class in favor of backend |
Paul Kehrer | a10be69 | 2015-02-12 12:58:27 -0600 | [diff] [blame] | 845 | specific providers of the |
| 846 | :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey` |
| 847 | interface. |
Paul Kehrer | 45efdbc | 2015-02-12 10:58:22 -0600 | [diff] [blame] | 848 | * Deprecated the concrete ``DSAPublicKey`` class in favor of backend specific |
Paul Kehrer | a10be69 | 2015-02-12 12:58:27 -0600 | [diff] [blame] | 849 | providers of the |
| 850 | :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` |
| 851 | interface. |
Paul Kehrer | 45efdbc | 2015-02-12 10:58:22 -0600 | [diff] [blame] | 852 | * Deprecated the concrete ``DSAParameters`` class in favor of backend specific |
Paul Kehrer | a10be69 | 2015-02-12 12:58:27 -0600 | [diff] [blame] | 853 | providers of the |
| 854 | :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters` |
| 855 | interface. |
Paul Kehrer | f2fb02a | 2014-06-19 10:16:42 -0600 | [diff] [blame] | 856 | * Deprecated ``encrypt_rsa``, ``decrypt_rsa``, ``create_rsa_signature_ctx`` and |
| 857 | ``create_rsa_verification_ctx`` on |
| 858 | :class:`~cryptography.hazmat.backends.interfaces.RSABackend`. |
Paul Kehrer | 1262be2 | 2014-06-26 16:16:50 -0600 | [diff] [blame] | 859 | * Deprecated ``create_dsa_signature_ctx`` and ``create_dsa_verification_ctx`` |
| 860 | on :class:`~cryptography.hazmat.backends.interfaces.DSABackend`. |
Paul Kehrer | bb91c81 | 2014-05-12 15:03:04 -0400 | [diff] [blame] | 861 | |
Paul Kehrer | 9586201 | 2014-05-01 16:48:05 -0500 | [diff] [blame] | 862 | 0.4 - 2014-05-03 |
| 863 | ~~~~~~~~~~~~~~~~ |
Paul Kehrer | 3d4eb6e | 2014-03-27 16:27:31 -0500 | [diff] [blame] | 864 | |
Paul Kehrer | ba98745 | 2014-04-02 17:12:26 -0500 | [diff] [blame] | 865 | * Deprecated ``salt_length`` on |
| 866 | :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1` and added it |
Alex Gaynor | 9963cb3 | 2014-07-12 09:35:33 -0700 | [diff] [blame] | 867 | to :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. It will |
Alex Gaynor | 2e49f21 | 2014-07-12 10:58:30 -0700 | [diff] [blame] | 868 | be removed from ``MGF1`` in two releases per our :doc:`/api-stability` |
Alex Gaynor | 9963cb3 | 2014-07-12 09:35:33 -0700 | [diff] [blame] | 869 | policy. |
| 870 | * Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.SEED` |
| 871 | support. |
Ayrx | 9bea937 | 2014-04-22 21:00:34 +0800 | [diff] [blame] | 872 | * Added :class:`~cryptography.hazmat.primitives.cmac.CMAC`. |
Alex Gaynor | cd58b93 | 2014-05-01 23:11:06 -0700 | [diff] [blame] | 873 | * Added decryption support to |
| 874 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey` |
| 875 | and encryption support to |
| 876 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`. |
Paul Kehrer | 80950e5 | 2014-05-01 16:48:55 -0500 | [diff] [blame] | 877 | * Added signature support to |
| 878 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey` |
| 879 | and verification support to |
| 880 | :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`. |
Ayrx | 9bea937 | 2014-04-22 21:00:34 +0800 | [diff] [blame] | 881 | |
Paul Kehrer | 9c2a11b | 2014-03-27 13:16:57 -0500 | [diff] [blame] | 882 | 0.3 - 2014-03-27 |
| 883 | ~~~~~~~~~~~~~~~~ |
Matthew Iversen | 69a6fad | 2014-02-25 02:10:44 +1100 | [diff] [blame] | 884 | |
| 885 | * Added :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP`. |
David Reid | eea08d9 | 2014-02-25 11:06:09 -0800 | [diff] [blame] | 886 | * Added :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP`. |
Alex Gaynor | 9963cb3 | 2014-07-12 09:35:33 -0700 | [diff] [blame] | 887 | * Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.IDEA` |
| 888 | support. |
Alex Gaynor | cd58b93 | 2014-05-01 23:11:06 -0700 | [diff] [blame] | 889 | * Added signature support to |
| 890 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey` |
| 891 | and verification support to |
| 892 | :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`. |
Paul Kehrer | 1592e5b | 2014-03-27 14:29:38 -0500 | [diff] [blame] | 893 | * Moved test vectors to the new ``cryptography_vectors`` package. |
Matthew Iversen | 69a6fad | 2014-02-25 02:10:44 +1100 | [diff] [blame] | 894 | |
Paul Kehrer | 7f711ee | 2014-03-03 23:58:45 -0400 | [diff] [blame] | 895 | 0.2.2 - 2014-03-03 |
| 896 | ~~~~~~~~~~~~~~~~~~ |
| 897 | |
Alex Gaynor | 9963cb3 | 2014-07-12 09:35:33 -0700 | [diff] [blame] | 898 | * Removed a constant definition that was causing compilation problems with |
| 899 | specific versions of OpenSSL. |
Paul Kehrer | 7f711ee | 2014-03-03 23:58:45 -0400 | [diff] [blame] | 900 | |
Matthew Iversen | 69a6fad | 2014-02-25 02:10:44 +1100 | [diff] [blame] | 901 | 0.2.1 - 2014-02-22 |
| 902 | ~~~~~~~~~~~~~~~~~~ |
Paul Kehrer | 7f711ee | 2014-03-03 23:58:45 -0400 | [diff] [blame] | 903 | |
Alex Gaynor | cd58b93 | 2014-05-01 23:11:06 -0700 | [diff] [blame] | 904 | * Fix a bug where importing cryptography from multiple paths could cause |
| 905 | initialization to fail. |
Matthew Iversen | 69a6fad | 2014-02-25 02:10:44 +1100 | [diff] [blame] | 906 | |
| 907 | 0.2 - 2014-02-20 |
| 908 | ~~~~~~~~~~~~~~~~ |
| 909 | |
Paul Kehrer | 5103235 | 2017-05-20 10:09:02 -0700 | [diff] [blame] | 910 | * Added ``commoncrypto``. |
| 911 | * Added initial ``commoncrypto``. |
Matthew Iversen | 69a6fad | 2014-02-25 02:10:44 +1100 | [diff] [blame] | 912 | * Removed ``register_cipher_adapter`` method from |
| 913 | :class:`~cryptography.hazmat.backends.interfaces.CipherBackend`. |
| 914 | * Added support for the OpenSSL backend under Windows. |
| 915 | * Improved thread-safety for the OpenSSL backend. |
| 916 | * Fixed compilation on systems where OpenSSL's ``ec.h`` header is not |
| 917 | available, such as CentOS. |
| 918 | * Added :class:`~cryptography.hazmat.primitives.kdf.pbkdf2.PBKDF2HMAC`. |
| 919 | * Added :class:`~cryptography.hazmat.primitives.kdf.hkdf.HKDF`. |
Paul Kehrer | a4668c6 | 2017-05-20 13:25:47 -0700 | [diff] [blame] | 920 | * Added ``multibackend``. |
Alex Gaynor | cd58b93 | 2014-05-01 23:11:06 -0700 | [diff] [blame] | 921 | * Set default random for the :doc:`/hazmat/backends/openssl` to the OS |
| 922 | random engine. |
| 923 | * Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.CAST5` |
| 924 | (CAST-128) support. |
Matthew Iversen | 69a6fad | 2014-02-25 02:10:44 +1100 | [diff] [blame] | 925 | |
| 926 | 0.1 - 2014-01-08 |
| 927 | ~~~~~~~~~~~~~~~~ |
| 928 | |
| 929 | * Initial release. |
| 930 | |
Alex Stapleton | b9df278 | 2014-03-17 08:09:41 +0000 | [diff] [blame] | 931 | .. _`master`: https://github.com/pyca/cryptography/ |
Alex Gaynor | 988df9b | 2016-04-28 10:57:16 -0400 | [diff] [blame] | 932 | .. _`cffi`: https://cffi.readthedocs.io/ |