blob: 0ef7833b1665516d62b77d859d9201116385774a [file] [log] [blame]
Matthew Iversen69a6fad2014-02-25 02:10:44 +11001Changelog
2=========
3
Alex Gaynor9c521ee2017-07-17 14:59:03 -040042.1 - - `master`_
5~~~~~~~~~~~~~~~~~
6
7.. note:: This version is not yet released and is under active development.
8
Paul Kehrer0d6aaf42017-07-20 13:04:25 +02009* **BACKWARDS INCOMPATIBLE:** ``Whirlpool``, ``RIPEMD160``, and
10 ``UnsupportedExtension`` have been removed in accordance with our
11 :doc:`/api-stability` policy.
12
Paul Kehrerdce57f62017-07-26 19:18:55 -0500132.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 Kehrer9799e582017-07-17 16:38:15 +0200232.0 - 2017-07-17
24~~~~~~~~~~~~~~~~
Alex Gaynorb90e8d82017-05-29 23:10:39 -040025
Paul Kehrere3a2fb22017-06-26 15:08:33 -100026* **BACKWARDS INCOMPATIBLE:** Support for Python 3.3 has been dropped.
Paul Kehrer85675fc2017-07-01 13:02:37 -050027* 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 Kehrer1a5d70e2017-06-03 17:11:55 -100030* 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 Gaynor6a0718f2017-06-04 13:36:58 -040042* Added support for parsing
43 :class:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp`
44 objects from X.509 certificate extensions.
Paul Kehrer7e53d912017-06-07 18:08:57 -100045* Added support for
46 :class:`~cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305`.
Paul Kehrer1a2e8172017-07-16 16:46:13 +020047* Added support for
48 :class:`~cryptography.hazmat.primitives.ciphers.aead.AESCCM`.
Paul Kehrera2173582017-07-17 13:10:14 +020049* Added
50 :class:`~cryptography.hazmat.primitives.ciphers.aead.AESGCM`, a "one shot"
51 API for AES GCM encryption.
Paul Kehrer3e357f72017-06-09 02:31:30 -100052* Added support for :doc:`/hazmat/primitives/asymmetric/x25519`.
Paul Kehrer361a9fc2017-06-24 10:12:04 -100053* 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 Kehrer2748e2e2017-06-24 13:20:15 -100058 :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHParameters.parameter_bytes`
Paul Kehrer361a9fc2017-06-24 10:12:04 -100059 .
Alex Gaynor0c9aed92017-07-08 21:50:01 -040060* 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 Kehrer1a5d70e2017-06-03 17:11:55 -100067
Paul Kehrer23ead432017-05-29 21:10:46 -0500681.9 - 2017-05-29
69~~~~~~~~~~~~~~~~
Paul Kehrerd0aad452017-03-10 08:36:18 -040070
Paul Kehrera55cc3b2017-05-27 18:00:44 -050071* **BACKWARDS INCOMPATIBLE:** Elliptic Curve signature verification no longer
Alex Gaynor5ca99462017-05-10 23:11:30 -040072 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 Gaynor2240ba22017-05-20 13:23:15 -070077* **BACKWARDS INCOMPATIBLE:** Dropped support for macOS 10.7 and 10.8.
Alex Gaynor6091e112017-05-23 20:31:03 -070078* **BACKWARDS INCOMPATIBLE:** The minimum supported PyPy version is now 5.3.
Paul Kehrer66e1eb22017-05-25 15:56:57 -050079* Python 3.3 support has been deprecated, and will be removed in the next
Alex Gaynordb511142017-05-22 20:53:47 -070080 ``cryptography`` release.
Alex Gaynor2240ba22017-05-20 13:23:15 -070081* 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 Kehrer6fcbebd2017-05-20 12:04:06 -070084* Fixed an issue preventing ``cryptography`` from compiling against
85 LibreSSL 2.5.x.
Paul Kehrer416f5262017-05-23 23:38:59 -070086* 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 Gaynord08ddd52017-05-20 09:01:54 -070092* 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 Kehrer51032352017-05-20 10:09:02 -070097* The CommonCrypto backend has been removed.
Paul Kehrera4668c62017-05-20 13:25:47 -070098* MultiBackend has been removed.
Paul Kehrer70e8f902017-05-23 16:55:19 -070099* ``Whirlpool`` and ``RIPEMD160`` have been deprecated.
Paul Kehrer5fb10212017-05-02 12:04:53 -0500100
Paul Kehrer139b25f2017-05-26 06:32:15 -05001011.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 Kehrerd0aad452017-03-10 08:36:18 -0400106
1071.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 Kehrer928e4ee2017-03-09 22:43:42 -04001121.8 - 2017-03-09
113~~~~~~~~~~~~~~~~
Paul Kehrerfad63fe2016-12-12 16:41:26 -0600114
Alex Gaynor31b5d782016-12-23 12:20:36 -0500115* Added support for Python 3.6.
Alex Gaynor5a059022017-02-11 10:05:34 -0500116* Windows and macOS wheels now link against OpenSSL 1.1.0.
Paul Kehrere9dbbd82017-03-09 18:43:40 -0400117* 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 Lev0e6a1292017-02-08 00:09:41 -0500120* 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 Kehrer9b34ca92017-02-16 22:20:38 -0600123* Added support for
124 :meth:`~cryptography.hazmat.primitives.ciphers.CipherContext.update_into` on
125 :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`.
Aviv Palivoda1c7bd662017-02-08 06:38:42 +0200126* Added
127 :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKeyWithSerialization.private_bytes`
128 to
129 :class:`~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKeyWithSerialization`.
Aviv Palivoda1c7bd662017-02-08 06:38:42 +0200130* Added
Paul Kehrer2748e2e2017-06-24 13:20:15 -1000131 :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHPublicKey.public_bytes`
Aviv Palivoda1c7bd662017-02-08 06:38:42 +0200132 to
Paul Kehrer2748e2e2017-06-24 13:20:15 -1000133 :class:`~cryptography.hazmat.primitives.asymmetric.dh.DHPublicKey`.
Paul Kehrer7a130852017-02-09 05:55:34 +0800134* :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 Kehrer20fe2be2017-03-09 13:06:51 -0400139* Added support for subgroup order in :doc:`/hazmat/primitives/asymmetric/dh`.
Aviv Palivoda1c7bd662017-02-08 06:38:42 +0200140
Paul Kehrerc7a2e722017-01-28 17:45:57 +09001411.7.2 - 2017-01-27
142~~~~~~~~~~~~~~~~~~
143
144* Updated Windows and macOS wheels to be compiled against OpenSSL 1.0.2k.
145
Paul Kehrerc8f47ad2016-12-14 19:26:06 -06001461.7.1 - 2016-12-13
147~~~~~~~~~~~~~~~~~~
148
149* Fixed a regression in ``int_from_bytes`` where it failed to accept
150 ``bytearray``.
Paul Kehrerfad63fe2016-12-12 16:41:26 -0600151
Paul Kehrer5df72e82016-12-12 12:06:09 -06001521.7 - 2016-12-12
153~~~~~~~~~~~~~~~~
Paul Kehrer08585912016-11-22 20:04:40 +0800154
Alex Gaynor29b2ebc2016-11-22 09:25:17 -0500155* Support for OpenSSL 1.0.0 has been removed. Users on older version of OpenSSL
156 will need to upgrade.
Aviv Palivoda495f21a2016-11-25 18:51:28 +0200157* Added support for Diffie-Hellman key exchange using
Alex Gaynora9b86902017-05-24 15:01:14 -0700158 :meth:`~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKey.exchange`.
Paul Kehrera22964a2016-12-10 09:15:41 -0600159* 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 Kehrer08585912016-11-22 20:04:40 +0800163
Paul Kehrer4a2f36b2016-11-22 10:50:28 +08001641.6 - 2016-11-22
165~~~~~~~~~~~~~~~~
Alex Gaynorf25e63d2016-08-26 20:55:44 -0400166
Alex Gaynor2e8725d2016-08-29 21:40:19 -0400167* Deprecated support for OpenSSL 1.0.0. Support will be removed in
168 ``cryptography`` 1.7.
Paul Kehrer500850b2016-11-20 00:40:16 +0800169* 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 Kehrer306ce512016-08-29 09:36:09 +0800172* 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 Kehrerc7b29b82016-09-01 09:17:21 +0800175* 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 Chiad8a27df2016-09-01 23:39:57 +0800184* Added support for :class:`~cryptography.hazmat.primitives.kdf.scrypt.Scrypt`
185 when using OpenSSL 1.1.0.
Paul Kehrer99777862016-11-15 07:34:55 +0800186* Added a workaround to improve compatibility with Python application bundling
187 tools like ``PyInstaller`` and ``cx_freeze``.
Paul Kehrer8b89bcc2016-09-03 11:31:43 -0500188* Added support for generating a
189 :meth:`~cryptography.x509.random_serial_number`.
Paul Kehrer3feeec82016-10-01 07:12:27 -0500190* Added support for encoding ``IPv4Network`` and ``IPv6Network`` in X.509
191 certificates for use with :class:`~cryptography.x509.NameConstraints`.
Paul Kehrer500850b2016-11-20 00:40:16 +0800192* Added :meth:`~cryptography.x509.Name.public_bytes` to
193 :class:`~cryptography.x509.Name`.
Fraser Tweedale02467dd2016-11-07 15:54:04 +1000194* 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 Tweedale01ee6f52016-11-12 01:28:56 +1000200* :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 Levc41b9d42016-11-11 20:07:11 -0500206* Added
207 :func:`~cryptography.hazmat.primitives.asymmetric.ec.derive_private_key`.
Paul Kehrerec7fc462016-11-21 07:55:18 +0800208* Added support for signing and verifying RSA, DSA, and ECDSA signatures with
Paul Kehrerf555c742016-11-20 22:48:10 +0800209 :class:`~cryptography.hazmat.primitives.asymmetric.utils.Prehashed`
210 digests.
Terry Chiad8a27df2016-09-01 23:39:57 +0800211
Alex Gaynorb94cacf2016-11-06 01:27:20 -04002121.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 Gaynorfb0e7192016-11-09 19:51:09 -0500217 Credit to **Markus Döring** for reporting the issue. *CVE-2016-9243*
Alex Gaynorb94cacf2016-11-06 01:27:20 -0400218
Alex Gaynorb4c087a2016-09-26 18:11:59 -04002191.5.2 - 2016-09-26
220~~~~~~~~~~~~~~~~~~
221
222* Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2j.
Paul Kehrer306ce512016-08-29 09:36:09 +0800223
Paul Kehrer08652e92016-09-22 22:47:50 -05002241.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 Kehrerc0ee7382016-08-26 22:59:49 +08002351.5 - 2016-08-26
236~~~~~~~~~~~~~~~~
Paul Kehrer67ea4442016-06-04 12:00:54 -0700237
Alex Gaynor17097bf2016-06-27 22:29:38 -0400238* Added
239 :func:`~cryptography.hazmat.primitives.asymmetric.padding.calculate_max_pss_salt_length`.
Aviv Palivodaf67429b2016-06-30 21:42:46 +0300240* 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 Palivoda2120a8e2016-07-02 19:43:06 +0300245* 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 Hils679a9142016-07-31 16:43:19 -0700250* 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.
InvalidInterrupt8e66ca62016-08-16 19:39:31 -0700252* :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 Kehrer07ea3cd2016-08-26 21:48:24 +0800256* ``cryptography`` now supports OpenSSL 1.1.0 as a compilation target.
Alex Gaynor17097bf2016-06-27 22:29:38 -0400257
Paul Kehrer67ea4442016-06-04 12:00:54 -0700258
Paul Kehrer69365ce2016-06-04 09:57:11 -07002591.4 - 2016-06-04
260~~~~~~~~~~~~~~~~
Alex Gaynorf8c75fc2016-03-18 19:54:45 -0400261
Paul Kehrer69365ce2016-06-04 09:57:11 -0700262* Support for OpenSSL 0.9.8 has been removed. Users on older versions of
263 OpenSSL will need to upgrade.
Paul Kehrercb0fa2e2016-05-29 22:37:33 -0500264* Added :class:`~cryptography.hazmat.primitives.kdf.kbkdf.KBKDFHMAC`.
Alex Gaynor94989292016-06-03 13:04:26 -0700265* Added support for ``OpenSSH`` public key serialization.
Paul Kehrer69365ce2016-06-04 09:57:11 -0700266* 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 Gaynor401ac6f2017-02-17 08:23:22 -0500274* Deprecated the ``serial`` attribute on
275 :class:`~cryptography.x509.Certificate`, in favor of
276 :attr:`~cryptography.x509.Certificate.serial_number`.
Paul Kehrer69365ce2016-06-04 09:57:11 -0700277
Alex Gaynorf8c75fc2016-03-18 19:54:45 -0400278
Alex Gaynor57515152016-06-02 20:53:52 -07002791.3.4 - 2016-06-03
280~~~~~~~~~~~~~~~~~~
281
282* Added another OpenSSL function to the bindings to support an upcoming
283 ``pyOpenSSL`` release.
284
285
2861.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 Kehrerbb8d69a2016-05-04 13:33:20 -05002921.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 Kehrer81f48962016-03-21 17:46:53 -04002991.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 Kehrerc9694612016-03-17 20:31:44 -04003051.3 - 2016-03-18
306~~~~~~~~~~~~~~~~
Paul Kehrerac904e32016-01-08 07:53:25 -0800307
Cédric Krierbf0f4642016-02-26 18:40:20 +0100308* Added support for padding ANSI X.923 with
309 :class:`~cryptography.hazmat.primitives.padding.ANSIX923`.
Alex Gaynorbe6dd9b2016-01-22 17:12:14 -0500310* Deprecated support for OpenSSL 0.9.8. Support will be removed in
311 ``cryptography`` 1.4.
Paul Kehrerdba49b92016-03-13 20:15:53 -0400312* 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 Kehrer15732122016-03-06 20:58:26 -0430316* Added :attr:`~cryptography.x509.CertificateSigningRequest.is_signature_valid`
317 to :class:`~cryptography.x509.CertificateSigningRequest`.
Alex Gaynoraf503662016-03-05 10:40:50 -0500318* Fixed an intermittent ``AssertionError`` when performing an RSA decryption on
319 an invalid ciphertext, ``ValueError`` is now correctly raised in all cases.
Paul Kehrer61ff3562016-03-11 22:51:27 -0400320* Added
321 :meth:`~cryptography.x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier`.
Alex Gaynorbe6dd9b2016-01-22 17:12:14 -0500322
Alex Gaynor287ab1b2016-03-01 22:15:55 -05003231.2.3 - 2016-03-01
324~~~~~~~~~~~~~~~~~~
325
326* Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2g.
327
Paul Kehrer2c6b8d02016-01-29 13:36:40 -06003281.2.2 - 2016-01-29
329~~~~~~~~~~~~~~~~~~
330
331* Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2f.
332
Paul Kehrer56ea7b82016-01-08 11:53:20 -08003331.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 Kehrer577f95e2016-01-07 21:56:53 -08003391.2 - 2016-01-08
340~~~~~~~~~~~~~~~~
Paul Kehrerc5b430f2015-10-29 07:52:35 +0900341
Paul Kehrer49bb7562015-12-25 16:17:40 -0600342* **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 Kehrer7058ece2015-12-25 22:28:29 -0600351 * :class:`~cryptography.x509.CRLReason`
Paul Kehrer23c0bbc2015-12-25 22:35:19 -0600352 * :class:`~cryptography.x509.InvalidityDate`
Paul Kehrerf23722a2015-12-31 15:56:56 -0600353* 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 Kehrer0509ec22016-01-08 07:56:17 -0800355 to upgrade, as those versions no longer receive support from the OpenSSL
Paul Kehrerf23722a2015-12-31 15:56:56 -0600356 project.
Paul Kehrerd91e7c12015-10-01 16:50:42 -0500357* The :class:`~cryptography.x509.Certificate` class now has
358 :attr:`~cryptography.x509.Certificate.signature` and
Paul Kehrerd2898052015-11-03 22:00:41 +0900359 :attr:`~cryptography.x509.Certificate.tbs_certificate_bytes` attributes.
Paul Kehrer80dc7522015-12-03 22:19:30 -0600360* 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 Kehrer18a96122015-12-21 11:14:34 -0600364* 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 Kehrer8b399b72015-12-02 22:53:40 -0600368* :class:`~cryptography.x509.NameConstraints` are now supported in the
Paul Kehrer756d7d22015-12-02 23:45:42 -0600369 :class:`~cryptography.x509.CertificateBuilder` and
370 :class:`~cryptography.x509.CertificateSigningRequestBuilder`.
Paul Kehrer54a837d2015-12-20 23:42:32 -0600371* Support serialization of certificate revocation lists using the
Paul Kehrer2d1d24d2015-12-21 09:23:52 -0600372 :meth:`~cryptography.x509.CertificateRevocationList.public_bytes` method of
Paul Kehrer54a837d2015-12-20 23:42:32 -0600373 :class:`~cryptography.x509.CertificateRevocationList`.
Paul Kehrer51f39cb2015-12-21 21:17:39 -0600374* Add support for parsing :class:`~cryptography.x509.CertificateRevocationList`
375 :meth:`~cryptography.x509.CertificateRevocationList.extensions` in the
Paul Kehrer2587d302015-12-22 17:20:42 -0600376 OpenSSL backend. The following extensions are currently supported:
377
378 * :class:`~cryptography.x509.AuthorityInformationAccess`
379 * :class:`~cryptography.x509.AuthorityKeyIdentifier`
Paul Kehrer3b95cd72015-12-22 21:40:20 -0600380 * :class:`~cryptography.x509.CRLNumber`
Paul Kehrer2587d302015-12-22 17:20:42 -0600381 * :class:`~cryptography.x509.IssuerAlternativeName`
Paul Kehrer09ad50c2015-12-26 13:59:27 -0600382* Added :class:`~cryptography.x509.CertificateRevocationListBuilder` and
383 :class:`~cryptography.x509.RevokedCertificateBuilder` to allow creation of
384 CRLs.
Paul Kehrer58ddc112015-12-30 20:19:00 -0600385* Unrecognized non-critical X.509 extensions are now parsed into an
386 :class:`~cryptography.x509.UnrecognizedExtension` object.
Paul Kehrerd91e7c12015-10-01 16:50:42 -0500387
Paul Kehrer869cfd92015-12-10 14:12:05 -06003881.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 Kehrerdcf40fc2015-11-18 22:11:36 -06003971.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 Kehrere9ac0272015-10-28 15:48:01 +09004061.1 - 2015-10-28
407~~~~~~~~~~~~~~~~
Paul Kehrerbff54ef2015-08-12 08:47:34 -0500408
Alex Gaynor39d38b92015-10-17 16:44:15 -0400409* Added support for Elliptic Curve Diffie-Hellman with
Alex Gaynord2949892015-10-17 16:45:55 -0400410 :class:`~cryptography.hazmat.primitives.asymmetric.ec.ECDH`.
Alex Gaynorace036d2015-09-24 20:23:08 -0400411* Added :class:`~cryptography.hazmat.primitives.kdf.x963kdf.X963KDF`.
Paul Kehrer87355482015-10-21 20:27:44 -0500412* 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 Kehrer0d76a2e2015-05-17 13:36:13 -0700415* 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 Kehrere9ac0272015-10-28 15:48:01 +0900418* Added a ``__hash__`` method to :class:`~cryptography.x509.Name`.
Paul Kehrer1a1b1152015-10-28 09:33:05 +0900419* 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 Kehrere9ac0272015-10-28 15:48:01 +0900424* 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 Kehrer1a1b1152015-10-28 09:33:05 +0900429
Paul Kehrer8addede2015-09-26 22:57:35 -05004301.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 Kehrer2f6b1692015-09-05 20:58:52 -05004411.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 Kehrerbff54ef2015-08-12 08:47:34 -0500453
Paul Kehrer55ab8052015-08-11 18:22:55 -05004541.0 - 2015-08-12
Paul Kehrerd5257ab2015-05-13 20:48:36 -0500455~~~~~~~~~~~~~~~~
456
Paul Kehrer68b3b1e2015-05-19 13:05:21 -0700457* Switched to the new `cffi`_ ``set_source`` out-of-line API mode for
458 compilation. This results in significantly faster imports and lowered
Paul Kehrer73f06c72015-06-07 23:17:39 -0500459 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 Kehrer60cc9ef2015-08-04 19:29:52 +0100462* Fix parsing of OpenSSH public keys that have spaces in comments.
Andre Caronbeed2942015-05-18 13:47:36 -0400463* Support serialization of certificate signing requests using the
464 ``public_bytes`` method of
465 :class:`~cryptography.x509.CertificateSigningRequest`.
Andre Carona8aded62015-05-19 20:11:57 -0400466* Support serialization of certificates using the ``public_bytes`` method of
467 :class:`~cryptography.x509.Certificate`.
Jiangge Zhang764f6372015-06-05 18:01:22 +0800468* 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 Kehrer66f380c2015-06-12 11:23:34 -0500472* Add :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHash`
473 and :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHMAC`.
Ian Cordascoab94b902015-06-17 08:28:02 -0500474* Raise a ``TypeError`` when passing objects that are not text as the value to
475 :class:`~cryptography.x509.NameAttribute`.
Paul Kehrer44171a22015-08-01 21:21:26 +0100476* 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 Cordasco46479d02015-08-03 08:30:20 -0500488* Add support for creating signed certificates with
489 :class:`~cryptography.x509.CertificateBuilder`. This includes support for
Paul Kehrere0ecfdc2015-08-06 10:53:15 +0100490 the following extensions:
Ian Cordasco46479d02015-08-03 08:30:20 -0500491
492 * :class:`~cryptography.x509.BasicConstraints`
493 * :class:`~cryptography.x509.SubjectAlternativeName`
Paul Kehrere0ecfdc2015-08-06 10:53:15 +0100494 * :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 Kehrer683d4d82015-08-06 23:13:45 +0100500 * :class:`~cryptography.x509.InhibitAnyPolicy`
Paul Kehrer2dfd9da2015-08-10 21:30:23 -0500501 * :class:`~cryptography.x509.IssuerAlternativeName`
502 * :class:`~cryptography.x509.OCSPNoCheck`
Ian Cordasco46479d02015-08-03 08:30:20 -0500503
Paul Kehrer91e385d2015-08-08 22:50:28 -0500504* 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 Kehrer31c5c332015-08-10 11:59:38 -0500507* 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 Kehrer91e385d2015-08-08 22:50:28 -0500513
Paul Kehrer3bbda282015-07-09 09:48:23 -05005140.9.3 - 2015-07-09
515~~~~~~~~~~~~~~~~~~
516
517* Updated Windows wheels to be compiled against OpenSSL 1.0.2d.
518
Paul Kehrer7b411632015-07-03 18:07:41 -05005190.9.2 - 2015-07-04
520~~~~~~~~~~~~~~~~~~
521
522* Updated Windows wheels to be compiled against OpenSSL 1.0.2c.
523
Alex Gaynorc4bb7d52015-06-06 17:27:14 -04005240.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 Kehrerc486ed52015-05-13 17:59:31 -05005310.9 - 2015-05-13
532~~~~~~~~~~~~~~~~
Paul Kehrer8ce597b2015-03-09 00:01:17 -0500533
Paul Kehrer741fccb2015-04-14 10:22:25 -0400534* 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 Gaynor6e7f6222015-03-29 21:51:38 -0400536* 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 Kehrerebbeedf2015-05-08 18:13:14 -0500540* Add support for the
541 :class:`~cryptography.hazmat.primitives.asymmetric.ec.SECP256K1` elliptic
542 curve.
Alex Gaynor5d27d4d2015-04-04 14:56:02 -0500543* Fixed compilation when using an OpenSSL which was compiled with the
544 ``no-comp`` (``OPENSSL_NO_COMP``) option.
Paul Kehrera2c48652015-03-10 15:48:37 -0500545* Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER`
546 serialization of public keys using the ``public_bytes`` method of
Paul Kehrer1955ebf2015-03-10 08:38:57 -0500547 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`,
548 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`,
549 and
Paul Kehrera2c48652015-03-10 15:48:37 -0500550 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`.
Paul Kehrer919a5b22015-03-14 13:15:17 -0500551* 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 Kehrera1a1f232015-03-15 15:34:35 -0500557* Add support for parsing X.509 certificate signing requests (CSRs) with
Paul Kehrer1effb6e2015-03-30 15:05:59 -0500558 :func:`~cryptography.x509.load_pem_x509_csr` and
559 :func:`~cryptography.x509.load_der_x509_csr`.
Paul Kehrerd14dcc52015-04-14 14:21:21 -0400560* 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 Kehreraeb77202015-05-13 11:52:38 -0500564* 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 Gaynord08ddd52017-05-20 09:01:54 -0700578 ``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 Kehrer1955ebf2015-03-10 08:38:57 -0500581
Paul Kehrer33906b82015-04-10 21:00:08 -04005820.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 Kehrer41a750c2015-03-19 22:46:23 -05005880.8.1 - 2015-03-20
589~~~~~~~~~~~~~~~~~~
590
591* Updated Windows wheels to be compiled against OpenSSL 1.0.2a.
592
Paul Kehrer5dc4b882015-03-08 18:19:50 -05005930.8 - 2015-03-08
594~~~~~~~~~~~~~~~~
Paul Kehrer08120d72014-12-17 21:37:58 -0600595
Alex Gaynor5d66ca52014-12-25 18:39:39 -0800596* :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can
597 now load elliptic curve public keys.
Paul Kehrer836b8302015-01-18 09:42:58 -0600598* Added
Paul Kehrer8802a5b2015-02-13 12:06:57 -0600599 :attr:`~cryptography.x509.Certificate.signature_hash_algorithm` support to
Paul Kehrerb0a80392015-02-11 23:39:49 -0600600 :class:`~cryptography.x509.Certificate`.
601* Added
Paul Kehrer836b8302015-01-18 09:42:58 -0600602 :func:`~cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors`
Paul Kehrer48402ff2015-02-16 15:31:52 -0600603* :class:`~cryptography.hazmat.primitives.kdf.KeyDerivationFunction` was moved
Paul Kehrer7bc36862017-05-29 10:13:35 -0500604 from ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer48402ff2015-02-16 15:31:52 -0600605 :mod:`~cryptography.hazmat.primitives.kdf`.
Paul Kehrer719d5362015-01-01 20:03:52 -0600606* Added support for parsing X.509 names. See the
Alex Gaynor5e0da3a2015-07-12 10:35:56 -0500607 :doc:`X.509 documentation</x509/index>` for more information.
Paul Kehrer99a249d2015-01-04 15:55:22 -0600608* 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 McDonald27e6b9c2015-02-18 16:37:03 +1100613* Fixed building against LibreSSL, a compile-time substitute for OpenSSL.
Paul Kehrer77f540d2015-02-20 12:53:04 -0600614* FreeBSD 9.2 was removed from the continuous integration system.
Paul Kehrerf28dd452015-03-05 10:22:59 -0600615* Updated Windows wheels to be compiled against OpenSSL 1.0.2.
Paul Kehrer7bfa22e2015-03-04 13:48:30 -0600616* :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key`
617 and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key`
Paul Kehrer791afc02015-03-05 14:29:28 -0600618 now support PKCS1 RSA public keys (in addition to the previous support for
Paul Kehrer7bfa22e2015-03-04 13:48:30 -0600619 SubjectPublicKeyInfo format for RSA, EC, and DSA).
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600620* Added
Paul Kehrer59e5c862015-03-02 10:36:50 -0600621 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500622 and deprecated ``EllipticCurvePrivateKeyWithNumbers``.
Paul Kehrer59e5c862015-03-02 10:36:50 -0600623* Added
624 :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization.private_bytes`
625 to
626 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`.
627* Added
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600628 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500629 and deprecated ``RSAPrivateKeyWithNumbers``.
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600630* Added
Paul Kehrer223a8f02015-02-28 18:54:10 -0600631 :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization.private_bytes`
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600632 to
633 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`.
Paul Kehrerec342632015-03-01 16:53:58 -0600634* Added
635 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500636 and deprecated ``DSAPrivateKeyWithNumbers``.
Paul Kehrerec342632015-03-01 16:53:58 -0600637* Added
638 :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization.private_bytes`
639 to
640 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`.
Paul Kehrer3f157e02015-02-28 11:31:06 -0600641* Added
642 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500643 and deprecated ``RSAPublicKeyWithNumbers``.
Paul Kehrer8ea90ef2015-07-04 16:26:58 -0500644* Added ``public_bytes`` to
Paul Kehrer3f157e02015-02-28 11:31:06 -0600645 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`.
Paul Kehrer419615b2015-03-05 21:01:16 -0600646* Added
647 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500648 and deprecated ``EllipticCurvePublicKeyWithNumbers``.
Paul Kehrer8ea90ef2015-07-04 16:26:58 -0500649* Added ``public_bytes`` to
Paul Kehrer419615b2015-03-05 21:01:16 -0600650 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`.
Paul Kehrer26006c52015-03-08 18:27:11 -0500651* Added
652 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500653 and deprecated ``DSAPublicKeyWithNumbers``.
Paul Kehrer8ea90ef2015-07-04 16:26:58 -0500654* Added ``public_bytes`` to
Paul Kehrer26006c52015-03-08 18:27:11 -0500655 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`.
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500656* :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and
657 :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from
Paul Kehrer7bc36862017-05-29 10:13:35 -0500658 ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500659 :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 Kehrer7bc36862017-05-29 10:13:35 -0500665 were moved from ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500666 :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 Kehrer7bc36862017-05-29 10:13:35 -0500671 were moved from ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500672 :mod:`~cryptography.hazmat.primitives.ciphers.modes`.
673* :class:`~cryptography.hazmat.primitives.padding.PaddingContext` was moved
Paul Kehrer7bc36862017-05-29 10:13:35 -0500674 from ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500675 :mod:`~cryptography.hazmat.primitives.padding`.
676*
677 :class:`~cryptography.hazmat.primitives.asymmetric.padding.AsymmetricPadding`
Paul Kehrer7bc36862017-05-29 10:13:35 -0500678 was moved from ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500679 :mod:`~cryptography.hazmat.primitives.asymmetric.padding`.
Paul Kehrer1a5d70e2017-06-03 17:11:55 -1000680* ``AsymmetricSignatureContext`` and ``AsymmetricVerificationContext``
Paul Kehrer7bc36862017-05-29 10:13:35 -0500681 were moved from ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer1a5d70e2017-06-03 17:11:55 -1000682 ``cryptography.hazmat.primitives.asymmetric``.
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500683* :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`,
684 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParametersWithNumbers`,
685 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`,
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500686 ``DSAPrivateKeyWithNumbers``,
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500687 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` and
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500688 ``DSAPublicKeyWithNumbers`` were moved from
Paul Kehrer7bc36862017-05-29 10:13:35 -0500689 ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500690 :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 Kehrerc0dd53e2015-07-04 11:27:27 -0500694 ``EllipticCurvePrivateKeyWithNumbers``,
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500695 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`,
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500696 and ``EllipticCurvePublicKeyWithNumbers``
Paul Kehrer7bc36862017-05-29 10:13:35 -0500697 were moved from ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500698 :mod:`~cryptography.hazmat.primitives.asymmetric.ec`.
699* :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`,
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500700 ``RSAPrivateKeyWithNumbers``,
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500701 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` and
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500702 ``RSAPublicKeyWithNumbers`` were moved from
Paul Kehrer7bc36862017-05-29 10:13:35 -0500703 ``cryptography.hazmat.primitives.interfaces`` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500704 :mod:`~cryptography.hazmat.primitives.asymmetric.rsa`.
Alex Gaynor5d66ca52014-12-25 18:39:39 -0800705
Paul Kehrer72572f92015-01-16 08:10:12 -06007060.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 Kehrer842e58a2014-12-28 15:17:39 -07007150.7.1 - 2014-12-28
716~~~~~~~~~~~~~~~~~~
717
718* Fixed an issue preventing compilation on platforms where ``OPENSSL_NO_SSL3``
719 was defined.
720
Paul Kehrere8135092014-12-17 14:20:40 -06007210.7 - 2014-12-17
722~~~~~~~~~~~~~~~~
Paul Kehrer98681332014-09-29 21:43:57 -0500723
Alex Gaynordf6a5cd2014-11-07 09:36:47 -0300724* 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 Gaynor4c825132014-10-20 21:27:08 -0700727* Added key-rotation support to :doc:`Fernet </fernet>` with
728 :class:`~cryptography.fernet.MultiFernet`.
Paul Kehrer214d91d2014-12-18 07:20:04 -0600729* More bit-lengths are now supported for ``p`` and ``q`` when loading DSA keys
Alex Gaynora438e832014-10-19 19:47:05 -0700730 from numbers.
Paul Kehrer7bc36862017-05-29 10:13:35 -0500731* Added :class:`~cryptography.hazmat.primitives.mac.MACContext` as a
Paul Kehrerebee0062015-03-07 12:34:33 -0600732 common interface for CMAC and HMAC and deprecated ``CMACContext``.
Paul Kehrerb3a3e5c2014-11-27 11:27:32 -1000733* Added support for encoding and decoding :rfc:`6979` signatures in
734 :doc:`/hazmat/primitives/asymmetric/utils`.
Mark Adams78a7d1c2014-12-12 23:13:12 -0600735* Added
Alex Gaynor993b85a2014-12-15 10:42:45 -0800736 :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` to
Paul Kehrere8135092014-12-17 14:20:40 -0600737 support the loading of OpenSSH public keys (:rfc:`4253`). Only RSA and DSA
738 keys are currently supported.
Paul Kehrere76cd272014-12-14 19:00:51 -0600739* Added initial support for X.509 certificate parsing. See the
Alex Gaynor5e0da3a2015-07-12 10:35:56 -0500740 :doc:`X.509 documentation</x509/index>` for more information.
Terry Chiac7c82f32014-10-20 12:15:22 +0800741
Paul Kehrer555b1502014-10-15 23:24:57 -05007420.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 Kehrerc3f11d82014-09-29 20:31:15 -05007530.6 - 2014-09-29
754~~~~~~~~~~~~~~~~
Paul Kehrer1757fe32014-07-07 22:29:23 -0500755
Alex Gaynoref823342014-09-27 12:04:22 -0400756* 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 Gaynor1658f942014-07-08 00:02:37 -0700761* 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 Kehrerf4fbf392014-08-21 08:36:49 -1000765* Fix compilation on OS X Yosemite.
Paul Kehrer77e95a02014-09-25 12:28:07 -0500766* 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 Kehrer45efdbc2015-02-12 10:58:22 -0600771* Added ``EllipticCurvePrivateKeyWithNumbers`` and
772 ``EllipticCurvePublicKeyWithNumbers`` support.
Paul Kehrerf378e402014-09-27 11:28:42 -0500773* Work around three GCM related bugs in CommonCrypto and OpenSSL.
Paul Kehrer4c773652014-09-27 11:26:02 -0500774
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 Gaynor1658f942014-07-08 00:02:37 -0700785
Paul Kehrer01f0c672014-08-20 20:15:18 -10007860.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 Kehrer86cf5b12014-08-07 05:38:17 -10007930.5.3 - 2014-08-06
794~~~~~~~~~~~~~~~~~~
795
796* Updated Windows wheels to be compiled against OpenSSL 1.0.1i.
797
Paul Kehrer2456e662014-07-09 19:51:32 -05007980.5.2 - 2014-07-09
799~~~~~~~~~~~~~~~~~~
800
Paul Kehrera4668c62017-05-20 13:25:47 -0700801* Add ``TraditionalOpenSSLSerializationBackend`` support to ``multibackend``.
Paul Kehrer2456e662014-07-09 19:51:32 -0500802* Fix compilation error on OS X 10.8 (Mountain Lion).
803
Paul Kehrerf092d732014-07-07 19:42:15 -05008040.5.1 - 2014-07-07
805~~~~~~~~~~~~~~~~~~
806
Paul Kehrera4668c62017-05-20 13:25:47 -0700807* Add ``PKCS8SerializationBackend`` support to ``multibackend``.
Paul Kehrerf092d732014-07-07 19:42:15 -0500808
Paul Kehrer3c6a2392014-07-07 08:29:07 -05008090.5 - 2014-07-07
810~~~~~~~~~~~~~~~~
Paul Kehrer50a04852014-05-03 08:57:13 -0500811
Alex Gaynor8f1b8e82014-06-29 20:43:29 -0700812* **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 Gaynor4efe61a2014-06-29 20:44:53 -0700816 behavior (not recommended) can pass the ``min_tag_length`` argument.
Paul Kehrer8987bcb2014-07-06 09:28:29 -0500817* Windows builds now statically link OpenSSL by default. When installing a
Paul Kehrer3df9a312014-07-06 09:25:29 -0500818 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 Kehrer88bac252014-05-21 12:42:13 -0500821* Added :class:`~cryptography.hazmat.primitives.kdf.hkdf.HKDFExpand`.
Paul Kehrer2a947c42014-05-15 17:22:08 -0400822* 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 Kehrer51032352017-05-20 10:09:02 -0700825 ``commoncrypto`` and :doc:`/hazmat/backends/openssl`.
Paul Kehrer055f9602014-05-20 23:21:26 -0500826* Added ``AES`` :class:`~cryptography.hazmat.primitives.ciphers.modes.CTR`
827 support to the OpenSSL backend when linked against 0.9.8.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600828* Added ``PKCS8SerializationBackend`` and
829 ``TraditionalOpenSSLSerializationBackend`` support to the
830 :doc:`/hazmat/backends/openssl`.
Paul Kehrer21fc5822014-07-04 09:28:55 -0500831* Added :doc:`/hazmat/primitives/asymmetric/ec` and
832 :class:`~cryptography.hazmat.backends.interfaces.EllipticCurveBackend`.
Paul Kehrerd1bac5e2014-06-13 12:34:49 -0500833* Added :class:`~cryptography.hazmat.primitives.ciphers.modes.ECB` support
834 for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` on
Paul Kehrer51032352017-05-20 10:09:02 -0700835 ``commoncrypto`` and :doc:`/hazmat/backends/openssl`.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600836* Deprecated the concrete ``RSAPrivateKey`` class in favor of backend
Paul Kehrera10be692015-02-12 12:58:27 -0600837 specific providers of the
838 :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
839 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600840* Deprecated the concrete ``RSAPublicKey`` in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600841 providers of the
842 :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`
843 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600844* Deprecated the concrete ``DSAPrivateKey`` class in favor of backend
Paul Kehrera10be692015-02-12 12:58:27 -0600845 specific providers of the
846 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`
847 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600848* Deprecated the concrete ``DSAPublicKey`` class in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600849 providers of the
850 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`
851 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600852* Deprecated the concrete ``DSAParameters`` class in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600853 providers of the
854 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`
855 interface.
Paul Kehrerf2fb02a2014-06-19 10:16:42 -0600856* Deprecated ``encrypt_rsa``, ``decrypt_rsa``, ``create_rsa_signature_ctx`` and
857 ``create_rsa_verification_ctx`` on
858 :class:`~cryptography.hazmat.backends.interfaces.RSABackend`.
Paul Kehrer1262be22014-06-26 16:16:50 -0600859* Deprecated ``create_dsa_signature_ctx`` and ``create_dsa_verification_ctx``
860 on :class:`~cryptography.hazmat.backends.interfaces.DSABackend`.
Paul Kehrerbb91c812014-05-12 15:03:04 -0400861
Paul Kehrer95862012014-05-01 16:48:05 -05008620.4 - 2014-05-03
863~~~~~~~~~~~~~~~~
Paul Kehrer3d4eb6e2014-03-27 16:27:31 -0500864
Paul Kehrerba987452014-04-02 17:12:26 -0500865* Deprecated ``salt_length`` on
866 :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1` and added it
Alex Gaynor9963cb32014-07-12 09:35:33 -0700867 to :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. It will
Alex Gaynor2e49f212014-07-12 10:58:30 -0700868 be removed from ``MGF1`` in two releases per our :doc:`/api-stability`
Alex Gaynor9963cb32014-07-12 09:35:33 -0700869 policy.
870* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.SEED`
871 support.
Ayrx9bea9372014-04-22 21:00:34 +0800872* Added :class:`~cryptography.hazmat.primitives.cmac.CMAC`.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700873* 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 Kehrer80950e52014-05-01 16:48:55 -0500877* 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`.
Ayrx9bea9372014-04-22 21:00:34 +0800881
Paul Kehrer9c2a11b2014-03-27 13:16:57 -05008820.3 - 2014-03-27
883~~~~~~~~~~~~~~~~
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100884
885* Added :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP`.
David Reideea08d92014-02-25 11:06:09 -0800886* Added :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP`.
Alex Gaynor9963cb32014-07-12 09:35:33 -0700887* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.IDEA`
888 support.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700889* 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 Kehrer1592e5b2014-03-27 14:29:38 -0500893* Moved test vectors to the new ``cryptography_vectors`` package.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100894
Paul Kehrer7f711ee2014-03-03 23:58:45 -04008950.2.2 - 2014-03-03
896~~~~~~~~~~~~~~~~~~
897
Alex Gaynor9963cb32014-07-12 09:35:33 -0700898* Removed a constant definition that was causing compilation problems with
899 specific versions of OpenSSL.
Paul Kehrer7f711ee2014-03-03 23:58:45 -0400900
Matthew Iversen69a6fad2014-02-25 02:10:44 +11009010.2.1 - 2014-02-22
902~~~~~~~~~~~~~~~~~~
Paul Kehrer7f711ee2014-03-03 23:58:45 -0400903
Alex Gaynorcd58b932014-05-01 23:11:06 -0700904* Fix a bug where importing cryptography from multiple paths could cause
905 initialization to fail.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100906
9070.2 - 2014-02-20
908~~~~~~~~~~~~~~~~
909
Paul Kehrer51032352017-05-20 10:09:02 -0700910* Added ``commoncrypto``.
911* Added initial ``commoncrypto``.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100912* 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 Kehrera4668c62017-05-20 13:25:47 -0700920* Added ``multibackend``.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700921* 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 Iversen69a6fad2014-02-25 02:10:44 +1100925
9260.1 - 2014-01-08
927~~~~~~~~~~~~~~~~
928
929* Initial release.
930
Alex Stapletonb9df2782014-03-17 08:09:41 +0000931.. _`master`: https://github.com/pyca/cryptography/
Alex Gaynor988df9b2016-04-28 10:57:16 -0400932.. _`cffi`: https://cffi.readthedocs.io/